public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0
@ 2024-08-16 21:34 FUKAUMI Naoki
  2024-08-16 21:34 ` [PATCH v5 2/2] arm64: dts: " FUKAUMI Naoki
                   ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-16 21:34 UTC (permalink / raw)
  To: heiko; +Cc: robh, krzk+dt, conor+dt, devicetree, linux-rockchip,
	FUKAUMI Naoki

Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
RK3328 chip.

[1] https://radxa.com/products/rockpi/pie

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
---
Changes in v5:
- revert compatible string
- describe rockchip.yaml properly
Changes in v4:
- update compatible string for OpenWrt
- drop A-b tag
Changes in v3:
- collect A-b tag
Changes in v2:
- fix typo in commit message
- add missing --- in commit message
- add new section instead of new item in rockchip.yaml
---
 Documentation/devicetree/bindings/arm/rockchip.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
index 1f23b8b05a8f..684b779b2a40 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
@@ -795,7 +795,9 @@ properties:
 
       - description: Radxa ROCK Pi E
         items:
-          - const: radxa,rockpi-e
+          - enum:
+              - radxa,rockpi-e
+              - radxa,rockpi-e-v3
           - const: rockchip,rk3328
 
       - description: Radxa ROCK Pi N8
-- 
2.43.0


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

* [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 21:34 [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0 FUKAUMI Naoki
@ 2024-08-16 21:34 ` FUKAUMI Naoki
  2024-08-16 22:11   ` Heiko Stübner
  2024-08-17  6:59 ` [PATCH v5 1/2] dt-bindings: arm: " Krzysztof Kozlowski
  2024-08-19 17:02 ` Rob Herring (Arm)
  2 siblings, 1 reply; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-16 21:34 UTC (permalink / raw)
  To: heiko; +Cc: robh, krzk+dt, conor+dt, devicetree, linux-rockchip,
	FUKAUMI Naoki

Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT configurations:

- Rockchip RK3328 SoC
- Quad A53 CPU
- 512MB/1GB/2GB DDR4 RAM
- 4/8/16/32GB eMMC
- Micro SD Card slot
- WiFi 4 and BT 4, or WiFi 5 and BT 5
- 1x 1000M Ethernet supporting PoE with add‑on PoE HAT
- 1x 100M Ethernet
- 1x USB 3.0 Type-A port (Host)
- 1x 4-ring 3.5mm headphone jack
- 40 Pin GPIO header

[1] https://radxa.com/products/rockpi/pie

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
---
Changes in v5:
- revert compatible string
Changes in v4:
- update compatible string for OpenWrt
Changes in v3:
- fix conflict for recent change
Changes in v2:
- fix typo in commit message
- add missing --- in commit message
---
 arch/arm64/boot/dts/rockchip/Makefile         |   1 +
 .../boot/dts/rockchip/rk3328-rock-pi-e-v3.dts |  15 +
 .../boot/dts/rockchip/rk3328-rock-pi-e.dts    | 460 +-----------------
 ...28-rock-pi-e.dts => rk3328-rock-pi-e.dtsi} |   5 -
 4 files changed, 31 insertions(+), 450 deletions(-)
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
 rewrite arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts (97%)
 copy arch/arm64/boot/dts/rockchip/{rk3328-rock-pi-e.dts => rk3328-rock-pi-e.dtsi} (98%)

diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index cb309b1975ba..cc74cd17850a 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s-plus.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e-v3.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-pc.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
new file mode 100644
index 000000000000..ad9c4c562914
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include "rk3328-rock-pi-e.dtsi"
+
+/ {
+	model = "Radxa ROCK Pi E v3.0";
+	compatible = "radxa,rockpi-e-v3", "rockchip,rk3328";
+
+	aliases {
+		mmc0 = &emmc;
+		mmc1 = &sdmmc;
+	};
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
dissimilarity index 97%
index 3e08e2fd0a78..0929df3c803a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
@@ -1,445 +1,15 @@
-// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-/*
- * (C) Copyright 2020 Chen-Yu Tsai <wens@csie.org>
- *
- * Based on ./rk3328-rock64.dts, which is
- *
- * Copyright (c) 2017 PINE64
- */
-
-/dts-v1/;
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/leds/common.h>
-#include <dt-bindings/pinctrl/rockchip.h>
-
-#include "rk3328.dtsi"
-
-/ {
-	model = "Radxa ROCK Pi E";
-	compatible = "radxa,rockpi-e", "rockchip,rk3328";
-
-	aliases {
-		ethernet0 = &gmac2io;
-		ethernet1 = &gmac2phy;
-		mmc0 = &sdmmc;
-		mmc1 = &emmc;
-	};
-
-	chosen {
-		stdout-path = "serial2:1500000n8";
-	};
-
-	adc-keys {
-		compatible = "adc-keys";
-		io-channels = <&saradc 0>;
-		io-channel-names = "buttons";
-		keyup-threshold-microvolt = <1750000>;
-
-		/* This button is unpopulated out of the factory. */
-		button-recovery {
-			label = "Recovery";
-			linux,code = <KEY_VENDOR>;
-			press-threshold-microvolt = <10000>;
-		};
-	};
-
-	gmac_clkin: external-gmac-clock {
-		compatible = "fixed-clock";
-		clock-frequency = <125000000>;
-		clock-output-names = "gmac_clkin";
-		#clock-cells = <0>;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-		pinctrl-0 = <&led_pin>;
-		pinctrl-names = "default";
-
-		led-0 {
-			color = <LED_COLOR_ID_BLUE>;
-			gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "heartbeat";
-		};
-	};
-
-	vcc_sd: sdmmc-regulator {
-		compatible = "regulator-fixed";
-		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&sdmmc0m1_pin>;
-		regulator-name = "vcc_sd";
-		regulator-boot-on;
-		vin-supply = <&vcc_io>;
-	};
-
-	vcc_host_5v: vcc-host-5v-regulator {
-		compatible = "regulator-fixed";
-		gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&usb30_host_drv>;
-		enable-active-high;
-		regulator-name = "vcc_host_5v";
-		regulator-always-on;
-		regulator-boot-on;
-		vin-supply = <&vcc_sys>;
-	};
-
-	vcc_sys: vcc-sys {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc_sys";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-	};
-
-	vcc_wifi: vcc-wifi-regulator {
-		compatible = "regulator-fixed";
-		gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&wifi_en>;
-		regulator-name = "vcc_wifi";
-		regulator-always-on;
-		regulator-boot-on;
-		vin-supply = <&vcc_io>;
-	};
-};
-
-&analog_sound {
-	status = "okay";
-};
-
-&codec {
-	status = "okay";
-};
-
-&cpu0 {
-	cpu-supply = <&vdd_arm>;
-};
-
-&cpu1 {
-	cpu-supply = <&vdd_arm>;
-};
-
-&cpu2 {
-	cpu-supply = <&vdd_arm>;
-};
-
-&cpu3 {
-	cpu-supply = <&vdd_arm>;
-};
-
-&emmc {
-	bus-width = <8>;
-	cap-mmc-highspeed;
-	mmc-ddr-1_8v;
-	mmc-hs200-1_8v;
-	non-removable;
-	pinctrl-names = "default";
-	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
-	vmmc-supply = <&vcc_io>;
-	vqmmc-supply = <&vcc18_emmc>;
-	status = "okay";
-};
-
-&gmac2io {
-	assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
-	assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
-	clock_in_out = "input";
-	phy-handle = <&rtl8211>;
-	phy-mode = "rgmii";
-	phy-supply = <&vcc_io>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&rgmiim1_pins>;
-	snps,aal;
-	snps,rxpbl = <0x4>;
-	snps,txpbl = <0x4>;
-	tx_delay = <0x26>;
-	rx_delay = <0x11>;
-	status = "okay";
-
-	mdio {
-		compatible = "snps,dwmac-mdio";
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		rtl8211: ethernet-phy@1 {
-			reg = <1>;
-			pinctrl-0 = <&eth_phy_int_pin>, <&eth_phy_reset_pin>;
-			pinctrl-names = "default";
-			interrupt-parent = <&gpio1>;
-			interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
-			reset-assert-us = <10000>;
-			reset-deassert-us = <50000>;
-			reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
-		};
-	};
-};
-
-&gmac2phy {
-	status = "okay";
-};
-
-&gpio0 {
-	gpio-line-names =
-		/* GPIO0_A0 - A7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO0_B0 - B7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO0_C0 - C7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO0_D0 - D7 */
-		"", "", "", "pin-15 [GPIO0_D3]", "", "", "", "";
-};
-
-&gpio1 {
-	gpio-line-names =
-		/* GPIO1_A0 - A7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO1_B0 - B7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO1_C0 - C7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO1_D0 - D7 */
-		"", "", "", "", "pin-07 [GPIO1_D4]", "", "", "";
-};
-
-&gpio2 {
-	gpio-line-names =
-		/* GPIO2_A0 - A7 */
-		"pin-08 [GPIO2_A0]", "pin-10 [GPIO2_A1]", "pin-11 [GPIO2_A2]",
-		"pin-13 [GPIO2-A3]", "pin-27 [GPIO2_A4]", "pin-28 [GPIO2_A5]",
-		"pin-33 [GPIO2_A6]", "",
-		/* GPIO2_B0 - B7 */
-		"", "", "", "", "pin-26 [GPIO2_B4]", "", "", "pin-36 [GPIO2_B7]",
-		/* GPIO2_C0 - C7 */
-		"pin-32 [GPIO2_C0]", "pin-35 [GPIO2_C1]", "pin-12 [GPIO2_C2]",
-		"pin-38 [GPIO2_C3]", "pin-29 [GPIO2_C4]", "pin-31 [GPIO2_C5]",
-		"pin-37 [GPIO2_C6]", "pin-40 [GPIO2_C7]",
-		/* GPIO2_D0 - D7 */
-		"", "", "", "", "", "", "", "";
-};
-
-&gpio3 {
-	gpio-line-names =
-		/* GPIO3_A0 - A7 */
-		"pin-23 [GPIO3_A0]", "pin-19 [GPIO3_A1]", "pin-21 [GPIO3_A2]",
-		"", "pin-03 [GPIO3_A4]", "", "pin-05 [GPIO3_A6]", "",
-		/* GPIO3_B0 - B7 */
-		"pin-24 [GPIO3_B0]", "", "", "", "", "", "", "",
-		/* GPIO3_C0 - C7 */
-		"", "", "", "", "", "", "", "",
-		/* GPIO3_D0 - D7 */
-		"", "", "", "", "", "", "", "";
-};
-
-&i2c1 {
-	status = "okay";
-
-	rk805: pmic@18 {
-		compatible = "rockchip,rk805";
-		reg = <0x18>;
-		interrupt-parent = <&gpio0>;
-		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
-		#clock-cells = <1>;
-		clock-output-names = "xin32k", "rk805-clkout2";
-		gpio-controller;
-		#gpio-cells = <2>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pmic_int_l>;
-		rockchip,system-power-controller;
-		wakeup-source;
-
-		vcc1-supply = <&vcc_sys>;
-		vcc2-supply = <&vcc_sys>;
-		vcc3-supply = <&vcc_sys>;
-		vcc4-supply = <&vcc_sys>;
-		vcc5-supply = <&vcc_io>;
-		vcc6-supply = <&vcc_sys>;
-
-		regulators {
-			vdd_log: DCDC_REG1 {
-				regulator-name = "vdd_log";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <712500>;
-				regulator-max-microvolt = <1450000>;
-				regulator-ramp-delay = <12500>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1000000>;
-				};
-			};
-
-			vdd_arm: DCDC_REG2 {
-				regulator-name = "vdd_arm";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <712500>;
-				regulator-max-microvolt = <1450000>;
-				regulator-ramp-delay = <12500>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <950000>;
-				};
-			};
-
-			vcc_ddr: DCDC_REG3 {
-				regulator-name = "vcc_ddr";
-				regulator-always-on;
-				regulator-boot-on;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-				};
-			};
-
-			vcc_io: DCDC_REG4 {
-				regulator-name = "vcc_io";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <3300000>;
-				};
-			};
-
-			vcc_18: LDO_REG1 {
-				regulator-name = "vcc_18";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcc18_emmc: LDO_REG2 {
-				regulator-name = "vcc18_emmc";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vdd_10: LDO_REG3 {
-				regulator-name = "vdd_10";
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1000000>;
-				regulator-max-microvolt = <1000000>;
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1000000>;
-				};
-			};
-		};
-	};
-};
-
-&i2s1 {
-	status = "okay";
-};
-
-&io_domains {
-	pmuio-supply = <&vcc_io>;
-	vccio1-supply = <&vcc_io>;
-	vccio2-supply = <&vcc18_emmc>;
-	vccio3-supply = <&vcc_io>;
-	vccio4-supply = <&vcc_io>;
-	vccio5-supply = <&vcc_io>;
-	vccio6-supply = <&vcc_io>;
-	status = "okay";
-};
-
-&pinctrl {
-	ephy {
-		eth_phy_int_pin: eth-phy-int-pin {
-			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>;
-		};
-
-		eth_phy_reset_pin: eth-phy-reset-pin {
-			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
-		};
-	};
-
-	leds {
-		led_pin: led-pin {
-			rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-
-	pmic {
-		pmic_int_l: pmic-int-l {
-			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
-		};
-	};
-
-	usb3 {
-		usb30_host_drv: usb30-host-drv {
-			rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-
-	wifi {
-		wifi_en: wifi-en {
-			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-};
-
-&sdmmc {
-	bus-width = <4>;
-	cap-sd-highspeed;
-	disable-wp;
-	pinctrl-names = "default";
-	pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
-	vmmc-supply = <&vcc_sd>;
-	status = "okay";
-};
-
-&saradc {
-	vref-supply = <&vcc_18>;
-	status = "okay";
-};
-
-&tsadc {
-	status = "okay";
-};
-
-&u2phy {
-	status = "okay";
-};
-
-&u2phy_host {
-	status = "okay";
-};
-
-&uart2 {
-	status = "okay";
-};
-
-&usbdrd3 {
-	dr_mode = "host";
-	status = "okay";
-};
-
-&usb_host0_ehci {
-	status = "okay";
-};
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+/dts-v1/;
+
+#include "rk3328-rock-pi-e.dtsi"
+
+/ {
+	model = "Radxa ROCK Pi E";
+	compatible = "radxa,rockpi-e", "rockchip,rk3328";
+
+	aliases {
+		mmc0 = &sdmmc;
+		mmc1 = &emmc;
+	};
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dtsi
similarity index 98%
copy from arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
copy to arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dtsi
index 3e08e2fd0a78..bb01143dc91a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dtsi
@@ -17,14 +17,9 @@
 #include "rk3328.dtsi"
 
 / {
-	model = "Radxa ROCK Pi E";
-	compatible = "radxa,rockpi-e", "rockchip,rk3328";
-
 	aliases {
 		ethernet0 = &gmac2io;
 		ethernet1 = &gmac2phy;
-		mmc0 = &sdmmc;
-		mmc1 = &emmc;
 	};
 
 	chosen {
-- 
2.43.0


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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 21:34 ` [PATCH v5 2/2] arm64: dts: " FUKAUMI Naoki
@ 2024-08-16 22:11   ` Heiko Stübner
  2024-08-16 22:20     ` FUKAUMI Naoki
  0 siblings, 1 reply; 17+ messages in thread
