linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Add 96Boards Rock960 CE board support
@ 2018-09-11  2:30 Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards Manivannan Sadhasivam
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-11  2:30 UTC (permalink / raw)
  To: heiko, robh+dt
  Cc: vicencb, shawn.lin, ezequiel, enric.balletbo, pbrobinson, tom,
	dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Manivannan Sadhasivam

This patchset adds 96Boards Rock960 CE board support. Rock960 CE
(Consumer Edition) board is one of the member of 96Boards Consumer
Edition and AI platform and is manufactured by Vamrs Limited. Most of
the board configuration is shared with the Ficus board manufactured by
vamrs, which is an Enterprise 96Board.

For the sake of avoiding code duplication, a common rock960.dtsi file
with common DT nodes for both boards and separate board specific DTS
files has been added.

To be specific, below are some of the key differences between both
boards:

1. Different host enable GPIO for USB
2. Different power and reset GPIO for PCI-E
3. No Ethernet port on Rock960

While adding the board support, SD card Chip detection support is also
added to the common dtsi file, shared by both boards.

This series has been tested on Rock960 CE v1.2 board and expecting the
Ficus board maintainer to test the relevant Ficus part.

Thanks,
Mani

Changes in v2:

* Changed the board compatible to "vamrs,rock960"

Manivannan Sadhasivam (4):
  arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  dt-bindings: arm: rockchip: Add binding for Rock960 board
  arm64: boot: dts: rockchip: Add support for Rock960 board
  arm64: dts: rockchip: Enable SD card detection for Rock960 boards

 .../devicetree/bindings/arm/rockchip.txt      |   4 +
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 429 +----------------
 .../boot/dts/rockchip/rk3399-rock960.dts      | 139 ++++++
 .../boot/dts/rockchip/rk3399-rock960.dtsi     | 440 ++++++++++++++++++
 5 files changed, 585 insertions(+), 428 deletions(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dts
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi

-- 
2.17.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-11  2:30 [PATCH v2 0/4] Add 96Boards Rock960 CE board support Manivannan Sadhasivam
@ 2018-09-11  2:30 ` Manivannan Sadhasivam
  2018-09-11 19:40   ` Ezequiel Garcia
  2018-09-11  2:30 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add binding for Rock960 board Manivannan Sadhasivam
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-11  2:30 UTC (permalink / raw)
  To: heiko, robh+dt
  Cc: vicencb, shawn.lin, ezequiel, enric.balletbo, pbrobinson, tom,
	dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Manivannan Sadhasivam

Since the same family members of Rock960 boards (Rock960 and Ficus)
share the same configuration, split out the common nodes into a common
dtsi file for reducing code duplication. The board specific nodes for
Ficus boards are then placed in corresponding board DTS file.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 429 +----------------
 .../boot/dts/rockchip/rk3399-rock960.dtsi     | 439 ++++++++++++++++++
 2 files changed, 440 insertions(+), 428 deletions(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
index 8978d924eb83..7f6ec37d5a69 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
@@ -7,8 +7,7 @@
  */
 
 /dts-v1/;
-#include "rk3399.dtsi"
-#include "rk3399-opp.dtsi"
+#include "rk3399-rock960.dtsi"
 
 / {
 	model = "96boards RK3399 Ficus";
@@ -25,31 +24,6 @@
 		#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;
@@ -75,46 +49,6 @@
 		regulator-always-on;
 		vin-supply = <&vcc_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;
-		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 {
@@ -133,263 +67,6 @@
 	status = "okay";
 };
 
-&hdmi {
-	ddc-i2c-bus = <&i2c3>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&hdmi_cec>;
-	status = "okay";
-};
-
-&i2c0 {
-	clock-frequency = <400000>;
-	i2c-scl-rising-time-ns = <168>;
-	i2c-scl-falling-time-ns = <4>;
-	status = "okay";
-
-	vdd_cpu_b: regulator@40 {
-		compatible = "silergy,syr827";
-		reg = <0x40>;
-		fcs,suspend-voltage-selector = <1>;
-		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;
-		};
-	};
-
-	vdd_gpu: regulator@41 {
-		compatible = "silergy,syr828";
-		reg = <0x41>;
-		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_gpu";
-		regulator-min-microvolt = <712500>;
-		regulator-max-microvolt = <1500000>;
-		regulator-ramp-delay = <1000>;
-		regulator-always-on;
-		regulator-boot-on;
-		vin-supply = <&vcc_sys>;
-		regulator-state-mem {
-			regulator-off-in-suspend;
-		};
-	};
-
-	rk808: pmic@1b {
-		compatible = "rockchip,rk808";
-		reg = <0x1b>;
-		interrupt-parent = <&gpio1>;
-		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pmic_int_l>;
-		rockchip,system-power-controller;
-		wakeup-source;
-		#clock-cells = <1>;
-		clock-output-names = "xin32k", "rk808-clkout2";
-
-		vcc1-supply = <&vcc_sys>;
-		vcc2-supply = <&vcc_sys>;
-		vcc3-supply = <&vcc_sys>;
-		vcc4-supply = <&vcc_sys>;
-		vcc6-supply = <&vcc_sys>;
-		vcc7-supply = <&vcc_sys>;
-		vcc8-supply = <&vcc3v3_sys>;
-		vcc9-supply = <&vcc_sys>;
-		vcc10-supply = <&vcc_sys>;
-		vcc11-supply = <&vcc_sys>;
-		vcc12-supply = <&vcc3v3_sys>;
-		vddio-supply = <&vcc_1v8>;
-
-		regulators {
-			vdd_center: DCDC_REG1 {
-				regulator-name = "vdd_center";
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vdd_cpu_l: DCDC_REG2 {
-				regulator-name = "vdd_cpu_l";
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <1350000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vcc_ddr: DCDC_REG3 {
-				regulator-name = "vcc_ddr";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-				};
-			};
-
-			vcc_1v8: DCDC_REG4 {
-				regulator-name = "vcc_1v8";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcc1v8_dvp: LDO_REG1 {
-				regulator-name = "vcc1v8_dvp";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcca1v8_hdmi: LDO_REG2 {
-				regulator-name = "vcca1v8_hdmi";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcca_1v8: LDO_REG3 {
-				regulator-name = "vcca_1v8";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcc_sd: LDO_REG4 {
-				regulator-name = "vcc_sd";
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <3300000>;
-				};
-			};
-
-			vcc3v0_sd: LDO_REG5 {
-				regulator-name = "vcc3v0_sd";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <3000000>;
-				};
-			};
-
-			vcc_1v5: LDO_REG6 {
-				regulator-name = "vcc_1v5";
-				regulator-min-microvolt = <1500000>;
-				regulator-max-microvolt = <1500000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1500000>;
-				};
-			};
-
-			vcca0v9_hdmi: LDO_REG7 {
-				regulator-name = "vcca0v9_hdmi";
-				regulator-min-microvolt = <900000>;
-				regulator-max-microvolt = <900000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <900000>;
-				};
-			};
-
-			vcc_3v0: LDO_REG8 {
-				regulator-name = "vcc_3v0";
-				regulator-min-microvolt = <3000000>;
-				regulator-max-microvolt = <3000000>;
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <3000000>;
-				};
-			};
-
-			vcc3v3_s3: SWITCH_REG1 {
-				regulator-name = "vcc3v3_s3";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-				};
-			};
-
-			vcc3v3_s0: SWITCH_REG2 {
-				regulator-name = "vcc3v3_s0";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-state-mem {
-					regulator-on-in-suspend;
-				};
-			};
-		};
-	};
-};
-
-&i2c1 {
-	status = "okay";
-};
-
-&i2c2 {
-	status = "okay";
-};
-
-&i2c3 {
-	status = "okay";
-};
-
-&i2c4 {
-	status = "okay";
-};
-
-&io_domains {
-	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
-	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
-	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
-	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
-	status = "okay";
-};
-
 &pcie_phy {
 	status = "okay";
 };
@@ -403,11 +80,6 @@
 	status = "okay";
 };
 
-&pmu_io_domains {
-	pmu1830-supply = <&vcc_1v8>;
-	status = "okay";
-};
-
 &pinctrl {
 	gmac {
 		rgmii_sleep_pins: rgmii-sleep-pins {
@@ -416,31 +88,6 @@
 		};
 	};
 
-	sdmmc {
-		sdmmc_bus1: sdmmc-bus1 {
-			rockchip,pins =
-				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
-		};
-
-		sdmmc_bus4: sdmmc-bus4 {
-			rockchip,pins =
-				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
-				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
-				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
-				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
-		};
-
-		sdmmc_clk: sdmmc-clk {
-			rockchip,pins =
-				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
-		};
-
-		sdmmc_cmd: sdmmc-cmd {
-			rockchip,pins =
-				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
-		};
-	};
-
 	pcie {
 		pcie_drv: pcie-drv {
 			rockchip,pins =
@@ -448,23 +95,6 @@
 			};
 	};
 
-	pmic {
-		pmic_int_l: pmic-int-l {
-			rockchip,pins =
-				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
-		};
-
-		vsel1_gpio: vsel1-gpio {
-			rockchip,pins =
-				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
-		};
-
-		vsel2_gpio: vsel2-gpio {
-			rockchip,pins =
-				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
-		};
-	};
-
 	usb2 {
 		host_vbus_drv: host-vbus-drv {
 			rockchip,pins =
@@ -473,37 +103,6 @@
 	};
 };
 
-&pwm2 {
-	status = "okay";
-};
-
-&pwm3 {
-	status = "okay";
-};
-
-&sdhci {
-	bus-width = <8>;
-	mmc-hs400-1_8v;
-	mmc-hs400-enhanced-strobe;
-	non-removable;
-	status = "okay";
-};
-
-&sdmmc {
-	bus-width = <4>;
-	cap-mmc-highspeed;
-	cap-sd-highspeed;
-	clock-frequency = <100000000>;
-	clock-freq-min-max = <100000 100000000>;
-	disable-wp;
-	sd-uhs-sdr104;
-	vqmmc-supply = <&vcc_sd>;
-	card-detect-delay = <800>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
-	status = "okay";
-};
-
 &tcphy0 {
 	status = "okay";
 };
@@ -538,16 +137,6 @@
 	status = "okay";
 };
 
