mbox series

[v1,0/2] Fix i2s0 pin conflict on ROCK Pi 4 RK3399 boards

Message ID 20231013114737.494410-1-chris.obbard@collabora.com (mailing list archive)
Headers show
Series Fix i2s0 pin conflict on ROCK Pi 4 RK3399 boards | expand

Message

Christopher Obbard Oct. 13, 2023, 11:47 a.m. UTC
i2s0 fails to probe on my Radxa ROCK 4SE and ROCK Pi 4B boards with:

    rockchip-pinctrl pinctrl: pin gpio3-29 already requested by leds; cannot claim for ff880000.i2s
    rockchip-pinctrl pinctrl: pin-125 (ff880000.i2s) status -22
    rockchip-pinctrl pinctrl: could not request pin 125 (gpio3-29) from group i2s0-8ch-bus-bclk-off  on device rockchip-pinctrl
    rockchip-i2s ff880000.i2s: Error applying setting, reverse things back
    rockchip-i2s ff880000.i2s: bclk disable failed -22

This is due to the pinctl attempting to request a GPIO which the boards
use for a different function.

The first patch adds a missing pinctl node i2s0_2ch_bus_bclk_off to the
RK3399 devicetree.

The second patch sets the i2s0 pinctrl to use the new node when idle and
fixes the issue.


Christopher Obbard (2):
  arm64: dts: rockchip: Add i2s0-2ch-bus-bclk-off pins to RK3399
  arm64: dts: rockchip: Fix i2s0 pin conflict on ROCK Pi 4 boards

 arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi |  1 +
 arch/arm64/boot/dts/rockchip/rk3399.dtsi           | 10 ++++++++++
 2 files changed, 11 insertions(+)

Comments

Folker Schwesinger Oct. 13, 2023, 2:11 p.m. UTC | #1
On Fri Oct 13, 2023 at 1:47 PM CEST, Christopher Obbard wrote:
> i2s0 fails to probe on my Radxa ROCK 4SE and ROCK Pi 4B boards with:
>
>     rockchip-pinctrl pinctrl: pin gpio3-29 already requested by leds; cannot claim for ff880000.i2s
>     rockchip-pinctrl pinctrl: pin-125 (ff880000.i2s) status -22
>     rockchip-pinctrl pinctrl: could not request pin 125 (gpio3-29) from group i2s0-8ch-bus-bclk-off  on device rockchip-pinctrl
>     rockchip-i2s ff880000.i2s: Error applying setting, reverse things back
>     rockchip-i2s ff880000.i2s: bclk disable failed -22
>
> This is due to the pinctl attempting to request a GPIO which the boards
> use for a different function.
>
> The first patch adds a missing pinctl node i2s0_2ch_bus_bclk_off to the
> RK3399 devicetree.
>
> The second patch sets the i2s0 pinctrl to use the new node when idle and
> fixes the issue.
>
>
> Christopher Obbard (2):
>   arm64: dts: rockchip: Add i2s0-2ch-bus-bclk-off pins to RK3399
>   arm64: dts: rockchip: Fix i2s0 pin conflict on ROCK Pi 4 boards
>
>  arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi |  1 +
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi           | 10 ++++++++++
>  2 files changed, 11 insertions(+)

Thanks, works as advertised on my Rock 4SE!

So for the entire series:

Tested-By: Folker Schwesinger <dev@folker-schwesinger.de>

Kind regards,
Folker
Heiko Stübner Oct. 16, 2023, 8:12 p.m. UTC | #2
On Fri, 13 Oct 2023 12:47:25 +0100, Christopher Obbard wrote:
> i2s0 fails to probe on my Radxa ROCK 4SE and ROCK Pi 4B boards with:
> 
>     rockchip-pinctrl pinctrl: pin gpio3-29 already requested by leds; cannot claim for ff880000.i2s
>     rockchip-pinctrl pinctrl: pin-125 (ff880000.i2s) status -22
>     rockchip-pinctrl pinctrl: could not request pin 125 (gpio3-29) from group i2s0-8ch-bus-bclk-off  on device rockchip-pinctrl
>     rockchip-i2s ff880000.i2s: Error applying setting, reverse things back
>     rockchip-i2s ff880000.i2s: bclk disable failed -22
> 
> [...]

Applied, thanks!

[1/2] arm64: dts: rockchip: Add i2s0-2ch-bus-bclk-off pins to RK3399
      commit: 3975e72b164dc8347a28dd0d5f11b346af534635
[2/2] arm64: dts: rockchip: Fix i2s0 pin conflict on ROCK Pi 4 boards
      commit: 8cd79b729e746cb167f1563d015a93fc0a079899

Best regards,