-
Notifications
You must be signed in to change notification settings - Fork 7.3k
drivers: i2s: add sai support for stm32u5xx #82945
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
f8ceb83
to
eaa6008
Compare
eaa6008
to
90a2b7b
Compare
0d5e107
to
0822bdf
Compare
0acc7b3
to
8648fe2
Compare
f6d7b2a
to
70d9287
Compare
70d9287
to
850a617
Compare
850a617
to
58f3bf5
Compare
An update on the driver progress:
Only TX is tested, RX implementation is still ongoing stm32u575_16bit_2ch_44khz.mov |
92c7797
to
c8f6cb9
Compare
Add SAI1 A & B nodes on STM32U5 Series Signed-off-by: Mario Paja <[email protected]>
9167992
to
e199134
Compare
This PR adds initial sai support for STM32u5xx Signed-off-by: Mario Paja <[email protected]>
e199134
to
7ac5f73
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't go into details but this is a great work. I have few initial comments but the main request would be to add a way to build and use this driver in tree (add a (simple) sample if missing or a board configuration to make use of existing sample)
@@ -495,6 +495,26 @@ | |||
status = "disabled"; | |||
}; | |||
|
|||
sai1_a: sai1_a@40015404 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sai1_a: sai1_a@40015404 { | |
sai1_a: sai@40015404 { |
Apply below as well
select USE_STM32_HAL_DMA | ||
select USE_STM32_HAL_DMA_EX | ||
select USE_STM32_HAL_SAI | ||
select USE_STM32_LL_DLYB if SOC_SERIES_STM32U5X |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see use of DLYB LL below. To be cleaned up ?
uint32_t dma_channel; | ||
struct dma_config dma_cfg; | ||
|
||
/* STM32U5 HAL SAI */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really U5 specific ?
stream->mem_block = item.buffer; | ||
stream->mem_block_len = item.size; | ||
|
||
sys_cache_data_flush_range(stream->mem_block, stream->mem_block_len); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: This doesn't have any effect w/o #88585.
description: | | ||
Synchronous mode. | ||
The SAI controller is configured to work in synchronous mode. | ||
This property is used to enable the SAI controller to work in synchronous mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Last line is redundant, to be removed.
Development status:
Board used:
B-U585I-IOT02A
Nucleo-U575
Tests (16-bit, 2-channels, 44.1KHz):
Overlays:
nucleo_u575zi_q.overlay
b_u585i_iot02a.overlay