-&uart0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart0_xfer &uart0_cts>;
-	status = "okay";
-};
-
-&uart2 {
-	status = "okay";
-};
-
 &usb_host0_ehci {
 	status = "okay";
 };
@@ -581,19 +170,3 @@
 	status = "okay";
 	dr_mode = "host";
 };
-
-&vopb {
-	status = "okay";
-};
-
-&vopb_mmu {
-	status = "okay";
-};
-
-&vopl {
-	status = "okay";
-};
-
-&vopl_mmu {
-	status = "okay";
-};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
new file mode 100644
index 000000000000..5a5d8e28ef55
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
@@ -0,0 +1,439 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Collabora Ltd.
+ * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
+ * Copyright (c) 2018 Linaro Ltd.
+ */
+
+#include "rk3399.dtsi"
+#include "rk3399-opp.dtsi"
+
+/ {
+	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>;
+	};
+
+	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;
+		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";
+};
+
+&hdmi {
+	ddc-i2c-bus = <&i2c3>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&hdmi_cec>;
+	status = "okay";
+};
+
+&i2c0 {
+	clock-frequency = <400000>;
+	i2c-scl-rising-time-ns = <168>;
+	i2c-scl-falling-time-ns = <4>;
+	status = "okay";
+
+	vdd_cpu_b: regulator@40 {
+		compatible = "silergy,syr827";
+		reg = <0x40>;
+		fcs,suspend-voltage-selector = <1>;
+		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;
+		};
+	};
+
+	vdd_gpu: regulator@41 {
+		compatible = "silergy,syr828";
+		reg = <0x41>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_gpu";
+		regulator-min-microvolt = <712500>;
+		regulator-max-microvolt = <1500000>;
+		regulator-ramp-delay = <1000>;
+		regulator-always-on;
+		regulator-boot-on;
+		vin-supply = <&vcc_sys>;
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	rk808: pmic@1b {
+		compatible = "rockchip,rk808";
+		reg = <0x1b>;
+		interrupt-parent = <&gpio1>;
+		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pmic_int_l>;
+		rockchip,system-power-controller;
+		wakeup-source;
+		#clock-cells = <1>;
+		clock-output-names = "xin32k", "rk808-clkout2";
+
+		vcc1-supply = <&vcc_sys>;
+		vcc2-supply = <&vcc_sys>;
+		vcc3-supply = <&vcc_sys>;
+		vcc4-supply = <&vcc_sys>;
+		vcc6-supply = <&vcc_sys>;
+		vcc7-supply = <&vcc_sys>;
+		vcc8-supply = <&vcc3v3_sys>;
+		vcc9-supply = <&vcc_sys>;
+		vcc10-supply = <&vcc_sys>;
+		vcc11-supply = <&vcc_sys>;
+		vcc12-supply = <&vcc3v3_sys>;
+		vddio-supply = <&vcc_1v8>;
+
+		regulators {
+			vdd_center: DCDC_REG1 {
+				regulator-name = "vdd_center";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vdd_cpu_l: DCDC_REG2 {
+				regulator-name = "vdd_cpu_l";
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-off-in-suspend;
+				};
+			};
+
+			vcc_ddr: DCDC_REG3 {
+				regulator-name = "vcc_ddr";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+				};
+			};
+
+			vcc_1v8: DCDC_REG4 {
+				regulator-name = "vcc_1v8";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vcc1v8_dvp: LDO_REG1 {
+				regulator-name = "vcc1v8_dvp";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vcca1v8_hdmi: LDO_REG2 {
+				regulator-name = "vcca1v8_hdmi";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vcca_1v8: LDO_REG3 {
+				regulator-name = "vcca_1v8";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1800000>;
+				};
+			};
+
+			vcc_sd: LDO_REG4 {
+				regulator-name = "vcc_sd";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3300000>;
+				};
+			};
+
+			vcc3v0_sd: LDO_REG5 {
+				regulator-name = "vcc3v0_sd";
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3000000>;
+				};
+			};
+
+			vcc_1v5: LDO_REG6 {
+				regulator-name = "vcc_1v5";
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <1500000>;
+				};
+			};
+
+			vcca0v9_hdmi: LDO_REG7 {
+				regulator-name = "vcca0v9_hdmi";
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <900000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <900000>;
+				};
+			};
+
+			vcc_3v0: LDO_REG8 {
+				regulator-name = "vcc_3v0";
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+					regulator-suspend-microvolt = <3000000>;
+				};
+			};
+
+			vcc3v3_s3: SWITCH_REG1 {
+				regulator-name = "vcc3v3_s3";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+				};
+			};
+
+			vcc3v3_s0: SWITCH_REG2 {
+				regulator-name = "vcc3v3_s0";
+				regulator-always-on;
+				regulator-boot-on;
+				regulator-state-mem {
+					regulator-on-in-suspend;
+				};
+			};
+		};
+	};
+};
+
+&i2c1 {
+	status = "okay";
+};
+
+&i2c2 {
+	status = "okay";
+};
+
+&i2c3 {
+	status = "okay";
+};
+
+&i2c4 {
+	status = "okay";
+};
+
+&io_domains {
+	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
+	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
+	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
+	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
+	status = "okay";
+};
+
+&pmu_io_domains {
+	pmu1830-supply = <&vcc_1v8>;
+	status = "okay";
+};
+
+&pinctrl {
+	sdmmc {
+		sdmmc_bus1: sdmmc-bus1 {
+			rockchip,pins =
+				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
+		};
+
+		sdmmc_bus4: sdmmc-bus4 {
+			rockchip,pins =
+				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
+				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
+				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
+				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
+		};
+
+		sdmmc_clk: sdmmc-clk {
+			rockchip,pins =
+				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
+		};
+
+		sdmmc_cmd: sdmmc-cmd {
+			rockchip,pins =
+				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
+		};
+	};
+
+	pmic {
+		pmic_int_l: pmic-int-l {
+			rockchip,pins =
+				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
+		};
+
+		vsel1_gpio: vsel1-gpio {
+			rockchip,pins =
+				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+
+		vsel2_gpio: vsel2-gpio {
+			rockchip,pins =
+				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
+		};
+	};
+};
+
+&pwm2 {
+	status = "okay";
+};
+
+&pwm3 {
+	status = "okay";
+};
+
+&sdhci {
+	bus-width = <8>;
+	mmc-hs400-1_8v;
+	mmc-hs400-enhanced-strobe;
+	non-removable;
+	status = "okay";
+};
+
+&sdmmc {
+	bus-width = <4>;
+	cap-mmc-highspeed;
+	cap-sd-highspeed;
+	clock-frequency = <100000000>;
+	clock-freq-min-max = <100000 100000000>;
+	disable-wp;
+	sd-uhs-sdr104;
+	vqmmc-supply = <&vcc_sd>;
+	card-detect-delay = <800>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_xfer &uart0_cts>;
+	status = "okay";
+};
+
+&uart2 {
+	status = "okay";
+};
+
+&vopb {
+	status = "okay";
+};
+
+&vopb_mmu {
+	status = "okay";
+};
+
+&vopl {
+	status = "okay";
+};
+
+&vopl_mmu {
+	status = "okay";
+};
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/4] dt-bindings: arm: rockchip: Add binding for Rock960 board
  2018-09-11  2:30 [PATCH v2 0/4] Add 96Boards Rock960 CE board support Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards Manivannan Sadhasivam
