linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Refactor, fix and improve NanoPi R6 series
@ 2024-06-12 20:48 Sebastian Kropatsch
  2024-06-12 20:48 ` [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S Sebastian Kropatsch
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Hello,

This patch series fixes a lot of minor issues in the current devicetree
for the FriendlyElec NanoPi R6 series (R6C and R6S), as well as adding
support for the GPU and one USB3 port which was previously disabled.

To aid with these patches, I have refactored the devicetrees in such a
way that they will now share a common dtsi source file in a similar
fashion than what the NanoPi R5C and R5S are already doing.
This makes changes which only affect one of the boards easier, less
error-prone and more maintainable. Also we don't need to work with
/delete-node/ and /delete-property/ this way :)

Cheers,
Sebastian

PS: Additional comments in patch 2 and 3.

---

Sebastian Kropatsch (5):
  arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S
  arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi
    R6C/R6S
  arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
  arm64: dts: rockchip: Enable lower USB3 port on NanoPi R6C/R6S
  arm64: dts: rockchip: Enable GPU on NanoPi R6C/R6S

 ...-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} | 242 +++---
 .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  |  48 +-
 .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 743 +-----------------
 3 files changed, 193 insertions(+), 840 deletions(-)
 copy arch/arm64/boot/dts/rockchip/{rk3588s-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} (81%)

-- 
2.43.0



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

* [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
@ 2024-06-12 20:48 ` Sebastian Kropatsch
  2024-06-20 18:34   ` Heiko Stübner
  2024-06-12 20:48 ` [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S Sebastian Kropatsch
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

The FriendlyElec NanoPi R6C and R6S are quite similar boards,
although they differ in:
- M.2 M-Key connector vs second RTL8125BG Ethernet port
- One of the LEDs has a different function on each board
- 12-pin GPIO FPC vs 30-pin GPIO header
- R6S has a PWM-based IR receiver while the R6C has not
- R6S has a 5V fan connector while the R6C has not

Refactor their DT files by adding a common definitions file to
improve differentiation clarity between both boards and to make
hardware-specific DT changes easier in the long run.
Do not introduce any functional changes.

Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
---
 ...-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} |   7 +-
 .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  |   2 +-
 .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 756 +-----------------
 3 files changed, 7 insertions(+), 758 deletions(-)
 copy arch/arm64/boot/dts/rockchip/{rk3588s-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} (99%)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
similarity index 99%
copy from arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
copy to arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index 4fa644ae510c..e68d4071400e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -1,4 +1,7 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Common devicetree definitions for the NanoPi R6C and R6S
+ */
 
 /dts-v1/;
 
