Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8013

Device Tree • Re: RPi5 soundcard/audio dtoverlay.

$
0
0
Unlike older Pis, Pi 5 (and specifically the RP1 chip) splits the clock producer (a.k.a. "master") and clock consumer ("slave") roles across different instances of the I2S block, either of which can be mapped to the usual GPIOs of 18-21. These instances exist at different positions in the address map, and have different Device Tree nodes to describe them. Any overlay that uses them thus has to be specific about which role it needs.

To manage this change, we introduced 2 new labels - "i2s_clk_producer" and "i2s_clk_consumer". On Pi 5, "i2s" is an alias for "i2s_clk_producer". This is one reason why the overlay you linked to could never work on a Pi5 - it expect expects the Pi to be in a clock consumer/slave role, but the "&i2s" directs it the clock producer instance. To give it a chance of working you would have to replace all 3 occurrences of "&i2s" with "&i2s_clk_consumer".

I'm going to guess, since you have a Pi 3, that you have already successfully used the existing version of the overlay with your soundcard, meaning the device must be a clock producer. If that's not the case, and if the device you want to use is itself a clock consumer, then you will need to use the other version of the overlay in the sister repo: https://github.com/AkiyukiOkayasu/Raspb ... I2S_Master. That ought to work as written, but it would be more explicit if you were to replace the occurrences of "&i2s" with "&i2s_clk_producer".

There is another potential issue with these overlays in that they specify TDM properties. The RP1 I2S blocks don't really support TDM modes, except the obvious 2 channels of 32 bits. But give them a go as they are. If they don't work, delete the "tdm-" properties and try again.

Statistics: Posted by PhilE — Sun Mar 30, 2025 3:05 pm



Viewing all articles
Browse latest Browse all 8013

Trending Articles