mirror of
https://github.com/torvalds/linux.git
synced 2026-09-28 03:52:02 +02:00
arm64: dts: rockchip: Fix rk3399-roc-pc-plus analog audio
The ES8388 sound card on the rk3399-roc-pc-plus fails to probe because
i2s1 cannot claim its MCLK pin:
pinctrl: pin gpio4-0 already requested by ff880000.i2s; cannot claim for ff890000.i2s
pinctrl: error -EINVAL: pin-128 (ff890000.i2s)
pinctrl: error -EINVAL: could not request pin 128 (gpio4-0) from group i2s-8ch-mclk-pin
on device rockchip-pinctrl
GPIO4_A0 is routed as SCLK_I2S_8CH_OUT and is used by i2s1 as the
external MCLK for the ES8388 codec. The board dts already removes
GPIO4_A0 from the i2s0_8ch_bus pin group, but i2s0 still claims the
same pin through its bclk_off state.
Since the i2s driver requests both states, this blocks i2s1 pinctrl
setup and leaves the simple-audio-card deferred with a parse error.
Override i2s0_8ch_bus_bclk_off as well, matching the existing
i2s0_8ch_bus override, so GPIO4_A0 is left for i2s1/ES8388 audio.
Cc: stable@vger.kernel.org
Fixes: 6d9a7bd6a1 ("arm64: dts: rockchip: add support for Firefly ROC-RK3399-PC-PLUS")
Signed-off-by: Fabio Estevam <festevam@nabladev.com>
Link: https://patch.msgid.link/20260717010736.578419-1-festevam@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
parent
fe67191030
commit
4f7259ebe1
|
|
@ -136,6 +136,18 @@ &i2s0_8ch_bus {
|
|||
<3 RK_PD7 1 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
&i2s0_8ch_bus_bclk_off {
|
||||
rockchip,pins =
|
||||
<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
|
||||
<3 RK_PD1 1 &pcfg_pull_none>,
|
||||
<3 RK_PD2 1 &pcfg_pull_none>,
|
||||
<3 RK_PD3 1 &pcfg_pull_none>,
|
||||
<3 RK_PD4 1 &pcfg_pull_none>,
|
||||
<3 RK_PD5 1 &pcfg_pull_none>,
|
||||
<3 RK_PD6 1 &pcfg_pull_none>,
|
||||
<3 RK_PD7 1 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
&i2s1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user