@ 2018-09-11  2:30 ` Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 3/4] arm64: boot: dts: rockchip: Add support " Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 4/4] arm64: dts: rockchip: Enable SD card detection for Rock960 boards Manivannan Sadhasivam
  3 siblings, 0 replies; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-11  2:30 UTC (permalink / raw)
  To: heiko, robh+dt
  Cc: vicencb, shawn.lin, ezequiel, enric.balletbo, pbrobinson, tom,
	dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Manivannan Sadhasivam

Add devicetree binding for Rock960 board from Vamrs Limited.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 Documentation/devicetree/bindings/arm/rockchip.txt | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index acfd3c773dd0..4b6888a21db2 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -5,6 +5,10 @@ Rockchip platforms device tree bindings
     Required root node properties:
       - compatible = "vamrs,ficus", "rockchip,rk3399";
 
+- 96boards RK3399 Rock960 (ROCK960 Consumer Edition)
+    Required root node properties:
+      - compatible = "vamrs,rock960", "rockchip,rk3399";
+
 - Amarula Vyasa RK3288 board
     Required root node properties:
       - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 3/4] arm64: boot: dts: rockchip: Add support for Rock960 board
  2018-09-11  2:30 [PATCH v2 0/4] Add 96Boards Rock960 CE board support Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add binding for Rock960 board Manivannan Sadhasivam
@ 2018-09-11  2:30 ` Manivannan Sadhasivam
  2018-09-11  2:30 ` [PATCH v2 4/4] arm64: dts: rockchip: Enable SD card detection for Rock960 boards Manivannan Sadhasivam
  3 siblings, 0 replies; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-11  2:30 UTC (permalink / raw)
  To: heiko, robh+dt
  Cc: vicencb, shawn.lin, ezequiel, enric.balletbo, pbrobinson, tom,
	dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Manivannan Sadhasivam

Add devicetree support for Rock960 board, one of the Consumer Edition
boards of the 96Boards family. This board support utilizes the common
Rock960 family board support that includes Ficus 96Board.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3399-rock960.dts      | 139 ++++++++++++++++++
 2 files changed, 140 insertions(+)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dts

diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index b0092d95b574..57c0d76458e6 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -14,5 +14,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-bob.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock960.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dts
new file mode 100644
index 000000000000..37242b64a7a3
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dts
@@ -0,0 +1,139 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2018 Linaro Ltd.
+ */
+
+/dts-v1/;
+#include "rk3399-rock960.dtsi"
+
+/ {
+	model = "96boards Rock960";
+	compatible = "vamrs,rock960", "rockchip,rk3399";
+
+	chosen {
+		stdout-path = "serial2:1500000n8";
+	};
+
+	vcc3v3_pcie: vcc3v3-pcie-regulator {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pcie_drv>;
+		regulator-boot-on;
+		regulator-name = "vcc3v3_pcie";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		vin-supply = <&vcc3v3_sys>;
+	};
+
+	vcc5v0_host: vcc5v0-host-regulator {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&host_vbus_drv>;
+		regulator-name = "vcc5v0_host";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-always-on;
+		vin-supply = <&vcc_sys>;
+	};
+};
+
+&pinctrl {
+	pcie {
+		pcie_drv: pcie-drv {
+			rockchip,pins =
+				<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
+			};
+	};
+
+	usb2 {
+		host_vbus_drv: host-vbus-drv {
+			rockchip,pins =
+				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
+
+&pcie_phy {
+	status = "okay";
+};
+
+&pcie0 {
+	ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
+	num-lanes = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie_clkreqn_cpm>;
+	vpcie3v3-supply = <&vcc3v3_pcie>;
+	status = "okay";
+};
+
+&tcphy0 {
+	status = "okay";
+};
+
+&tcphy1 {
+	status = "okay";
+};
+
+&u2phy0 {
+	status = "okay";
+};
+
+&u2phy1 {
+	status = "okay";
+};
+
+&u2phy0_host {
+	phy-supply = <&vcc5v0_host>;
+	status = "okay";
+};
+
+&u2phy1_host {
+	phy-supply = <&vcc5v0_host>;
+	status = "okay";
+};
+
+&u2phy0_otg {
+	status = "okay";
+};
+
+&u2phy1_otg {
+	status = "okay";
+};
+
+&usb_host0_ehci {
+	status = "okay";
+};
+
+&usb_host0_ohci {
+	status = "okay";
+};
+
+&usb_host1_ehci {
+	status = "okay";
+};
+
+&usb_host1_ohci {
+	status = "okay";
+};
+
+&usbdrd3_0 {
+	status = "okay";
+};
+
+&usbdrd_dwc3_0 {
+	status = "okay";
+	dr_mode = "otg";
+};
+
+&usbdrd3_1 {
+	status = "okay";
+};
+
+&usbdrd_dwc3_1 {
+	status = "okay";
+	dr_mode = "host";
+};
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 4/4] arm64: dts: rockchip: Enable SD card detection for Rock960 boards
  2018-09-11  2:30 [PATCH v2 0/4] Add 96Boards Rock960 CE board support Manivannan Sadhasivam
                   ` (2 preceding siblings ...)
  2018-09-11  2:30 ` [PATCH v2 3/4] arm64: boot: dts: rockchip: Add support " Manivannan Sadhasivam
@ 2018-09-11  2:30 ` Manivannan Sadhasivam
  3 siblings, 0 replies; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-11  2:30 UTC (permalink / raw)
  To: heiko, robh+dt
  Cc: vicencb, shawn.lin, ezequiel, enric.balletbo, pbrobinson, tom,
	dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Manivannan Sadhasivam

For proper working of SD cards, let's add the Card Detect GPIO property
to the common devicetree for Rock960 family boards.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
index 5a5d8e28ef55..f68254831ad9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
@@ -403,6 +403,7 @@
 	cap-sd-highspeed;
 	clock-frequency = <100000000>;
 	clock-freq-min-max = <100000 100000000>;
