libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
Defined Constants and Types for the STM32G0xx DMAMUX DMA request router. More...
Macros | |
#define | DMAMUX_CxCR(dmamux_base, dma_channel) MMIO32((dmamux_base) + 0x04 * ((dma_channel) - 1)) |
#define | DMAMUX1_CxCR(dma_channel) DMAMUX_CxCR(DMAMUX1, (dma_channel)) |
#define | DMAMUX2_CxCR(dma_channel) DMAMUX_CxCR(DMAMUX2, (dma_channel)) |
#define | DMAMUX_CSR(dmamux_base) MMIO32((dmamux_base) + 0x80) |
#define | DMAMUX1_CSR DMAMUX_CSR(DMAMUX1) |
#define | DMAMUX2_CSR DMAMUX_CSR(DMAMUX2) |
#define | DMAMUX_CFR(dmamux_base) MMIO32((dmamux_base) + 0x84) |
#define | DMAMUX1_CFR DMAMUX_CFR(DMAMUX1) |
#define | DMAMUX2_CFR DMAMUX_CFR(DMAMUX2) |
#define | DMAMUX_RGxCR(dmamux_base, rg_channel) MMIO32((dmamux_base) + 0x100 + 0x04 * ((rg_channel) - 1)) |
#define | DMAMUX1_RGxCR(rg_channel) DMAMUX_RGxCR(DMAMUX1, (rg_channel)) |
#define | DMAMUX2_RGxCR(rg_channel) DMAMUX_RGxCR(DMAMUX2, (rg_channel)) |
#define | DMAMUX_RGSR(dmamux_base) MMIO32((dmamux_base) + 0x140) |
#define | DMAMUX1_RGSR DMAMUX_RSGR(DMAMUX1) |
#define | DMAMUX2_RGSR DMAMUX_RSGR(DMAMUX2) |
#define | DMAMUX_RGCFR(dmamux_base) MMIO32((dmamux_base) + 0x144) |
#define | DMAMUX1_RGCFR DMAMUX_RGCFR(DMAMUX1) |
#define | DMAMUX2_RGCFR DMAMUX_RGCFR(DMAMUX2) |
Functions | |
void | dmamux_reset_dma_channel (uint32_t dmamux, uint8_t channel) |
DMAMUX Reset DMA Channel. 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_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_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_input (uint32_t dmamux, uint8_t channel, uint8_t sync_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_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... | |
Defined Constants and Types for the STM32G0xx DMAMUX DMA request router.
LGPL License Terms libopencm3 License
#define DMAMUX1_CFR DMAMUX_CFR(DMAMUX1) |
Definition at line 41 of file dmamux_common_all.h.
#define DMAMUX1_CSR DMAMUX_CSR(DMAMUX1) |
Definition at line 37 of file dmamux_common_all.h.
#define DMAMUX1_CxCR | ( | dma_channel | ) | DMAMUX_CxCR(DMAMUX1, (dma_channel)) |
Definition at line 33 of file dmamux_common_all.h.
#define DMAMUX1_RGCFR DMAMUX_RGCFR(DMAMUX1) |
Definition at line 53 of file dmamux_common_all.h.
#define DMAMUX1_RGSR DMAMUX_RSGR(DMAMUX1) |
Definition at line 49 of file dmamux_common_all.h.
#define DMAMUX1_RGxCR | ( | rg_channel | ) | DMAMUX_RGxCR(DMAMUX1, (rg_channel)) |
Definition at line 45 of file dmamux_common_all.h.
#define DMAMUX2_CFR DMAMUX_CFR(DMAMUX2) |
Definition at line 42 of file dmamux_common_all.h.
#define DMAMUX2_CSR DMAMUX_CSR(DMAMUX2) |
Definition at line 38 of file dmamux_common_all.h.
#define DMAMUX2_CxCR | ( | dma_channel | ) | DMAMUX_CxCR(DMAMUX2, (dma_channel)) |
Definition at line 34 of file dmamux_common_all.h.
#define DMAMUX2_RGCFR DMAMUX_RGCFR(DMAMUX2) |
Definition at line 54 of file dmamux_common_all.h.
#define DMAMUX2_RGSR DMAMUX_RSGR(DMAMUX2) |
Definition at line 50 of file dmamux_common_all.h.
#define DMAMUX2_RGxCR | ( | rg_channel | ) | DMAMUX_RGxCR(DMAMUX2, (rg_channel)) |
Definition at line 46 of file dmamux_common_all.h.
#define DMAMUX_CFR | ( | dmamux_base | ) | MMIO32((dmamux_base) + 0x84) |
Definition at line 40 of file dmamux_common_all.h.
#define DMAMUX_CSR | ( | dmamux_base | ) | MMIO32((dmamux_base) + 0x80) |
Definition at line 36 of file dmamux_common_all.h.
#define DMAMUX_CxCR | ( | dmamux_base, | |
dma_channel | |||
) | MMIO32((dmamux_base) + 0x04 * ((dma_channel) - 1)) |
Definition at line 32 of file dmamux_common_all.h.
#define DMAMUX_RGCFR | ( | dmamux_base | ) | MMIO32((dmamux_base) + 0x144) |
Definition at line 52 of file dmamux_common_all.h.
#define DMAMUX_RGSR | ( | dmamux_base | ) | MMIO32((dmamux_base) + 0x140) |
Definition at line 48 of file dmamux_common_all.h.
#define DMAMUX_RGxCR | ( | dmamux_base, | |
rg_channel | |||
) | MMIO32((dmamux_base) + 0x100 + 0x04 * ((rg_channel) - 1)) |
Definition at line 44 of file dmamux_common_all.h.
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
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA 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().
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
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request 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().
void dmamux_disable_dma_request_event_generation | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Disable DMA Request Event Generation.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 90 of file dmamux.c.
References DMAMUX_CxCR.
void dmamux_disable_dma_request_sync | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Disable DMA Request Synchronization.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 152 of file dmamux.c.
References DMAMUX_CxCR.
void dmamux_disable_dma_request_sync_overrun_interrupt | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Disable DMA Request Overrun Interrupt.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 192 of file dmamux.c.
References DMAMUX_CxCR.
void dmamux_disable_request_generator | ( | uint32_t | dmamux, |
uint8_t | rg_channel | ||
) |
DMAMUX Disable Request Generator Channel.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
Definition at line 258 of file dmamux.c.
References DMAMUX_RGxCR.
void dmamux_disable_request_generator_trigger_overrun_interrupt | ( | uint32_t | dmamux, |
uint8_t | rg_channel | ||
) |
DMAMUX Disable Request Generator Trigger Overrun Interrupt.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
Definition at line 333 of file dmamux.c.
References DMAMUX_RGxCR.
void dmamux_enable_dma_request_event_generation | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Enable DMA Request Event Generation.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 79 of file dmamux.c.
References DMAMUX_CxCR, and DMAMUX_CxCR_EGE.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 141 of file dmamux.c.
References DMAMUX_CxCR, and DMAMUX_CxCR_SE.
void dmamux_enable_dma_request_sync_overrun_interrupt | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Enable DMA Request Overrun Interrupt.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 181 of file dmamux.c.
References DMAMUX_CxCR, and DMAMUX_CxCR_SOIE.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
Definition at line 247 of file dmamux.c.
References DMAMUX_RGxCR, and DMAMUX_RGxCR_GE.
void dmamux_enable_request_generator_trigger_overrun_interrupt | ( | uint32_t | dmamux, |
uint8_t | rg_channel | ||
) |
DMAMUX Enable Request Generator Trigger Overrun Interrupt.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
Definition at line 322 of file dmamux.c.
References DMAMUX_RGxCR, and DMAMUX_RGxCR_OIE.
uint8_t dmamux_get_dma_channel_request | ( | uint32_t | dmamux, |
uint8_t | channel | ||
) |
DMAMUX Get DMA Channel Request Selection.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 68 of file dmamux.c.
References DMAMUX_CxCR, DMAMUX_CxCR_DMAREQ_ID_MASK, and DMAMUX_CxCR_DMAREQ_ID_SHIFT.
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
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 206 of file dmamux.c.
References DMAMUX_CSR, and DMAMUX_CSR_SOF.
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
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
Definition at line 347 of file dmamux.c.
References DMAMUX_RGSR, and DMAMUX_RGSR_OF.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
Definition at line 37 of file dmamux.c.
References dmamux_clear_dma_request_sync_overrun(), and DMAMUX_CxCR.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request 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.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
[in] | request_id | DMA 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.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
[in] | sync_input_id | synchronization 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.
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.
[in] | dmamux | DMAMUX Controller base address (DMAMUX register base addresses) |
[in] | channel | DMA Channel Number (DMA Channel Number) |
[in] | nbreq | Number 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.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | channel | DMA channel number (DMA Channel Number) |
[in] | polarity | synchronization 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.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
[in] | sig_id | Request 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.
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.
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
[in] | gnbreq | Number 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.
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).
[in] | dmamux | DMAMUX controller base address (DMAMUX register base addresses) |
[in] | rg_channel | Request Generator Channel Number (DMAMUX Request Generator Channel Number) |
[in] | polarity | Trigger 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.