I2S from CM5 IO board?

Hi, please is my analysis of I2S peripherals on the CM5-IO board correct (based on schematics in https://dl.radxa.com/cm5 )? IIIUC there is no SDO0 for external connection available:

I2S0: lines go only to the codec ES8316, not available on the 40pin connector or some other pinheader.

I2S1: only inputs and SDO1 are available, no SDO0

The SDO0 pin is used as I2C CLK for RTC (non-critical) and USB-C (critical).

If it’s correct, I wonder if SDO1 can be enabled without enabling SDO0 (i.e. without disrupting the board setup).

I could desolder the codec but QFP 0.4mm pitch would be quite difficult to connect wires to.

Thanks a lot for confirmation or some suggestion.

Pavel.

We had the same issue. And yes, we used I2S1 with SDO1.
In the overlay:

    fragment@1 {
        target = <&i2s1_8ch>;
        __overlay__ {
            status = "okay";
            rockchip,i2s-tx-route = <1 0 2 3>;
            rockchip,i2s-rx-route = <0 1 2 3>;
            pinctrl-names = "default";
            pinctrl-0 = <&i2s1m0_sclk
                &i2s1m0_lrck
                &i2s1m0_sdi0
                &i2s1m0_sdo1>;
        };
    };

Note that pinctrl only enables sdo1. The “i2s-tx-route” part remaps data0 to go through sdo1.

2 Likes

Fantastic, thanks a lot!!

Pavel.