+	cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
 	disable-wp;
 	sd-uhs-sdr104;
 	vqmmc-supply = <&vcc_sd>;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-11  2:30 ` [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards Manivannan Sadhasivam
@ 2018-09-11 19:40   ` Ezequiel Garcia
  2018-09-12  3:12     ` Manivannan Sadhasivam
  0 siblings, 1 reply; 10+ messages in thread
From: Ezequiel Garcia @ 2018-09-11 19:40 UTC (permalink / raw)
  To: Manivannan Sadhasivam, heiko, robh+dt
  Cc: vicencb, shawn.lin, enric.balletbo, pbrobinson, tom, dev,
	stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> Since the same family members of Rock960 boards (Rock960 and Ficus)
> share the same configuration, split out the common nodes into a common
> dtsi file for reducing code duplication. The board specific nodes for
> Ficus boards are then placed in corresponding board DTS file.
> 

I think it should be possible to move the common USB nodes to the dtsi file,
and keep the board-specific (phy-supply property) in the dts files:

&u2phy0_host {
        phy-supply = <&vcc5v0_host>;
};

&u2phy1_host {
        phy-supply = <&vcc5v0_host>;
};

Also, I believe it would be good to have some more details
in this commit log. The information on the cover letter is great,
so I'd just repeat some of that here.

Other than that, for the ficus bits:

Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>

Thanks very much for this work!
Ezequiel


> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> ---
>  arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 429 +----------------
>  .../boot/dts/rockchip/rk3399-rock960.dtsi     | 439 ++++++++++++++++++
>  2 files changed, 440 insertions(+), 428 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> index 8978d924eb83..7f6ec37d5a69 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> @@ -7,8 +7,7 @@
>   */
>  
>  /dts-v1/;
> -#include "rk3399.dtsi"
> -#include "rk3399-opp.dtsi"
> +#include "rk3399-rock960.dtsi"
>  
>  / {
>  	model = "96boards RK3399 Ficus";
> @@ -25,31 +24,6 @@
>  		#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;
> @@ -75,46 +49,6 @@
>  		regulator-always-on;
>  		vin-supply = <&vcc_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;
> -		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 {
> @@ -133,263 +67,6 @@
>  	status = "okay";
>  };
>  
> -&hdmi {
> -	ddc-i2c-bus = <&i2c3>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&hdmi_cec>;
> -	status = "okay";
> -};
> -
> -&i2c0 {
> -	clock-frequency = <400000>;
> -	i2c-scl-rising-time-ns = <168>;
> -	i2c-scl-falling-time-ns = <4>;
> -	status = "okay";
> -
> -	vdd_cpu_b: regulator@40 {
> -		compatible = "silergy,syr827";
> -		reg = <0x40>;
> -		fcs,suspend-voltage-selector = <1>;
> -		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;
> -		};
> -	};
> -
> -	vdd_gpu: regulator@41 {
> -		compatible = "silergy,syr828";
> -		reg = <0x41>;
> -		fcs,suspend-voltage-selector = <1>;
> -		regulator-name = "vdd_gpu";
> -		regulator-min-microvolt = <712500>;
> -		regulator-max-microvolt = <1500000>;
> -		regulator-ramp-delay = <1000>;
> -		regulator-always-on;
> -		regulator-boot-on;
> -		vin-supply = <&vcc_sys>;
> -		regulator-state-mem {
> -			regulator-off-in-suspend;
> -		};
> -	};
> -
> -	rk808: pmic@1b {
> -		compatible = "rockchip,rk808";
> -		reg = <0x1b>;
> -		interrupt-parent = <&gpio1>;
> -		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pmic_int_l>;
> -		rockchip,system-power-controller;
> -		wakeup-source;
> -		#clock-cells = <1>;
> -		clock-output-names = "xin32k", "rk808-clkout2";
> -
> -		vcc1-supply = <&vcc_sys>;
> -		vcc2-supply = <&vcc_sys>;
> -		vcc3-supply = <&vcc_sys>;
> -		vcc4-supply = <&vcc_sys>;
> -		vcc6-supply = <&vcc_sys>;
> -		vcc7-supply = <&vcc_sys>;
> -		vcc8-supply = <&vcc3v3_sys>;
> -		vcc9-supply = <&vcc_sys>;
> -		vcc10-supply = <&vcc_sys>;
> -		vcc11-supply = <&vcc_sys>;
> -		vcc12-supply = <&vcc3v3_sys>;
> -		vddio-supply = <&vcc_1v8>;
> -
> -		regulators {
> -			vdd_center: DCDC_REG1 {
> -				regulator-name = "vdd_center";
> -				regulator-min-microvolt = <750000>;
> -				regulator-max-microvolt = <1350000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			vdd_cpu_l: DCDC_REG2 {
> -				regulator-name = "vdd_cpu_l";
> -				regulator-min-microvolt = <750000>;
> -				regulator-max-microvolt = <1350000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-off-in-suspend;
> -				};
> -			};
> -
> -			vcc_ddr: DCDC_REG3 {
> -				regulator-name = "vcc_ddr";
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -				};
> -			};
> -
> -			vcc_1v8: DCDC_REG4 {
> -				regulator-name = "vcc_1v8";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <1800000>;
> -				};
> -			};
> -
> -			vcc1v8_dvp: LDO_REG1 {
> -				regulator-name = "vcc1v8_dvp";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <1800000>;
> -				};
> -			};
> -
> -			vcca1v8_hdmi: LDO_REG2 {
> -				regulator-name = "vcca1v8_hdmi";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <1800000>;
> -				};
> -			};
> -
> -			vcca_1v8: LDO_REG3 {
> -				regulator-name = "vcca_1v8";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <1800000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <1800000>;
> -				};
> -			};
> -
> -			vcc_sd: LDO_REG4 {
> -				regulator-name = "vcc_sd";
> -				regulator-min-microvolt = <1800000>;
> -				regulator-max-microvolt = <3300000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <3300000>;
> -				};
> -			};
> -
> -			vcc3v0_sd: LDO_REG5 {
> -				regulator-name = "vcc3v0_sd";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <3000000>;
> -				};
> -			};
> -
> -			vcc_1v5: LDO_REG6 {
> -				regulator-name = "vcc_1v5";
> -				regulator-min-microvolt = <1500000>;
> -				regulator-max-microvolt = <1500000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <1500000>;
> -				};
> -			};
> -
> -			vcca0v9_hdmi: LDO_REG7 {
> -				regulator-name = "vcca0v9_hdmi";
> -				regulator-min-microvolt = <900000>;
> -				regulator-max-microvolt = <900000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <900000>;
> -				};
> -			};
> -
> -			vcc_3v0: LDO_REG8 {
> -				regulator-name = "vcc_3v0";
> -				regulator-min-microvolt = <3000000>;
> -				regulator-max-microvolt = <3000000>;
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -					regulator-suspend-microvolt = <3000000>;
> -				};
> -			};
> -
> -			vcc3v3_s3: SWITCH_REG1 {
> -				regulator-name = "vcc3v3_s3";
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -				};
> -			};
> -
> -			vcc3v3_s0: SWITCH_REG2 {
> -				regulator-name = "vcc3v3_s0";
> -				regulator-always-on;
> -				regulator-boot-on;
> -				regulator-state-mem {
> -					regulator-on-in-suspend;
> -				};
> -			};
> -		};
> -	};
> -};
> -
> -&i2c1 {
> -	status = "okay";
> -};
> -
> -&i2c2 {
> -	status = "okay";
> -};
> -
> -&i2c3 {
> -	status = "okay";
> -};
> -
> -&i2c4 {
> -	status = "okay";
> -};
> -
> -&io_domains {
> -	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
> -	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
> -	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
> -	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
> -	status = "okay";
> -};
> -
>  &pcie_phy {
>  	status = "okay";
>  };
> @@ -403,11 +80,6 @@
>  	status = "okay";
>  };
>  
> -&pmu_io_domains {
> -	pmu1830-supply = <&vcc_1v8>;
> -	status = "okay";
> -};
> -
>  &pinctrl {
>  	gmac {
>  		rgmii_sleep_pins: rgmii-sleep-pins {
> @@ -416,31 +88,6 @@
>  		};
>  	};
>  
> -	sdmmc {
> -		sdmmc_bus1: sdmmc-bus1 {
> -			rockchip,pins =
> -				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
> -		};
> -
> -		sdmmc_bus4: sdmmc-bus4 {
> -			rockchip,pins =
> -				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
> -				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
> -				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
> -				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
> -		};
> -
> -		sdmmc_clk: sdmmc-clk {
> -			rockchip,pins =
> -				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
> -		};
> -
> -		sdmmc_cmd: sdmmc-cmd {
> -			rockchip,pins =
> -				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
> -		};
> -	};
> -
>  	pcie {
>  		pcie_drv: pcie-drv {
>  			rockchip,pins =
> @@ -448,23 +95,6 @@
>  			};
>  	};
>  
> -	pmic {
> -		pmic_int_l: pmic-int-l {
> -			rockchip,pins =
> -				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
> -		};
> -
> -		vsel1_gpio: vsel1-gpio {
> -			rockchip,pins =
> -				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
> -		};
> -
> -		vsel2_gpio: vsel2-gpio {
> -			rockchip,pins =
> -				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
> -		};
> -	};
> -
>  	usb2 {
>  		host_vbus_drv: host-vbus-drv {
>  			rockchip,pins =
> @@ -473,37 +103,6 @@
>  	};
>  };
>  
> -&pwm2 {
> -	status = "okay";
> -};
> -
> -&pwm3 {
> -	status = "okay";
> -};
> -
> -&sdhci {
> -	bus-width = <8>;
> -	mmc-hs400-1_8v;
> -	mmc-hs400-enhanced-strobe;
> -	non-removable;
> -	status = "okay";
> -};
> -
> -&sdmmc {
> -	bus-width = <4>;
> -	cap-mmc-highspeed;
> -	cap-sd-highspeed;
> -	clock-frequency = <100000000>;
> -	clock-freq-min-max = <100000 100000000>;
> -	disable-wp;
> -	sd-uhs-sdr104;
> -	vqmmc-supply = <&vcc_sd>;
> -	card-detect-delay = <800>;
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
> -	status = "okay";
> -};
> -
>  &tcphy0 {
>  	status = "okay";
>  };
> @@ -538,16 +137,6 @@
>  	status = "okay";
>  };
>  
> -&uart0 {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&uart0_xfer &uart0_cts>;
> -	status = "okay";
> -};
> -
> -&uart2 {
> -	status = "okay";
> -};
> -
>  &usb_host0_ehci {
>  	status = "okay";
>  };
> @@ -581,19 +170,3 @@
>  	status = "okay";
>  	dr_mode = "host";
>  };
> -
> -&vopb {
> -	status = "okay";
> -};
> -
> -&vopb_mmu {
> -	status = "okay";
> -};
> -
> -&vopl {
> -	status = "okay";
> -};
> -
> -&vopl_mmu {
> -	status = "okay";
> -};
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> new file mode 100644
> index 000000000000..5a5d8e28ef55
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> @@ -0,0 +1,439 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2018 Collabora Ltd.
> + * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
> + * Copyright (c) 2018 Linaro Ltd.
> + */
> +
> +#include "rk3399.dtsi"
> +#include "rk3399-opp.dtsi"
> +
> +/ {
> +	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>;
> +	};
> +
> +	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;
> +		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";
> +};
> +
> +&hdmi {
> +	ddc-i2c-bus = <&i2c3>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&hdmi_cec>;
> +	status = "okay";
> +};
> +
> +&i2c0 {
> +	clock-frequency = <400000>;
> +	i2c-scl-rising-time-ns = <168>;
> +	i2c-scl-falling-time-ns = <4>;
> +	status = "okay";
> +
> +	vdd_cpu_b: regulator@40 {
> +		compatible = "silergy,syr827";
> +		reg = <0x40>;
> +		fcs,suspend-voltage-selector = <1>;
> +		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;
> +		};
> +	};
> +
> +	vdd_gpu: regulator@41 {
> +		compatible = "silergy,syr828";
> +		reg = <0x41>;
> +		fcs,suspend-voltage-selector = <1>;
> +		regulator-name = "vdd_gpu";
> +		regulator-min-microvolt = <712500>;
> +		regulator-max-microvolt = <1500000>;
> +		regulator-ramp-delay = <1000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +		vin-supply = <&vcc_sys>;
> +		regulator-state-mem {
> +			regulator-off-in-suspend;
> +		};
> +	};
> +
> +	rk808: pmic@1b {
> +		compatible = "rockchip,rk808";
> +		reg = <0x1b>;
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pmic_int_l>;
> +		rockchip,system-power-controller;
> +		wakeup-source;
> +		#clock-cells = <1>;
> +		clock-output-names = "xin32k", "rk808-clkout2";
> +
> +		vcc1-supply = <&vcc_sys>;
> +		vcc2-supply = <&vcc_sys>;
> +		vcc3-supply = <&vcc_sys>;
> +		vcc4-supply = <&vcc_sys>;
> +		vcc6-supply = <&vcc_sys>;
> +		vcc7-supply = <&vcc_sys>;
> +		vcc8-supply = <&vcc3v3_sys>;
> +		vcc9-supply = <&vcc_sys>;
> +		vcc10-supply = <&vcc_sys>;
> +		vcc11-supply = <&vcc_sys>;
> +		vcc12-supply = <&vcc3v3_sys>;
> +		vddio-supply = <&vcc_1v8>;
> +
> +		regulators {
> +			vdd_center: DCDC_REG1 {
> +				regulator-name = "vdd_center";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt = <1350000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-off-in-suspend;
> +				};
> +			};
> +
> +			vdd_cpu_l: DCDC_REG2 {
> +				regulator-name = "vdd_cpu_l";
> +				regulator-min-microvolt = <750000>;
> +				regulator-max-microvolt = <1350000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-off-in-suspend;
> +				};
> +			};
> +
> +			vcc_ddr: DCDC_REG3 {
> +				regulator-name = "vcc_ddr";
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +				};
> +			};
> +
> +			vcc_1v8: DCDC_REG4 {
> +				regulator-name = "vcc_1v8";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <1800000>;
> +				};
> +			};
> +
> +			vcc1v8_dvp: LDO_REG1 {
> +				regulator-name = "vcc1v8_dvp";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <1800000>;
> +				};
> +			};
> +
> +			vcca1v8_hdmi: LDO_REG2 {
> +				regulator-name = "vcca1v8_hdmi";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <1800000>;
> +				};
> +			};
> +
> +			vcca_1v8: LDO_REG3 {
> +				regulator-name = "vcca_1v8";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <1800000>;
> +				};
> +			};
> +
> +			vcc_sd: LDO_REG4 {
> +				regulator-name = "vcc_sd";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <3300000>;
> +				};
> +			};
> +
> +			vcc3v0_sd: LDO_REG5 {
> +				regulator-name = "vcc3v0_sd";
> +				regulator-min-microvolt = <3000000>;
> +				regulator-max-microvolt = <3000000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <3000000>;
> +				};
> +			};
> +
> +			vcc_1v5: LDO_REG6 {
> +				regulator-name = "vcc_1v5";
> +				regulator-min-microvolt = <1500000>;
> +				regulator-max-microvolt = <1500000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <1500000>;
> +				};
> +			};
> +
> +			vcca0v9_hdmi: LDO_REG7 {
> +				regulator-name = "vcca0v9_hdmi";
> +				regulator-min-microvolt = <900000>;
> +				regulator-max-microvolt = <900000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <900000>;
> +				};
> +			};
> +
> +			vcc_3v0: LDO_REG8 {
> +				regulator-name = "vcc_3v0";
> +				regulator-min-microvolt = <3000000>;
> +				regulator-max-microvolt = <3000000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +					regulator-suspend-microvolt = <3000000>;
> +				};
> +			};
> +
> +			vcc3v3_s3: SWITCH_REG1 {
> +				regulator-name = "vcc3v3_s3";
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +				};
> +			};
> +
> +			vcc3v3_s0: SWITCH_REG2 {
> +				regulator-name = "vcc3v3_s0";
> +				regulator-always-on;
> +				regulator-boot-on;
> +				regulator-state-mem {
> +					regulator-on-in-suspend;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +};
> +
> +&i2c2 {
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	status = "okay";
> +};
> +
> +&i2c4 {
> +	status = "okay";
> +};
> +
> +&io_domains {
> +	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
> +	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
> +	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
> +	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
> +	status = "okay";
> +};
> +
> +&pmu_io_domains {
> +	pmu1830-supply = <&vcc_1v8>;
> +	status = "okay";
> +};
> +
> +&pinctrl {
> +	sdmmc {
> +		sdmmc_bus1: sdmmc-bus1 {
> +			rockchip,pins =
> +				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
> +		};
> +
> +		sdmmc_bus4: sdmmc-bus4 {
> +			rockchip,pins =
> +				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
> +				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
> +				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
> +				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
> +		};
> +
> +		sdmmc_clk: sdmmc-clk {
> +			rockchip,pins =
> +				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
> +		};
> +
> +		sdmmc_cmd: sdmmc-cmd {
> +			rockchip,pins =
> +				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
> +		};
> +	};
> +
> +	pmic {
> +		pmic_int_l: pmic-int-l {
> +			rockchip,pins =
> +				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
> +		};
> +
> +		vsel1_gpio: vsel1-gpio {
> +			rockchip,pins =
> +				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +
> +		vsel2_gpio: vsel2-gpio {
> +			rockchip,pins =
> +				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
> +		};
> +	};
> +};
> +
> +&pwm2 {
> +	status = "okay";
> +};
> +
> +&pwm3 {
> +	status = "okay";
> +};
> +
> +&sdhci {
> +	bus-width = <8>;
> +	mmc-hs400-1_8v;
> +	mmc-hs400-enhanced-strobe;
> +	non-removable;
> +	status = "okay";
> +};
> +
> +&sdmmc {
> +	bus-width = <4>;
> +	cap-mmc-highspeed;
> +	cap-sd-highspeed;
> +	clock-frequency = <100000000>;
> +	clock-freq-min-max = <100000 100000000>;
> +	disable-wp;
> +	sd-uhs-sdr104;
> +	vqmmc-supply = <&vcc_sd>;
> +	card-detect-delay = <800>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart0_xfer &uart0_cts>;
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	status = "okay";
> +};
> +
> +&vopb {
> +	status = "okay";
> +};
> +
> +&vopb_mmu {
> +	status = "okay";
> +};
> +
> +&vopl {
> +	status = "okay";
> +};
> +
> +&vopl_mmu {
> +	status = "okay";
> +};


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-11 19:40   ` Ezequiel Garcia
@ 2018-09-12  3:12     ` Manivannan Sadhasivam
  2018-09-12  7:26       ` Heiko Stübner
  0 siblings, 1 reply; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-12  3:12 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: heiko, robh+dt, vicencb, shawn.lin, enric.balletbo, pbrobinson,
	tom, dev, stephen, amit.kucheria, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel

