LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sysctl_13xx.h File Reference

Go to the source code of this file.

Data Structures

struct  LPC_SYSCTL_T
 LPC11XX System Control block structure. More...
 

Macros

#define SYSCTL_RST_POR   (1 << 0)
 
#define SYSCTL_RST_EXTRST   (1 << 1)
 
#define SYSCTL_RST_WDT   (1 << 2)
 
#define SYSCTL_RST_BOD   (1 << 3)
 
#define SYSCTL_RST_SYSRST   (1 << 4)
 
#define SYSCTL_STARTST_PIN_BIT(port, pin)   (((port) * 12) + pin)
 
#define SYSCTL_STARTST_PIN_INDEX(port, pin)   (SYSCTL_STARTST_PIN_BIT(port,pin)/32)
 
#define SYSCTL_STARTST_PIN(port, pin)   (1 << (SYSCTL_STARTST_PIN_BIT(port,pin)%32))
 
#define SYSCTL_DEEPSLP_BOD_PD   (1 << 3)
 
#define SYSCTL_DEEPSLP_WDTOSC_PD   (1 << 6)
 
#define SYSCTL_SLPWAKE_IRCOUT_PD   (1 << 0)
 
#define SYSCTL_SLPWAKE_IRC_PD   (1 << 1)
 
#define SYSCTL_SLPWAKE_FLASH_PD   (1 << 2)
 
#define SYSCTL_SLPWAKE_BOD_PD   (1 << 3)
 
#define SYSCTL_SLPWAKE_ADC_PD   (1 << 4)
 
#define SYSCTL_SLPWAKE_SYSOSC_PD   (1 << 5)
 
#define SYSCTL_SLPWAKE_WDTOSC_PD   (1 << 6)
 
#define SYSCTL_SLPWAKE_SYSPLL_PD   (1 << 7)
 
#define SYSCTL_SLPWAKE_USBPLL_PD   (1 << 8)
 
#define SYSCTL_SLPWAKE_USBPAD_PD   (1 << 10)
 
#define SYSCTL_POWERDOWN_IRCOUT_PD   (1 << 0)
 
#define SYSCTL_POWERDOWN_IRC_PD   (1 << 1)
 
#define SYSCTL_POWERDOWN_FLASH_PD   (1 << 2)
 
#define SYSCTL_POWERDOWN_BOD_PD   (1 << 3)
 
#define SYSCTL_POWERDOWN_ADC_PD   (1 << 4)
 
#define SYSCTL_POWERDOWN_SYSOSC_PD   (1 << 5)
 
#define SYSCTL_POWERDOWN_WDTOSC_PD   (1 << 6)
 
#define SYSCTL_POWERDOWN_SYSPLL_PD   (1 << 7)
 
#define SYSCTL_POWERDOWN_USBPLL_PD   (1 << 8)
 
#define SYSCTL_POWERDOWN_USBPAD_PD   (1 << 10)
 

Enumerations

enum  CHIP_SYSCTL_BOOT_MODE_REMAP_T {
  REMAP_BOOT_LOADER_MODE, REMAP_USER_RAM_MODE, REMAP_USER_FLASH_MODE, REMAP_BOOT_LOADER_MODE,
  REMAP_USER_RAM_MODE, REMAP_USER_FLASH_MODE, REMAP_BOOT_LOADER_MODE, REMAP_USER_FLASH_MODE,
  REMAP_BOOT_LOADER_MODE, REMAP_USER_RAM_MODE, REMAP_USER_FLASH_MODE
}
 
enum  CHIP_SYSCTL_PERIPH_RESET_T {
  RESET_SSP0, RESET_I2C0, RESET_SSP1, RESET_CAN0,
  RESET_UART0, RESET_TIMER0_16, RESET_TIMER1_16, RESET_TIMER0_32,
  RESET_TIMER1_32, RESET_ACMP, RESET_DAC0, RESET_ADC0,
  RESET_SSP0, RESET_I2C0, RESET_SSP1, RESET_SPI0,
  RESET_SPI1, RESET_UARTFBRG, RESET_USART0, RESET_USART1,
  RESET_USART2, RESET_I2C, RESET_MRT, RESET_SCT,
  RESET_WKT, RESET_GPIO, RESET_FLASH, RESET_ACMP
}
 
