-
Notifications
You must be signed in to change notification settings - Fork 8.2k
soc: nxp: mcux: Enable DMAMUX driver for S32Z270 #99190
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?
soc: nxp: mcux: Enable DMAMUX driver for S32Z270 #99190
Conversation
| endif() | ||
|
|
||
| if(${MCUX_DEVICE} MATCHES "S32K3") | ||
| if((${MCUX_DEVICE} MATCHES "S32K3") OR (${MCUX_DEVICE} MATCHES "S32Z")) |
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'd suggest using:
| if((${MCUX_DEVICE} MATCHES "S32K3") OR (${MCUX_DEVICE} MATCHES "S32Z")) | |
| if(CONFIG_SOC_SERIES_S32K3 OR CONFIG_SOC_SERIES_S32ZE) |
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.
Actually I don't think this is the correct fix. For what I can see, dmamux is being enabled when DMA_MCUX_EDMA is selected, but because S32Z dma compat is version 3, DMA_MCUX_EDMA is not selected. It seems to be this should be addressed instead.
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.
Actually I don't think this is the correct fix. For what I can see, dmamux is being enabled when DMA_MCUX_EDMA is selected, but because S32Z dma compat is version 3, DMA_MCUX_EDMA is not selected. It seems to be this should be addressed instead.
Because the DMA on some other boards (such as the MCXW7X SoC, which introduced this issue) is also version 3 and using TRIGMUX instead of DMAMUX, I believe we cannot enable DMAMUX by default for all boards.
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 understand, then to fix the issue we should decouple dma version of the mux type (dmamux, trgmux) so that all use-cases are supported
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.
To cover all use-cases are supported, I added new property to select the DMA type (DMAMUX, TRGMUX).
Additionally, two Kconfig options are introduced to conditionally enable the corresponding driver based on the selected DMA type.
f07a264 to
b6f07b4
Compare
S32 SoCs use DMAMUX for DMA channel routing instead of TRGMUX. Introduce a property to select the MUX type (DMAMUX, TRGMUX, or NONE) and add corresponding Kconfig options to enable the appropriate driver based on the selected type. Signed-off-by: Ha Duong Quang <[email protected]>
b6f07b4 to
7bf984b
Compare
|



The S32Z270 uses DMAMUX instead of TRIGMUX.
Update the configuration to enable the DMAMUX driver
This fix #98168
test drivers.dma.chan_blen_transfer log:
test drivers.dma.loop_transfer log: