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