arm64: rockchip: support RK3399 Ficus board
Subsystems (2)
v3 cover arm64: rockchip: support RK3399 Ficus board
Here's the third spin for the RK3399 Ficus support.
Changes from v2:
* Dropped rk3399.dtsi changes and rebased on top of Randy's patch.
* Removed double empty line.
* Coalesced schematics comment
Changes from v1:
* Dropoed USB support as it's not working.
* Added schematics.
* Splitted rk3399.dtsi from new ficus.dts file.
* Added new vendor.
* Cleaned regulators syntax and stlye.
Series based on: 600b359d2b98 ("arm64: dts: rockchip: add some common pin-settings to rk3399").
Ezequiel Garcia (2):
dt-bindings: Add vendor prefix for Vamrs Ltd.
arm64: dts: rockchip: add 96boards RK3399 Ficus board
.../devicetree/bindings/arm/rockchip.txt | 5 + .../devicetree/bindings/vendor-prefixes.txt | 1 + arch/arm64/boot/dts/rockchip/Makefile | 1 + arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 514 ++++++++++++++++++ 4 files changed, 521 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
Signature · 1 line
2.18.0.rc2
PATCH v3 1/2 dt-bindings: Add vendor prefix for Vamrs Ltd.
Vamrs Ltd. is a hardware solutions provider based in China.
Website: http://vamrs.com/
--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
@@ -393,6 +393,7 @@ urt United Radiant Technology Corporation usi Universal Scientific Industrial Co., Ltd. v3 V3 Semiconductor variscite Variscite Ltd. +vamrs Vamrs Ltd. via VIA Technologies, Inc. virtio Virtual I/O Device Specification, developed by the OASIS consortium vivante Vivante Corporation
Signature · 1 line
2.18.0.rc2
Rob Herring
maintainerPATCH v3 1/2 dt-bindings: Add vendor prefix for Vamrs Ltd.
Quoted 14 lines · Ezequiel Garcia
Vamrs Ltd. is a hardware solutions provider based in China.
Website: http://vamrs.com/
Signed-off-by Ezequiel Garcia <[email protected]>--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/vendor-prefixes.txt +0
-0
Documentation/devicetree/bindings/vendor-prefixes.txt urt United Radiant Technology Corporation · line 396
Quoted 4 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +1
-0@@ -393,6 +393,7 @@ urt United Radiant Technology Corporation usi Universal Scientific Industrial Co., Ltd. v3 V3 Semiconductor variscite Variscite Ltd. +vamrs Vamrs Ltd.
Alphabetical order please.
Quoted 6 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +0
-0via VIA Technologies, Inc. virtio Virtual I/O Device Specification, developed by the OASIS consortium vivante Vivante CorporationSignature · 1 line
2.18.0.rc2
PATCH v3 2/2 arm64: dts: rockchip: add 96boards RK3399 Ficus board
In reply to Ezequiel GarciaThe RK3399 Ficus board is an Enterprise Edition board manufactured by Vamrs Ltd., based on the Rockchip RK3399 SoC.
The board exposes a bunch of nice peripherals, including SATA, HDMI, MIPI CSI, Ethernet, WiFi, and PCIe.
--- .../devicetree/bindings/arm/rockchip.txt | 5 + arch/arm64/boot/dts/rockchip/Makefile | 1 + arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 514 ++++++++++++++++++ 3 files changed, 520 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
Documentation/devicetree/bindings/arm/rockchip.txt +5 -0
@@ -1,5 +1,10 @@ Rockchip platforms device tree bindings --------------------------------------- + +- 96boards RK3399 Ficus (ROCK960 Enterprise Edition) + Required root node properties: + - compatible = "vamrs,ficus", "rockchip,rk3399"; + - Amarula Vyasa RK3288 board Required root node properties: - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
arch/arm64/boot/dts/rockchip/Makefile +1 -0
@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ficus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +514 -0
514 lines not on this page · raw message
Signature · 1 line
2.18.0.rc2
Rob Herring
maintainerPATCH v3 2/2 arm64: dts: rockchip: add 96boards RK3399 Ficus board
Quoted 176 lines · Ezequiel Garcia
The RK3399 Ficus board is an Enterprise Edition board manufactured by Vamrs Ltd., based on the Rockchip RK3399 SoC.
The board exposes a bunch of nice peripherals, including SATA, HDMI, MIPI CSI, Ethernet, WiFi, and PCIe.
Signed-off-by Ezequiel Garcia <[email protected]>--- .../devicetree/bindings/arm/rockchip.txt | 5 + arch/arm64/boot/dts/rockchip/Makefile | 1 + arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 514 ++++++++++++++++++ 3 files changed, 520 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-ficus.dtsDocumentation/devicetree/bindings/arm/rockchip.txt +5
-0@@ -1,5 +1,10 @@ Rockchip platforms device tree bindings --------------------------------------- + +- 96boards RK3399 Ficus (ROCK960 Enterprise Edition) + Required root node properties: + - compatible = "vamrs,ficus", "rockchip,rk3399"; + - Amarula Vyasa RK3288 board Required root node properties: - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";arch/arm64/boot/dts/rockchip/Makefile +1
-0@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-ficus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtbarch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +129
-0@@ -0,0 +1,514 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2018 Collabora Ltd. + * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd. + * + * Schematics available at https://dl.vamrs.com/products/ficus/docs/hw + */ + +/dts-v1/; +#include "rk3399.dtsi" +#include "rk3399-opp.dtsi" + +/ { + model = "96boards RK3399 Ficus"; + compatible = "vamrs,ficus", "rockchip,rk3399"; + + chosen { + stdout-path = "serial2:1500000n8"; + }; + + clkin_gmac: external-gmac-clock { + compatible = "fixed-clock"; + clock-frequency = <125000000>; + clock-output-names = "clkin_gmac"; + #clock-cells = <0>; + }; + + vcc1v8_s0: vcc1v8-s0 { + compatible = "regulator-fixed"; + regulator-name = "vcc1v8_s0"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vcc_sys: vcc-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc_sys"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + vcc3v3_sys: vcc3v3-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <&vcc_sys>; + }; + + vcc3v3_pcie: vcc3v3-pcie-regulator { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&pcie_drv>; + regulator-boot-on; + regulator-name = "vcc3v3_pcie"; + vin-supply = <&vcc3v3_sys>; + }; + + vdd_log: vdd-log { + compatible = "pwm-regulator"; + pwms = <&pwm2 0 25000 0>; + regulator-name = "vdd_log"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; + regulator-always-on; + regulator-boot-on; + + /* for rockchip boot on */ + rockchip,pwm_id= <2>; + rockchip,pwm_voltage = <900000>; + + vin-supply = <&vcc_sys>; + }; + +}; + +&cpu_l0 { + cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l1 { + cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l2 { + cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_l3 { + cpu-supply = <&vdd_cpu_l>; +}; + +&cpu_b0 { + cpu-supply = <&vdd_cpu_b>; +}; + +&cpu_b1 { + cpu-supply = <&vdd_cpu_b>; +}; + +&emmc_phy { + status = "okay"; +}; + +&gmac { + assigned-clocks = <&cru SCLK_RMII_SRC>; + assigned-clock-parents = <&clkin_gmac>; + clock_in_out = "input"; + phy-supply = <&vcc3v3_sys>; + phy-mode = "rgmii"; + pinctrl-names = "default"; + pinctrl-0 = <&rgmii_pins>; + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; + snps,reset-active-low; + snps,reset-delays-us = <0 10000 50000>; + tx_delay = <0x28>; + rx_delay = <0x11>; + status = "okay"; +}; + +&hdmi { + ddc-i2c-bus = <&i2c3>; + pinctrl-names = "default"; + pinctrl-0 = <&hdmi_cec>;
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 139
Quoted 10 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +10
-0+ status = "okay"; +}; + +&i2c0 { + clock-frequency = <400000>; + i2c-scl-rising-time-ns = <168>; + i2c-scl-falling-time-ns = <4>; + status = "okay"; + + vdd_cpu_b: syr827 at 40 {
regulator at 40
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 142
Quoted 3 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +3
-0+ compatible = "silergy,syr827"; + reg = <0x40>; + fcs,suspend-voltage-selector = <1>;
Strange to have a different vendor for this property...
Otherwise,
Quoted 13 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +13
-0+ regulator-name = "vdd_cpu_b"; + regulator-min-microvolt = <712500>; + regulator-max-microvolt = <1500000>; + regulator-ramp-delay = <1000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vcc_sys>; + status = "okay"; + + regulator-state-mem { + regulator-off-in-suspend; + }; + };
PATCH v3 2/2 arm64: dts: rockchip: add 96boards RK3399 Ficus board
Quoted 9 lines · Rob Herring
Quoted 8 lines · Ezequiel Garcia
The RK3399 Ficus board is an Enterprise Edition board manufactured by Vamrs Ltd., based on the Rockchip RK3399 SoC.
The board exposes a bunch of nice peripherals, including SATA, HDMI, MIPI CSI, Ethernet, WiFi, and PCIe.
Signed-off-by Ezequiel Garcia <[email protected]>
[snip]
Quoted 11 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 139
Quoted 8 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +8
-0+ +&i2c0 { + clock-frequency = <400000>; + i2c-scl-rising-time-ns = <168>; + i2c-scl-falling-time-ns = <4>; + status = "okay"; + + vdd_cpu_b: syr827 at 40 {regulator at 40
OK.
Quoted 6 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 142
Quoted 3 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +3
-0+ compatible = "silergy,syr827"; + reg = <0x40>; + fcs,suspend-voltage-selector = <1>;Strange to have a different vendor for this property...
It's because this driver has also a Fairchild compatible "fcs,fan53555".
Quoted 4 lines
Otherwise,
Reviewed-by Rob Herring <[email protected]>
Thanks Rob!
Heiko Stuebner
maintainerPATCH v3 2/2 arm64: dts: rockchip: add 96boards RK3399 Ficus board
Am Freitag, 6. Juli 2018, 15:46:55 CEST schrieb Ezequiel Garcia:
Quoted 32 lines · Rob Herring
Quoted 9 lines · Ezequiel Garcia
Quoted 8 lines
The RK3399 Ficus board is an Enterprise Edition board manufactured by Vamrs Ltd., based on the Rockchip RK3399 SoC.
The board exposes a bunch of nice peripherals, including SATA, HDMI, MIPI CSI, Ethernet, WiFi, and PCIe.
Signed-off-by Ezequiel Garcia <[email protected]>[snip]
Quoted 11 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 139
Quoted 8 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +8
-0+ +&i2c0 { + clock-frequency = <400000>; + i2c-scl-rising-time-ns = <168>; + i2c-scl-falling-time-ns = <4>; + status = "okay"; + + vdd_cpu_b: syr827 at 40 {regulator at 40
OK.
Quoted 6 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts line 142
Quoted 3 lines
arch/arm64/boot/dts/rockchip/rk3399-ficus.dts new file +3
-0+ compatible = "silergy,syr827"; + reg = <0x40>; + fcs,suspend-voltage-selector = <1>;Strange to have a different vendor for this property...
Quoted 2 lines
It's because this driver has also a Fairchild compatible "fcs,fan53555".
The Silergy regulators seem to be some sort of clone of the Fairchild fan53555.