libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
DMAMUX peripheral API
Collaboration diagram for DMAMUX peripheral API:

Functions

void dmamux_reset_dma_channel (uint32_t dmamux, uint8_t channel)
 DMAMUX Reset DMA Channel. More...
 
void dmamux_set_dma_channel_request (uint32_t dmamux, uint8_t channel, uint8_t request_id)
 DMAMUX Set DMA Channel Request. More...
 
uint8_t dmamux_get_dma_channel_request (uint32_t dmamux, uint8_t channel)
 DMAMUX Get DMA Channel Request Selection. More...
 
void dmamux_enable_dma_request_event_generation (uint32_t dmamux, uint8_t channel)
 DMAMUX Enable DMA Request Event Generation. More...
 
void dmamux_disable_dma_request_event_generation (uint32_t dmamux, uint8_t channel)
 DMAMUX Disable DMA Request Event Generation. More...
 
void dmamux_set_dma_request_sync_input (uint32_t dmamux, uint8_t channel, uint8_t sync_input_id)
 DMAMUX Set DMA Request Synchronization Input. More...
 
void dmamux_set_dma_request_sync_pol (uint32_t dmamux, uint8_t channel, uint8_t polarity)
 DMAMUX Set DMA Request Synchronization Event Polarity. More...
 
void dmamux_enable_dma_request_sync (uint32_t dmamux, uint8_t channel)
 DMAMUX Enable DMA Request Synchronization. More...
 
void dmamux_disable_dma_request_sync (uint32_t dmamux, uint8_t channel)
 DMAMUX Disable DMA Request Synchronization. More...
 
void dmamux_set_dma_request_sync_nbreq (uint32_t dmamux, uint8_t channel, uint8_t nbreq)
 DMAMUX Set DMA Request NBREQ To Forward. More...
 
void dmamux_enable_dma_request_sync_overrun_interrupt (uint32_t dmamux, uint8_t channel)
 DMAMUX Enable DMA Request Overrun Interrupt. More...
 
void dmamux_disable_dma_request_sync_overrun_interrupt (uint32_t dmamux, uint8_t channel)
 DMAMUX Disable DMA Request Overrun Interrupt. More...
 
uint32_t dmamux_get_dma_request_sync_overrun (uint32_t dmamux, uint8_t channel)
 DMAMUX Get DMA Request Synchronization Overrun Interrupt Flag. More...
 
void dmamux_clear_dma_request_sync_overrun (uint32_t dmamux, uint8_t channel)
 DMAMUX Clear DMA Request Synchronization Overrun Interrupt Flag. More...
 