enum  CHIP_SYSCTL_BODRSTLVL_T {
  SYSCTL_BODRSTLVL_RESERVED1, SYSCTL_BODRSTLVL_2_06V, SYSCTL_BODRSTLVL_2_35V, SYSCTL_BODRSTLVL_2_63V,
  SYSCTL_BODRSTLVL_1_46V, SYSCTL_BODRSTLVL_2_06V, SYSCTL_BODRSTLVL_2_35V, SYSCTL_BODRSTLVL_2_63V,
  SYSCTL_BODRSTLVL_0, SYSCTL_BODRSTLVL_1, SYSCTL_BODRSTLVL_2, SYSCTL_BODRSTLVL_3
}
 
enum  CHIP_SYSCTL_BODRINTVAL_T {
  SYSCTL_BODINTVAL_RESERVED1, SYSCTL_BODINTVAL_RESERVED1, SYSCTL_BODINTVAL_2_22V, SYSCTL_BODINTVAL_2_52V,
  SYSCTL_BODINTVAL_2_80V, SYSCTL_BODINTVAL_LVL0, SYSCTL_BODINTVAL_LVL1, SYSCTL_BODINTVAL_LVL2,
  SYSCTL_BODINTVAL_LVL3
}
 

Functions

STATIC INLINE void Chip_SYSCTL_Map (CHIP_SYSCTL_BOOT_MODE_REMAP_T remap)
 Re-map interrupt vectors.
 
STATIC INLINE void Chip_SYSCTL_AssertPeriphReset (CHIP_SYSCTL_PERIPH_RESET_T periph)
 Assert reset for a peripheral.
 
STATIC INLINE void Chip_SYSCTL_DeassertPeriphReset (CHIP_SYSCTL_PERIPH_RESET_T periph)
 De-assert reset for a peripheral.
 
STATIC INLINE void Chip_SYSCTL_PeriphReset (CHIP_SYSCTL_PERIPH_RESET_T periph)
 Resets a peripheral.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetSystemRSTStatus (void)
 Get system reset status.
 
STATIC INLINE void Chip_SYSCTL_ClearSystemRSTStatus (uint32_t reset)
 Clear system reset status.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetPORPIOStatus (int index)
 Read POR captured PIO status.
 
STATIC INLINE void Chip_SYSCTL_SetBODLevels (CHIP_SYSCTL_BODRSTLVL_T rstlvl, CHIP_SYSCTL_BODRINTVAL_T intlvl)
 Set brown-out detection interrupt and reset levels.
 
STATIC INLINE void Chip_SYSCTL_EnableBODReset (void)
 Enable brown-out detection reset.
 
STATIC INLINE void Chip_SYSCTL_DisableBODReset (void)
 Disable brown-out detection reset.
 
STATIC INLINE void Chip_SYSCTL_SetSYSTCKCAL (uint32_t sysCalVal)
 Set System tick timer calibration value.
 
STATIC INLINE void Chip_SYSCTL_SetStartPinRising (uint8_t index, uint32_t pins)
 Set rising edge for PIO start logic (APRP0)
 
STATIC INLINE void Chip_SYSCTL_SetStartPinFalling (uint8_t index, uint32_t pins)
 Set falling edge for PIO start logic (APRP0)
 
STATIC INLINE void Chip_SYSCTL_EnableStartPin (uint8_t index, uint32_t pins)
 Enables start signal for PIO start logic.
 
STATIC INLINE void Chip_SYSCTL_DisableStartPin (uint8_t index, uint32_t pins)
 Disables start signal for PIO start logic.
 
STATIC INLINE void Chip_SYSCTL_ResetStartPin (uint8_t index, uint32_t pins)
 Resets start logic state for PIO start logic.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetStartPinStatus (uint8_t index)
 Returns start logic state for PIO pins.
 
void Chip_SYSCTL_SetDeepSleepPD (uint32_t sleepmask)
 Setup deep sleep behaviour for power down.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetDeepSleepPD (void)
 Returns current deep sleep mask.
 
void Chip_SYSCTL_SetWakeup (uint32_t wakeupmask)
 Setup wakeup behaviour from deep sleep.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetWakeup (void)
 Return current wakeup mask.
 
void Chip_SYSCTL_PowerDown (uint32_t powerdownmask)
 Power down one or more blocks or peripherals.
 
void Chip_SYSCTL_PowerUp (uint32_t powerupmask)
 Power up one or more blocks or peripherals.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetPowerStates (void)
 Get power status.
 
STATIC INLINE uint32_t Chip_SYSCTL_GetDeviceID (void)
 Return the device ID.