[BUG] Raxda Rock Pi 4A serial console output stops prematurely

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Nov 26 17:46:48 CET 2025


On 11/26/25 16:00, Quentin Schulz wrote:
> Hi Heinrich,
> 
> On 11/25/25 7:02 PM, Heinrich Schuchardt wrote:
>> Hello Jagan, hello Heiko,
>>
>> When testing U-Boot origin/master on my Raxda Rock Pi 4A serial 
>> console output stops after "PMIC:  RK808". The same can be observed 
>> with v2025.01.
>>
>> The serial console works as expected if I disable 
>> CONFIG_ROCKCHIP_IODOMAIN.
>>
> 
> It is I believe implied here but asking for confirmation. The board 
> doesn't actually boot right? It's not that the serial console is gone, 
> it's that the device is stuck?

Hello Quentin,

Thank you for looking into this.

The device boots I. But the serial console output becomes mute and I 
cannot send keystrokes via the serial console.

> 
>> The problem seems to be specifically related to the bt656-supply. 
>> Removing the line below also fixes serial console output:
>>
>> diff --git a/drivers/misc/rockchip-io-domain.c b/drivers/misc/ 
>> rockchip- io-domain.c
>> index a0573c52193..b0d78f2d4b4 100644
>> --- a/drivers/misc/rockchip-io-domain.c
>> +++ b/drivers/misc/rockchip-io-domain.c
>> @@ -239,7 +239,7 @@ static const struct rockchip_iodomain_soc_data 
>> soc_data_rk3328 = {
>>   static const struct rockchip_iodomain_soc_data soc_data_rk3399 = {
>>          .grf_offset = 0xe640,
>>          .supply_names = {
>> -               "bt656-supply",         /* APIO2_VDD */
>>
> 
> The UART2 (which I assume is the serial you're using for the console) 
> isn't on that IO domain. And there doesn't seem to be anything important 
> to booting on APIO2 domain according to Rock 4A schematics[1].
> 
> bt656-supply also doesn't seem to be anything special. LDO5 (vcc_3v0) on 
> RK808, which is using VCC10 (vcc10-supply) which is a fixed regulator 
> whose parent supply is also a fixed regulator. So I am not sure what 
> could be going wrong there.

In the schema LD05 on the RK808 is connected to VCC_1V5.

With any of the following values I can enter commands via serial console 
but still get no output. So none of the voltages seems to be the correct 
one.

diff --git a/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi 
b/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi
index 046dbe32901..f15b5b63815 100644
--- a/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi
+++ b/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi
@@ -517,7 +517,7 @@

  &io_domains {
         audio-supply = <&vcca1v8_codec>;
-       bt656-supply = <&vcc_3v0>;
+       bt656-supply = <&vcc_1v5>;
or
+       bt656-supply = <&vcc_0v9>;
or
+       bt656-supply = <&vcc_1v8>;

> 
> RK3399 Puma and RockPro64 have APIO2 set to 1.8V vs 3.0V for Radxa Rock 
> 4A. Puma boots master reaches U-Boot CLI with the IO domain driver 
> compiled in.
> 
> Can you check the error paths (all the ones with a continue;) in 
> rockchip_iodomain_probe()? Which ones do you enter for which supply?
> 
> Not sure where to start debugging tbh.

I found the driver by setting CONFIG_LOG=y and log level 7.

Here is how the console output ends. Do you have access to a board or do 
you need further debug output?

ofnode_find_subnode: regulator-state-mem: regulator-state-mem: 
regulator-state-mem
regulator-state-mem
ofnode_read_bool: regulator-off-in-suspend: true
ofnode_read_u32_index: regulator-suspend-microvolt: of_read_u32_index: 
regulator-suspend-microvolt: (not found)
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_u32_index: regulator-min-microvolt: of_read_u32_index: 
regulator-min-microvolt: (not found)
ofnode_read_u32_index: regulator-max-microvolt: of_read_u32_index: 
regulator-max-microvolt: (not found)
ofnode_read_u32_index: regulator-init-microvolt: of_read_u32_index: 
regulator-init-microvolt: (not found)
ofnode_read_u32_index: regulator-min-microamp: of_read_u32_index: 
regulator-min-microamp: (not found)
ofnode_read_u32_index: regulator-max-microamp: of_read_u32_index: 
regulator-max-microamp: (not found)
ofnode_read_u32_index: regulator-ramp-delay: of_read_u32_index: 
regulator-ramp-delay: (not found)
ofnode_read_bool: regulator-force-boot-off: false
ofnode_find_subnode: regulator-state-mem: regulator-state-mem: 
regulator-state-mem
regulator-state-mem
ofnode_read_bool: regulator-off-in-suspend: true
ofnode_read_u32_index: regulator-suspend-microvolt: of_read_u32_index: 
regulator-suspend-microvolt: (not found)
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_u32_index: regulator-min-microvolt: of_read_u32_index: 
regulator-min-microvolt: (not found)
ofnode_read_u32_index: regulator-max-microvolt: of_read_u32_index: 
regulator-max-microvolt: (not found)
ofnode_read_u32_index: regulator-init-microvolt: of_read_u32_index: 
regulator-init-microvolt: (not found)
ofnode_read_u32_index: regulator-min-microamp: of_read_u32_index: 
regulator-min-microamp: (not found)
ofnode_read_u32_index: regulator-max-microamp: of_read_u32_index: 
regulator-max-microamp: (not found)
ofnode_read_u32_index: regulator-ramp-delay: of_read_u32_index: 
regulator-ramp-delay: (not found)
ofnode_read_bool: regulator-force-boot-off: false
ofnode_find_subnode: regulator-state-mem: regulator-state-mem: 
regulator-state-mem
regulator-state-mem
ofnode_read_bool: regulator-off-in-suspend: true
ofnode_read_u32_index: regulator-suspend-microvolt: of_read_u32_index: 
regulator-suspend-microvolt: (not found)
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_prop: assigned-clock-rates: <not found>
ofnode_read_u32_index: bt656-supply: of_read_u32_index: bt656-supply: 
0x7a (122)
rockchip_iodomain io-domains: bt656-supply: Regulator LDO_REG8 at 3000000 uV
ofnode_read_u32_index: audio-supply: of_read_u32_index: audio-supply: 
0x91 (145)
rockchip_iodomain io-domains: audio-supply: Regulator LDO_REG1 at 1800000 uV
ofnode_read_u32_index: sdmmc-supply: of_read_u32_ at L@@p0b at HHb```Hp0 p0   $

Best regards

Heinrich

> 
> [1] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4a/ROCK_4A_V1.52_SCH.pdf
> 
> Cheers,
> Quentin



More information about the U-Boot mailing list