关键词: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"; };