关键词:rk3308; rockchip,rk3308-i2s-tdm;
rk3308 — I2S TDM dts 配置
1、属性值配置:
- compatible: 设置成: - "rockchip,rk3308-i2s-tdm": for rk3308 - reg: 配置I2S/TDM的寄存器物理基地址,以及寄存器的空间大小。 - interrupts: 配置I2S/TDM的中断; - dmas: 配置tx/rx DMA; - dma-names: 配置DMA名称为"tx" 和 "rx". - clocks: 配置I2S/TDM的时钟; - clock-names: 配置时钟名称; - rockchip,bclk-fs: 配置 bclk 频率; - resets: 配置tx/rx的复位; - reset-names: 配置tx/rx复位的名称; - rockchip,cru: 指向cru; - rockchip,clk-trcm: tx 和 rx lrck/bclk 使用配置. - 0: 使用tx_lrck/bclk 和 rx_lrck/bclk - 1: 只使用tx_lrck/bclk - 2: 只使用rx_lrck/bclk
2、以rk3308为例:
i2s_8ch_0: i2s@ff300000 {
compatible = "rockchip,rk3308-i2s-tdm";
reg = <0x0 0xff300000 0x0 0x1000>;
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru SCLK_I2S0_8CH_TX>, <&cru SCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
clock-names = "mclk_tx", "mclk_rx", "hclk";
dmas = <&dmac1 0>, <&dmac1 1>;
dma-names = "tx", "rx";
resets = <&cru SRST_I2S0_8CH_TX_M>, <&cru SRST_I2S0_8CH_RX_M>;
reset-names = "tx-m", "rx-m";
rockchip,cru = <&cru>;
rockchip,clk-trcm = <1>;
pinctrl-names = "default";
pinctrl-0 = <&i2s_8ch_0_sclktx
&i2s_8ch_0_sclkrx
&i2s_8ch_0_lrcktx
&i2s_8ch_0_lrckrx
&i2s_8ch_0_sdi0
&i2s_8ch_0_sdi1
&i2s_8ch_0_sdi2
&i2s_8ch_0_sdi3
&i2s_8ch_0_sdo0
&i2s_8ch_0_sdo1
&i2s_8ch_0_sdo2
&i2s_8ch_0_sdo3
&i2s_8ch_0_mclk>;
status = "okay";
};