Skip to content

Commit efd670b

Browse files
committed
WIP: add I2S output on stm32h7s78_dk
Signed-off-by: Titouan Christophe <[email protected]>
1 parent 0826996 commit efd670b

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

boards/st/stm32h7s78_dk/stm32h7s78_dk.dts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,23 @@
171171
&i2c1 {
172172
pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb9>;
173173
pinctrl-names = "default";
174+
status = "okay";
175+
176+
audio_codec: wm8904g@1a {
177+
compatible = "wolfson,wm8904";
178+
reg = <0x1a>;
179+
};
180+
};
181+
182+
&gpdma1 {
183+
status = "okay";
184+
};
185+
186+
&i2s6 {
187+
mck-enabled;
188+
pinctrl-0 = <&i2s6_mck_pa3 &i2s6_ws_pa4 &i2s6_ck_pa5 &spi6_mosi_pb5 &spi6_miso_pg12>;
189+
pinctrl-names = "default";
190+
status = "okay";
174191
};
175192

176193
&die_temp {

dts/arm/st/h7rs/stm32h7rs.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <zephyr/dt-bindings/adc/adc.h>
1616
#include <zephyr/dt-bindings/memory-attr/memory-attr.h>
1717
#include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h>
18+
#include <zephyr/dt-bindings/dma/stm32_dma.h>
1819
#include <freq.h>
1920

2021
/*
@@ -326,6 +327,19 @@
326327
};
327328
};
328329

330+
gpdma1: dma@40021000 {
331+
compatible = "st,stm32u5-dma";
332+
reg = <0x40021000 0x1000>;
333+
#dma-cells = <3>;
334+
clocks = <&rcc STM32_CLOCK(AHB1, 4)>;
335+
interrupts = <39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0
336+
133 0 134 0 135 0 136 0 137 0 138 0 139 0 140 0>;
337+
dma-channels = <16>;
338+
dma-requests = <110>;
339+
dma-offset = <0>;
340+
status = "disabled";
341+
};
342+
329343
usart1: serial@42001000 {
330344
compatible = "st,stm32-usart", "st,stm32-uart";
331345
reg = <0x42001000 0x400>;
@@ -492,6 +506,20 @@
492506
status = "disabled";
493507
};
494508

509+
i2s6: i2s@58001400 {
510+
compatible = "st,stm32h7-i2s", "st,stm32-i2s";
511+
#address-cells = <1>;
512+
#size-cells = <0>;
513+
reg = <0x58001400 0x400>;
514+
clocks = <&rcc STM32_CLOCK(APB4, 5U)>,
515+
<&rcc STM32_CLOCK_BUS_APB4 SPI6_SEL(0)>;
516+
interrupts = <63 3>;
517+
dmas = <&gpdma1 0 62 (STM32_DMA_PERIPH_TX | STM32_DMA_16BITS | STM32_DMA_PRIORITY_HIGH)
518+
&gpdma1 1 61 (STM32_DMA_PERIPH_RX | STM32_DMA_16BITS | STM32_DMA_PRIORITY_HIGH)>;
519+
dma-names = "tx", "rx";
520+
status = "disabled";
521+
};
522+
495523
iwdg: iwdg1: watchdog@58004800 {
496524
compatible = "st,stm32-watchdog";
497525
reg = <0x58004800 0x400>;

0 commit comments

Comments
 (0)