M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
Macros | Functions
gpio.h File Reference

M471M/R1/S GPIO driver header file. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GPIO_PIN_MAX   16
 
#define GPIO_MODE_INPUT   0x0UL
 
#define GPIO_MODE_OUTPUT   0x1UL
 
#define GPIO_MODE_OPEN_DRAIN   0x2UL
 
#define GPIO_MODE_QUASI   0x3UL
 
#define GPIO_INT_RISING   0x00010000UL
 
#define GPIO_INT_FALLING   0x00000001UL
 
#define GPIO_INT_BOTH_EDGE   0x00010001UL
 
#define GPIO_INT_HIGH   0x01010000UL
 
#define GPIO_INT_LOW   0x01000001UL
 
#define GPIO_INTTYPE_EDGE   0UL
 
#define GPIO_INTTYPE_LEVEL   1UL
 
#define GPIO_DBCTL_ICLK_ON   0x00000020UL
 
#define GPIO_DBCTL_ICLK_OFF   0x00000000UL
 
#define GPIO_DBCTL_DBCLKSRC_LIRC   0x00000010UL
 
#define GPIO_DBCTL_DBCLKSRC_HCLK   0x00000000UL
 
#define GPIO_DBCTL_DBCLKSEL_1   0x00000000UL
 
#define GPIO_DBCTL_DBCLKSEL_2   0x00000001UL
 
#define GPIO_DBCTL_DBCLKSEL_4   0x00000002UL
 
#define GPIO_DBCTL_DBCLKSEL_8   0x00000003UL
 
#define GPIO_DBCTL_DBCLKSEL_16   0x00000004UL
 
#define GPIO_DBCTL_DBCLKSEL_32   0x00000005UL
 
#define GPIO_DBCTL_DBCLKSEL_64   0x00000006UL
 
#define GPIO_DBCTL_DBCLKSEL_128   0x00000007UL
 
#define GPIO_DBCTL_DBCLKSEL_256   0x00000008UL
 
#define GPIO_DBCTL_DBCLKSEL_512   0x00000009UL
 
#define GPIO_DBCTL_DBCLKSEL_1024   0x0000000AUL
 
#define GPIO_DBCTL_DBCLKSEL_2048   0x0000000BUL
 
#define GPIO_DBCTL_DBCLKSEL_4096   0x0000000CUL
 
#define GPIO_DBCTL_DBCLKSEL_8192   0x0000000DUL
 
#define GPIO_DBCTL_DBCLKSEL_16384   0x0000000EUL
 
#define GPIO_DBCTL_DBCLKSEL_32768   0x0000000FUL
 
#define GPIO_PIN_DATA(port, pin)   (*((volatile uint32_t *)((GPIO_PIN_DATA_BASE+(0x40*(port))) + ((pin)<<2))))
 
#define PA0   GPIO_PIN_DATA(0, 0 )
 
#define PA1   GPIO_PIN_DATA(0, 1 )
 
#define PA2   GPIO_PIN_DATA(0, 2 )
 
#define PA3   GPIO_PIN_DATA(0, 3 )
 
#define PB0   GPIO_PIN_DATA(1, 0 )
 
#define PB1   GPIO_PIN_DATA(1, 1 )
 
#define PB2   GPIO_PIN_DATA(1, 2 )
 
#define PB3   GPIO_PIN_DATA(1, 3 )
 
#define PB4   GPIO_PIN_DATA(1, 4 )
 
#define PB5   GPIO_PIN_DATA(1, 5 )
 
#define PB6   GPIO_PIN_DATA(1, 6 )
 
#define PB7   GPIO_PIN_DATA(1, 7 )
 
#define PB8   GPIO_PIN_DATA(1, 8 )
 
#define PB11   GPIO_PIN_DATA(1, 11)
 
#define PB12   GPIO_PIN_DATA(1, 12)
 
#define PB15   GPIO_PIN_DATA(1, 15)
 
#define PC0   GPIO_PIN_DATA(2, 0 )
 
#define PC1   GPIO_PIN_DATA(2, 1 )
 
#define PC2   GPIO_PIN_DATA(2, 2 )
 
#define PC3   GPIO_PIN_DATA(2, 3 )
 
#define PC4   GPIO_PIN_DATA(2, 4 )
 
#define PC5   GPIO_PIN_DATA(2, 5 )
 
#define PC6   GPIO_PIN_DATA(2, 6 )
 
#define PC7   GPIO_PIN_DATA(2, 7 )
 
#define PD0   GPIO_PIN_DATA(3, 0 )
 
#define PD1   GPIO_PIN_DATA(3, 1 )
 
