Re: [PATCH 0/2] arm64: dts: rockchip: Add pwm nodes for RK3528

From: Chukun Pan
Date: Thu Mar 13 2025 - 09:01:45 EST


Hi,

> Interesting, good that it works with the updated U-Boot. Main change
> compared to v1 is that it now use clock/reset id and DT closer to what
> has been merged in mainline Linux. It also has DT params to help
> initialize the two pwm regulators used by these boards.
>
> I will try with the old v1 U-Boot series and see if I can replicated
> your issue.

It is easy to reproduce this issue.
Make the following changes in the new series of u-boot:

```
--- a/configs/radxa-e20c-rk3528_defconfig
+++ b/configs/radxa-e20c-rk3528_defconfig
@@ -47,9 +47,7 @@ CONFIG_DM_MDIO=y
CONFIG_DWC_ETH_QOS=y
CONFIG_DWC_ETH_QOS_ROCKCHIP=y
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-CONFIG_REGULATOR_PWM=y
CONFIG_DM_REGULATOR_GPIO=y
-CONFIG_PWM_ROCKCHIP=y
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYS_NS16550_MEM32=y
```

Or change dts:
```
--- a/arch/arm/dts/rk3528-radxa-e20c-u-boot.dtsi
+++ b/arch/arm/dts/rk3528-radxa-e20c-u-boot.dtsi
@@ -8,9 +8,9 @@
};

&vdd_arm {
- regulator-init-microvolt = <953000>;
+ status = "disabled";
};

&vdd_logic {
- regulator-init-microvolt = <900000>;
+ status = "disabled";
};
```

Then the kernel will hang when loading the gpio driver:

[ 0.162618] gpio gpiochip2: Static allocation of GPIO bae is deprecated, use dynamic allocation.
[ 0.163558] rockchip-gpio ffb00000.gpio: probed /soc/pinctrl/gpio@ffb00000
[ 0.164322] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 0.165231] rockchip-gpio ffb10000.gpio: probed /soc/pinctrl/gpio@ffb10000
[ 0.165977] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[ 0.166886] rockhip-gpio ffb20000.gpio: probed /soc/pinctrl/gpio@ffb20000
[ 0.170342] Internal error: Oos - Undefined instruction: 0000000002000000 [#1] SMP

Changing the debug level:
[ 0.175260] rockchip-pinctrl soc:pinctrl: setting mux of GPIO4-14 to 0
[ 0.175356] rockchip-pinctrl soc:pinctrl: setting mux of GPIO4-20 to 1
[ 0.175968] rockchip-pinctrl soc:pinctrl: setting mux of GPIO4-14 to 0
[ 0.176849] rockchip-pinctrl soc:pinctrl: setting mux of GPIO4-21 to 1
[ 0.178453] rockchip-pinctrl soc:pinctrl: setting mux of GPIO4-13 to 0
(hang)

Thanks,
Chukun

--
2.25.1