Hi Ezequiel,

On Tue, Sep 11, 2018 at 04:40:29PM -0300, Ezequiel Garcia wrote:
> On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> > Since the same family members of Rock960 boards (Rock960 and Ficus)
> > share the same configuration, split out the common nodes into a common
> > dtsi file for reducing code duplication. The board specific nodes for
> > Ficus boards are then placed in corresponding board DTS file.
> > 
> 
> I think it should be possible to move the common USB nodes to the dtsi file,
> and keep the board-specific (phy-supply property) in the dts files:
> 
> &u2phy0_host {
>         phy-supply = <&vcc5v0_host>;
> };
> 
> &u2phy1_host {
>         phy-supply = <&vcc5v0_host>;
> };
> 

We can do that but my intention was to entirely partition the nodes
which are not common. So that it would be less confusing when someone
looks at it (please correct me if I'm wrong).

> Also, I believe it would be good to have some more details
> in this commit log. The information on the cover letter is great,
> so I'd just repeat some of that here.
> 

Sure, will add it in next iteration.

> Other than that, for the ficus bits:
> 
> Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
> 

Thanks a lot for the review!

Regards,
Mani

> Thanks very much for this work!
> Ezequiel
> 
> 
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > ---
> >  arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 429 +----------------
> >  .../boot/dts/rockchip/rk3399-rock960.dtsi     | 439 ++++++++++++++++++
> >  2 files changed, 440 insertions(+), 428 deletions(-)
> >  create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > 
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> > index 8978d924eb83..7f6ec37d5a69 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
> > @@ -7,8 +7,7 @@
> >   */
> >  
> >  /dts-v1/;
> > -#include "rk3399.dtsi"
> > -#include "rk3399-opp.dtsi"
> > +#include "rk3399-rock960.dtsi"
> >  
> >  / {
> >  	model = "96boards RK3399 Ficus";
> > @@ -25,31 +24,6 @@
> >  		#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;
> > @@ -75,46 +49,6 @@
> >  		regulator-always-on;
> >  		vin-supply = <&vcc_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;
> > -		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 {
> > @@ -133,263 +67,6 @@
> >  	status = "okay";
> >  };
> >  
> > -&hdmi {
> > -	ddc-i2c-bus = <&i2c3>;
> > -	pinctrl-names = "default";
> > -	pinctrl-0 = <&hdmi_cec>;
> > -	status = "okay";
> > -};
> > -
> > -&i2c0 {
> > -	clock-frequency = <400000>;
> > -	i2c-scl-rising-time-ns = <168>;
> > -	i2c-scl-falling-time-ns = <4>;
> > -	status = "okay";
> > -
> > -	vdd_cpu_b: regulator@40 {
> > -		compatible = "silergy,syr827";
> > -		reg = <0x40>;
> > -		fcs,suspend-voltage-selector = <1>;
> > -		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;
> > -		};
> > -	};
> > -
> > -	vdd_gpu: regulator@41 {
> > -		compatible = "silergy,syr828";
> > -		reg = <0x41>;
> > -		fcs,suspend-voltage-selector = <1>;
> > -		regulator-name = "vdd_gpu";
> > -		regulator-min-microvolt = <712500>;
> > -		regulator-max-microvolt = <1500000>;
> > -		regulator-ramp-delay = <1000>;
> > -		regulator-always-on;
> > -		regulator-boot-on;
> > -		vin-supply = <&vcc_sys>;
> > -		regulator-state-mem {
> > -			regulator-off-in-suspend;
> > -		};
> > -	};
> > -
> > -	rk808: pmic@1b {
> > -		compatible = "rockchip,rk808";
> > -		reg = <0x1b>;
> > -		interrupt-parent = <&gpio1>;
> > -		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> > -		pinctrl-names = "default";
> > -		pinctrl-0 = <&pmic_int_l>;
> > -		rockchip,system-power-controller;
> > -		wakeup-source;
> > -		#clock-cells = <1>;
> > -		clock-output-names = "xin32k", "rk808-clkout2";
> > -
> > -		vcc1-supply = <&vcc_sys>;
> > -		vcc2-supply = <&vcc_sys>;
> > -		vcc3-supply = <&vcc_sys>;
> > -		vcc4-supply = <&vcc_sys>;
> > -		vcc6-supply = <&vcc_sys>;
> > -		vcc7-supply = <&vcc_sys>;
> > -		vcc8-supply = <&vcc3v3_sys>;
> > -		vcc9-supply = <&vcc_sys>;
> > -		vcc10-supply = <&vcc_sys>;
> > -		vcc11-supply = <&vcc_sys>;
> > -		vcc12-supply = <&vcc3v3_sys>;
> > -		vddio-supply = <&vcc_1v8>;
> > -
> > -		regulators {
> > -			vdd_center: DCDC_REG1 {
> > -				regulator-name = "vdd_center";
> > -				regulator-min-microvolt = <750000>;
> > -				regulator-max-microvolt = <1350000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-off-in-suspend;
> > -				};
> > -			};
> > -
> > -			vdd_cpu_l: DCDC_REG2 {
> > -				regulator-name = "vdd_cpu_l";
> > -				regulator-min-microvolt = <750000>;
> > -				regulator-max-microvolt = <1350000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-off-in-suspend;
> > -				};
> > -			};
> > -
> > -			vcc_ddr: DCDC_REG3 {
> > -				regulator-name = "vcc_ddr";
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -				};
> > -			};
> > -
> > -			vcc_1v8: DCDC_REG4 {
> > -				regulator-name = "vcc_1v8";
> > -				regulator-min-microvolt = <1800000>;
> > -				regulator-max-microvolt = <1800000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <1800000>;
> > -				};
> > -			};
> > -
> > -			vcc1v8_dvp: LDO_REG1 {
> > -				regulator-name = "vcc1v8_dvp";
> > -				regulator-min-microvolt = <1800000>;
> > -				regulator-max-microvolt = <1800000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <1800000>;
> > -				};
> > -			};
> > -
> > -			vcca1v8_hdmi: LDO_REG2 {
> > -				regulator-name = "vcca1v8_hdmi";
> > -				regulator-min-microvolt = <1800000>;
> > -				regulator-max-microvolt = <1800000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <1800000>;
> > -				};
> > -			};
> > -
> > -			vcca_1v8: LDO_REG3 {
> > -				regulator-name = "vcca_1v8";
> > -				regulator-min-microvolt = <1800000>;
> > -				regulator-max-microvolt = <1800000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <1800000>;
> > -				};
> > -			};
> > -
> > -			vcc_sd: LDO_REG4 {
> > -				regulator-name = "vcc_sd";
> > -				regulator-min-microvolt = <1800000>;
> > -				regulator-max-microvolt = <3300000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <3300000>;
> > -				};
> > -			};
> > -
> > -			vcc3v0_sd: LDO_REG5 {
> > -				regulator-name = "vcc3v0_sd";
> > -				regulator-min-microvolt = <3000000>;
> > -				regulator-max-microvolt = <3000000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <3000000>;
> > -				};
> > -			};
> > -
> > -			vcc_1v5: LDO_REG6 {
> > -				regulator-name = "vcc_1v5";
> > -				regulator-min-microvolt = <1500000>;
> > -				regulator-max-microvolt = <1500000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <1500000>;
> > -				};
> > -			};
> > -
> > -			vcca0v9_hdmi: LDO_REG7 {
> > -				regulator-name = "vcca0v9_hdmi";
> > -				regulator-min-microvolt = <900000>;
> > -				regulator-max-microvolt = <900000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <900000>;
> > -				};
> > -			};
> > -
> > -			vcc_3v0: LDO_REG8 {
> > -				regulator-name = "vcc_3v0";
> > -				regulator-min-microvolt = <3000000>;
> > -				regulator-max-microvolt = <3000000>;
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -					regulator-suspend-microvolt = <3000000>;
> > -				};
> > -			};
> > -
> > -			vcc3v3_s3: SWITCH_REG1 {
> > -				regulator-name = "vcc3v3_s3";
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -				};
> > -			};
> > -
> > -			vcc3v3_s0: SWITCH_REG2 {
> > -				regulator-name = "vcc3v3_s0";
> > -				regulator-always-on;
> > -				regulator-boot-on;
> > -				regulator-state-mem {
> > -					regulator-on-in-suspend;
> > -				};
> > -			};
> > -		};
> > -	};
> > -};
> > -
> > -&i2c1 {
> > -	status = "okay";
> > -};
> > -
> > -&i2c2 {
> > -	status = "okay";
> > -};
> > -
> > -&i2c3 {
> > -	status = "okay";
> > -};
> > -
> > -&i2c4 {
> > -	status = "okay";
> > -};
> > -
> > -&io_domains {
> > -	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
> > -	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
> > -	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
> > -	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
> > -	status = "okay";
> > -};
> > -
> >  &pcie_phy {
> >  	status = "okay";
> >  };
> > @@ -403,11 +80,6 @@
> >  	status = "okay";
> >  };
> >  
> > -&pmu_io_domains {
> > -	pmu1830-supply = <&vcc_1v8>;
> > -	status = "okay";
> > -};
> > -
> >  &pinctrl {
> >  	gmac {
> >  		rgmii_sleep_pins: rgmii-sleep-pins {
> > @@ -416,31 +88,6 @@
> >  		};
> >  	};
> >  
> > -	sdmmc {
> > -		sdmmc_bus1: sdmmc-bus1 {
> > -			rockchip,pins =
> > -				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > -		};
> > -
> > -		sdmmc_bus4: sdmmc-bus4 {
> > -			rockchip,pins =
> > -				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > -				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > -				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > -				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > -		};
> > -
> > -		sdmmc_clk: sdmmc-clk {
> > -			rockchip,pins =
> > -				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
> > -		};
> > -
> > -		sdmmc_cmd: sdmmc-cmd {
> > -			rockchip,pins =
> > -				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > -		};
> > -	};
> > -
> >  	pcie {
> >  		pcie_drv: pcie-drv {
> >  			rockchip,pins =
> > @@ -448,23 +95,6 @@
> >  			};
> >  	};
> >  
> > -	pmic {
> > -		pmic_int_l: pmic-int-l {
> > -			rockchip,pins =
> > -				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
> > -		};
> > -
> > -		vsel1_gpio: vsel1-gpio {
> > -			rockchip,pins =
> > -				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
> > -		};
> > -
> > -		vsel2_gpio: vsel2-gpio {
> > -			rockchip,pins =
> > -				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
> > -		};
> > -	};
> > -
> >  	usb2 {
> >  		host_vbus_drv: host-vbus-drv {
> >  			rockchip,pins =
> > @@ -473,37 +103,6 @@
> >  	};
> >  };
> >  
> > -&pwm2 {
> > -	status = "okay";
> > -};
> > -
> > -&pwm3 {
> > -	status = "okay";
> > -};
> > -
> > -&sdhci {
> > -	bus-width = <8>;
> > -	mmc-hs400-1_8v;
> > -	mmc-hs400-enhanced-strobe;
> > -	non-removable;
> > -	status = "okay";
> > -};
> > -
> > -&sdmmc {
> > -	bus-width = <4>;
> > -	cap-mmc-highspeed;
> > -	cap-sd-highspeed;
> > -	clock-frequency = <100000000>;
> > -	clock-freq-min-max = <100000 100000000>;
> > -	disable-wp;
> > -	sd-uhs-sdr104;
> > -	vqmmc-supply = <&vcc_sd>;
> > -	card-detect-delay = <800>;
> > -	pinctrl-names = "default";
> > -	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
> > -	status = "okay";
> > -};
> > -
> >  &tcphy0 {
> >  	status = "okay";
> >  };
> > @@ -538,16 +137,6 @@
> >  	status = "okay";
> >  };
> >  
> > -&uart0 {
> > -	pinctrl-names = "default";
> > -	pinctrl-0 = <&uart0_xfer &uart0_cts>;
> > -	status = "okay";
> > -};
> > -
> > -&uart2 {
> > -	status = "okay";
> > -};
> > -
> >  &usb_host0_ehci {
> >  	status = "okay";
> >  };
> > @@ -581,19 +170,3 @@
> >  	status = "okay";
> >  	dr_mode = "host";
> >  };
> > -
> > -&vopb {
> > -	status = "okay";
> > -};
> > -
> > -&vopb_mmu {
> > -	status = "okay";
> > -};
> > -
> > -&vopl {
> > -	status = "okay";
> > -};
> > -
> > -&vopl_mmu {
> > -	status = "okay";
> > -};
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > new file mode 100644
> > index 000000000000..5a5d8e28ef55
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
> > @@ -0,0 +1,439 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright (c) 2018 Collabora Ltd.
> > + * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
> > + * Copyright (c) 2018 Linaro Ltd.
> > + */
> > +
> > +#include "rk3399.dtsi"
> > +#include "rk3399-opp.dtsi"
> > +
> > +/ {
> > +	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>;
> > +	};
> > +
> > +	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;
> > +		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";
> > +};
> > +
> > +&hdmi {
> > +	ddc-i2c-bus = <&i2c3>;
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&hdmi_cec>;
> > +	status = "okay";
> > +};
> > +
> > +&i2c0 {
> > +	clock-frequency = <400000>;
> > +	i2c-scl-rising-time-ns = <168>;
> > +	i2c-scl-falling-time-ns = <4>;
> > +	status = "okay";
> > +
> > +	vdd_cpu_b: regulator@40 {
> > +		compatible = "silergy,syr827";
> > +		reg = <0x40>;
> > +		fcs,suspend-voltage-selector = <1>;
> > +		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;
> > +		};
> > +	};
> > +
> > +	vdd_gpu: regulator@41 {
> > +		compatible = "silergy,syr828";
> > +		reg = <0x41>;
> > +		fcs,suspend-voltage-selector = <1>;
> > +		regulator-name = "vdd_gpu";
> > +		regulator-min-microvolt = <712500>;
> > +		regulator-max-microvolt = <1500000>;
> > +		regulator-ramp-delay = <1000>;
> > +		regulator-always-on;
> > +		regulator-boot-on;
> > +		vin-supply = <&vcc_sys>;
> > +		regulator-state-mem {
> > +			regulator-off-in-suspend;
> > +		};
> > +	};
> > +
> > +	rk808: pmic@1b {
> > +		compatible = "rockchip,rk808";
> > +		reg = <0x1b>;
> > +		interrupt-parent = <&gpio1>;
> > +		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&pmic_int_l>;
> > +		rockchip,system-power-controller;
> > +		wakeup-source;
> > +		#clock-cells = <1>;
> > +		clock-output-names = "xin32k", "rk808-clkout2";
> > +
> > +		vcc1-supply = <&vcc_sys>;
> > +		vcc2-supply = <&vcc_sys>;
> > +		vcc3-supply = <&vcc_sys>;
> > +		vcc4-supply = <&vcc_sys>;
> > +		vcc6-supply = <&vcc_sys>;
> > +		vcc7-supply = <&vcc_sys>;
> > +		vcc8-supply = <&vcc3v3_sys>;
> > +		vcc9-supply = <&vcc_sys>;
> > +		vcc10-supply = <&vcc_sys>;
> > +		vcc11-supply = <&vcc_sys>;
> > +		vcc12-supply = <&vcc3v3_sys>;
> > +		vddio-supply = <&vcc_1v8>;
> > +
> > +		regulators {
> > +			vdd_center: DCDC_REG1 {
> > +				regulator-name = "vdd_center";
> > +				regulator-min-microvolt = <750000>;
> > +				regulator-max-microvolt = <1350000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-off-in-suspend;
> > +				};
> > +			};
> > +
> > +			vdd_cpu_l: DCDC_REG2 {
> > +				regulator-name = "vdd_cpu_l";
> > +				regulator-min-microvolt = <750000>;
> > +				regulator-max-microvolt = <1350000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-off-in-suspend;
> > +				};
> > +			};
> > +
> > +			vcc_ddr: DCDC_REG3 {
> > +				regulator-name = "vcc_ddr";
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +				};
> > +			};
> > +
> > +			vcc_1v8: DCDC_REG4 {
> > +				regulator-name = "vcc_1v8";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <1800000>;
> > +				};
> > +			};
> > +
> > +			vcc1v8_dvp: LDO_REG1 {
> > +				regulator-name = "vcc1v8_dvp";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <1800000>;
> > +				};
> > +			};
> > +
> > +			vcca1v8_hdmi: LDO_REG2 {
> > +				regulator-name = "vcca1v8_hdmi";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <1800000>;
> > +				};
> > +			};
> > +
> > +			vcca_1v8: LDO_REG3 {
> > +				regulator-name = "vcca_1v8";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <1800000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <1800000>;
> > +				};
> > +			};
> > +
> > +			vcc_sd: LDO_REG4 {
> > +				regulator-name = "vcc_sd";
> > +				regulator-min-microvolt = <1800000>;
> > +				regulator-max-microvolt = <3300000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <3300000>;
> > +				};
> > +			};
> > +
> > +			vcc3v0_sd: LDO_REG5 {
> > +				regulator-name = "vcc3v0_sd";
> > +				regulator-min-microvolt = <3000000>;
> > +				regulator-max-microvolt = <3000000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <3000000>;
> > +				};
> > +			};
> > +
> > +			vcc_1v5: LDO_REG6 {
> > +				regulator-name = "vcc_1v5";
> > +				regulator-min-microvolt = <1500000>;
> > +				regulator-max-microvolt = <1500000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <1500000>;
> > +				};
> > +			};
> > +
> > +			vcca0v9_hdmi: LDO_REG7 {
> > +				regulator-name = "vcca0v9_hdmi";
> > +				regulator-min-microvolt = <900000>;
> > +				regulator-max-microvolt = <900000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <900000>;
> > +				};
> > +			};
> > +
> > +			vcc_3v0: LDO_REG8 {
> > +				regulator-name = "vcc_3v0";
> > +				regulator-min-microvolt = <3000000>;
> > +				regulator-max-microvolt = <3000000>;
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +					regulator-suspend-microvolt = <3000000>;
> > +				};
> > +			};
> > +
> > +			vcc3v3_s3: SWITCH_REG1 {
> > +				regulator-name = "vcc3v3_s3";
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +				};
> > +			};
> > +
> > +			vcc3v3_s0: SWITCH_REG2 {
> > +				regulator-name = "vcc3v3_s0";
> > +				regulator-always-on;
> > +				regulator-boot-on;
> > +				regulator-state-mem {
> > +					regulator-on-in-suspend;
> > +				};
> > +			};
> > +		};
> > +	};
> > +};
> > +
> > +&i2c1 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c2 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c3 {
> > +	status = "okay";
> > +};
> > +
> > +&i2c4 {
> > +	status = "okay";
> > +};
> > +
> > +&io_domains {
> > +	bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */
> > +	audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */
> > +	sdmmc-supply = <&vcc_sd>; /* sdmmc_gpio4b_ms */
> > +	gpio1830-supply = <&vcc_3v0>; /* gpio1833_gpio4cd_ms */
> > +	status = "okay";
> > +};
> > +
> > +&pmu_io_domains {
> > +	pmu1830-supply = <&vcc_1v8>;
> > +	status = "okay";
> > +};
> > +
> > +&pinctrl {
> > +	sdmmc {
> > +		sdmmc_bus1: sdmmc-bus1 {
> > +			rockchip,pins =
> > +				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > +		};
> > +
> > +		sdmmc_bus4: sdmmc-bus4 {
> > +			rockchip,pins =
> > +				<4 8 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > +				<4 9 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > +				<4 10 RK_FUNC_1 &pcfg_pull_up_8ma>,
> > +				<4 11 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > +		};
> > +
> > +		sdmmc_clk: sdmmc-clk {
> > +			rockchip,pins =
> > +				<4 12 RK_FUNC_1 &pcfg_pull_none_18ma>;
> > +		};
> > +
> > +		sdmmc_cmd: sdmmc-cmd {
> > +			rockchip,pins =
> > +				<4 13 RK_FUNC_1 &pcfg_pull_up_8ma>;
> > +		};
> > +	};
> > +
> > +	pmic {
> > +		pmic_int_l: pmic-int-l {
> > +			rockchip,pins =
> > +				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
> > +		};
> > +
> > +		vsel1_gpio: vsel1-gpio {
> > +			rockchip,pins =
> > +				<1 17 RK_FUNC_GPIO &pcfg_pull_down>;
> > +		};
> > +
> > +		vsel2_gpio: vsel2-gpio {
> > +			rockchip,pins =
> > +				<1 14 RK_FUNC_GPIO &pcfg_pull_down>;
> > +		};
> > +	};
> > +};
> > +
> > +&pwm2 {
> > +	status = "okay";
> > +};
> > +
> > +&pwm3 {
> > +	status = "okay";
> > +};
> > +
> > +&sdhci {
> > +	bus-width = <8>;
> > +	mmc-hs400-1_8v;
> > +	mmc-hs400-enhanced-strobe;
> > +	non-removable;
> > +	status = "okay";
> > +};
> > +
> > +&sdmmc {
> > +	bus-width = <4>;
> > +	cap-mmc-highspeed;
> > +	cap-sd-highspeed;
> > +	clock-frequency = <100000000>;
> > +	clock-freq-min-max = <100000 100000000>;
> > +	disable-wp;
> > +	sd-uhs-sdr104;
> > +	vqmmc-supply = <&vcc_sd>;
> > +	card-detect-delay = <800>;
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
> > +	status = "okay";
> > +};
> > +
> > +&uart0 {
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&uart0_xfer &uart0_cts>;
> > +	status = "okay";
> > +};
> > +
> > +&uart2 {
> > +	status = "okay";
> > +};
> > +
> > +&vopb {
> > +	status = "okay";
> > +};
> > +
> > +&vopb_mmu {
> > +	status = "okay";
> > +};
> > +
> > +&vopl {
> > +	status = "okay";
> > +};
> > +
> > +&vopl_mmu {
> > +	status = "okay";
> > +};
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-12  3:12     ` Manivannan Sadhasivam
@ 2018-09-12  7:26       ` Heiko Stübner
  2018-09-12  8:22         ` Manivannan Sadhasivam
  0 siblings, 1 reply; 10+ messages in thread
From: Heiko Stübner @ 2018-09-12  7:26 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: Ezequiel Garcia, robh+dt, vicencb, shawn.lin, enric.balletbo,
	pbrobinson, tom, dev, stephen, amit.kucheria, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

Am Mittwoch, 12. September 2018, 05:12:48 CEST schrieb Manivannan Sadhasivam:
> Hi Ezequiel,
> 
> On Tue, Sep 11, 2018 at 04:40:29PM -0300, Ezequiel Garcia wrote:
> > On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> > > Since the same family members of Rock960 boards (Rock960 and Ficus)
> > > share the same configuration, split out the common nodes into a common
> > > dtsi file for reducing code duplication. The board specific nodes for
> > > Ficus boards are then placed in corresponding board DTS file.
> > 
> > I think it should be possible to move the common USB nodes to the dtsi
> > file, and keep the board-specific (phy-supply property) in the dts files:
> > 
> > &u2phy0_host {
> > 
> >         phy-supply = <&vcc5v0_host>;
> > 
> > };
> > 
> > &u2phy1_host {
> > 
> >         phy-supply = <&vcc5v0_host>;
> > 
> > };
> 
> We can do that but my intention was to entirely partition the nodes
> which are not common. So that it would be less confusing when someone
> looks at it (please correct me if I'm wrong).

The supply is actually named the same on both boards, so you could move
all the usb-nodes to the main dtsi, including the reference to vcc5v0_host
which would then get defined itself in the two board dts.

Then again, seeing that the vcc5v0_host also only differs in the actually
used gpio another option would be to move the whole regulator node
to the dtsi and just define the gpio properties in the board dts files.


Heiko



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-12  7:26       ` Heiko Stübner
@ 2018-09-12  8:22         ` Manivannan Sadhasivam
  2018-09-12 14:05           ` Heiko Stuebner
  0 siblings, 1 reply; 10+ messages in thread
