SAI(Serial Audio Interface)提供了多种音频协议,例如:I2S标准(LSB或MSB认证),PCM DSP,TDM和S PDIF。 SAI包含两个独立的音频子块,Block-A和Block-B。。 每个子模块都有自己的时钟发生器和I / O线路控制器,可以配置为发送器或接收器。
特性:

  • 支持高达192khz的音频采样频率。

  • SAI可以在工作在master或slave配置。

  • 音频子块可以是接收器(receiver),也可以是发送器(transmitter),并且可以同步或异步地工作(相对于另一个)。

  • SAI可以与其他SAI连接以同步工作。

 

DomainPeripheralRuntime allocationComment   
InstanceCortex-A7
secure
(OP-TEE)
Cortex-A7
non-secure
(Linux)
Cortex-M4
(STM32Cube)
   
AudioSAISAI1Assignment (single choice)
SAI2Assignment (single choice)  
SAI3Assignment (single choice)  
SAI4Assignment (single choice)  

以下是SAI2控制器的dts代码,arch/arm/boot/dts/stm32mp157c.dtsi文件中。

		sai2: sai@4400b000 {
			compatible = "st,stm32h7-sai";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x4400b000 0x400>;
			reg = <0x4400b000 0x4>;
			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
			resets = <&rcc SAI2_R>;
			status = "disabled";

			sai2a: audio-controller@4400b004 {
				#sound-dai-cells = <0>;
				compatible = "st,stm32-sai-sub-a";
				reg = <0x4 0x1c>;
				clocks = <&rcc SAI2_K>;
				clock-names = "sai_ck";
				dmas = <&dmamux1 89 0x400 0x01>;
				status = "disabled";
			};

			sai2b: audio-controller@4400b024 {
				#sound-dai-cells = <0>;
				compatible = "st,stm32-sai-sub-b";
				reg = <0x24 0x1c>;
				clocks = <&rcc SAI2_K>;
				clock-names = "sai_ck";
				dmas = <&dmamux1 90 0x400 0x01>;
				status = "disabled";
			};
		};
作者:SteveChen  创建时间:2024-09-18 17:41
最后编辑:SteveChen  更新时间:2024-09-18 17:41
上一篇:
下一篇: