Hi guys,
I have checked the Buster image and stuck in following issue:
On Rockpis, tty2 and (the only working) spi2 sharing the same PINs. Due to this reason, SPI
is not functional .
from dmesg:
[ 1.598230] rockchip-pinctrl pinctrl: pin gpio1-22 already requested by ff0c0000.serial; cannot claim for ff140000.spi
[ 1.598269] rockchip-pinctrl pinctrl: pin-54 (ff140000.spi) status -22
[ 1.598287] rockchip-pinctrl pinctrl: could not request pin 54 (gpio1-22) from group spi2-miso on device rockchip-pinctrl
[ 1.598304] rockchip-spi ff140000.spi: Error applying setting, reverse things back
I try to switch back tty2 to tty0 in dts and also in boot.cmd. It is only partial working, so that after the u-boot preloader has finished tty0 is used.
But SPI is still not working. I assume that must something to do with u-boot preloader, which is still using tty2.
Please move tty2 back to tty0.
An other issue is, that the overlays seems not to work.
Failed to load '/boot/dtb/rockchip/overlay/rk3308-fixup.scr'
There is only a rockship-fixup.scr avail. I suppose this missing fixup may harm the overlays ?
If someone is looking how to enable 8 Channel I2S i like to share my dts part to enabe this:
tdm_sound {
compatible = "simple-audio-card";
simple-audio-card,name = "i2s_8ch_0";
simple-audio-card,format = "dsp_a";
simple-audio-card,mclk-fs = < 128 >;
simple-audio-card,bitclock-master = <&tdm_snd_cpu>;
simple-audio-card,frame-master = <&tdm_snd_cpu>;
tdm_snd_cpu: simple-audio-card,cpu {
dai-tdm-slot-num = <8>;
dai-tdm-slot-width = <16>;
sound-dai = <&i2s_8ch_0>;
};
tdm_snd_codec: simple-audio-card,codec {
sound-dai = <&tdm_codec>;
};
};
tdm_codec: dummy-codec {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
&i2s_8ch_0 {
assigned-clocks = <&cru SCLK_I2S0_8CH_RX>;
assigned-clock-parents = <&cru SCLK_I2S0_8CH_TX_MUX>;
rockchip,clk-trcm = <1>;
rockchip,bclk-fs = <128>;
#sound-dai-cells = <0>;
status = "okay";
}
For using it, it is required to port the rockship dummy-codec to have more than 2 channels. It can be compiled as kernel module.
When you like to use up to 4 pcm5102a codecs, you must port the rockchip-multichannel-codec. It can access all 4 I2S-Dataline with
shared sync/clock.
I have check the function of the dummy-codec with an logic analysator and it is working.
I'm also try out the bullseye image. It has the same issues like buster, but fails to reboot. Only power cycle works.
Thanks,
Peter