DMAMUX channels list

cancel
Showing results for 
Search instead for 
Did you mean: 

DMAMUX channels list

1,070 Views
dieterteuchert
Contributor IV

Until now in all Kinetis samples i found the DMAMUX source channels were numbers, like

DMAMUX_CHCFG0 = DMAMUX_CHCFG_SOURCE(15) ;  //I2S0 Transmit
DMAMUX_CHCFG0 = DMAMUX_CHCFG_SOURCE(35) ;// FTM2_CH1  trigger - CH1 is used only to generate the DMA request

Were can i find a complete list, like

    DMAMUX_SRC_UART0_RX   = 2,
    DMAMUX_SRC_UART0_TX   = 3,
    DMAMUX_SRC_UART1_RX   = 4,
    DMAMUX_SRC_UART1_TX   = 5,
    DMAMUX_SRC_UART2_RX   = 6,
    DMAMUX_SRC_UART2_TX   = 7,
    DMAMUX_SRC_UART3_RX   = 8,
    DMAMUX_SRC_UART3_TX   = 9,
    DMAMUX_SRC_UART4_RX   = 10,
    DMAMUX_SRC_UART4_TX   = 11,

The reference manual says: Can be found somewhere else.

Or somebody can explain the rules how to determine those numbers.

Currently i want to put timer capture results into a cyclic buffer on the KL05.

Labels (2)
Tags (2)
6 Replies

200 Views
dieterteuchert
Contributor IV

OK, i found the channel numbers in the KL05P48 reference manual, p61f.

I also found the file dma_channels.h in the KL05 SC sample code archive src/cpu folder, but they don't agree. Apparently the include file in the sample code was written for a different CPU not the KL05. Also the numbers in the include file are not unique. For example all three DMA_UART1RX_CH, DMA_I2C1_CH and DMA_CMP1_CH are defined as 2. What does that mean?

0 Kudos

200 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

I have checked the file you mentioned and it seems to be incorrect.

I recommend you to refer to the Table 3-20. DMA request sources - MUX 0

in the RM. Those values are the ones you have to use.

I will send this feedback about this, so this can be corrected.

Best Regards,

Alejandro

0 Kudos

200 Views
ignisuti_
Contributor IV

I have the same question for the KW2x family of microcontrollers... Where can I found a list of DMA Sources that define DMAMUX?

0 Kudos

200 Views
mjbcswitzerland
Specialist V

Hi Joe

You need to look in "DMA request multiplexer configuration". This is chapter 10.3.8 in the KW2X user's manual.

There is a DMA MUX request source table (Table 10-19).

The KW2x is however compatible with first generation Kinetis parts (like K60) - just with a few sources that aren't available, such as UART5 and I2C1 etc.

Regards

Mark

Kinetis: µTasker Kinetis support

For the complete "out-of-the-box" Kinetis experience and faster time to market

200 Views
ignisuti_
Contributor IV

That's what I was after. Thanks Mark!

Just my two cents, but shouldn't these be in the derivative of each MCU? That way I could refer to something like "DMAMUX_SRC_UART0_RX" in my code instead of source "2" and then I'd have code that would more easily port to other projects.

0 Kudos

200 Views
mjbcswitzerland
Specialist V

Joe

Attached is the DMAMUX extract from the uTasker project which is compatible with all supported Kinetis parts (requires no porting) - of course hard coding such values, as you point out, is a generally unsuitable method for portability.

Regards

Mark

Kinetis: µTasker Kinetis support

For the complete "out-of-the-box" Kinetis experience and faster time to market

0 Kudos