[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20250314154002.1844394-1-amadeus@jmu.edu.cn>
Date: Fri, 14 Mar 2025 23:40:02 +0800
From: Chukun Pan <amadeus@....edu.cn>
To: jonas@...boo.se
Cc: amadeus@....edu.cn,
conor+dt@...nel.org,
devicetree@...r.kernel.org,
heiko@...ech.de,
ziyao@...root.org,
krzk+dt@...nel.org,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org,
linux-pwm@...r.kernel.org,
linux-rockchip@...ts.infradead.org
Subject: Re: [PATCH 0/2] arm64: dts: rockchip: Add pwm nodes for RK3528
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.
Hi, I found the reason. I did some experiments today:
pwm-regulator pwm1 | pwm2 | pwm3
-----------------------------------
ArmSoM Sige1 | | work | work |
Radxa E20C | work | hang | |
other 3528 | work | hang | |
This looks weird, so I tested it further:
In the new series of u-boot:
```
--- 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"; # Cancel changes, pwm works
};
&vdd_logic {
- regulator-init-microvolt = <900000>;
+ status = "disabled"; # Cancel changes, kernel hang
};
```
I looked at schematic and found an interesting thing:
1. ArmSoM Sige1 schematic: VDD_LOGIC Default 0.901V
2. Radxa E20C schematic: VDD_LOGIC No default voltage
Therefore, the default voltage of VDD_LOGIC (supply to
GPU and LOGIC) needs to be set to 0.9V when initializing.
This can be done by hardware or software (such as u-boot)
Should we support this in the kernel driver of regulator?
Thanks,
Chukun
--
2.25.1
Powered by blists - more mailing lists