Skip to content
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

Hardware Triggered DMA #64302

Open
danielb-tkjcy3rq opened this issue Oct 24, 2023 · 2 comments
Open

Hardware Triggered DMA #64302

danielb-tkjcy3rq opened this issue Oct 24, 2023 · 2 comments
Assignees
Labels
area: DMA Direct Memory Access Feature Request A request for a new feature platform: NXP NXP

Comments

@danielb-tkjcy3rq
Copy link

Is your feature request related to a problem? Please describe.
I'm currently writing an application to generate custom waveform using iMXRT 1160. Outsize Zephyr, I would use NXP SDK to periodically trigger DMA to transfer data from memory to peripheral (GPIO) using a timer (PIT). I'm now hoping to use Zephyr in my next project but I can't see a way of doing this using the current DMA API. One option is to include the correct haders in hal/nxp in my application and write my code that way, but I feel like that isn't the best way to do it.

Describe the solution you'd like
Ideal solution would be for the DMA API to allow the user to choose periodic hardware triggering.

Describe alternatives you've considered
An alternative would be to include the vendor SDK in my zephyr application and drive the hardware directly to achieve the periodic triggering.

Additional context
Add any other context or graphics (drag-and-drop an image) about the feature request here.

@danielb-tkjcy3rq danielb-tkjcy3rq added the Feature Request A request for a new feature label Oct 24, 2023
@github-actions
Copy link

Hi @danielb-tkjcy3rq! We appreciate you submitting your first issue for our open-source project. 🌟

Even though I'm a bot, I can assure you that the whole community is genuinely grateful for your time and effort. 🤖💙

@henrikbrixandersen henrikbrixandersen added the area: DMA Direct Memory Access label Oct 24, 2023
@teburd teburd added the platform: NXP NXP label Oct 24, 2023
@teburd teburd assigned dleach02 and unassigned teburd Oct 24, 2023
@teburd
Copy link
Collaborator

teburd commented Oct 24, 2023

I think this is partially possible with the dma slot being used by the edma driver, see https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/dma/dma_mcux_edma.c#L324

The meaning is pretty clear from the sdk doc comment
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/main/drivers/dmamux/fsl_dmamux.h#L107

It's unclear how this would be done in a sort of abstract way though, in saying device X is the trigger source (in this case a PIT instance).

Reassigned to David Leach who is the lead for NXP as he might have better insights or have someone in mind with better insights on how this might be accomplished with Zephyr or how to best use the mcux sdk with Zephyr to bypass the Zephyr APIs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: DMA Direct Memory Access Feature Request A request for a new feature platform: NXP NXP
Projects
None yet
Development

No branches or pull requests

4 participants