From: Manivannan Sadhasivam @ 2018-09-12  8:22 UTC (permalink / raw)
  To: Heiko Stübner
  Cc: Ezequiel Garcia, robh+dt, vicencb, shawn.lin, enric.balletbo,
	pbrobinson, tom, dev, stephen, amit.kucheria, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

On Wed, Sep 12, 2018 at 09:26:12AM +0200, Heiko Stübner wrote:
> Am Mittwoch, 12. September 2018, 05:12:48 CEST schrieb Manivannan Sadhasivam:
> > Hi Ezequiel,
> > 
> > On Tue, Sep 11, 2018 at 04:40:29PM -0300, Ezequiel Garcia wrote:
> > > On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> > > > Since the same family members of Rock960 boards (Rock960 and Ficus)
> > > > share the same configuration, split out the common nodes into a common
> > > > dtsi file for reducing code duplication. The board specific nodes for
> > > > Ficus boards are then placed in corresponding board DTS file.
> > > 
> > > I think it should be possible to move the common USB nodes to the dtsi
> > > file, and keep the board-specific (phy-supply property) in the dts files:
> > > 
> > > &u2phy0_host {
> > > 
> > >         phy-supply = <&vcc5v0_host>;
> > > 
> > > };
> > > 
> > > &u2phy1_host {
> > > 
> > >         phy-supply = <&vcc5v0_host>;
> > > 
> > > };
> > 
> > We can do that but my intention was to entirely partition the nodes
> > which are not common. So that it would be less confusing when someone
> > looks at it (please correct me if I'm wrong).
> 
> The supply is actually named the same on both boards, so you could move
> all the usb-nodes to the main dtsi, including the reference to vcc5v0_host
> which would then get defined itself in the two board dts.
> 
> Then again, seeing that the vcc5v0_host also only differs in the actually
> used gpio another option would be to move the whole regulator node
> to the dtsi and just define the gpio properties in the board dts files.
>

Hmm, if that's the preferred option then I guess this applies to pcie
nodes also. At the end, usb and pcie nodes will be shrinked to below in
board dts:

&pinctrl {
        pcie {
                pcie_drv: pcie-drv {
                        rockchip,pins =
                                <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
                        };
        };

        usb2 {
                host_vbus_drv: host-vbus-drv {
                        rockchip,pins =
                                <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
};

&pcie0 {
        ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
        status = "okay";
};

&vcc3v3_pcie {
        gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
};

&vcc5v0_host {
        gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
};

Thanks,
Mani

> 
> Heiko
> 
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards
  2018-09-12  8:22         ` Manivannan Sadhasivam
@ 2018-09-12 14:05           ` Heiko Stuebner
  0 siblings, 0 replies; 10+ messages in thread
From: Heiko Stuebner @ 2018-09-12 14:05 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: Ezequiel Garcia, robh+dt, vicencb, shawn.lin, enric.balletbo,
	pbrobinson, tom, dev, stephen, amit.kucheria, devicetree,
	linux-arm-kernel, linux-rockchip, linux-kernel

Am Mittwoch, 12. September 2018, 10:22:44 CEST schrieb Manivannan Sadhasivam:
> On Wed, Sep 12, 2018 at 09:26:12AM +0200, Heiko Stübner wrote:
> > Am Mittwoch, 12. September 2018, 05:12:48 CEST schrieb Manivannan Sadhasivam:
> > > Hi Ezequiel,
> > > 
> > > On Tue, Sep 11, 2018 at 04:40:29PM -0300, Ezequiel Garcia wrote:
> > > > On Tue, 2018-09-11 at 08:00 +0530, Manivannan Sadhasivam wrote:
> > > > > Since the same family members of Rock960 boards (Rock960 and Ficus)
> > > > > share the same configuration, split out the common nodes into a common
> > > > > dtsi file for reducing code duplication. The board specific nodes for
> > > > > Ficus boards are then placed in corresponding board DTS file.
> > > > 
> > > > I think it should be possible to move the common USB nodes to the dtsi
> > > > file, and keep the board-specific (phy-supply property) in the dts files:
> > > > 
> > > > &u2phy0_host {
> > > > 
> > > >         phy-supply = <&vcc5v0_host>;
> > > > 
> > > > };
> > > > 
> > > > &u2phy1_host {
> > > > 
> > > >         phy-supply = <&vcc5v0_host>;
> > > > 
> > > > };
> > > 
> > > We can do that but my intention was to entirely partition the nodes
> > > which are not common. So that it would be less confusing when someone
> > > looks at it (please correct me if I'm wrong).
> > 
> > The supply is actually named the same on both boards, so you could move
> > all the usb-nodes to the main dtsi, including the reference to vcc5v0_host
> > which would then get defined itself in the two board dts.
> > 
> > Then again, seeing that the vcc5v0_host also only differs in the actually
> > used gpio another option would be to move the whole regulator node
> > to the dtsi and just define the gpio properties in the board dts files.
> >
> 
> Hmm, if that's the preferred option then I guess this applies to pcie
> nodes also. At the end, usb and pcie nodes will be shrinked to below in
> board dts:
> 
> &pinctrl {
>         pcie {
>                 pcie_drv: pcie-drv {
>                         rockchip,pins =
>                                 <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
>                         };
>         };
> 
>         usb2 {
>                 host_vbus_drv: host-vbus-drv {
>                         rockchip,pins =
>                                 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
>                 };
>         };
> };
> 
> &pcie0 {
>         ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
>         status = "okay";
> };
> 
> &vcc3v3_pcie {
>         gpio = <&gpio2 5 GPIO_ACTIVE_HIGH>;
> };
> 
> &vcc5v0_host {
>         gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
> };

yep, ideally we could go that way. It's way easier to determine the
actual differences between boards that way as well.


Heiko



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-09-12 14:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-11  2:30 [PATCH v2 0/4] Add 96Boards Rock960 CE board support Manivannan Sadhasivam
2018-09-11  2:30 ` [PATCH v2 1/4] arm64: dts: rockchip: Split out common nodes for Rock960 based boards Manivannan Sadhasivam
2018-09-11 19:40   ` Ezequiel Garcia
2018-09-12  3:12     ` Manivannan Sadhasivam
2018-09-12  7:26       ` Heiko Stübner
2018-09-12  8:22         ` Manivannan Sadhasivam
2018-09-12 14:05           ` Heiko Stuebner
2018-09-11  2:30 ` [PATCH v2 2/4] dt-bindings: arm: rockchip: Add binding for Rock960 board Manivannan Sadhasivam
2018-09-11  2:30 ` [PATCH v2 3/4] arm64: boot: dts: rockchip: Add support " Manivannan Sadhasivam
2018-09-11  2:30 ` [PATCH v2 4/4] arm64: dts: rockchip: Enable SD card detection for Rock960 boards Manivannan Sadhasivam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).