void dmamux_reset_request_generator_channel (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Reset Request Generator Channel. More...
 
void dmamux_enable_request_generator (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Enable Request Generator Channel. More...
 
void dmamux_disable_request_generator (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Disable Request Generator Channel. More...
 
void dmamux_set_request_generator_trigger (uint32_t dmamux, uint8_t rg_channel, uint8_t sig_id)
 DMAMUX Set Request Generator Input Trigger Signal. More...
 
void dmamux_set_request_generator_trigger_pol (uint32_t dmamux, uint8_t rg_channel, uint8_t polarity)
 DMAMUX Set Request Generator Trigger Polarity. More...
 
void dmamux_set_request_generator_trigger_gnbreq (uint32_t dmamux, uint8_t rg_channel, uint8_t gnbreq)
 DMAMUX Set Request Generator Trigger GNBREQ. More...
 
void dmamux_enable_request_generator_trigger_overrun_interrupt (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Enable Request Generator Trigger Overrun Interrupt. More...
 
void dmamux_disable_request_generator_trigger_overrun_interrupt (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Disable Request Generator Trigger Overrun Interrupt. More...
 
uint32_t dmamux_get_request_generator_trigger_overrun_interrupt (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Get Request Generator Trigger Overrun Interrupt Flag. More...
 
void dmamux_clear_request_generator_trigger_overrun_interrupt (uint32_t dmamux, uint8_t rg_channel)
 DMAMUX Clear Request Generator Trigger Overrun Interrupt Flag. More...
 

Detailed Description

Author
© 2019 Guillaume Revaillot g.rev.nosp@m.aill.nosp@m.ot@gm.nosp@m.ail..nosp@m.com

LGPL License Terms libopencm3 License

Function Documentation

◆ dmamux_clear_dma_request_sync_overrun()

void dmamux_clear_dma_request_sync_overrun ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Clear DMA Request Synchronization Overrun Interrupt Flag.

Clear DMA Request Synchronization Overrun Interrupt for given DMA channel

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 219 of file dmamux.c.

References DMAMUX_CFR, and DMAMUX_CFR_CSOF.

Referenced by dmamux_reset_dma_channel().

Here is the caller graph for this function:

◆ dmamux_clear_request_generator_trigger_overrun_interrupt()

void dmamux_clear_request_generator_trigger_overrun_interrupt ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Clear Request Generator Trigger Overrun Interrupt Flag.

Clear DMA Request Synchronization Overrun Interrupt Flag for given Request Generator Channel

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 361 of file dmamux.c.

References DMAMUX_RGCFR, and DMAMUX_RGCFR_COF.

Referenced by dmamux_reset_request_generator_channel().

Here is the caller graph for this function:

◆ dmamux_disable_dma_request_event_generation()

void dmamux_disable_dma_request_event_generation ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Disable DMA Request Event Generation.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 90 of file dmamux.c.

References DMAMUX_CxCR.

◆ dmamux_disable_dma_request_sync()

void dmamux_disable_dma_request_sync ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Disable DMA Request Synchronization.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 152 of file dmamux.c.

References DMAMUX_CxCR.

◆ dmamux_disable_dma_request_sync_overrun_interrupt()

void dmamux_disable_dma_request_sync_overrun_interrupt ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Disable DMA Request Overrun Interrupt.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 192 of file dmamux.c.

References DMAMUX_CxCR.

◆ dmamux_disable_request_generator()

void dmamux_disable_request_generator ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Disable Request Generator Channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 258 of file dmamux.c.

References DMAMUX_RGxCR.

◆ dmamux_disable_request_generator_trigger_overrun_interrupt()

void dmamux_disable_request_generator_trigger_overrun_interrupt ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Disable Request Generator Trigger Overrun Interrupt.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 333 of file dmamux.c.

References DMAMUX_RGxCR.

◆ dmamux_enable_dma_request_event_generation()

void dmamux_enable_dma_request_event_generation ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Enable DMA Request Event Generation.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 79 of file dmamux.c.

References DMAMUX_CxCR, and DMAMUX_CxCR_EGE.

◆ dmamux_enable_dma_request_sync()

void dmamux_enable_dma_request_sync ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Enable DMA Request Synchronization.

Enable DMAMUX request synchronization for a given DMA channel, propagating DMA request when configured event edge (DMAREQ_CxCR_SPOL) is detected on previously selected synchronization trigger input id.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 141 of file dmamux.c.

References DMAMUX_CxCR, and DMAMUX_CxCR_SE.

◆ dmamux_enable_dma_request_sync_overrun_interrupt()

void dmamux_enable_dma_request_sync_overrun_interrupt ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Enable DMA Request Overrun Interrupt.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 181 of file dmamux.c.

References DMAMUX_CxCR, and DMAMUX_CxCR_SOIE.

◆ dmamux_enable_request_generator()

void dmamux_enable_request_generator ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Enable Request Generator Channel.

Enable Request Generator Channel, Producting DMA Request on input signal trigger. These Requests are usable by the DMA Request Router.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 247 of file dmamux.c.

References DMAMUX_RGxCR, and DMAMUX_RGxCR_GE.

◆ dmamux_enable_request_generator_trigger_overrun_interrupt()

void dmamux_enable_request_generator_trigger_overrun_interrupt ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Enable Request Generator Trigger Overrun Interrupt.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 322 of file dmamux.c.

References DMAMUX_RGxCR, and DMAMUX_RGxCR_OIE.

◆ dmamux_get_dma_channel_request()

uint8_t dmamux_get_dma_channel_request ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Get DMA Channel Request Selection.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)
Returns
DMA request (DMAREQID DMA request line selected)

Definition at line 68 of file dmamux.c.

References DMAMUX_CxCR, DMAMUX_CxCR_DMAREQ_ID_MASK, and DMAMUX_CxCR_DMAREQ_ID_SHIFT.

◆ dmamux_get_dma_request_sync_overrun()

uint32_t dmamux_get_dma_request_sync_overrun ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Get DMA Request Synchronization Overrun Interrupt Flag.

Get DMA Request Synchronization Overrun Interrupt for given DMA channel

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)
Returns
DMA Channel Synchronization Overrun Interrupt Flag

Definition at line 206 of file dmamux.c.

References DMAMUX_CSR, and DMAMUX_CSR_SOF.

◆ dmamux_get_request_generator_trigger_overrun_interrupt()

uint32_t dmamux_get_request_generator_trigger_overrun_interrupt ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Get Request Generator Trigger Overrun Interrupt Flag.

Get DMA Request Synchronization Overrun Interrupt Flag for given Request Generator Channel

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)
Returns
Request Generator Channel Trigger Overrun Interrupt Flag

Definition at line 347 of file dmamux.c.

References DMAMUX_RGSR, and DMAMUX_RGSR_OF.

◆ dmamux_reset_dma_channel()

void dmamux_reset_dma_channel ( uint32_t  dmamux,
uint8_t  channel 
)

DMAMUX Reset DMA Channel.

Reset DMA Request configuration and interrupt flags for given DMA channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)

Definition at line 37 of file dmamux.c.

References dmamux_clear_dma_request_sync_overrun(), and DMAMUX_CxCR.

Here is the call graph for this function:

◆ dmamux_reset_request_generator_channel()

void dmamux_reset_request_generator_channel ( uint32_t  dmamux,
uint8_t  rg_channel 
)

DMAMUX Reset Request Generator Channel.

Reset Request Generator Channel Configuration and interrupt flags.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)

Definition at line 232 of file dmamux.c.

References dmamux_clear_request_generator_trigger_overrun_interrupt(), and DMAMUX_RGxCR.

Here is the call graph for this function:

◆ dmamux_set_dma_channel_request()

void dmamux_set_dma_channel_request ( uint32_t  dmamux,
uint8_t  channel,
uint8_t  request_id 
)

DMAMUX Set DMA Channel Request.

Set DMA Request Signal ID (DMAREQID DMA request line selected) for given DMA channel. Request must be set before enabling and after configuring said DMA channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)
[in]request_idDMA request (DMAREQID DMA request line selected)

