libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
common/ppi.h File Reference
Include dependency graph for common/ppi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PPI_TASK_CHG_EN(n)   MMIO32(PPI_BASE + 0x8 * (n))
 
#define PPI_TASK_CHG_DIS(n)   MMIO32(PPI_BASE + 0x8 * (n) + 0x4)
 
#define PPI_CHEN   MMIO32(PPI_BASE + 0x500)
 
#define PPI_CHENSET   MMIO32(PPI_BASE + 0x504)
 
#define PPI_CHENCLR   MMIO32(PPI_BASE + 0x508)
 
#define PPI_CH_EEP(n)   MMIO32(PPI_BASE + 0x510 + 0x8 * (n))
 
#define PPI_CH_TEP(n)   MMIO32(PPI_BASE + 0x514 + 0x8 * (n))
 
#define PPI_CHG(n)   MMIO32(PPI_BASE + 0x800 + 0x4 * (n))
 
#define PPI_CH(n)   (1 << (n))
 
#define PPI_CH0   (1 << 0)
 
#define PPI_CH1   (1 << 1)
 
#define PPI_CH2   (1 << 2)
 
#define PPI_CH3   (1 << 3)
 
#define PPI_CH4   (1 << 4)
 
#define PPI_CH5   (1 << 5)
 
#define PPI_CH6   (1 << 6)
 
#define PPI_CH7   (1 << 7)
 
#define PPI_CH8   (1 << 8)
 
#define PPI_CH9   (1 << 9)
 
#define PPI_CH10   (1 << 10)
 
#define PPI_CH11   (1 << 11)
 
#define PPI_CH12   (1 << 12)
 
#define PPI_CH13   (1 << 13)
 
#define PPI_CH14   (1 << 14)
 
#define PPI_CH15   (1 << 15)
 
#define PPI_CH20   (1 << 20)
 
#define PPI_CH21   (1 << 21)
 
#define PPI_CH22   (1 << 22)
 
#define PPI_CH23   (1 << 23)
 
#define PPI_CH24   (1 << 24)
 
#define PPI_CH25   (1 << 25)
 
#define PPI_CH26   (1 << 26)
 
#define PPI_CH27   (1 << 27)
 
#define PPI_CH28   (1 << 28)
 
#define PPI_CH29   (1 << 29)
 
#define PPI_CH30   (1 << 30)
 
#define PPI_CH31   (1 << 31)
 
#define PPI_MAX_PROG_CHANNEL   (15)
 
#define PPI_CH_TMR0CC0_RADIOTXEN   PPI_CH20
 
#define PPI_CH_TMR0CC0_RADIORXEN   PPI_CH21
 
#define PPI_CH_TMR0CC1_RADIODIS   PPI_CH22
 
#define PPI_CH_RADIOBCMATCH_AARSTART   PPI_CH23
 
#define PPI_CH_RADIOREADY_CCMKSGEN   PPI_CH24
 
#define PPI_CH_RADIOADDR_CCMCRYPT   PPI_CH25
 
#define PPI_CH_RADIOADDR_TMR0CAPT1   PPI_CH26
 
#define PPI_CH_RADIOEND_TMR0CAPT2   PPI_CH27
 
#define PPI_CH_RTC0CC0_RADIOTXEN   PPI_CH28
 
#define PPI_CH_RTC0CC0_RADIORXEN   PPI_CH29
 
#define PPI_CH_RTC0CC0_TMR0CLEAR   PPI_CH30
 
#define PPI_CH_RTC0CC0_TMR0START   PPI_CH31
 

Functions

void ppi_configure_channel (uint8_t chan_num, uint32_t eep, uint32_t tep)
 Configure PPI Channel. More...
 
void ppi_enable_channels (uint32_t channels)
 Enable PPI channels, given the channels mask. More...
 
void ppi_disable_channels (uint32_t channels)
 Disable PPI channels, given the channels mask. More...
 
void ppi_set_group (uint8_t group, uint32_t channels)
 Set channels group, given channels mask. More...
 
void ppi_enable_group (uint8_t group)
 Enable previously configured group of channels. More...
 
void ppi_disable_group (uint8_t group)
 Disable previously configured group of channels. More...
 
uint8_t ppi_add_channel (uint32_t *chan_map, uint32_t eep, uint32_t tep, bool enable)
 Configure new channel. More...
 
void ppi_remove_channel (uint32_t *chan_map, uint8_t chan_num)
 Disable channel and remove it from the map of used channels. More...