From: Heiko Stübner @ 2024-08-16 22:11 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: robh, krzk+dt, conor+dt, devicetree, linux-rockchip,
	FUKAUMI Naoki

Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT configurations:
> 
> - Rockchip RK3328 SoC
> - Quad A53 CPU
> - 512MB/1GB/2GB DDR4 RAM
> - 4/8/16/32GB eMMC
> - Micro SD Card slot
> - WiFi 4 and BT 4, or WiFi 5 and BT 5
> - 1x 1000M Ethernet supporting PoE with add‑on PoE HAT
> - 1x 100M Ethernet
> - 1x USB 3.0 Type-A port (Host)
> - 1x 4-ring 3.5mm headphone jack
> - 40 Pin GPIO header
> 
> [1] https://radxa.com/products/rockpi/pie
> 
> Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
> ---
> Changes in v5:
> - revert compatible string
> Changes in v4:
> - update compatible string for OpenWrt
> Changes in v3:
> - fix conflict for recent change
> Changes in v2:
> - fix typo in commit message
> - add missing --- in commit message
> ---
>  arch/arm64/boot/dts/rockchip/Makefile         |   1 +
>  .../boot/dts/rockchip/rk3328-rock-pi-e-v3.dts |  15 +
>  .../boot/dts/rockchip/rk3328-rock-pi-e.dts    | 460 +-----------------
>  ...28-rock-pi-e.dts => rk3328-rock-pi-e.dtsi} |   5 -
>  4 files changed, 31 insertions(+), 450 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
>  rewrite arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts (97%)
>  copy arch/arm64/boot/dts/rockchip/{rk3328-rock-pi-e.dts => rk3328-rock-pi-e.dtsi} (98%)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> index cb309b1975ba..cc74cd17850a 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s-plus.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e-v3.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
>  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-pc.dtb
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
> new file mode 100644
> index 000000000000..ad9c4c562914
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +/dts-v1/;
> +
> +#include "rk3328-rock-pi-e.dtsi"
> +
> +/ {
> +	model = "Radxa ROCK Pi E v3.0";
> +	compatible = "radxa,rockpi-e-v3", "rockchip,rk3328";
> +
> +	aliases {
> +		mmc0 = &emmc;
> +		mmc1 = &sdmmc;
> +	};
> +};

> diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
> dissimilarity index 97%
> index 3e08e2fd0a78..0929df3c803a 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
> @@ -1,445 +1,15 @@

[...]

> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +
> +/dts-v1/;
> +
> +#include "rk3328-rock-pi-e.dtsi"
> +
> +/ {
> +	model = "Radxa ROCK Pi E";
> +	compatible = "radxa,rockpi-e", "rockchip,rk3328";
> +
> +	aliases {
> +		mmc0 = &sdmmc;
> +		mmc1 = &emmc;
> +	};
> +};

can you please describe what is different in that v3 board?
Describing what is different to require a separate board should've been
part of the commit message.

Because from those changes, the bottom line currently seems to be
the same board with swapped mmc aliases?

Heiko





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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 22:11   ` Heiko Stübner
@ 2024-08-16 22:20     ` FUKAUMI Naoki
  2024-08-17 19:28       ` Dragan Simic
  0 siblings, 1 reply; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-16 22:20 UTC (permalink / raw)
  To: Heiko Stübner; +Cc: robh, krzk+dt, conor+dt, devicetree, linux-rockchip

Hi,

On 8/17/24 07:11, Heiko Stübner wrote:
> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT configurations:
>>
>> - Rockchip RK3328 SoC
>> - Quad A53 CPU
>> - 512MB/1GB/2GB DDR4 RAM
(snip)
> can you please describe what is different in that v3 board?
> Describing what is different to require a separate board should've been
> part of the commit message.
> 
> Because from those changes, the bottom line currently seems to be
> the same board with swapped mmc aliases?

it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
different bootloader (U-Boot) is required.

adding v3 dts seems not to be so important for Linux, but it's very 
important for U-Boot and OpenWrt(it includes bootloader for distributed 
binary).

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

> Heiko
> 
> 
> 
> 
> 

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

* Re: [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 21:34 [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0 FUKAUMI Naoki
  2024-08-16 21:34 ` [PATCH v5 2/2] arm64: dts: " FUKAUMI Naoki
@ 2024-08-17  6:59 ` Krzysztof Kozlowski
  2024-08-19 17:02 ` Rob Herring (Arm)
  2 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-17  6:59 UTC (permalink / raw)
  To: FUKAUMI Naoki, heiko; +Cc: robh, krzk+dt, conor+dt, devicetree, linux-rockchip

On 16/08/2024 23:34, FUKAUMI Naoki wrote:
> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
> RK3328 chip.
> 
> [1] https://radxa.com/products/rockpi/pie
> 
> Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 22:20     ` FUKAUMI Naoki
@ 2024-08-17 19:28       ` Dragan Simic
  2024-08-17 19:51         ` Dragan Simic
  0 siblings, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2024-08-17 19:28 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

Hello Fukaumi,

On 2024-08-17 00:20, FUKAUMI Naoki wrote:
> On 8/17/24 07:11, Heiko Stübner wrote:
>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>> Rockchip
>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>> configurations:
>>> 
>>> - Rockchip RK3328 SoC
>>> - Quad A53 CPU
>>> - 512MB/1GB/2GB DDR4 RAM
> (snip)
>> can you please describe what is different in that v3 board?
>> Describing what is different to require a separate board should've 
>> been
>> part of the commit message.
>> 
>> Because from those changes, the bottom line currently seems to be
>> the same board with swapped mmc aliases?
> 
> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
> different bootloader (U-Boot) is required.
> 
> adding v3 dts seems not to be so important for Linux, but it's very
> important for U-Boot and OpenWrt(it includes bootloader for
> distributed binary).

Aren't there different methods that allow such board variants to be
supported in U-Boot, with no need for a separate DT in the kernel?
IIRC, there are already more than a few examples of such board variants,
which require different DRAM initialization, which is covered in U-Boot
by providing different builds that use the same DT.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 19:28       ` Dragan Simic
@ 2024-08-17 19:51         ` Dragan Simic
  2024-08-17 20:04           ` FUKAUMI Naoki
  0 siblings, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2024-08-17 19:51 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