Definition at line 53 of file dmamux.c.

References DMAMUX_CxCR, DMAMUX_CxCR_DMAREQ_ID_MASK, and DMAMUX_CxCR_DMAREQ_ID_SHIFT.

◆ dmamux_set_dma_request_sync_input()

void dmamux_set_dma_request_sync_input ( uint32_t  dmamux,
uint8_t  channel,
uint8_t  sync_input_id 
)

DMAMUX Set DMA Request Synchronization Input.

Set DMAMUX request synchronization input trigger signal id (SYNCID Synchronization input selected) for a given DMA channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)
[in]sync_input_idsynchronization signal input id (SYNCID Synchronization input selected)

Definition at line 105 of file dmamux.c.

References DMAMUX_CxCR, DMAMUX_CxCR_SYNC_ID_MASK, and DMAMUX_CxCR_SYNC_ID_SHIFT.

◆ dmamux_set_dma_request_sync_nbreq()

void dmamux_set_dma_request_sync_nbreq ( uint32_t  dmamux,
uint8_t  channel,
uint8_t  nbreq 
)

DMAMUX Set DMA Request NBREQ To Forward.

Set number of request to forward (minus 1) to the dma controller after a synchronization event. This must be configured with synchronization and event generation disabled.

Parameters
[in]dmamuxDMAMUX Controller base address (DMAMUX register base addresses)
[in]channelDMA Channel Number (DMA Channel Number)
[in]nbreqNumber of DMA Requests to Forward - minus 1 (0..31)

Definition at line 167 of file dmamux.c.

References DMAMUX_CxCR, DMAMUX_CxCR_NBREQ_MASK, and DMAMUX_CxCR_NBREQ_SHIFT.

◆ dmamux_set_dma_request_sync_pol()

void dmamux_set_dma_request_sync_pol ( uint32_t  dmamux,
uint8_t  channel,
uint8_t  polarity 
)

DMAMUX Set DMA Request Synchronization Event Polarity.

Set DMAMUX request synchronization input signal polarity (SPOL Event Polarity) for a given DMA channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]channelDMA channel number (DMA Channel Number)
[in]polaritysynchronization signal input polarity (SPOL Event Polarity)

Definition at line 123 of file dmamux.c.

References DMAMUX_CxCR, DMAMUX_CxCR_SPOL_MASK, and DMAMUX_CxCR_SPOL_SHIFT.

◆ dmamux_set_request_generator_trigger()

void dmamux_set_request_generator_trigger ( uint32_t  dmamux,
uint8_t  rg_channel,
uint8_t  sig_id 
)

DMAMUX Set Request Generator Input Trigger Signal.

Set DMAMUX Request Generator input signal id (SIGID DMA request trigger input selected) for given Request Generator Channel.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)
[in]sig_idRequest Generator Channel Input Signal Id (SIGID DMA request trigger input selected)

Definition at line 273 of file dmamux.c.

References DMAMUX_RGxCR, DMAMUX_RGxCR_SIG_ID_MASK, and DMAMUX_RGxCR_SIG_ID_SHIFT.

◆ dmamux_set_request_generator_trigger_gnbreq()

void dmamux_set_request_generator_trigger_gnbreq ( uint32_t  dmamux,
uint8_t  rg_channel,
uint8_t  gnbreq 
)

DMAMUX Set Request Generator Trigger GNBREQ.

Set number of request to generate (minus 1). This must be configured while given Request Generator is disabled.

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)
[in]gnbreqNumber of DMA Requests to Generate - minus 1 (0..31).

Definition at line 308 of file dmamux.c.

References DMAMUX_RGxCR, DMAMUX_RGxCR_GNBREQ_MASK, and DMAMUX_RGxCR_GNBREQ_SHIFT.

◆ dmamux_set_request_generator_trigger_pol()

void dmamux_set_request_generator_trigger_pol ( uint32_t  dmamux,
uint8_t  rg_channel,
uint8_t  polarity 
)

DMAMUX Set Request Generator Trigger Polarity.

Set DMAMUX Request Generator input signal polarity (GPOL Event Polarity).

Parameters
[in]dmamuxDMAMUX controller base address (DMAMUX register base addresses)
[in]rg_channelRequest Generator Channel Number (DMAMUX Request Generator Channel Number)
[in]polarityTrigger signal input polarity (GPOL Event Polarity)

Definition at line 290 of file dmamux.c.

References DMAMUX_RGxCR, DMAMUX_RGxCR_GPOL_MASK, and DMAMUX_RGxCR_GPOL_SHIFT.