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

FUKAUMI Naoki naoki at radxa.com
Fri Nov 28 04:09:55 PST 2025


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

Best regards,

--
FUKAUMI Naoki
Radxa Computer (Shenzhen) Co., Ltd.

> Having the IO domain properly configured from U-Boot may make you think 
> that the ES8316 always work in the Linux kernel but that may not be the 
> case depending on probe order e.g. between the IO domain driver in Linux 
> and the ES8316 (if the original issue is indeed related to IO domain).
> 
> Cheers,
> Quentin
> 




More information about the Linux-rockchip mailing list