On 2024-08-17 21:28, Dragan Simic wrote:
> Hello Fukaumi,
> 
> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>> On 8/17/24 07:11, Heiko Stübner wrote:
>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>> Rockchip
>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>> configurations:
>>>> 
>>>> - Rockchip RK3328 SoC
>>>> - Quad A53 CPU
>>>> - 512MB/1GB/2GB DDR4 RAM
>> (snip)
>>> can you please describe what is different in that v3 board?
>>> Describing what is different to require a separate board should've 
>>> been
>>> part of the commit message.
>>> 
>>> Because from those changes, the bottom line currently seems to be
>>> the same board with swapped mmc aliases?
>> 
>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>> different bootloader (U-Boot) is required.
>> 
>> adding v3 dts seems not to be so important for Linux, but it's very
>> important for U-Boot and OpenWrt(it includes bootloader for
>> distributed binary).
> 
> Aren't there different methods that allow such board variants to be
> supported in U-Boot, with no need for a separate DT in the kernel?
> IIRC, there are already more than a few examples of such board 
> variants,
> which require different DRAM initialization, which is covered in U-Boot
> by providing different builds that use the same DT.

As an example, please have a look at the following files in U-Boot:

- arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
- arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
- configs/nanopi-m4-rk3399_defconfig
- configs/nanopi-m4-2gb-rk3399_defconfig

Basically, there's no need for separate DTs in the kernel, just to 
support
board variants with different DRAM types in U-Boot.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 19:51         ` Dragan Simic
@ 2024-08-17 20:04           ` FUKAUMI Naoki
  2024-08-17 20:11             ` FUKAUMI Naoki
  2024-08-17 20:12             ` Dragan Simic
  0 siblings, 2 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-17 20:04 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

Hi,

On 8/18/24 04:51, Dragan Simic wrote:
> On 2024-08-17 21:28, Dragan Simic wrote:
>> Hello Fukaumi,
>>
>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT configurations:
>>>>>
>>>>> - Rockchip RK3328 SoC
>>>>> - Quad A53 CPU
>>>>> - 512MB/1GB/2GB DDR4 RAM
>>> (snip)
>>>> can you please describe what is different in that v3 board?
>>>> Describing what is different to require a separate board should've been
>>>> part of the commit message.
>>>>
>>>> Because from those changes, the bottom line currently seems to be
>>>> the same board with swapped mmc aliases?
>>>
>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>> different bootloader (U-Boot) is required.
>>>
>>> adding v3 dts seems not to be so important for Linux, but it's very
>>> important for U-Boot and OpenWrt(it includes bootloader for
>>> distributed binary).
>>
>> Aren't there different methods that allow such board variants to be
>> supported in U-Boot, with no need for a separate DT in the kernel?
>> IIRC, there are already more than a few examples of such board variants,
>> which require different DRAM initialization, which is covered in U-Boot
>> by providing different builds that use the same DT.
> 
> As an example, please have a look at the following files in U-Boot:
> 
> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
> - configs/nanopi-m4-rk3399_defconfig
> - configs/nanopi-m4-2gb-rk3399_defconfig
> 
> Basically, there's no need for separate DTs in the kernel, just to support
> board variants with different DRAM types in U-Boot.

OpenWrt firmware upgrading tool (sysupgrade) refers "compatible" string 
to validate new firmware file is surely "for this board".

currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong 
firmware (include bootloaer, U-Boot) possible.

Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different 
incompatible boards, it must have different "compatible" string.

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 20:04           ` FUKAUMI Naoki
@ 2024-08-17 20:11             ` FUKAUMI Naoki
  2024-08-17 20:12             ` Dragan Simic
  1 sibling, 0 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-17 20:11 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

On 8/18/24 05:04, FUKAUMI Naoki wrote:
> Hi,
> 
> On 8/18/24 04:51, Dragan Simic wrote:
>> On 2024-08-17 21:28, Dragan Simic wrote:
>>> Hello Fukaumi,
>>>
>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>> Rockchip
>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>> configurations:
>>>>>>
>>>>>> - Rockchip RK3328 SoC
>>>>>> - Quad A53 CPU
>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>> (snip)
>>>>> can you please describe what is different in that v3 board?
>>>>> Describing what is different to require a separate board should've 
>>>>> been
>>>>> part of the commit message.
>>>>>
>>>>> Because from those changes, the bottom line currently seems to be
>>>>> the same board with swapped mmc aliases?
>>>>
>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>> different bootloader (U-Boot) is required.
>>>>
>>>> adding v3 dts seems not to be so important for Linux, but it's very
>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>> distributed binary).
>>>
>>> Aren't there different methods that allow such board variants to be
>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>> IIRC, there are already more than a few examples of such board variants,
>>> which require different DRAM initialization, which is covered in U-Boot
>>> by providing different builds that use the same DT.
>>
>> As an example, please have a look at the following files in U-Boot:
>>
>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>> - configs/nanopi-m4-rk3399_defconfig
>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>
>> Basically, there's no need for separate DTs in the kernel, just to 
>> support
>> board variants with different DRAM types in U-Boot.
> 
> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible" string 
> to validate new firmware file is surely "for this board".
> 
> currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong 
> firmware (include bootloaer, U-Boot) possible.

^Currently both Pi E firmware have ...

> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different 
> incompatible boards, it must have different "compatible" string.
> 
> Best regards,
> 
> -- 
> FUKAUMI Naoki
> Radxa Computer (Shenzhen) Co., Ltd.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 20:04           ` FUKAUMI Naoki
  2024-08-17 20:11             ` FUKAUMI Naoki
@ 2024-08-17 20:12             ` Dragan Simic
  2024-08-17 20:28               ` FUKAUMI Naoki
  1 sibling, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2024-08-17 20:12 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

On 2024-08-17 22:04, FUKAUMI Naoki wrote:
> On 8/18/24 04:51, Dragan Simic wrote:
>> On 2024-08-17 21:28, Dragan Simic wrote:
>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>> Rockchip
>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>> configurations:
>>>>>> 
>>>>>> - Rockchip RK3328 SoC
>>>>>> - Quad A53 CPU
>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>> (snip)
>>>>> can you please describe what is different in that v3 board?
>>>>> Describing what is different to require a separate board should've 
>>>>> been
>>>>> part of the commit message.
>>>>> 
>>>>> Because from those changes, the bottom line currently seems to be
>>>>> the same board with swapped mmc aliases?
>>>> 
>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>> different bootloader (U-Boot) is required.
>>>> 
>>>> adding v3 dts seems not to be so important for Linux, but it's very
>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>> distributed binary).
>>> 
>>> Aren't there different methods that allow such board variants to be
>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>> IIRC, there are already more than a few examples of such board 
>>> variants,
>>> which require different DRAM initialization, which is covered in 
>>> U-Boot
>>> by providing different builds that use the same DT.
>> 
>> As an example, please have a look at the following files in U-Boot:
>> 
>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>> - configs/nanopi-m4-rk3399_defconfig
>> - configs/nanopi-m4-2gb-rk3399_defconfig
>> 
>> Basically, there's no need for separate DTs in the kernel, just to 
>> support
>> board variants with different DRAM types in U-Boot.
> 
> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
> string to validate new firmware file is surely "for this board".
> 
> currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong
> firmware (include bootloaer, U-Boot) possible.

Could you, please, explain what's the actual issue with OpenWrt?  I did
read some GitHub issue that described it, IIRC, but I was unable to 
fully
understand what's the underlying issue.

> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
> incompatible boards, it must have different "compatible" string.

Well, the above-mentioned Nano Pi M4 boards share the same DT and the 
same
"compatible" value, because for all consumers of the DT, except for 
U-Boot
that can already handle the differences, they are the same boards.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 20:12             ` Dragan Simic
@ 2024-08-17 20:28               ` FUKAUMI Naoki
  2024-08-17 21:32                 ` FUKAUMI Naoki
  2024-08-17 22:30                 ` Dragan Simic
  0 siblings, 2 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-17 20:28 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

On 8/18/24 05:12, Dragan Simic wrote:
> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>> On 8/18/24 04:51, Dragan Simic wrote:
>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>> Rockchip
>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>> configurations:
>>>>>>>
>>>>>>> - Rockchip RK3328 SoC
>>>>>>> - Quad A53 CPU
>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>> (snip)
>>>>>> can you please describe what is different in that v3 board?
>>>>>> Describing what is different to require a separate board should've 
>>>>>> been
>>>>>> part of the commit message.
>>>>>>
>>>>>> Because from those changes, the bottom line currently seems to be
>>>>>> the same board with swapped mmc aliases?
>>>>>
>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>> different bootloader (U-Boot) is required.
>>>>>
>>>>> adding v3 dts seems not to be so important for Linux, but it's very
>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>> distributed binary).
>>>>
>>>> Aren't there different methods that allow such board variants to be
>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>> IIRC, there are already more than a few examples of such board 
>>>> variants,
>>>> which require different DRAM initialization, which is covered in U-Boot
>>>> by providing different builds that use the same DT.
>>>
>>> As an example, please have a look at the following files in U-Boot:
>>>
>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>> - configs/nanopi-m4-rk3399_defconfig
>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>
>>> Basically, there's no need for separate DTs in the kernel, just to 
>>> support
>>> board variants with different DRAM types in U-Boot.
>>
>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>> string to validate new firmware file is surely "for this board".
>>
>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong
>> firmware (include bootloaer, U-Boot) possible.
> 
> Could you, please, explain what's the actual issue with OpenWrt?  I did
> read some GitHub issue that described it, IIRC, but I was unable to fully
> understand what's the underlying issue.

$ wget 
https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
$ strings openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz 
| grep metadata
{  "metadata_version": "1.1", "compat_version": "1.0", 
"supported_devices":["radxa,rock-pi-e"], "version": { "dist": "OpenWrt", 
"version": "SNAPSHOT", "revision": "r27160-b72c4b5386", "target": 
"rockchip/armv8", "board": "radxa_rock-pi-e" } }

$ wget 
https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
$ strings 
openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz | grep 
metadata
{  "metadata_version": "1.1", "compat_version": "1.0", 
"supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist": 
"OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386", 
"target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }

since they are incompatible firmware, it needs to have different 
"supported_devices" string. if both are "radxa,rockpi-e", firmware 
validation will not work correctly.

(currently both values are wrong, it needs to be fixed, but it's another 
story)

>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>> incompatible boards, it must have different "compatible" string.
> 
> Well, the above-mentioned Nano Pi M4 boards share the same DT and the same
> "compatible" value, because for all consumers of the DT, except for U-Boot
> that can already handle the differences, they are the same boards.

(un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt

  https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 20:28               ` FUKAUMI Naoki
