[PATCH] arm64: dts: rockchip: Fix audio-supply for ROCK Pi 4

Alex Bee knaerzche at gmail.com
Fri Nov 28 17:36:24 PST 2025


Hi,

Am 28.11.25 um 13:33 schrieb Quentin Schulz:
> Hi Naoki,
>
> On 11/28/25 1:09 PM, FUKAUMI Naoki wrote:
>> Hi Quentin,
>>
>> On 11/28/25 19:24, Quentin Schulz wrote:
>>> Hi Naoki,
>>>
>>> On 11/27/25 4:20 PM, Quentin Schulz wrote:
>>>> Hi Naoki,
>>>>
>>>> On 10/27/25 1:52 AM, FUKAUMI Naoki wrote:
>>>>> This reverts commit 8240e87f16d17 ("arm64: dts: rockchip: fix
>>>>> audio-supply for Rock Pi 4").
>>>>>
>>>>> Fix the APIO5_VDD power supply to vcc_3v0 as per the schematics[1][2]
>>>>> [3][4][5].
>>>>>
>>>>> This fixes the SPI-NOR flash probe failure when the blue LED is 
>>>>> on[6],
>>>>> and the garbled serial console output on Linux.
>>>>>
>>>>> The ES8316 headphone and microphone are confirmed to work correctly
>>>>> after this fix.
>>>>>
>>>
>>> Please test the ES8316 works when booting Linux from a U-Boot where 
>>> ROCKCHIP_IODOMAIN and SPL_ROCKCHIP_IODOMAIN is *disabled*.
>>
>> I tried below, and confirmed that ES8316 is still working.
>>
>> diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4- 
>> rk3399_defconfig
>> index 219f42bc7d4..276ca961c10 100644
>> --- a/configs/rock-pi-4-rk3399_defconfig
>> +++ b/configs/rock-pi-4-rk3399_defconfig
>> @@ -53,6 +53,7 @@ CONFIG_ROCKCHIP_GPIO=y
>>   CONFIG_SYS_I2C_ROCKCHIP=y
>>   CONFIG_LED=y
>>   CONFIG_LED_GPIO=y
>> +# CONFIG_ROCKCHIP_IODOMAIN is not set
>>   CONFIG_MMC_DW=y
>>   CONFIG_MMC_DW_ROCKCHIP=y
>>   CONFIG_MMC_SDHCI=y
>> 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..c734f7824c0 100644
>> --- a/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi
>> +++ b/dts/upstream/src/arm64/rockchip/rk3399-rock-pi-4.dtsi
>> @@ -51,7 +51,7 @@
>>
>>          sound: sound {
>>                  compatible = "audio-graph-card";
>> -               label = "Analog";
>> +               label = "rk3588-es8316";
>>                  dais = <&i2s0_p0>;
>>          };
>>
>> @@ -516,7 +516,7 @@
>>   };
>>
>>   &io_domains {
>> -       audio-supply = <&vcca1v8_codec>;
>> +       audio-supply = <&vcc_3v0>;
>>          bt656-supply = <&vcc_3v0>;
>>          gpio1830-supply = <&vcc_3v0>;
>>          sdmmc-supply = <&vcc_sdio>;
>>
>> Notes:
>> - SPL_ROCKCHIP_IODOMAIN is not set by default
>> - I don't understand alsa ucm2 ;) so I modified /sound/label
>>
>
> Thanks for testing. Let's hope the original issue doesn't appear for 
> *some* boots (depending on probe order or some timing for example). 
> For now I guess this will do. Adding Alex in Cc maybe they are able to 
> reproduce the issue they had 4 years ago with their board?
>
> Cheers,
> Quentin


I can confirm that with this change analog audio is _broken_ for me again.

I never had any issues with uart2 or spi - neither in kernel nor in u-boot
(also not after io-domain driver has been added to u-boot for RK3399).
Given this commit is now ~4 years in tree  I'd guess that someone else
would have reported that issue earlier. It's correct that this information
came from a "Power Domain Map"  which you call "non schematic" and the
"schematic part"  says something else -  it would have been indeed be
better to have clearer information.

Anyway: I can't neither see how this change should relate to uart2 or spi
which are both in different io-domain, nor why it would happen only in
u-boot. My strongest guess is, that radxa changed something along the way.
Or maybe it would be worth to double-check the io-domain driver in u-boot.


Regards,
Alex





More information about the Linux-rockchip mailing list