dts/arm/st/stm32f4: Add I2S support to DTS
Add I2S bus initial support to stm32f4 SOC family. On stm32f4 the I2S shares same controller as SPI, so the declarations have been adapted from SPI ones. Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
411dc003ee
commit
ab10f417d8
7 changed files with 150 additions and 2 deletions
|
@ -192,6 +192,15 @@
|
||||||
label = "SPI_1";
|
label = "SPI_1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
i2s1: i2s@40013000 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40013000 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00001000>;
|
||||||
|
interrupts = <35 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_1";
|
||||||
|
};
|
||||||
|
|
||||||
usbotg_fs: usb@50000000 {
|
usbotg_fs: usb@50000000 {
|
||||||
compatible = "st,stm32-otgfs";
|
compatible = "st,stm32-otgfs";
|
||||||
reg = <0x50000000 0x40000>;
|
reg = <0x50000000 0x40000>;
|
||||||
|
|
|
@ -29,5 +29,23 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
label = "SPI_3";
|
label = "SPI_3";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
i2s2: i2s@40003800 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40003800 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00004000>;
|
||||||
|
interrupts = <36 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_2";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2s3: i2s@40003C00 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40003C00 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00008000>;
|
||||||
|
interrupts = <51 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_3";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -27,5 +27,23 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
label = "SPI_5";
|
label = "SPI_5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
i2s4: i2s@40013400 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40013400 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00002000>;
|
||||||
|
interrupts = <84 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_4";
|
||||||
|
};
|
||||||
|
|
||||||
|
i2s5: i2s@40015000 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40015000 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00100000>;
|
||||||
|
interrupts = <85 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_5";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,7 +58,16 @@
|
||||||
label = "SPI_4";
|
label = "SPI_4";
|
||||||
};
|
};
|
||||||
|
|
||||||
/* spi5 is present on all STM32F429XX SoCs except
|
i2s4: i2s@40013400 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40013400 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00002000>;
|
||||||
|
interrupts = <84 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_4";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* spi5/i2s5 is present on all STM32F429XX SoCs except
|
||||||
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
|
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
|
||||||
*/
|
*/
|
||||||
spi5: spi@40015000 {
|
spi5: spi@40015000 {
|
||||||
|
@ -71,7 +80,16 @@
|
||||||
label = "SPI_5";
|
label = "SPI_5";
|
||||||
};
|
};
|
||||||
|
|
||||||
/* spi6 is present on all STM32F429XX SoCs except
|
i2s5: i2s@40015000 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40015000 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00100000>;
|
||||||
|
interrupts = <85 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_5";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* spi6/i2s6 is present on all STM32F429XX SoCs except
|
||||||
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
|
* STM32F429vX SoCs. Delete node in stm32f429vX.dtsi.
|
||||||
*/
|
*/
|
||||||
spi6: spi@40015400 {
|
spi6: spi@40015400 {
|
||||||
|
@ -83,5 +101,14 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
label = "SPI_6";
|
label = "SPI_6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
i2s6: i2s@40015400 {
|
||||||
|
compatible = "st,stm32-i2s";
|
||||||
|
reg = <0x40015400 0x400>;
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00200000>;
|
||||||
|
interrupts = <86 5>;
|
||||||
|
status = "disabled";
|
||||||
|
label = "I2S_6";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,3 +19,7 @@
|
||||||
/delete-node/ &spi5;
|
/delete-node/ &spi5;
|
||||||
|
|
||||||
/delete-node/ &spi6;
|
/delete-node/ &spi6;
|
||||||
|
|
||||||
|
/delete-node/ &i2s5;
|
||||||
|
|
||||||
|
/delete-node/ &i2s6;
|
||||||
|
|
34
dts/bindings/i2s/i2s.yaml
Normal file
34
dts/bindings/i2s/i2s.yaml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018, STMicroelectronics
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
---
|
||||||
|
title: I2S Base Structure
|
||||||
|
version: 0.1
|
||||||
|
|
||||||
|
description: >
|
||||||
|
This binding gives the base structures for all I2S devices
|
||||||
|
|
||||||
|
child:
|
||||||
|
bus: i2s
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
type: string
|
||||||
|
category: required
|
||||||
|
description: compatible strings
|
||||||
|
generation: define
|
||||||
|
label:
|
||||||
|
type: string
|
||||||
|
category: required
|
||||||
|
description: Human readable string describing the device (used by Zephyr for API name)
|
||||||
|
generation: define
|
||||||
|
clocks:
|
||||||
|
type: array
|
||||||
|
category: optional
|
||||||
|
description: Clock gate information
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
|
||||||
|
...
|
38
dts/bindings/i2s/st,stm32-i2s.yaml
Normal file
38
dts/bindings/i2s/st,stm32-i2s.yaml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018, STMicroelectronics
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
---
|
||||||
|
title: STM32 I2S
|
||||||
|
version: 0.1
|
||||||
|
|
||||||
|
description: >
|
||||||
|
This binding gives a base representation of the STM32 I2S controller
|
||||||
|
|
||||||
|
inherits:
|
||||||
|
!include i2s.yaml
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
constraint: "st,stm32-i2s"
|
||||||
|
|
||||||
|
reg:
|
||||||
|
type: array
|
||||||
|
description: mmio register space
|
||||||
|
generation: define
|
||||||
|
category: required
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
type: array
|
||||||
|
category: required
|
||||||
|
description: required interrupts
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
type: stringlist
|
||||||
|
category: optional
|
||||||
|
description: readable string describing the interrupts
|
||||||
|
generation: define
|
||||||
|
|
||||||
|
...
|
Loading…
Add table
Add a link
Reference in a new issue