@ 2024-08-17 21:32                 ` FUKAUMI Naoki
  2024-08-17 22:30                 ` Dragan Simic
  1 sibling, 0 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-17 21:32 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

for the record,

 
https://openwrt.org/docs/guide-developer/device-support-policies#modeldevice_name
  https://openwrt.org/docs/techref/sysupgrade

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

On 8/18/24 05:28, FUKAUMI Naoki wrote:
> On 8/18/24 05:12, Dragan Simic wrote:
>> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>>> On 8/18/24 04:51, Dragan Simic wrote:
>>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>>> Rockchip
>>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>>> configurations:
>>>>>>>>
>>>>>>>> - Rockchip RK3328 SoC
>>>>>>>> - Quad A53 CPU
>>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>>> (snip)
>>>>>>> can you please describe what is different in that v3 board?
>>>>>>> Describing what is different to require a separate board 
>>>>>>> should've been
>>>>>>> part of the commit message.
>>>>>>>
>>>>>>> Because from those changes, the bottom line currently seems to be
>>>>>>> the same board with swapped mmc aliases?
>>>>>>
>>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>>> different bootloader (U-Boot) is required.
>>>>>>
>>>>>> adding v3 dts seems not to be so important for Linux, but it's very
>>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>>> distributed binary).
>>>>>
>>>>> Aren't there different methods that allow such board variants to be
>>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>>> IIRC, there are already more than a few examples of such board 
>>>>> variants,
>>>>> which require different DRAM initialization, which is covered in 
>>>>> U-Boot
>>>>> by providing different builds that use the same DT.
>>>>
>>>> As an example, please have a look at the following files in U-Boot:
>>>>
>>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>>> - configs/nanopi-m4-rk3399_defconfig
>>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>>
>>>> Basically, there's no need for separate DTs in the kernel, just to 
>>>> support
>>>> board variants with different DRAM types in U-Boot.
>>>
>>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>>> string to validate new firmware file is surely "for this board".
>>>
>>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong
>>> firmware (include bootloaer, U-Boot) possible.
>>
>> Could you, please, explain what's the actual issue with OpenWrt?  I did
>> read some GitHub issue that described it, IIRC, but I was unable to fully
>> understand what's the underlying issue.
> 
> $ wget 
> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
> $ strings openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz 
> | grep metadata
> {  "metadata_version": "1.1", "compat_version": "1.0", 
> "supported_devices":["radxa,rock-pi-e"], "version": { "dist": "OpenWrt", 
> "version": "SNAPSHOT", "revision": "r27160-b72c4b5386", "target": 
> "rockchip/armv8", "board": "radxa_rock-pi-e" } }
> 
> $ wget 
> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
> $ strings 
> openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz | grep 
> metadata
> {  "metadata_version": "1.1", "compat_version": "1.0", 
> "supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist": 
> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386", 
> "target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
> 
> since they are incompatible firmware, it needs to have different 
> "supported_devices" string. if both are "radxa,rockpi-e", firmware 
> validation will not work correctly.
> 
> (currently both values are wrong, it needs to be fixed, but it's another 
> story)
> 
>>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>>> incompatible boards, it must have different "compatible" string.
>>
>> Well, the above-mentioned Nano Pi M4 boards share the same DT and the 
>> same
>> "compatible" value, because for all consumers of the DT, except for 
>> U-Boot
>> that can already handle the differences, they are the same boards.
> 
> (un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
> 
>   https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/
> 
> Best regards,
> 
> -- 
> FUKAUMI Naoki
> Radxa Computer (Shenzhen) Co., Ltd.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 20:28               ` FUKAUMI Naoki
  2024-08-17 21:32                 ` FUKAUMI Naoki
@ 2024-08-17 22:30                 ` Dragan Simic
  2024-08-26 11:25                   ` Dragan Simic
  1 sibling, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2024-08-17 22:30 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

On 2024-08-17 22:28, FUKAUMI Naoki wrote:
> On 8/18/24 05:12, Dragan Simic wrote:
>> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>>> On 8/18/24 04:51, Dragan Simic wrote:
>>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>>> Rockchip
>>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>>> configurations:
>>>>>>>> 
>>>>>>>> - Rockchip RK3328 SoC
>>>>>>>> - Quad A53 CPU
>>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>>> (snip)
>>>>>>> can you please describe what is different in that v3 board?
>>>>>>> Describing what is different to require a separate board 
>>>>>>> should've been
>>>>>>> part of the commit message.
>>>>>>> 
>>>>>>> Because from those changes, the bottom line currently seems to be
>>>>>>> the same board with swapped mmc aliases?
>>>>>> 
>>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>>> different bootloader (U-Boot) is required.
>>>>>> 
>>>>>> adding v3 dts seems not to be so important for Linux, but it's 
>>>>>> very
>>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>>> distributed binary).
>>>>> 
>>>>> Aren't there different methods that allow such board variants to be
>>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>>> IIRC, there are already more than a few examples of such board 
>>>>> variants,
>>>>> which require different DRAM initialization, which is covered in 
>>>>> U-Boot
>>>>> by providing different builds that use the same DT.
>>>> 
>>>> As an example, please have a look at the following files in U-Boot:
>>>> 
>>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>>> - configs/nanopi-m4-rk3399_defconfig
>>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>> 
>>>> Basically, there's no need for separate DTs in the kernel, just to 
>>>> support
>>>> board variants with different DRAM types in U-Boot.
>>> 
>>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>>> string to validate new firmware file is surely "for this board".
>>> 
>>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing 
>>> wrong
>>> firmware (include bootloaer, U-Boot) possible.
>> 
>> Could you, please, explain what's the actual issue with OpenWrt?  I 
>> did
>> read some GitHub issue that described it, IIRC, but I was unable to 
>> fully
>> understand what's the underlying issue.
> 
> $ wget
> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
> $ strings
> openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz | grep
> metadata
> {  "metadata_version": "1.1", "compat_version": "1.0",
> "supported_devices":["radxa,rock-pi-e"], "version": { "dist":
> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
> "target": "rockchip/armv8", "board": "radxa_rock-pi-e" } }
> 
> $ wget
> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
> $ strings
> openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz |
> grep metadata
> {  "metadata_version": "1.1", "compat_version": "1.0",
> "supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist":
> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
> "target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
> 
> since they are incompatible firmware, it needs to have different
> "supported_devices" string. if both are "radxa,rockpi-e", firmware
> validation will not work correctly.
> 
> (currently both values are wrong, it needs to be fixed, but it's 
> another story)
> 
>>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>>> incompatible boards, it must have different "compatible" string.
>> 
>> Well, the above-mentioned Nano Pi M4 boards share the same DT and the 
>> same
>> "compatible" value, because for all consumers of the DT, except for 
>> U-Boot
>> that can already handle the differences, they are the same boards.
> 
> (un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
> 
>  https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/

Thanks for the explanations.  As discussed further in #linux-rockchip
on Libera.Chat, we do need a general solution for this issue, which 
would
get us covered for all the board variants that use different DRAM chips,
which are currently known to U-Boot only.

I'll keep thinking about this in the next couple of days, and I'll come
back with an update.

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

* Re: [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-16 21:34 [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0 FUKAUMI Naoki
  2024-08-16 21:34 ` [PATCH v5 2/2] arm64: dts: " FUKAUMI Naoki
  2024-08-17  6:59 ` [PATCH v5 1/2] dt-bindings: arm: " Krzysztof Kozlowski
@ 2024-08-19 17:02 ` Rob Herring (Arm)
  2 siblings, 0 replies; 17+ messages in thread
From: Rob Herring (Arm) @ 2024-08-19 17:02 UTC (permalink / raw)
  To: FUKAUMI Naoki; +Cc: linux-rockchip, devicetree, krzk+dt, conor+dt, heiko


On Sat, 17 Aug 2024 06:34:28 +0900, FUKAUMI Naoki wrote:
> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the Rockchip
> RK3328 chip.
> 
> [1] https://radxa.com/products/rockpi/pie
> 
> Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
> ---
> Changes in v5:
> - revert compatible string
> - describe rockchip.yaml properly
> Changes in v4:
> - update compatible string for OpenWrt
> - drop A-b tag
> Changes in v3:
> - collect A-b tag
> Changes in v2:
> - fix typo in commit message
> - add missing --- in commit message
> - add new section instead of new item in rockchip.yaml
> ---
>  Documentation/devicetree/bindings/arm/rockchip.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y rockchip/rk3328-rock-pi-e-v3.dtb rockchip/rk3328-rock-pi-e.dtb' for 20240816213429.1093-1-naoki@radxa.com:

arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dtb: hdmi@ff3c0000: interrupts: [[0, 35, 4], [0, 71, 4]] is too long
	from schema $id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-hdmi.yaml#
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dtb: /phy@ff430000: failed to match any schema with compatible: ['rockchip,rk3328-hdmi-phy']
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon']
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e-v3.dtb: /clock-controller@ff440000: failed to match any schema with compatible: ['rockchip,rk3328-cru', 'rockchip,cru', 'syscon']






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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-17 22:30                 ` Dragan Simic
@ 2024-08-26 11:25                   ` Dragan Simic
  2024-08-26 23:20                     ` FUKAUMI Naoki
  0 siblings, 1 reply; 17+ messages in thread
From: Dragan Simic @ 2024-08-26 11:25 UTC (permalink / raw)
  To: FUKAUMI Naoki
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

Hello Naoki,

On 2024-08-18 00:30, Dragan Simic wrote:
> On 2024-08-17 22:28, FUKAUMI Naoki wrote:
>> On 8/18/24 05:12, Dragan Simic wrote:
>>> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>>>> On 8/18/24 04:51, Dragan Simic wrote:
>>>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI 
>>>>>>>> Naoki:
>>>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>>>> Rockchip
>>>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>>>> configurations:
>>>>>>>>> 
>>>>>>>>> - Rockchip RK3328 SoC
>>>>>>>>> - Quad A53 CPU
>>>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>>>> (snip)
>>>>>>>> can you please describe what is different in that v3 board?
>>>>>>>> Describing what is different to require a separate board 
>>>>>>>> should've been
>>>>>>>> part of the commit message.
>>>>>>>> 
>>>>>>>> Because from those changes, the bottom line currently seems to 
>>>>>>>> be
>>>>>>>> the same board with swapped mmc aliases?
>>>>>>> 
>>>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>>>> different bootloader (U-Boot) is required.
>>>>>>> 
>>>>>>> adding v3 dts seems not to be so important for Linux, but it's 
>>>>>>> very
>>>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>>>> distributed binary).
>>>>>> 
>>>>>> Aren't there different methods that allow such board variants to 
>>>>>> be
>>>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>>>> IIRC, there are already more than a few examples of such board 
>>>>>> variants,
>>>>>> which require different DRAM initialization, which is covered in 
>>>>>> U-Boot
>>>>>> by providing different builds that use the same DT.
>>>>> 
>>>>> As an example, please have a look at the following files in U-Boot:
>>>>> 
>>>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>>>> - configs/nanopi-m4-rk3399_defconfig
>>>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>>> 
>>>>> Basically, there's no need for separate DTs in the kernel, just to 
>>>>> support
>>>>> board variants with different DRAM types in U-Boot.
>>>> 
>>>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>>>> string to validate new firmware file is surely "for this board".
>>>> 
>>>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing 
>>>> wrong
>>>> firmware (include bootloaer, U-Boot) possible.
>>> 
>>> Could you, please, explain what's the actual issue with OpenWrt?  I 
>>> did
>>> read some GitHub issue that described it, IIRC, but I was unable to 
>>> fully
>>> understand what's the underlying issue.
>> 
>> $ wget
>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
>> $ strings
>> openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz | grep
>> metadata
>> {  "metadata_version": "1.1", "compat_version": "1.0",
>> "supported_devices":["radxa,rock-pi-e"], "version": { "dist":
>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e" } }
>> 
>> $ wget
>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
>> $ strings
>> openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz |
>> grep metadata
>> {  "metadata_version": "1.1", "compat_version": "1.0",
>> "supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist":
>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
>> 
>> since they are incompatible firmware, it needs to have different
>> "supported_devices" string. if both are "radxa,rockpi-e", firmware
>> validation will not work correctly.
>> 
>> (currently both values are wrong, it needs to be fixed, but it's 
>> another story)
>> 
>>>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>>>> incompatible boards, it must have different "compatible" string.
>>> 
>>> Well, the above-mentioned Nano Pi M4 boards share the same DT and the 
>>> same
>>> "compatible" value, because for all consumers of the DT, except for 
>>> U-Boot
>>> that can already handle the differences, they are the same boards.
>> 
>> (un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
>> 
>>  https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/
> 
> Thanks for the explanations.  As discussed further in #linux-rockchip
> on Libera.Chat, we do need a general solution for this issue, which 
> would
> get us covered for all the board variants that use different DRAM 
> chips,
> which are currently known to U-Boot only.
> 
> I'll keep thinking about this in the next couple of days, and I'll come
> back with an update.

As a separate thought, is there some way to detect the actual ROCK Pi E
board variant at runtime, using some GPIO line, ADC readout, or 
something
similar?  That would help with making it possible to have a single 
U-Boot
build for both board variants.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-26 11:25                   ` Dragan Simic
@ 2024-08-26 23:20                     ` FUKAUMI Naoki
  2024-08-27  1:34                       ` FUKAUMI Naoki
  0 siblings, 1 reply; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-26 23:20 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

Hi,

On 8/26/24 20:25, Dragan Simic wrote:
> Hello Naoki,
> 
> On 2024-08-18 00:30, Dragan Simic wrote:
>> On 2024-08-17 22:28, FUKAUMI Naoki wrote:
>>> On 8/18/24 05:12, Dragan Simic wrote:
>>>> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>>>>> On 8/18/24 04:51, Dragan Simic wrote:
>>>>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>>>>> Rockchip
>>>>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>>>>> configurations:
>>>>>>>>>>
>>>>>>>>>> - Rockchip RK3328 SoC
>>>>>>>>>> - Quad A53 CPU
>>>>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>>>>> (snip)
>>>>>>>>> can you please describe what is different in that v3 board?
>>>>>>>>> Describing what is different to require a separate board 
>>>>>>>>> should've been
>>>>>>>>> part of the commit message.
>>>>>>>>>
>>>>>>>>> Because from those changes, the bottom line currently seems to be
>>>>>>>>> the same board with swapped mmc aliases?
>>>>>>>>
>>>>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>>>>> different bootloader (U-Boot) is required.
>>>>>>>>
>>>>>>>> adding v3 dts seems not to be so important for Linux, but it's very
>>>>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>>>>> distributed binary).
>>>>>>>
>>>>>>> Aren't there different methods that allow such board variants to be
>>>>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>>>>> IIRC, there are already more than a few examples of such board 
>>>>>>> variants,
>>>>>>> which require different DRAM initialization, which is covered in 
>>>>>>> U-Boot
>>>>>>> by providing different builds that use the same DT.
>>>>>>
>>>>>> As an example, please have a look at the following files in U-Boot:
>>>>>>
>>>>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>>>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>>>>> - configs/nanopi-m4-rk3399_defconfig
>>>>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>>>>
>>>>>> Basically, there's no need for separate DTs in the kernel, just to 
>>>>>> support
>>>>>> board variants with different DRAM types in U-Boot.
>>>>>
>>>>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>>>>> string to validate new firmware file is surely "for this board".
>>>>>
>>>>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing wrong
>>>>> firmware (include bootloaer, U-Boot) possible.
>>>>
>>>> Could you, please, explain what's the actual issue with OpenWrt?  I did
>>>> read some GitHub issue that described it, IIRC, but I was unable to 
>>>> fully
>>>> understand what's the underlying issue.
>>>
>>> $ wget
>>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
>>> $ strings
>>> openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz | grep
>>> metadata
>>> {  "metadata_version": "1.1", "compat_version": "1.0",
>>> "supported_devices":["radxa,rock-pi-e"], "version": { "dist":
>>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e" } }
>>>
>>> $ wget
>>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
>>> $ strings
>>> openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz |
>>> grep metadata
>>> {  "metadata_version": "1.1", "compat_version": "1.0",
>>> "supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist":
>>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
>>>
>>> since they are incompatible firmware, it needs to have different
>>> "supported_devices" string. if both are "radxa,rockpi-e", firmware
>>> validation will not work correctly.
>>>
>>> (currently both values are wrong, it needs to be fixed, but it's 
>>> another story)
>>>
>>>>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>>>>> incompatible boards, it must have different "compatible" string.
>>>>
>>>> Well, the above-mentioned Nano Pi M4 boards share the same DT and 
>>>> the same
>>>> "compatible" value, because for all consumers of the DT, except for 
>>>> U-Boot
>>>> that can already handle the differences, they are the same boards.
>>>
>>> (un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
>>>
>>>  https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/
>>
>> Thanks for the explanations.  As discussed further in #linux-rockchip
>> on Libera.Chat, we do need a general solution for this issue, which would
>> get us covered for all the board variants that use different DRAM chips,
>> which are currently known to U-Boot only.
>>
>> I'll keep thinking about this in the next couple of days, and I'll come
>> back with an update.
> 
> As a separate thought, is there some way to detect the actual ROCK Pi E
> board variant at runtime, using some GPIO line, ADC readout, or something
> similar?  That would help with making it possible to have a single U-Boot
> build for both board variants.

as far as I know, no difference. (I asked my colleague)
I will compare schematics.

but, if there is difference, is it possible to replace RAM 
initialization on u-boot?

btw, RFC:
 
https://github.com/RadxaNaoki/u-boot/commit/ff1aa39ffb725d10fbb1608062debe6657f40acc

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

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

* Re: [PATCH v5 2/2] arm64: dts: rockchip: add support for Radxa ROCK Pi E v3.0
  2024-08-26 23:20                     ` FUKAUMI Naoki
@ 2024-08-27  1:34                       ` FUKAUMI Naoki
  0 siblings, 0 replies; 17+ messages in thread
From: FUKAUMI Naoki @ 2024-08-27  1:34 UTC (permalink / raw)
  To: Dragan Simic
  Cc: Heiko Stübner, robh, krzk+dt, conor+dt, devicetree,
	linux-rockchip

Hi,

RFC:
https://patchwork.ozlabs.org/project/uboot/patch/20240827013111.633-1-naoki@radxa.com/

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

On 8/27/24 08:20, FUKAUMI Naoki wrote:
> Hi,
> 
> On 8/26/24 20:25, Dragan Simic wrote:
>> Hello Naoki,
>>
>> On 2024-08-18 00:30, Dragan Simic wrote:
>>> On 2024-08-17 22:28, FUKAUMI Naoki wrote:
>>>> On 8/18/24 05:12, Dragan Simic wrote:
>>>>> On 2024-08-17 22:04, FUKAUMI Naoki wrote:
>>>>>> On 8/18/24 04:51, Dragan Simic wrote:
>>>>>>> On 2024-08-17 21:28, Dragan Simic wrote:
>>>>>>>> On 2024-08-17 00:20, FUKAUMI Naoki wrote:
>>>>>>>>> On 8/17/24 07:11, Heiko Stübner wrote:
>>>>>>>>>> Am Freitag, 16. August 2024, 23:34:29 CEST schrieb FUKAUMI Naoki:
>>>>>>>>>>> Radxa ROCK Pi E v3.0 is a compact networking SBC[1] using the 
>>>>>>>>>>> Rockchip
>>>>>>>>>>> RK3328 chip that ships in a number of RAM/eMMC/WiFi/BT 
>>>>>>>>>>> configurations:
>>>>>>>>>>>
>>>>>>>>>>> - Rockchip RK3328 SoC
>>>>>>>>>>> - Quad A53 CPU
>>>>>>>>>>> - 512MB/1GB/2GB DDR4 RAM
>>>>>>>>> (snip)
>>>>>>>>>> can you please describe what is different in that v3 board?
>>>>>>>>>> Describing what is different to require a separate board 
>>>>>>>>>> should've been
>>>>>>>>>> part of the commit message.
>>>>>>>>>>
>>>>>>>>>> Because from those changes, the bottom line currently seems to be
>>>>>>>>>> the same board with swapped mmc aliases?
>>>>>>>>>
>>>>>>>>> it's new board which uses DDR4 RAM (instead of DDR3 RAM on Pi E).
>>>>>>>>> different bootloader (U-Boot) is required.
>>>>>>>>>
>>>>>>>>> adding v3 dts seems not to be so important for Linux, but it's 
>>>>>>>>> very
>>>>>>>>> important for U-Boot and OpenWrt(it includes bootloader for
>>>>>>>>> distributed binary).
>>>>>>>>
>>>>>>>> Aren't there different methods that allow such board variants to be
>>>>>>>> supported in U-Boot, with no need for a separate DT in the kernel?
>>>>>>>> IIRC, there are already more than a few examples of such board 
>>>>>>>> variants,
>>>>>>>> which require different DRAM initialization, which is covered in 
>>>>>>>> U-Boot
>>>>>>>> by providing different builds that use the same DT.
>>>>>>>
>>>>>>> As an example, please have a look at the following files in U-Boot:
>>>>>>>
>>>>>>> - arch/arm/dts/rk3399-nanopi-m4-u-boot.dtsi
>>>>>>> - arch/arm/dts/rk3399-nanopi-m4-2gb-u-boot.dtsi
>>>>>>> - configs/nanopi-m4-rk3399_defconfig
>>>>>>> - configs/nanopi-m4-2gb-rk3399_defconfig
>>>>>>>
>>>>>>> Basically, there's no need for separate DTs in the kernel, just 
>>>>>>> to support
>>>>>>> board variants with different DRAM types in U-Boot.
>>>>>>
>>>>>> OpenWrt firmware upgrading tool (sysupgrade) refers "compatible"
>>>>>> string to validate new firmware file is surely "for this board".
>>>>>>
>>>>>> currently both Pi E dts have "radxa,rockpi-e", it makes flashing 
>>>>>> wrong
>>>>>> firmware (include bootloaer, U-Boot) possible.
>>>>>
>>>>> Could you, please, explain what's the actual issue with OpenWrt?  I 
>>>>> did
>>>>> read some GitHub issue that described it, IIRC, but I was unable to 
>>>>> fully
>>>>> understand what's the underlying issue.
>>>>
>>>> $ wget
>>>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz
>>>> $ strings
>>>> openwrt-rockchip-armv8-radxa_rock-pi-e-ext4-sysupgrade.img.gz | grep
>>>> metadata
>>>> {  "metadata_version": "1.1", "compat_version": "1.0",
>>>> "supported_devices":["radxa,rock-pi-e"], "version": { "dist":
>>>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>>>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e" } }
>>>>
>>>> $ wget
>>>> https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz
>>>> $ strings
>>>> openwrt-rockchip-armv8-radxa_rock-pi-e-v3-ext4-sysupgrade.img.gz |
>>>> grep metadata
>>>> {  "metadata_version": "1.1", "compat_version": "1.0",
>>>> "supported_devices":["radxa,rock-pi-e-v3"], "version": { "dist":
>>>> "OpenWrt", "version": "SNAPSHOT", "revision": "r27160-b72c4b5386",
>>>> "target": "rockchip/armv8", "board": "radxa_rock-pi-e-v3" } }
>>>>
>>>> since they are incompatible firmware, it needs to have different
>>>> "supported_devices" string. if both are "radxa,rockpi-e", firmware
>>>> validation will not work correctly.
>>>>
>>>> (currently both values are wrong, it needs to be fixed, but it's 
>>>> another story)
>>>>
>>>>>> Radxa ROCK Pi E v1.x(DDR3) and ROCK Pi E v3(DDR4) are different
>>>>>> incompatible boards, it must have different "compatible" string.
>>>>>
>>>>> Well, the above-mentioned Nano Pi M4 boards share the same DT and 
>>>>> the same
>>>>> "compatible" value, because for all consumers of the DT, except for 
>>>>> U-Boot
>>>>> that can already handle the differences, they are the same boards.
>>>>
>>>> (un)fortunately Nano Pi M4 boards seems not to be supported by OpenWrt
>>>>
>>>>  https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/
>>>
>>> Thanks for the explanations.  As discussed further in #linux-rockchip
>>> on Libera.Chat, we do need a general solution for this issue, which 
>>> would
>>> get us covered for all the board variants that use different DRAM chips,
>>> which are currently known to U-Boot only.
>>>
>>> I'll keep thinking about this in the next couple of days, and I'll come
>>> back with an update.
>>
>> As a separate thought, is there some way to detect the actual ROCK Pi E
>> board variant at runtime, using some GPIO line, ADC readout, or something
>> similar?  That would help with making it possible to have a single U-Boot
>> build for both board variants.
> 
> as far as I know, no difference. (I asked my colleague)
> I will compare schematics.
> 
> but, if there is difference, is it possible to replace RAM 
> initialization on u-boot?
> 
> btw, RFC:
> 
> https://github.com/RadxaNaoki/u-boot/commit/ff1aa39ffb725d10fbb1608062debe6657f40acc
> 
> -- 
> FUKAUMI Naoki
> Radxa Computer (Shenzhen) Co., Ltd.

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

end of thread, other threads:[~2024-08-27  1:36 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-16 21:34 [PATCH v5 1/2] dt-bindings: arm: rockchip: add support for Radxa ROCK Pi E v3.0 FUKAUMI Naoki
2024-08-16 21:34 ` [PATCH v5 2/2] arm64: dts: " FUKAUMI Naoki
2024-08-16 22:11   ` Heiko Stübner
2024-08-16 22:20     ` FUKAUMI Naoki
2024-08-17 19:28       ` Dragan Simic
2024-08-17 19:51         ` Dragan Simic
2024-08-17 20:04           ` FUKAUMI Naoki
2024-08-17 20:11             ` FUKAUMI Naoki
2024-08-17 20:12             ` Dragan Simic
2024-08-17 20:28               ` FUKAUMI Naoki
2024-08-17 21:32                 ` FUKAUMI Naoki
2024-08-17 22:30                 ` Dragan Simic
2024-08-26 11:25                   ` Dragan Simic
2024-08-26 23:20                     ` FUKAUMI Naoki
2024-08-27  1:34                       ` FUKAUMI Naoki
2024-08-17  6:59 ` [PATCH v5 1/2] dt-bindings: arm: " Krzysztof Kozlowski
2024-08-19 17:02 ` Rob Herring (Arm)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox