[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