#define PD2   GPIO_PIN_DATA(3, 2 )
 
#define PD3   GPIO_PIN_DATA(3, 3 )
 
#define PD7   GPIO_PIN_DATA(3, 7 )
 
#define PD8   GPIO_PIN_DATA(3, 8 )
 
#define PD9   GPIO_PIN_DATA(3, 9 )
 
#define PD12   GPIO_PIN_DATA(3, 12)
 
#define PD13   GPIO_PIN_DATA(3, 13)
 
#define PD14   GPIO_PIN_DATA(3, 14)
 
#define PD15   GPIO_PIN_DATA(3, 15)
 
#define PE0   GPIO_PIN_DATA(4, 0 )
 
#define PE8   GPIO_PIN_DATA(4, 8 )
 
#define PE9   GPIO_PIN_DATA(4, 9 )
 
#define PE10   GPIO_PIN_DATA(4, 10)
 
#define PE11   GPIO_PIN_DATA(4, 11)
 
#define PE12   GPIO_PIN_DATA(4, 12)
 
#define PE13   GPIO_PIN_DATA(4, 13)
 
#define PF0   GPIO_PIN_DATA(5, 0 )
 
#define PF1   GPIO_PIN_DATA(5, 1 )
 
#define PF2   GPIO_PIN_DATA(5, 2 )
 
#define PF3   GPIO_PIN_DATA(5, 3 )
 
#define PF4   GPIO_PIN_DATA(5, 4 )
 
#define PF5   GPIO_PIN_DATA(5, 5 )
 
#define PF6   GPIO_PIN_DATA(5, 6 )
 
#define PF7   GPIO_PIN_DATA(5, 7 )
 
#define GPIO_CLR_INT_FLAG(port, u32PinMask)   ((port)->INTSRC = (u32PinMask))
 Clear GPIO Pin Interrupt Flag. More...
 
#define GPIO_DISABLE_DEBOUNCE(port, u32PinMask)   ((port)->DBEN &= ~(u32PinMask))
 Disable Pin De-bounce Function. More...
 
#define GPIO_ENABLE_DEBOUNCE(port, u32PinMask)   ((port)->DBEN |= (u32PinMask))
 Enable Pin De-bounce Function. More...
 
#define GPIO_DISABLE_DIGITAL_PATH(port, u32PinMask)   ((port)->DINOFF |= ((u32PinMask)<<16))
 Disable I/O Digital Input Path. More...
 
#define GPIO_ENABLE_DIGITAL_PATH(port, u32PinMask)   ((port)->DINOFF &= ~((u32PinMask)<<16))
 Enable I/O Digital Input Path. More...
 
#define GPIO_DISABLE_DOUT_MASK(port, u32PinMask)   ((port)->DATMSK &= ~(u32PinMask))
 Disable I/O DOUT mask. More...
 
#define GPIO_ENABLE_DOUT_MASK(port, u32PinMask)   ((port)->DATMSK |= (u32PinMask))
 Enable I/O DOUT mask. More...
 
#define GPIO_GET_INT_FLAG(port, u32PinMask)   ((port)->INTSRC & (u32PinMask))
 Get GPIO Pin Interrupt Flag. More...
 
#define GPIO_SET_DEBOUNCE_TIME(u32ClkSrc, u32ClkSel)   (GPIO->DBCTL = (GPIO_DBCTL_ICLKON_Msk | (u32ClkSrc) | (u32ClkSel)))
 Set De-bounce Sampling Cycle Time. More...
 
#define GPIO_GET_IN_DATA(port)   ((port)->PIN)
 Get GPIO Port IN Data. More...
 
#define GPIO_SET_OUT_DATA(port, u32Data)   ((port)->DOUT = (u32Data))
 Set GPIO Port OUT Data. More...
 
#define GPIO_TOGGLE(u32Pin)   ((u32Pin) ^= 1)
 Toggle Specified GPIO pin. More...
 
#define GPIO_EnableEINT   GPIO_EnableInt
 Enable External GPIO interrupt. More...
 
#define GPIO_DisableEINT   GPIO_DisableInt
 Disable External GPIO interrupt. More...
 

Functions

void GPIO_SetMode (GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode)
 Set GPIO operation mode. More...
 
void GPIO_EnableInt (GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs)
 Enable GPIO interrupt. More...
 
void GPIO_DisableInt (GPIO_T *port, uint32_t u32Pin)
 Disable GPIO interrupt. More...
 

Detailed Description

M471M/R1/S GPIO driver header file.

SPDX-License-Identifier: Apache-2.0

Definition in file gpio.h.