@@ -8,9 +11,6 @@
 #include "rk3588s.dtsi"
 
 / {
-	model = "FriendlyElec NanoPi R6S";
-	compatible = "friendlyarm,nanopi-r6s", "rockchip,rk3588s";
-
 	aliases {
 		ethernet0 = &gmac1;
 		mmc0 = &sdmmc;
@@ -74,7 +74,6 @@ lan1_led: led-2 {
 		};
 
 		lan2_led: led-3 {
-			label = "lan2_led";
 			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&lan2_led_pin>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
index 497bbb57071f..ccc5e4627517 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
@@ -2,7 +2,7 @@
 
 /dts-v1/;
 
-#include "rk3588s-nanopi-r6s.dts"
+#include "rk3588s-nanopi-r6.dtsi"
 
 / {
 	model = "FriendlyElec NanoPi R6C";
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
index 4fa644ae510c..9c3e0b0daaac 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
@@ -2,763 +2,13 @@
 
 /dts-v1/;
 
-#include <dt-bindings/pinctrl/rockchip.h>
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include "rk3588s.dtsi"
+#include "rk3588s-nanopi-r6.dtsi"
 
 / {
 	model = "FriendlyElec NanoPi R6S";
 	compatible = "friendlyarm,nanopi-r6s", "rockchip,rk3588s";
-
-	aliases {
-		ethernet0 = &gmac1;
-		mmc0 = &sdmmc;
-		mmc1 = &sdhci;
-	};
-
-	chosen {
-		stdout-path = "serial2:1500000n8";
-	};
-
-	adc-keys {
-		compatible = "adc-keys";
-		io-channels = <&saradc 0>;
-		io-channel-names = "buttons";
-		keyup-threshold-microvolt = <1800000>;
-		poll-interval = <100>;
-
-		button-maskrom {
-			label = "Maskrom";
-			linux,code = <KEY_VENDOR>;
-			press-threshold-microvolt = <1800>;
-		};
-	};
-
-	gpio-keys {
-		compatible = "gpio-keys";
-		pinctrl-names = "default";
-		pinctrl-0 = <&key1_pin>;
-
-		button-user {
-			label = "User";
-			linux,code = <BTN_1>;
-			gpios = <&gpio1 RK_PC0 GPIO_ACTIVE_LOW>;
-			debounce-interval = <50>;
-		};
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		sys_led: led-0 {
-			label = "sys_led";
-			gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
-			linux,default-trigger = "heartbeat";
-			pinctrl-names = "default";
-			pinctrl-0 = <&sys_led_pin>;
-		};
-
-		wan_led: led-1 {
-			label = "wan_led";
-			gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&wan_led_pin>;
-		};
-
-		lan1_led: led-2 {
-			label = "lan1_led";
-			gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&lan1_led_pin>;
-		};
-
-		lan2_led: led-3 {
-			label = "lan2_led";
-			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&lan2_led_pin>;
-		};
-	};
-
-	vcc5v0_sys: vcc5v0-sys-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc5v0_sys";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-	};
-
-	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc_1v1_nldo_s3";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <1100000>;
-		regulator-max-microvolt = <1100000>;
-		vin-supply = <&vcc5v0_sys>;
-	};
-
-	vcc_3v3_s0: vcc-3v3-s0-regulator {
-		compatible = "regulator-fixed";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		regulator-name = "vcc_3v3_s0";
-		vin-supply = <&vcc_3v3_s3>;
-	};
-
-	vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
-		compatible = "regulator-fixed";
-		enable-active-high;
-		gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&sd_s0_pwr>;
-		regulator-name = "vcc_3v3_sd_s0";
-		regulator-boot-on;
-		regulator-max-microvolt = <3000000>;
-		regulator-min-microvolt = <3000000>;
-		vin-supply = <&vcc_3v3_s3>;
-	};
-
-	vcc_3v3_pcie20: vcc3v3-pcie20-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc_3v3_pcie20";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		vin-supply = <&vcc_3v3_s3>;
-	};
-
-	vcc5v0_usb: vcc5v0-usb-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc5v0_usb";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_sys>;
-	};
-
-	vcc5v0_usb_otg0: vcc5v0-usb-otg0-regulator {
-		compatible = "regulator-fixed";
-		enable-active-high;
-		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&typec5v_pwren>;
-		regulator-name = "vcc5v0_usb_otg0";
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_usb>;
-	};
-
-	vcc5v0_host_20: vcc5v0-host-20-regulator {
-		compatible = "regulator-fixed";
-		enable-active-high;
-		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&vcc5v0_host20_en>;
-		regulator-name = "vcc5v0_host_20";
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_usb>;
-	};
-};
-
-&combphy0_ps {
-	status = "okay";
-};
-
-&combphy2_psu {
-	status = "okay";
-};
-
-&cpu_b0 {
-	cpu-supply = <&vdd_cpu_big0_s0>;
-};
-
-&cpu_b1 {
-	cpu-supply = <&vdd_cpu_big0_s0>;
-};
-
-&cpu_b2 {
-	cpu-supply = <&vdd_cpu_big1_s0>;
-};
-
-&cpu_b3 {
-	cpu-supply = <&vdd_cpu_big1_s0>;
-};
-
-&cpu_l0 {
-	cpu-supply = <&vdd_cpu_lit_s0>;
-};
-
-&cpu_l1 {
-	cpu-supply = <&vdd_cpu_lit_s0>;
-};
-
-&cpu_l2 {
-	cpu-supply = <&vdd_cpu_lit_s0>;
-};
-
-&cpu_l3 {
-	cpu-supply = <&vdd_cpu_lit_s0>;
-};
-
-&gmac1 {
-	clock_in_out = "output";
-	phy-handle = <&rgmii_phy1>;
-	phy-mode = "rgmii-rxid";
-	pinctrl-0 = <&gmac1_miim
-		     &gmac1_tx_bus2
-		     &gmac1_rx_bus2
-		     &gmac1_rgmii_clk
-		     &gmac1_rgmii_bus>;
-	pinctrl-names = "default";
-	tx_delay = <0x42>;
-	status = "okay";
-};
-
-&i2c0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&i2c0m2_xfer>;
-	status = "okay";
-
-	vdd_cpu_big0_s0: regulator@42 {
-		compatible = "rockchip,rk8602";
-		reg = <0x42>;
-		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_cpu_big0_s0";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <550000>;
-		regulator-max-microvolt = <1050000>;
-		regulator-ramp-delay = <2300>;
-		vin-supply = <&vcc5v0_sys>;
-
-		regulator-state-mem {
-			regulator-off-in-suspend;
-		};
-	};
-
-	vdd_cpu_big1_s0: regulator@43 {
-		compatible = "rockchip,rk8603", "rockchip,rk8602";
-		reg = <0x43>;
-		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_cpu_big1_s0";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <550000>;
-		regulator-max-microvolt = <1050000>;
-		regulator-ramp-delay = <2300>;
-		vin-supply = <&vcc5v0_sys>;
-
-		regulator-state-mem {
-			regulator-off-in-suspend;
-		};
-	};
-};
-
-&i2c2 {
-	status = "okay";
-
-	vdd_npu_s0: regulator@42 {
-		compatible = "rockchip,rk8602";
-		reg = <0x42>;
-		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_npu_s0";
-		regulator-min-microvolt = <550000>;
-		regulator-max-microvolt = <950000>;
-		regulator-ramp-delay = <2300>;
-		regulator-boot-on;
-		regulator-always-on;
-		vin-supply = <&vcc5v0_sys>;
-
-		regulator-state-mem {
-			regulator-off-in-suspend;
-		};
-	};
-};
-
-&i2c6 {
-	clock-frequency = <200000>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&i2c6m0_xfer>;
-	status = "okay";
-
-	hym8563: rtc@51 {
-		compatible = "haoyu,hym8563";
-		reg = <0x51>;
-		#clock-cells = <0>;
-		clock-output-names = "hym8563";
-		pinctrl-names = "default";
-		pinctrl-0 = <&rtc_int>;
-		interrupt-parent = <&gpio0>;
-		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
-		wakeup-source;
-	};
-};
-
-&mdio1 {
-	rgmii_phy1: ethernet-phy@1 {
-		compatible = "ethernet-phy-id001c.c916";
-		reg = <0x1>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&rtl8211f_rst>;
-		reset-assert-us = <20000>;
-		reset-deassert-us = <100000>;
-		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
-	};
-};
-
-&pcie2x1l1 {
-	reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
-	vpcie3v3-supply = <&vcc_3v3_pcie20>;
-	status = "okay";
-};
-
-&pcie2x1l2 {
-	reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
-	vpcie3v3-supply = <&vcc_3v3_pcie20>;
-	status = "okay";
-};
-
-&pinctrl {
-	gpio-key {
-		key1_pin: key1-pin {
-			rockchip,pins = <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
-		};
-	};
-
-	gpio-leds {
-		sys_led_pin: sys-led-pin {
-			rockchip,pins =
-				<1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-
-		wan_led_pin: wan-led-pin {
-			rockchip,pins =
-				<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-
-		lan1_led_pin: lan1-led-pin {
-			rockchip,pins =
-				<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-
-		lan2_led_pin: lan2-led-pin {
-			rockchip,pins =
-				<1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-
-	hym8563 {
-		rtc_int: rtc-int {
-			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
-		};
-	};
-
-	sdmmc {
-		sd_s0_pwr: sd-s0-pwr {
-			rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
-		};
-	};
-
-	usb {
-		typec5v_pwren: typec5v-pwren {
-			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-
-		vcc5v0_host20_en: vcc5v0-host20-en {
-			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-
-	rtl8211f {
-		rtl8211f_rst: rtl8211f-rst {
-			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-};
-
-&saradc {
-	vref-supply = <&avcc_1v8_s0>;
-	status = "okay";
-};
-
-&sdhci {
-	bus-width = <8>;
-	no-sdio;
-	no-sd;
-	non-removable;
-	mmc-hs200-1_8v;
-	status = "okay";
-};
-
-&sdmmc {
-	bus-width = <4>;
-	cap-sd-highspeed;
-	disable-wp;
-	max-frequency = <150000000>;
-	no-mmc;
-	no-sdio;
-	sd-uhs-sdr104;
-	vmmc-supply = <&vcc_3v3_sd_s0>;
-	vqmmc-supply = <&vccio_sd_s0>;
-	status = "okay";
-};
-
-&spi2 {
-	status = "okay";
-	assigned-clocks = <&cru CLK_SPI2>;
-	assigned-clock-rates = <200000000>;
-	pinctrl-names = "default";
-	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
-	num-cs = <1>;
-
-	pmic@0 {
-		compatible = "rockchip,rk806";
-		spi-max-frequency = <1000000>;
-		reg = <0x0>;
-
-		interrupt-parent = <&gpio0>;
-		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-
-		pinctrl-names = "default";
-		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-
-		system-power-controller;
-
-		vcc1-supply = <&vcc5v0_sys>;
-		vcc2-supply = <&vcc5v0_sys>;
-		vcc3-supply = <&vcc5v0_sys>;
-		vcc4-supply = <&vcc5v0_sys>;
-		vcc5-supply = <&vcc5v0_sys>;
-		vcc6-supply = <&vcc5v0_sys>;
-		vcc7-supply = <&vcc5v0_sys>;
-		vcc8-supply = <&vcc5v0_sys>;
-		vcc9-supply = <&vcc5v0_sys>;
-		vcc10-supply = <&vcc5v0_sys>;
-		vcc11-supply = <&vcc_2v0_pldo_s3>;
-		vcc12-supply = <&vcc5v0_sys>;
-		vcc13-supply = <&vcc_1v1_nldo_s3>;
-		vcc14-supply = <&vcc_1v1_nldo_s3>;
-		vcca-supply = <&vcc5v0_sys>;
-
-		gpio-controller;
-		#gpio-cells = <2>;
-
-		rk806_dvs1_null: dvs1-null-pins {
-			pins = "gpio_pwrctrl1";
-			function = "pin_fun0";
-		};
-
-		rk806_dvs2_null: dvs2-null-pins {
-			pins = "gpio_pwrctrl2";
-			function = "pin_fun0";
-		};
-
-		rk806_dvs3_null: dvs3-null-pins {
-			pins = "gpio_pwrctrl3";
-			function = "pin_fun0";
-		};
-
-		regulators {
-			vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
-				regulator-boot-on;
-				regulator-min-microvolt = <550000>;
-				regulator-max-microvolt = <950000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_gpu_s0";
-				regulator-enable-ramp-delay = <400>;
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <550000>;
-				regulator-max-microvolt = <950000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_cpu_lit_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vdd_log_s0: dcdc-reg3 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <675000>;
-				regulator-max-microvolt = <750000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_log_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-					regulator-suspend-microvolt = <750000>;
-				};
-			};
-
-			vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <550000>;
-				regulator-max-microvolt = <950000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_vdenc_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vdd_ddr_s0: dcdc-reg5 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <675000>;
-				regulator-max-microvolt = <900000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_ddr_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-					regulator-suspend-microvolt = <850000>;
-				};
-			};
-
-			vdd2_ddr_s3: dcdc-reg6 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-name = "vdd2_ddr_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-				};
-			};
-
-			vcc_2v0_pldo_s3: dcdc-reg7 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <2000000>;
-				regulator-max-microvolt = <2000000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vdd_2v0_pldo_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <2000000>;
-				};
-			};
-
-			vcc_3v3_s3: dcdc-reg8 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-name = "vcc_3v3_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <3300000>;
-				};
-			};
-
-			vddq_ddr_s0: dcdc-reg9 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-name = "vddq_ddr_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vcc_1v8_s3: dcdc-reg10 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-name = "vcc_1v8_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			avcc_1v8_s0: pldo-reg1 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-name = "avcc_1v8_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vcc_1v8_s0: pldo-reg2 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-name = "vcc_1v8_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			avdd_1v2_s0: pldo-reg3 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1200000>;
-				regulator-max-microvolt = <1200000>;
-				regulator-name = "avdd_1v2_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			avcc_3v3_s0: pldo-reg4 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <3300000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "avcc_3v3_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vccio_sd_s0: pldo-reg5 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3300000>;
-				regulator-ramp-delay = <12500>;
-				regulator-name = "vccio_sd_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			pldo6_s3: pldo-reg6 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <1800000>;
-				regulator-name = "pldo6_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <1800000>;
-				};
-			};
-
-			vdd_0v75_s3: nldo-reg1 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <750000>;
-				regulator-name = "vdd_0v75_s3";
-
-				regulator-state-mem {
-					regulator-on-in-suspend;
-					regulator-suspend-microvolt = <750000>;
-				};
-			};
-
-			avdd_ddr_pll_s0: nldo-reg2 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <850000>;
-				regulator-max-microvolt = <850000>;
-				regulator-name = "avdd_ddr_pll_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-					regulator-suspend-microvolt = <850000>;
-				};
-			};
-
-			avdd_0v75_s0: nldo-reg3 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <750000>;
-				regulator-name = "avdd_0v75_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			avdd_0v85_s0: nldo-reg4 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <850000>;
-				regulator-max-microvolt = <850000>;
-				regulator-name = "avdd_0v85_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-
-			vdd_0v75_s0: nldo-reg5 {
-				regulator-always-on;
-				regulator-boot-on;
-				regulator-min-microvolt = <750000>;
-				regulator-max-microvolt = <750000>;
-				regulator-name = "vdd_0v75_s0";
-
-				regulator-state-mem {
-					regulator-off-in-suspend;
-				};
-			};
-		};
-	};
-};
-
-&tsadc {
-	status = "okay";
-};
-
-&u2phy2 {
-	status = "okay";
-};
-
-&u2phy2_host {
-	phy-supply = <&vcc5v0_host_20>;
-	status = "okay";
-};
-
-&uart2 {
-	pinctrl-0 = <&uart2m0_xfer>;
-	status = "okay";
-};
-
-&usb_host0_ehci {
-	status = "okay";
 };
 
