I2S device tree configuration

来自百问网嵌入式Linux wiki

Article purpose

本文介绍了将SPI/I2S internal peripheral分配给Linux® OS时如何配置。 在这种情况下,它由ALSA framework控制。

使用 device tree 机制执行配置,该机制提供了I2S linux driver使用的I2S外设的硬件描述。

如果外围设备已分配给另一个执行上下文,请参阅 How to assign an internal peripheral to a runtime context 文章,以获取有关外围设备分配和配置的准则。

DT bindings documentation

STM32 I2S设备树绑定[1] 描述了所有必需的和可选的配置属性。

DT configuration

此硬件描述是STM32微处理器 [2] and board device tree files. See the Device tree 和板设备树文件。

STM32CubeMX可用于生成板卡设备树。有关更多详细信息,请参考 Refer to How to configure the DT using STM32CubeMX

DT configuration (STM32 level)

I2S节点在stm32mp157c.dtsi [2]. 它描述了硬件参数,例如寄存器地址,中断,时钟和DMA。 对于给定的STM32MPU,这组属性可能不会发生变化。

Warning.png 该设备树部分与STM32微处理器有关。它必须保持原样,而不能由最终用户修改。

DT configuration (board level)

I2S是一个音频外设,可以通过Linux® kernel ALSA framework作为声卡的一个组件。 设备树的这一部分允许I2S的配置来实现声卡。 有关各种板卡的I2S配置示例,请参阅soundcard configuration

How to configure the DT using STM32CubeMX

STM32CubeMX 工具可用于配置STM32MPU设备并获取相应的 platform configuration device tree 文件。
STM32CubeMX可能不支持上述 DT bindings documentation段落中描述的所有属性。

如果是这样,该工具会在生成的设备树中插入用户部分 然后可以编辑这些部分以添加一些属性,并将它们保留下来。 有关详细信息,请参阅STM32CubeMX 用户手册。
Warning.png STM32CubeMX不允许生成配置声卡所需的所有节点。 声卡节点和编解码器节点必须通过用户部分手动填充。