Skip to contentSkip to conversation

arm64: rockchip: support RK3399 Ficus board

PATCH Superseded Ezequiel Garcia 3 participants 7 messages Jul 5, 2018 – Jul 6, 2018

Subsystems (2)

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index 7cad066191ee..5dc2c5f49e37 100644
@@ -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
maintainer
#2 lore raw

PATCH 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/

---
 Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +0 -0
index 7cad066191ee..5dc2c5f49e37 100644

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 -0
 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
#3 lore raw

PATCH v3 2/2 arm64: dts: rockchip: add 96boards RK3399 Ficus board

In reply to 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.

---
 .../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
index 1c1d62d03c4f..d46c5d43e27f 100644
@@ -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
index 48a83f882947..2811fb701f12 100644
@@ -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
maintainer
#4 lore raw

PATCH 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.

---
 .../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
index 1c1d62d03c4f..d46c5d43e27f 100644
@@ -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
index 48a83f882947..2811fb701f12 100644
@@ -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 +129 -0
new file mode 100644
index 000000000000..b17b831df90e
@@ -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;
+		};
+	};
#5 lore raw

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.

[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,

Thanks Rob!

maintainer
#6 lore raw

PATCH 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.

[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.