[PATCH] arm64: dts: rockchip: Fix audio-supply for ROCK Pi 4
FUKAUMI Naoki
naoki at radxa.com
Fri Nov 28 19:40:10 PST 2025
Hi Alex,
On 11/29/25 10:36, Alex Bee wrote:
> 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.
We can confirm that "schematic part" is correct.
> 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.
I'm sorry, I can't explain the relationship between UART2/SPI and APIO5.
However, I had been seeing "the garbled serial console output on Linux"
for a long time, and couldn't figure out how to fix it.
What version of your ROCK Pi 4 board do you have?
Best regards,
--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.
> 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