SDMA external events not quite working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SDMA external events not quite working

783 Views
Balcer
Contributor II

How to fire sdma script using SDMA_EXT_EVENT1 line?

i.MX6q reference manual rev.3 revealed us IOMUXC_SDMA_EVENTS14_SELECT_INPUT and IOMUXC_SDMA_EVENTS47_SELECT_INPUT (instead of IOMUXC_SDMA_EVENTS15_SELECT_INPUT) registers. Although not quite clear one can assume sdma event 14 is for ext_line_0 and event 47 (stated as reserved in the manual) is for ext_event_1. Setting GPR0[7] allows to receive sdma external event on DISP0_DAT17 or GPIO_18 pin (or DISP0_DAT16 - it’s not clear since it says it is for SDMA_EVENT[14] which is associated with ext_line_0 elsewhere). Since I can run script fired by event 14 there should be no big problem to use other line to do the same (I need two lines to fire two distinct dma transfers). The problem is I cannot get the same sdma script fired on the other external sdma line connected to pin DISP0_DAT16 (or DISP0_DAT17 if they are switched in the manual).

TIA,

Michal

Labels (1)
2 Replies

556 Views
art
NXP Employee
NXP Employee

As the Reference Manual says, the ext_event0 is assigned to SDMA_EVENT14 and can be raised through the DISP0_DAT16 pin or GPIO_17 pin by correspondingly

configuring the IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA16 or IOMUXC_SW_MUX_CTL_PAD_GPIO17 registers and IOMUXC_SDMA_EVENTS14_SELECT_INPUT

registers. Moreover, the SDMA_EVENT14 is shared between the spdif_drq0 event and ext_event0 event, so, you have to set the IOMUXC_GPR0[7] bit to dedicate it to ext_event0. The description, given in the Section 36.4.1 of the Refernce Manual, saying that the IOMUXC_GPR0[7] bit selects the ext_event1 event, is a typo, it

should be ext_event0.

Regarding the SDMA_EVENT47, it is just dedicated to ext_event1, that can be raised through the DISP0_DAT17 pin or GPIO_18 pin by correspondingly configuring the IOMUXC_SW_MUX_CTL_PAD_DISP0_DATA17 or IOMUXC_SW_MUX_CTL_PAD_GPIO18 registers and IOMUXC_SDMA_EVENTS47_SELECT_INPUT registers. No additional setup is required for ext_event1.


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

556 Views
Balcer
Contributor II

Seems clear to me, thanks. But still I cannot  get ext_event1 fired. (btw. ext_event0 fires like a charm). Could this issue be bound to silicon revision? (mine i.MX6q is rev. 1.2)

TIA,

Michal

0 Kudos