Search the Community
Showing results for tags 'rock-s0'.
-
Hi! I am working on a project in which audio is transmitted over the I2S bus to TAS6424-Q1 chips. I am using the Radxa Rock S0 board, the latest stable Armbinan 6.6 kernel and an additionally compiled dummy-codec module. 1. If I use the following overlay // Definitions for 8-ch-output /dts-v1/; /plugin/; / { compatible = "radxa,rockpis", "rockchip,rk3308"; fragment@0 { target = <&i2s_8ch_0>; __overlay__ { #sound-dai-cells = <0>; rockchip,clk-trm = <1>; status = "okay"; }; }; fragment@1 { target = <&i2s_8ch_2>; __overlay__ { #sound-dai-cells = <0>; status = "disabled"; }; }; fragment@2 { target = <&acodec>; __overlay__ { #sound-dai-cells = <0>; status = "disabled"; }; }; fragment@3 { target-path = "/"; __overlay__ { mycodec: multi-ch-out { #sound-dai-cells = <0>; compatible = "rockchip,dummy-codec"; status = "okay"; }; sound_i2s { simple-audio-card,name = "multi-ch-card"; compatible = "simple-audio-card"; simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <128>; status = "okay"; cpu_dai: simple-audio-card,cpu { sound-dai = <&i2s_8ch_0>; }; codec_dai: simple-audio-card,codec { sound-dai = <&mycodec>; }; }; }; }; }; and when I try to play something (for example, speaker-test -from 8), I get a hung process that cannot even be killed with "kill -9". I am attaching the error log. But! 2. If I modify my rk3308-rocks-0.dts file as follow without any overlay: ... i2s@ff300000 { status = "okay"; phandle = <0x79>; ... i2s@ff320000 { status = "disabled"; ... sound { compatible = "simple-audio-card"; #sound-dai-cells = < 0 >; simple-audio-card,format = "i2s"; simple-audio-card,mclk-fs = <0x100>; simple-audio-card,name = "OUT8CH"; simple-audio-card,bitclock-master = <&cpu_dai>; simple-audio-card,frame-master = <&cpu_dai>; simple-audio-card,status = "okay"; cpu_dai: simple-audio-card,cpu { sound-dai = <0x79>; }; simple-audio-card,codec { sound-dai = <&dummy_tdm_codec>; }; }; dummy_tdm_codec: dummy-codec { status = "okay"; compatible = "rockchip,dummy-codec"; // clocks = <0x02 0x4c>; // clock-names = "mclk_tx"; // pinctrl-names = "default"; // pinctrl-0 = <0x4a>; #sound-dai-cells = < 0 >; phandle = < 0x139 >; }; BCK, LRCK and DATA signals are transmitted without problems, but I can't get the MCLK signal from pin 35 of the board (GPIO2_A4 or I2S0_8CH_MCLK) in any way, even if you uncomment the lines with clocks and pinctrl.. My project will collapse without a working mclk. Please, help! err.log
-
Hi guys, I got a SPIdev overlay to work on the rock S0, figured I'd just share it here for the record, since I could have used this info myself (I spent days trying to figure it out since I had no experience with device trees or whatnot). Basically, download the attached .dts file, then run sudo armbian-add-overlay rk3308-spi2-spidev.dts I also edited /boot/armbianEnv.txt and added this line, but I'm unsure if that's actually necessary? param_spidev_spi_bus=2 This worked on Armbian 24.5.1 Noble, creating /dev/spidev2.0. You can verify that it works using this tool: https://github.com/rm-hull/spidev-test The dts file is based on this one from radxa, however changed to "fragment@" syntax like other armbian overlays: https://github.com/radxa-pkg/radxa-overlays/blob/main/arch/arm64/boot/dts/rockchip/overlays/rk3308-spi2-spidev.dts Maybe this will also work on Rock Pi S, but haven't tested. rk3308-spi2-spidev.dts