-&usb_host0_ohci {
-	status = "okay";
+&lan2_led {
+	label = "lan2_led";
 };
-- 
2.43.0



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

* [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
  2024-06-12 20:48 ` [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S Sebastian Kropatsch
@ 2024-06-12 20:48 ` Sebastian Kropatsch
  2024-06-20 18:39   ` Heiko Stübner
  2024-06-12 20:48 ` [PATCH 3/5] arm64: dts: rockchip: Improve LEDs " Sebastian Kropatsch
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Fix the alphabetical ordering in some nodes and rename some regulators
and pins to match the schematics [1][2] as well as to adhere to
preferred naming schemes.

In addition to that:
* vcc_3v3_sd_s0: Fix voltage to be 3.3V
* vcc3v3_pcie:
    - Move to NanoPi R6C, this power switch is not available on R6S
    - Fix vin-supply (is vcc_5v0 per schematics)
    - Add gpios/pincrtl to enable power
* vcc5v0_usb: Remove this regulator since according to the schematics,
  vcc5v0_host_20 and vcc5v0_usb_otg0 are directly powered by vcc_5v0
* gmac1: Add rx_delay of 0 (no delay since phy-mode = "rgmii-rxid")
* rgmii_phy1: Add phy-supply as seen in schematics
* pcie2*:
    - Add pinctrl reset pins
    - Update vpcie3v3-supply to match the schematics
* sdhci: Add vmmc-supply and vqmmc-supply

Links:
[1] https://wiki.friendlyelec.com/wiki/images/f/f7/NanoPi_R6C_2302_SCH.PDF
[2] https://wiki.friendlyelec.com/wiki/images/2/2f/NanoPi_R6S_2208_SCH.PDF

Fixes: f1b11f43b3e9 ("arm64: dts: rockchip: Add support for NanoPi R6S")
Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
---

I didn't want to spam many patches with small fixes/improvements, so
this one patch includes lots of small changes. Let me know if another
method is preferred :)

---
 .../boot/dts/rockchip/rk3588s-nanopi-r6.dtsi  | 169 +++++++++---------
 .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  |  28 +++
 .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  |   5 +
 3 files changed, 122 insertions(+), 80 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index e68d4071400e..8b90bae28302 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -21,7 +21,7 @@ chosen {
 		stdout-path = "serial2:1500000n8";
 	};
 
-	adc-keys {
+	adc-key-maskrom {
 		compatible = "adc-keys";
 		io-channels = <&saradc 0>;
 		io-channel-names = "buttons";
@@ -41,10 +41,10 @@ gpio-keys {
 		pinctrl-0 = <&key1_pin>;
 
 		button-user {
-			label = "User";
-			linux,code = <BTN_1>;
-			gpios = <&gpio1 RK_PC0 GPIO_ACTIVE_LOW>;
 			debounce-interval = <50>;
+			gpios = <&gpio1 RK_PC0 GPIO_ACTIVE_LOW>;
+			label = "User Button";
+			linux,code = <BTN_1>;
 		};
 	};
 
@@ -80,26 +80,27 @@ lan2_led: led-3 {
 		};
 	};
 
-	vcc5v0_sys: vcc5v0-sys-regulator {
+	vcc_5v0: regulator-vcc-5v0 {
 		compatible = "regulator-fixed";
-		regulator-name = "vcc5v0_sys";
 		regulator-always-on;
 		regulator-boot-on;
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
+		regulator-name = "vcc_5v0";
 	};
 
-	vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
+	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
 		compatible = "regulator-fixed";
-		regulator-name = "vcc_1v1_nldo_s3";
 		regulator-always-on;
 		regulator-boot-on;
 		regulator-min-microvolt = <1100000>;
 		regulator-max-microvolt = <1100000>;
-		vin-supply = <&vcc5v0_sys>;
+		regulator-name = "vcc_1v1_nldo_s3";
+		vin-supply = <&vcc_5v0>;
 	};
 
-	vcc_3v3_s0: vcc-3v3-s0-regulator {
+	/* SY6280AAC power switch (U3824 in schematics) */
+	vcc_3v3_s0: regulator-vcc-3v3-s0 {
 		compatible = "regulator-fixed";
 		regulator-always-on;
 		regulator-boot-on;
@@ -109,61 +110,45 @@ vcc_3v3_s0: vcc-3v3-s0-regulator {
 		vin-supply = <&vcc_3v3_s3>;
 	};
 
-	vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
+	vcc_3v3_sd_s0: regulator-vcc-3v3-sd-s0 {
 		compatible = "regulator-fixed";
 		enable-active-high;
 		gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&sd_s0_pwr>;
-		regulator-name = "vcc_3v3_sd_s0";
-		regulator-boot-on;
-		regulator-max-microvolt = <3000000>;
-		regulator-min-microvolt = <3000000>;
-		vin-supply = <&vcc_3v3_s3>;
-	};
-
-	vcc_3v3_pcie20: vcc3v3-pcie20-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc_3v3_pcie20";
-		regulator-always-on;
 		regulator-boot-on;
-		regulator-min-microvolt = <3300000>;
 		regulator-max-microvolt = <3300000>;
+		regulator-min-microvolt = <3300000>;
+		regulator-name = "vcc_3v3_sd_s0";
 		vin-supply = <&vcc_3v3_s3>;
 	};
 
-	vcc5v0_usb: vcc5v0-usb-regulator {
-		compatible = "regulator-fixed";
-		regulator-name = "vcc5v0_usb";
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <5000000>;
-		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_sys>;
-	};
-
-	vcc5v0_usb_otg0: vcc5v0-usb-otg0-regulator {
+	/* SY6280AAC power switch (U9539 in schematics) */
+	/* For USB 2.0 Type-A port */
+	vcc_5v0_host_20: regulator-vcc-5v0-host-20 {
 		compatible = "regulator-fixed";
 		enable-active-high;
-		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
+		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
-		pinctrl-0 = <&typec5v_pwren>;
-		regulator-name = "vcc5v0_usb_otg0";
+		pinctrl-0 = <&usb_host_pwren_h>;
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_usb>;
+		regulator-name = "vcc_5v0_host_20";
+		vin-supply = <&vcc_5v0>;
 	};
 
-	vcc5v0_host_20: vcc5v0-host-20-regulator {
+	/* SY6280AAC power switch (U9538 in schematics) */
+	/* For USB 3.0 Type-A port */
+	vcc5v0_usb_otg0: regulator-vcc5v0-usb-otg0 {
 		compatible = "regulator-fixed";
 		enable-active-high;
-		gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
+		gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
 		pinctrl-names = "default";
-		pinctrl-0 = <&vcc5v0_host20_en>;
-		regulator-name = "vcc5v0_host_20";
+		pinctrl-0 = <&typec5v_pwren_h>;
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
-		vin-supply = <&vcc5v0_usb>;
+		regulator-name = "vcc5v0_usb_otg0";
+		vin-supply = <&vcc_5v0>;
 	};
 };
 
@@ -211,12 +196,13 @@ &gmac1 {
 	clock_in_out = "output";
 	phy-handle = <&rgmii_phy1>;
 	phy-mode = "rgmii-rxid";
+	pinctrl-names = "default";
 	pinctrl-0 = <&gmac1_miim
 		     &gmac1_tx_bus2
 		     &gmac1_rx_bus2
 		     &gmac1_rgmii_clk
 		     &gmac1_rgmii_bus>;
-	pinctrl-names = "default";
+	rx_delay = <0x00>;
 	tx_delay = <0x42>;
 	status = "okay";
 };
@@ -230,13 +216,13 @@ vdd_cpu_big0_s0: regulator@42 {
 		compatible = "rockchip,rk8602";
 		reg = <0x42>;
 		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_cpu_big0_s0";
 		regulator-always-on;
 		regulator-boot-on;
 		regulator-min-microvolt = <550000>;
 		regulator-max-microvolt = <1050000>;
+		regulator-name = "vdd_cpu_big0_s0";
 		regulator-ramp-delay = <2300>;
-		vin-supply = <&vcc5v0_sys>;
+		vin-supply = <&vcc_5v0>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -247,13 +233,13 @@ vdd_cpu_big1_s0: regulator@43 {
 		compatible = "rockchip,rk8603", "rockchip,rk8602";
 		reg = <0x43>;
 		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_cpu_big1_s0";
 		regulator-always-on;
 		regulator-boot-on;
 		regulator-min-microvolt = <550000>;
 		regulator-max-microvolt = <1050000>;
+		regulator-name = "vdd_cpu_big1_s0";
 		regulator-ramp-delay = <2300>;
-		vin-supply = <&vcc5v0_sys>;
+		vin-supply = <&vcc_5v0>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -268,13 +254,13 @@ vdd_npu_s0: regulator@42 {
 		compatible = "rockchip,rk8602";
 		reg = <0x42>;
 		fcs,suspend-voltage-selector = <1>;
-		regulator-name = "vdd_npu_s0";
+		regulator-always-on;
+		regulator-boot-on;
 		regulator-min-microvolt = <550000>;
 		regulator-max-microvolt = <950000>;
+		regulator-name = "vdd_npu_s0";
 		regulator-ramp-delay = <2300>;
-		regulator-boot-on;
-		regulator-always-on;
-		vin-supply = <&vcc5v0_sys>;
+		vin-supply = <&vcc_5v0>;
 
 		regulator-state-mem {
 			regulator-off-in-suspend;
@@ -293,35 +279,43 @@ hym8563: rtc@51 {
 		reg = <0x51>;
 		#clock-cells = <0>;
 		clock-output-names = "hym8563";
-		pinctrl-names = "default";
-		pinctrl-0 = <&rtc_int>;
 		interrupt-parent = <&gpio0>;
 		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&rtc_int>;
 		wakeup-source;
 	};
 };
 
+/* RTL8211F-CG Ethernet */
 &mdio1 {
 	rgmii_phy1: ethernet-phy@1 {
 		compatible = "ethernet-phy-id001c.c916";
 		reg = <0x1>;
+		phy-supply = <&vcc_3v3_s0>;
 		pinctrl-names = "default";
-		pinctrl-0 = <&rtl8211f_rst>;
+		pinctrl-0 = <&gmac1_rstn_l>;
 		reset-assert-us = <20000>;
 		reset-deassert-us = <100000>;
 		reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
 	};
 };
 
+/* RTL8125BG Ethernet */
 &pcie2x1l1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie20x1_1_perstn_m2>;
 	reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
-	vpcie3v3-supply = <&vcc_3v3_pcie20>;
+	vpcie3v3-supply = <&vcc_3v3_s3>;
 	status = "okay";
 };
 
+/* R6C: M.2 M-Key socket */
+/* R6S: RTL8125BG Ethernet */
 &pcie2x1l2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pcie20x1_2_perstn_m0>;
 	reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
-	vpcie3v3-supply = <&vcc_3v3_pcie20>;
 	status = "okay";
 };
 
@@ -360,24 +354,34 @@ rtc_int: rtc-int {
 		};
 	};
 
+	pcie {
+		pcie20x1_1_perstn_m2: pcie2x1-1-rst {
+			rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+
+		pcie20x1_2_perstn_m0: pcie2x1-2-rst {
+			rockchip,pins = <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	sdmmc {
-		sd_s0_pwr: sd-s0-pwr {
+		sd_s0_pwr: sd-pwr {
 			rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
 		};
 	};
 
 	usb {
-		typec5v_pwren: typec5v-pwren {
+		typec5v_pwren_h: usb3-pwren {
 			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 
-		vcc5v0_host20_en: vcc5v0-host20-en {
+		usb_host_pwren_h: usb2-pwren {
 			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 	};
 
 	rtl8211f {
-		rtl8211f_rst: rtl8211f-rst {
+		gmac1_rstn_l: rtl8211f-rst {
 			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 	};
@@ -388,15 +392,19 @@ &saradc {
 	status = "okay";
 };
 
+/* eMMC */
 &sdhci {
 	bus-width = <8>;
-	no-sdio;
+	mmc-hs200-1_8v;
 	no-sd;
+	no-sdio;
 	non-removable;
-	mmc-hs200-1_8v;
+	vmmc-supply = <&vcc_3v3_s3>;
+	vqmmc-supply = <&vcc_1v8_s3>;
 	status = "okay";
 };
 
+/* microSD card */
 &sdmmc {
 	bus-width = <4>;
 	cap-sd-highspeed;
@@ -411,16 +419,15 @@ &sdmmc {
 };
 
 &spi2 {
-	status = "okay";
 	assigned-clocks = <&cru CLK_SPI2>;
 	assigned-clock-rates = <200000000>;
+	num-cs = <1>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
-	num-cs = <1>;
+	status = "okay";
 
-	pmic@0 {
+	rk806_single: pmic@0 {
 		compatible = "rockchip,rk806";
-		spi-max-frequency = <1000000>;
 		reg = <0x0>;
 
 		interrupt-parent = <&gpio0>;
@@ -430,23 +437,24 @@ pmic@0 {
 		pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
 			    <&rk806_dvs2_null>, <&rk806_dvs3_null>;
 
+		spi-max-frequency = <1000000>;
 		system-power-controller;
 
-		vcc1-supply = <&vcc5v0_sys>;
-		vcc2-supply = <&vcc5v0_sys>;
-		vcc3-supply = <&vcc5v0_sys>;
-		vcc4-supply = <&vcc5v0_sys>;
-		vcc5-supply = <&vcc5v0_sys>;
-		vcc6-supply = <&vcc5v0_sys>;
-		vcc7-supply = <&vcc5v0_sys>;
-		vcc8-supply = <&vcc5v0_sys>;
-		vcc9-supply = <&vcc5v0_sys>;
-		vcc10-supply = <&vcc5v0_sys>;
+		vcc1-supply = <&vcc_5v0>;
+		vcc2-supply = <&vcc_5v0>;
+		vcc3-supply = <&vcc_5v0>;
+		vcc4-supply = <&vcc_5v0>;
+		vcc5-supply = <&vcc_5v0>;
+		vcc6-supply = <&vcc_5v0>;
+		vcc7-supply = <&vcc_5v0>;
+		vcc8-supply = <&vcc_5v0>;
+		vcc9-supply = <&vcc_5v0>;
+		vcc10-supply = <&vcc_5v0>;
 		vcc11-supply = <&vcc_2v0_pldo_s3>;
-		vcc12-supply = <&vcc5v0_sys>;
+		vcc12-supply = <&vcc_5v0>;
 		vcc13-supply = <&vcc_1v1_nldo_s3>;
 		vcc14-supply = <&vcc_1v1_nldo_s3>;
-		vcca-supply = <&vcc5v0_sys>;
+		vcca-supply = <&vcc_5v0>;
 
 		gpio-controller;
 		#gpio-cells = <2>;
@@ -745,10 +753,11 @@ &u2phy2 {
 };
 
 &u2phy2_host {
-	phy-supply = <&vcc5v0_host_20>;
+	phy-supply = <&vcc_5v0_host_20>;
 	status = "okay";
 };
 
+/* Debug UART */
 &uart2 {
 	pinctrl-0 = <&uart2m0_xfer>;
 	status = "okay";
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
index ccc5e4627517..24dcd3e07ea7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
@@ -7,8 +7,36 @@
 / {
 	model = "FriendlyElec NanoPi R6C";
 	compatible = "friendlyarm,nanopi-r6c", "rockchip,rk3588s";
+
+	/* MP2143DJ power switch (U9536 in schematics) */
+	vcc3v3_pcie: regulator-vcc3v3-pcie {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pcie20x1_2_con_pwren>;
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-name = "vcc3v3_pcie";
+		vin-supply = <&vcc_5v0>;
+	};
 };
 
 &lan2_led {
 	label = "user_led";
 };
+
+/* M.2 M-Key socket */
+&pcie2x1l2 {
+	vpcie3v3-supply = <&vcc3v3_pcie>;
+};
+
+&pinctrl {
+	pcie {
+		pcie20x1_2_con_pwren: pcie20x1-2-con-pwren {
+			rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
index 9c3e0b0daaac..d24110b6cf5d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
@@ -12,3 +12,8 @@ / {
 &lan2_led {
 	label = "lan2_led";
 };
+
+/* RTL8125BG Ethernet */
+&pcie2x1l2 {
+	vpcie3v3-supply = <&vcc_3v3_s3>;
+};
-- 
2.43.0



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

* [PATCH 3/5] arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
  2024-06-12 20:48 ` [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S Sebastian Kropatsch
  2024-06-12 20:48 ` [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S Sebastian Kropatsch
@ 2024-06-12 20:48 ` Sebastian Kropatsch
  2024-06-14 15:10   ` kernel test robot
  2024-06-20 18:42   ` Heiko Stübner
  2024-06-12 20:48 ` [PATCH 4/5] arm64: dts: rockchip: Enable lower USB3 port " Sebastian Kropatsch
                   ` (2 subsequent siblings)
  5 siblings, 2 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Move led-3 node into NanoPi R6C/R6S's source files since they have
different functionalities on each board: On the R6S this LED is used
to signal LAN2 link up, while on the R6C this LED does not have a
pre-defined purpose.

In addition to that:
    - Remove deprecated label property
    - Add color and function properties
    - Add linux,default-trigger to trigger on Ethernet link

Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
---

DT validation doesn't like the 'linux,default-trigger = "stmmac-0:01:link"'
properties, since "*:link" is not a valid value according to
[Documentation/devicetree/bindings/leds/common.yaml]. These LEDs do
have the specific purpose to show if an Ethernet link is up though.
There is one LED for each Ethernet port and they are labeled WAN and
LAN.
Using the 'linux,default-trigger' like this does work perfectly fine
with this solution. I could not find another way to achieve this. Please
let me know if there is a better way.
Maybe it would also be valid to add an entry to the DT bindings file to
allow "*:link" as a value for 'linux,default-trigger'?

The same problem also applies to the NanoPi R5C/R5S which also has
these LEDs to show Ethernet link up, although in their current DT
these LEDs are simply not functional.

---
 .../boot/dts/rockchip/rk3588s-nanopi-r6.dtsi  | 32 +++++++------------
 .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  | 22 ++++++++++---
 .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 26 +++++++++++++--
 3 files changed, 54 insertions(+), 26 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index 8b90bae28302..69d0f1f2349b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -8,6 +8,7 @@
 #include <dt-bindings/pinctrl/rockchip.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
 #include "rk3588s.dtsi"
 
 / {
@@ -52,7 +53,8 @@ leds {
 		compatible = "gpio-leds";
 
 		sys_led: led-0 {
-			label = "sys_led";
+			color = <LED_COLOR_ID_RED>;
+			function = LED_FUNCTION_HEARTBEAT;
 			gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
 			linux,default-trigger = "heartbeat";
 			pinctrl-names = "default";
@@ -60,24 +62,22 @@ sys_led: led-0 {
 		};
 
 		wan_led: led-1 {
-			label = "wan_led";
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_WAN;
 			gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "stmmac-0:01:link";
 			pinctrl-names = "default";
 			pinctrl-0 = <&wan_led_pin>;
 		};
 
 		lan1_led: led-2 {
-			label = "lan1_led";
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
 			gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "r8169-3-3100:00:link";
 			pinctrl-names = "default";
 			pinctrl-0 = <&lan1_led_pin>;
 		};
-
-		lan2_led: led-3 {
-			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&lan2_led_pin>;
-		};
 	};
 
 	vcc_5v0: regulator-vcc-5v0 {
@@ -328,23 +328,15 @@ key1_pin: key1-pin {
 
 	gpio-leds {
 		sys_led_pin: sys-led-pin {
-			rockchip,pins =
-				<1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
+			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 
 		wan_led_pin: wan-led-pin {
-			rockchip,pins =
-				<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 
 		lan1_led_pin: lan1-led-pin {
-			rockchip,pins =
-				<1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-
-		lan2_led_pin: lan2-led-pin {
-			rockchip,pins =
-				<1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+			rockchip,pins = <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
 		};
 	};
 
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
index 24dcd3e07ea7..d1b6aa033abc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
@@ -8,6 +8,18 @@ / {
 	model = "FriendlyElec NanoPi R6C";
 	compatible = "friendlyarm,nanopi-r6c", "rockchip,rk3588s";
 
+	leds {
+		compatible = "gpio-leds";
+
+		led1_led: led-3 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = "led1";
+			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&led1_led_pin>;
+		};
+	};
+
 	/* MP2143DJ power switch (U9536 in schematics) */
 	vcc3v3_pcie: regulator-vcc3v3-pcie {
 		compatible = "regulator-fixed";
@@ -24,16 +36,18 @@ vcc3v3_pcie: regulator-vcc3v3-pcie {
 	};
 };
 
-&lan2_led {
-	label = "user_led";
-};
-
 /* M.2 M-Key socket */
 &pcie2x1l2 {
 	vpcie3v3-supply = <&vcc3v3_pcie>;
 };
 
 &pinctrl {
+	gpio-leds {
+		led1_led_pin: led1-led-pin {
+			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	pcie {
 		pcie20x1_2_con_pwren: pcie20x1-2-con-pwren {
 			rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
index d24110b6cf5d..09afbc0a2581 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
@@ -7,13 +7,35 @@
 / {
 	model = "FriendlyElec NanoPi R6S";
 	compatible = "friendlyarm,nanopi-r6s", "rockchip,rk3588s";
+
+	leds {
+		compatible = "gpio-leds";
+
+		lan2_led: led-3 {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			function-enumerator = <2>;
+			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
+			linux,default-trigger = "r8169-4-4100:00:link";
+			pinctrl-names = "default";
+			pinctrl-0 = <&lan2_led_pin>;
+		};
+	};
 };
 
-&lan2_led {
-	label = "lan2_led";
+&lan1_led {
+	function-enumerator = <1>;
 };
 
 /* RTL8125BG Ethernet */
 &pcie2x1l2 {
 	vpcie3v3-supply = <&vcc_3v3_s3>;
 };
+
+&pinctrl {
+	gpio-leds {
+		lan2_led_pin: lan2-led-pin {
+			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+};
-- 
2.43.0



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

* [PATCH 4/5] arm64: dts: rockchip: Enable lower USB3 port on NanoPi R6C/R6S
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
                   ` (2 preceding siblings ...)
  2024-06-12 20:48 ` [PATCH 3/5] arm64: dts: rockchip: Improve LEDs " Sebastian Kropatsch
@ 2024-06-12 20:48 ` Sebastian Kropatsch
  2024-06-12 20:48 ` [PATCH 5/5] arm64: dts: rockchip: Enable GPU " Sebastian Kropatsch
  2024-06-13 17:27 ` [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Rob Herring (Arm)
  5 siblings, 0 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Enable support for the lower USB 3.0 Type-A port on the NanoPi R6C and
NanoPi R6S. The upper USB 2.0 Type-A port is already supported.

Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
---
 .../boot/dts/rockchip/rk3588s-nanopi-r6.dtsi  | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index 69d0f1f2349b..9676e7194451 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -740,6 +740,17 @@ &tsadc {
 	status = "okay";
 };
 
+/* USB2 PHY for USB 3.0 Type-A (lower port)*/
+&u2phy0 {
+	status = "okay";
+};
+
+&u2phy0_otg {
+	phy-supply = <&vcc5v0_usb_otg0>;
+	status = "okay";
+};
+
+/* USB2 PHY for USB 2.0 Type-A (upper port)*/
 &u2phy2 {
 	status = "okay";
 };
@@ -755,10 +766,27 @@ &uart2 {
 	status = "okay";
 };
 
+/* USB 2.0 Type-A (upper port) */
+/* PHY: <&u2phy2_host> */
 &usb_host0_ehci {
 	status = "okay";
 };
 
+/* USB 2.0 Type-A (upper port) */
+/* PHY: <&u2phy2_host> */
 &usb_host0_ohci {
 	status = "okay";
 };
+
+/* USB 3.0 Type-A (lower port) */
+/* PHYs: <&u2phy0_otg>, <&usbdp_phy0> */
+&usb_host0_xhci {
+	dr_mode = "host";
+	extcon = <&u2phy0>;
+	status = "okay";
+};
+
+/* USB3 PHY for USB 3.0 Type-A (lower port)*/
+&usbdp_phy0 {
+	status = "okay";
+};
-- 
2.43.0



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

* [PATCH 5/5] arm64: dts: rockchip: Enable GPU on NanoPi R6C/R6S
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
                   ` (3 preceding siblings ...)
  2024-06-12 20:48 ` [PATCH 4/5] arm64: dts: rockchip: Enable lower USB3 port " Sebastian Kropatsch
@ 2024-06-12 20:48 ` Sebastian Kropatsch
  2024-06-13 17:27 ` [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Rob Herring (Arm)
  5 siblings, 0 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-12 20:48 UTC (permalink / raw)
  To: Heiko Stuebner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Enable the Mali GPU on the FriendlyElec NanoPi R6C and R6S.

Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
---
 arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
index 9676e7194451..3620677dc7b4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
@@ -207,6 +207,12 @@ &gmac1_rgmii_clk
 	status = "okay";
 };
 
+&gpu {
+	mali-supply = <&vdd_gpu_s0>;
+	sram-supply = <&vdd_gpu_mem_s0>;
+	status = "okay";
+};
+
 &i2c0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&i2c0m2_xfer>;
-- 
2.43.0



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

* Re: [PATCH 0/5] Refactor, fix and improve NanoPi R6 series
  2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
                   ` (4 preceding siblings ...)
  2024-06-12 20:48 ` [PATCH 5/5] arm64: dts: rockchip: Enable GPU " Sebastian Kropatsch
@ 2024-06-13 17:27 ` Rob Herring (Arm)
  5 siblings, 0 replies; 13+ messages in thread
From: Rob Herring (Arm) @ 2024-06-13 17:27 UTC (permalink / raw)
  To: Sebastian Kropatsch
  Cc: Krzysztof Kozlowski, linux-kernel, linux-arm-kernel,
	linux-rockchip, Conor Dooley, Heiko Stuebner, devicetree


On Wed, 12 Jun 2024 22:48:09 +0200, Sebastian Kropatsch wrote:
> Hello,
> 
> This patch series fixes a lot of minor issues in the current devicetree
> for the FriendlyElec NanoPi R6 series (R6C and R6S), as well as adding
> support for the GPU and one USB3 port which was previously disabled.
> 
> To aid with these patches, I have refactored the devicetrees in such a
> way that they will now share a common dtsi source file in a similar
> fashion than what the NanoPi R5C and R5S are already doing.
> This makes changes which only affect one of the boards easier, less
> error-prone and more maintainable. Also we don't need to work with
> /delete-node/ and /delete-property/ this way :)
> 
> Cheers,
> Sebastian
> 
> PS: Additional comments in patch 2 and 3.
> 
> ---
> 
> Sebastian Kropatsch (5):
>   arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S
>   arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi
>     R6C/R6S
>   arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
>   arm64: dts: rockchip: Enable lower USB3 port on NanoPi R6C/R6S
>   arm64: dts: rockchip: Enable GPU on NanoPi R6C/R6S
> 
>  ...-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} | 242 +++---
>  .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  |  48 +-
>  .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 743 +-----------------
>  3 files changed, 193 insertions(+), 840 deletions(-)
>  copy arch/arm64/boot/dts/rockchip/{rk3588s-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} (81%)
> 
> --
> 2.43.0
> 
> 
> 


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/rk3588s-nanopi-r6c.dtb rockchip/rk3588s-nanopi-r6s.dtb' for 20240612205056.397204-1-seb-dev@mail.de:

arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-1:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
	'stmmac-0:01:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
	'stmmac-0:01:link' does not match '^cpu[0-9]*$'
	'stmmac-0:01:link' does not match '^hci[0-9]+-power$'
	'stmmac-0:01:link' does not match '^mmc[0-9]+$'
	'stmmac-0:01:link' does not match '^phy[0-9]+tx$'
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-1: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-2:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
	'r8169-3-3100:00:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
	'r8169-3-3100:00:link' does not match '^cpu[0-9]*$'
	'r8169-3-3100:00:link' does not match '^hci[0-9]+-power$'
	'r8169-3-3100:00:link' does not match '^mmc[0-9]+$'
	'r8169-3-3100:00:link' does not match '^phy[0-9]+tx$'
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-2: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-1:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
	'stmmac-0:01:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
	'stmmac-0:01:link' does not match '^cpu[0-9]*$'
	'stmmac-0:01:link' does not match '^hci[0-9]+-power$'
	'stmmac-0:01:link' does not match '^mmc[0-9]+$'
	'stmmac-0:01:link' does not match '^phy[0-9]+tx$'
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-1: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-2:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
	'r8169-3-3100:00:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
	'r8169-3-3100:00:link' does not match '^cpu[0-9]*$'
	'r8169-3-3100:00:link' does not match '^hci[0-9]+-power$'
	'r8169-3-3100:00:link' does not match '^mmc[0-9]+$'
	'r8169-3-3100:00:link' does not match '^phy[0-9]+tx$'
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-2: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-3:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
	'r8169-4-4100:00:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
	'r8169-4-4100:00:link' does not match '^cpu[0-9]*$'
	'r8169-4-4100:00:link' does not match '^hci[0-9]+-power$'
	'r8169-4-4100:00:link' does not match '^mmc[0-9]+$'
	'r8169-4-4100:00:link' does not match '^phy[0-9]+tx$'
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-3: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#







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

* Re: [PATCH 3/5] arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
  2024-06-12 20:48 ` [PATCH 3/5] arm64: dts: rockchip: Improve LEDs " Sebastian Kropatsch
@ 2024-06-14 15:10   ` kernel test robot
  2024-06-20 18:42   ` Heiko Stübner
  1 sibling, 0 replies; 13+ messages in thread
From: kernel test robot @ 2024-06-14 15:10 UTC (permalink / raw)
  To: Sebastian Kropatsch, Heiko Stuebner
  Cc: oe-kbuild-all, linux-rockchip, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, devicetree, linux-arm-kernel, linux-kernel

Hi Sebastian,

kernel test robot noticed the following build warnings:

[auto build test WARNING on rockchip/for-next]
[also build test WARNING on linus/master v6.10-rc3 next-20240613]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Sebastian-Kropatsch/arm64-dts-rockchip-Add-common-definitions-for-NanoPi-R6C-and-R6S/20240613-045639
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
patch link:    https://lore.kernel.org/r/20240612205056.397204-4-seb-dev%40mail.de
patch subject: [PATCH 3/5] arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
config: arm64-randconfig-051-20240614 (https://download.01.org/0day-ci/archive/20240614/202406142337.SdnyldQ8-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
dtschema version: 2024.6.dev1+g833054f
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240614/202406142337.SdnyldQ8-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406142337.SdnyldQ8-lkp@intel.com/

dtcheck warnings: (new ones prefixed by >>)
>> arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-1:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
   	'stmmac-0:01:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
   	'stmmac-0:01:link' does not match '^cpu[0-9]*$'
   	'stmmac-0:01:link' does not match '^hci[0-9]+-power$'
   	'stmmac-0:01:link' does not match '^mmc[0-9]+$'
   	'stmmac-0:01:link' does not match '^phy[0-9]+tx$'
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
>> arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-1: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
   arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-2:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
   	'r8169-3-3100:00:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
   	'r8169-3-3100:00:link' does not match '^cpu[0-9]*$'
   	'r8169-3-3100:00:link' does not match '^hci[0-9]+-power$'
   	'r8169-3-3100:00:link' does not match '^mmc[0-9]+$'
   	'r8169-3-3100:00:link' does not match '^phy[0-9]+tx$'
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
   arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dtb: leds: led-2: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
--
>> arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-1:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
   	'stmmac-0:01:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
   	'stmmac-0:01:link' does not match '^cpu[0-9]*$'
   	'stmmac-0:01:link' does not match '^hci[0-9]+-power$'
   	'stmmac-0:01:link' does not match '^mmc[0-9]+$'
   	'stmmac-0:01:link' does not match '^phy[0-9]+tx$'
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
>> arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-1: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
   arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-2:linux,default-trigger: 'oneOf' conditional failed, one must be fixed:
   	'r8169-3-3100:00:link' is not one of ['backlight', 'default-on', 'heartbeat', 'disk-activity', 'disk-read', 'disk-write', 'timer', 'pattern', 'audio-micmute', 'audio-mute', 'bluetooth-power', 'flash', 'kbd-capslock', 'mtd', 'nand-disk', 'none', 'torch', 'usb-gadget', 'usb-host', 'usbport']
   	'r8169-3-3100:00:link' does not match '^cpu[0-9]*$'
   	'r8169-3-3100:00:link' does not match '^hci[0-9]+-power$'
   	'r8169-3-3100:00:link' does not match '^mmc[0-9]+$'
   	'r8169-3-3100:00:link' does not match '^phy[0-9]+tx$'
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#
   arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dtb: leds: led-2: Unevaluated properties are not allowed ('linux,default-trigger' was unexpected)
   	from schema $id: http://devicetree.org/schemas/leds/leds-gpio.yaml#

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


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

* Re: [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S
  2024-06-12 20:48 ` [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S Sebastian Kropatsch
@ 2024-06-20 18:34   ` Heiko Stübner
  0 siblings, 0 replies; 13+ messages in thread
From: Heiko Stübner @ 2024-06-20 18:34 UTC (permalink / raw)
  To: Sebastian Kropatsch
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Am Mittwoch, 12. Juni 2024, 22:48:10 CEST schrieb Sebastian Kropatsch:
> The FriendlyElec NanoPi R6C and R6S are quite similar boards,
> although they differ in:
> - M.2 M-Key connector vs second RTL8125BG Ethernet port
> - One of the LEDs has a different function on each board
> - 12-pin GPIO FPC vs 30-pin GPIO header
> - R6S has a PWM-based IR receiver while the R6C has not
> - R6S has a 5V fan connector while the R6C has not
> 
> Refactor their DT files by adding a common definitions file to
> improve differentiation clarity between both boards and to make
> hardware-specific DT changes easier in the long run.
> Do not introduce any functional changes.
> 
> Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
> ---
>  ...-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} |   7 +-
>  .../boot/dts/rockchip/rk3588s-nanopi-r6c.dts  |   2 +-
>  .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 756 +-----------------
>  3 files changed, 7 insertions(+), 758 deletions(-)
>  copy arch/arm64/boot/dts/rockchip/{rk3588s-nanopi-r6s.dts => rk3588s-nanopi-r6.dtsi} (99%)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
> similarity index 99%
> copy from arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
> copy to arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
> index 4fa644ae510c..e68d4071400e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
> @@ -1,4 +1,7 @@
>  // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Common devicetree definitions for the NanoPi R6C and R6S
> + */
>  
>  /dts-v1/;
>  
> @@ -8,9 +11,6 @@
>  #include "rk3588s.dtsi"
>  
>  / {
> -	model = "FriendlyElec NanoPi R6S";
> -	compatible = "friendlyarm,nanopi-r6s", "rockchip,rk3588s";
> -
>  	aliases {
>  		ethernet0 = &gmac1;
>  		mmc0 = &sdmmc;
> @@ -74,7 +74,6 @@ lan1_led: led-2 {
>  		};
>  
>  		lan2_led: led-3 {
> -			label = "lan2_led";
>  			gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&lan2_led_pin>;
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
> index 497bbb57071f..ccc5e4627517 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
> @@ -2,7 +2,7 @@
>  
>  /dts-v1/;
>  
> -#include "rk3588s-nanopi-r6s.dts"
> +#include "rk3588s-nanopi-r6.dtsi"
>  
>  / {
>  	model = "FriendlyElec NanoPi R6C";

you didn't add a label for that led here.

Though I think it might very well be much nicer to just define the led
with differing function in each board separately.

Especially as the phandle in the new dtsi now still reference the removed
label.


Heiko





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

* Re: [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S
  2024-06-12 20:48 ` [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S Sebastian Kropatsch
@ 2024-06-20 18:39   ` Heiko Stübner
  2024-06-20 21:48     ` Sebastian Kropatsch
  0 siblings, 1 reply; 13+ messages in thread
From: Heiko Stübner @ 2024-06-20 18:39 UTC (permalink / raw)
  To: Sebastian Kropatsch
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Am Mittwoch, 12. Juni 2024, 22:48:11 CEST schrieb Sebastian Kropatsch:
> Fix the alphabetical ordering in some nodes and rename some regulators
> and pins to match the schematics [1][2] as well as to adhere to
> preferred naming schemes.

General rule of thumb, when you need an "and" in your subject or a list
like the above - you definitly want to split the change into multiple
commits.

> In addition to that:
> * vcc_3v3_sd_s0: Fix voltage to be 3.3V
> * vcc3v3_pcie:
>     - Move to NanoPi R6C, this power switch is not available on R6S
>     - Fix vin-supply (is vcc_5v0 per schematics)
>     - Add gpios/pincrtl to enable power

this defnitly needs its own patch

> * vcc5v0_usb: Remove this regulator since according to the schematics,

this too

> * vcc5v0_host_20 and vcc5v0_usb_otg0 are directly powered by vcc_5v0

this could be grouped together with the 3.3v change

> * gmac1: Add rx_delay of 0 (no delay since phy-mode = "rgmii-rxid")

with rxid mode, why is the rx_delay needed at all?
Shouldn't this just work without the property?

> * rgmii_phy1: Add phy-supply as seen in schematics

separate patch

> * pcie2*:
>     - Add pinctrl reset pins
>     - Update vpcie3v3-supply to match the schematics

separate patch

> * sdhci: Add vmmc-supply and vqmmc-supply

separate patch


Heiko




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

* Re: [PATCH 3/5] arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
  2024-06-12 20:48 ` [PATCH 3/5] arm64: dts: rockchip: Improve LEDs " Sebastian Kropatsch
  2024-06-14 15:10   ` kernel test robot
@ 2024-06-20 18:42   ` Heiko Stübner
  2024-06-20 21:51     ` Sebastian Kropatsch
  1 sibling, 1 reply; 13+ messages in thread
From: Heiko Stübner @ 2024-06-20 18:42 UTC (permalink / raw)
  To: Sebastian Kropatsch
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Am Mittwoch, 12. Juni 2024, 22:48:12 CEST schrieb Sebastian Kropatsch:
> Move led-3 node into NanoPi R6C/R6S's source files since they have
> different functionalities on each board: On the R6S this LED is used
> to signal LAN2 link up, while on the R6C this LED does not have a
> pre-defined purpose.
> 
> In addition to that:
>     - Remove deprecated label property
>     - Add color and function properties
>     - Add linux,default-trigger to trigger on Ethernet link

Again, please don't group unrelated changes together into one patch.
It makes things hard to read and hard to follow the changes.

> 
> Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
> ---
> 
> DT validation doesn't like the 'linux,default-trigger = "stmmac-0:01:link"'
> properties, since "*:link" is not a valid value according to
> [Documentation/devicetree/bindings/leds/common.yaml]. These LEDs do
> have the specific purpose to show if an Ethernet link is up though.
> There is one LED for each Ethernet port and they are labeled WAN and
> LAN.
> Using the 'linux,default-trigger' like this does work perfectly fine
> with this solution. I could not find another way to achieve this. Please
> let me know if there is a better way.
> Maybe it would also be valid to add an entry to the DT bindings file to
> allow "*:link" as a value for 'linux,default-trigger'?

correct. If needed, things should be added to binding.


Heiko




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

* Re: [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S
  2024-06-20 18:39   ` Heiko Stübner
@ 2024-06-20 21:48     ` Sebastian Kropatsch
  0 siblings, 0 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-20 21:48 UTC (permalink / raw)
  To: Heiko Stübner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Hello,

Am 20.06.2024 um 20:39 schrieb Heiko Stübner:
> Am Mittwoch, 12. Juni 2024, 22:48:11 CEST schrieb Sebastian Kropatsch:
>> Fix the alphabetical ordering in some nodes and rename some regulators
>> and pins to match the schematics [1][2] as well as to adhere to
>> preferred naming schemes.
> 
> General rule of thumb, when you need an "and" in your subject or a list
> like the above - you definitly want to split the change into multiple
> commits.

Thanks for the advice! I wasn't sure and didn't want to spam the list.
Also, my email provider only allows a limited number of emails to be
sent every day (series with 5 patches, with 9 recipients = 45 emails
sent). So I might have to send the patch series by spanning the
different patches over multiple days.

If anyone knows an email provider which is better suited for this kind
of open source work/mailing lists and is also privacy respecting, please
let me know :)

I will definitely split these changes into separate commits.

>> In addition to that:
>> * vcc_3v3_sd_s0: Fix voltage to be 3.3V
>> * vcc3v3_pcie:
>>      - Move to NanoPi R6C, this power switch is not available on R6S
>>      - Fix vin-supply (is vcc_5v0 per schematics)
>>      - Add gpios/pincrtl to enable power
> 
> this defnitly needs its own patch
> 
>> * vcc5v0_usb: Remove this regulator since according to the schematics,
> 
> this too
> 
>> * vcc5v0_host_20 and vcc5v0_usb_otg0 are directly powered by vcc_5v0
> 
> this could be grouped together with the 3.3v change
> 
>> * gmac1: Add rx_delay of 0 (no delay since phy-mode = "rgmii-rxid")
> 
> with rxid mode, why is the rx_delay needed at all?
> Shouldn't this just work without the property?

In theory yes, but with the property missing, you'll get a warning
message in dmesg which says:

	Can not read property: rx_delay.
	Set rx_delay to 0x10

So it will set the rx_delay to a value which is not 0, even if rxid
mode is selected. I guess this is something which can be fixed in the
driver, but that may be beyond my abilities.
Setting the rx_delay to 0 gets rid of this warning, so it seems to
be a viable workaround.

>> * rgmii_phy1: Add phy-supply as seen in schematics
> 
> separate patch
> 
>> * pcie2*:
>>      - Add pinctrl reset pins
>>      - Update vpcie3v3-supply to match the schematics
> 
> separate patch
> 
>> * sdhci: Add vmmc-supply and vqmmc-supply
> 
> separate patch
> 

Thanks,
Sebastian



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

* Re: [PATCH 3/5] arm64: dts: rockchip: Improve LEDs on NanoPi R6C/R6S
  2024-06-20 18:42   ` Heiko Stübner
@ 2024-06-20 21:51     ` Sebastian Kropatsch
  0 siblings, 0 replies; 13+ messages in thread
From: Sebastian Kropatsch @ 2024-06-20 21:51 UTC (permalink / raw)
  To: Heiko Stübner
  Cc: linux-rockchip, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	devicetree, linux-arm-kernel, linux-kernel

Am 20.06.2024 um 20:42 schrieb Heiko Stübner:
> Am Mittwoch, 12. Juni 2024, 22:48:12 CEST schrieb Sebastian Kropatsch:
>> DT validation doesn't like the 'linux,default-trigger = "stmmac-0:01:link"'
>> properties, since "*:link" is not a valid value according to
>> [Documentation/devicetree/bindings/leds/common.yaml]. These LEDs do
>> have the specific purpose to show if an Ethernet link is up though.
>> There is one LED for each Ethernet port and they are labeled WAN and
>> LAN.
>> Using the 'linux,default-trigger' like this does work perfectly fine
>> with this solution. I could not find another way to achieve this. Please
>> let me know if there is a better way.
>> Maybe it would also be valid to add an entry to the DT bindings file to
>> allow "*:link" as a value for 'linux,default-trigger'?
> 
> correct. If needed, things should be added to binding.

Alright, I'll add this to the binding at
[Documentation/devicetree/bindings/leds/common.yaml]

Should this be a completely separate patch or is it preferred
to add a patch to this NanoPi patch series?

Cheers,
Sebastian


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

end of thread, other threads:[~2024-06-20 21:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-12 20:48 [PATCH 0/5] Refactor, fix and improve NanoPi R6 series Sebastian Kropatsch
2024-06-12 20:48 ` [PATCH 1/5] arm64: dts: rockchip: Add common definitions for NanoPi R6C and R6S Sebastian Kropatsch
2024-06-20 18:34   ` Heiko Stübner
2024-06-12 20:48 ` [PATCH 2/5] arm64: dts: rockchip: Fix regulators, gmac and naming on NanoPi R6C/R6S Sebastian Kropatsch
2024-06-20 18:39   ` Heiko Stübner
2024-06-20 21:48     ` Sebastian Kropatsch
2024-06-12 20:48 ` [PATCH 3/5] arm64: dts: rockchip: Improve LEDs " Sebastian Kropatsch
2024-06-14 15:10   ` kernel test robot
2024-06-20 18:42   ` Heiko Stübner
2024-06-20 21:51     ` Sebastian Kropatsch
2024-06-12 20:48 ` [PATCH 4/5] arm64: dts: rockchip: Enable lower USB3 port " Sebastian Kropatsch
2024-06-12 20:48 ` [PATCH 5/5] arm64: dts: rockchip: Enable GPU " Sebastian Kropatsch
2024-06-13 17:27 ` [PATCH 0/5] Refactor, fix and improve NanoPi R6 series 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;
as well as URLs for NNTP newsgroup(s).