Руслан Урядинский / libuavcan

Dependents:   UAVCAN UAVCAN_Subscriber

Embed: (wiki syntax)

« Back to documentation index

CHIP: LPC11xx System Control block driver

CHIP: LPC11xx System Control block driver

Data Structures

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

Typedefs

typedef enum
CHIP_SYSCTL_BOOT_MODE_REMAP 
CHIP_SYSCTL_BOOT_MODE_REMAP_T
 System memory remap modes used to remap interrupt vectors.
typedef enum CHIP_SYSCTL_BODRSTLVL CHIP_SYSCTL_BODRSTLVL_T
 Brown-out detector reset level.
typedef enum CHIP_SYSCTL_BODRINTVAL CHIP_SYSCTL_BODRINTVAL_T
 Brown-out detector interrupt level.

Enumerations

enum  CHIP_SYSCTL_BOOT_MODE_REMAP { REMAP_BOOT_LOADER_MODE, REMAP_USER_RAM_MODE, REMAP_USER_FLASH_MODE }
 

System memory remap modes used to remap interrupt vectors.

More...
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
}
 

Peripheral reset identifiers, not available on all devices.

More...
enum  CHIP_SYSCTL_BODRSTLVL {
  SYSCTL_BODRSTLVL_1_46V, SYSCTL_BODRSTLVL_RESERVED1, SYSCTL_BODRSTLVL_RESERVED1 , SYSCTL_BODRSTLVL_2_52V,
  SYSCTL_BODRSTLVL_2_80V, SYSCTL_BODRSTLVL_2_06V, SYSCTL_BODRSTLVL_2_35V, SYSCTL_BODRSTLVL_2_63V
}
 

Brown-out detector reset level.

More...
enum  CHIP_SYSCTL_BODRINTVAL { , SYSCTL_BODINTVAL_2_22V, SYSCTL_BODINTVAL_2_52V, SYSCTL_BODINTVAL_2_80V }
 

Brown-out detector interrupt level.

More...

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 bool Chip_SYSCTL_GetBODIntStatus (void)
 Returns brown-out detection interrupt status.
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_SetIRQLatency (uint32_t latency)
 Set System IRQ latency.
STATIC INLINE uint32_t Chip_SYSCTL_GetIRQLatency (void)
 Get System IRQ latency.
STATIC INLINE void Chip_SYSCTL_SetNMISource (uint32_t intsrc)
 Set source for non-maskable interrupt (NMI)
STATIC INLINE void Chip_SYSCTL_EnableNMISource (void)
 Enable interrupt used for NMI source.
STATIC INLINE void Chip_SYSCTL_DisableNMISource (void)
 Disable interrupt used for NMI source.
STATIC INLINE void Chip_SYSCTL_SetPinInterrupt (uint32_t intno, uint8_t port, uint8_t pin)
 Setup a pin source for the pin interrupts (0-7)
STATIC INLINE void Chip_SYSCTL_SetUSBCLKCTRL (uint32_t ap_clk, uint32_t pol_clk)
 Setup USB clock control.
STATIC INLINE bool Chip_SYSCTL_GetUSBCLKStatus (void)
 Returns the status of the USB need_clock signal.
STATIC INLINE void Chip_SYSCTL_SetStartPin (uint32_t pin, uint32_t edge)
 Set edge for PIO start logic.
STATIC INLINE void Chip_SYSCTL_EnableStartPin (uint32_t pin)
 Enable PIO start logic for a pin.
STATIC INLINE void Chip_SYSCTL_DisableStartPin (uint32_t pin)
 Disable PIO start logic for a pin.
STATIC INLINE void Chip_SYSCTL_ResetStartPin (uint32_t pin)
 Clear PIO start logic state.
STATIC INLINE bool Chip_SYSCTL_GetStartPinStatus (uint32_t pin)
 Returns status of pin wakeup.
STATIC INLINE void Chip_SYSCTL_EnablePINTWakeup (uint32_t pin)
 Enables a pin's (PINT) wakeup logic.
STATIC INLINE void Chip_SYSCTL_DisablePINTWakeup (uint32_t pin)
 Disables a pin's (PINT) wakeup logic.
STATIC INLINE void Chip_SYSCTL_EnablePeriphWakeup (uint32_t periphmask)
 Enables a peripheral's wakeup logic.
STATIC INLINE void Chip_SYSCTL_DisablePeriphWakeup (uint32_t periphmask)
 Disables a peripheral's wakeup logic.
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.

Typedef Documentation

Brown-out detector interrupt level.

Brown-out detector reset level.

System memory remap modes used to remap interrupt vectors.


Enumeration Type Documentation

Brown-out detector interrupt level.

Enumerator:
SYSCTL_BODINTVAL_2_22V 

Brown-out interrupt at 2.22v

SYSCTL_BODINTVAL_2_52V 

Brown-out interrupt at 2.52v

SYSCTL_BODINTVAL_2_80V 

Brown-out interrupt at 2.8v

Definition at line 258 of file sysctl_11xx.h.

Brown-out detector reset level.

Enumerator:
SYSCTL_BODRSTLVL_1_46V 

Brown-out reset at 1.46v

SYSCTL_BODRSTLVL_RESERVED1 

Only possible value for LPC11A/02/XXLV

SYSCTL_BODRSTLVL_RESERVED1 

Only possible value for LPC11A/02/XXLV

SYSCTL_BODRSTLVL_2_52V 

Brown-out reset at 2.52v

SYSCTL_BODRSTLVL_2_80V 

Brown-out reset at 2.80v

SYSCTL_BODRSTLVL_2_06V 

Brown-out reset at 2.06v

SYSCTL_BODRSTLVL_2_35V 

Brown-out reset at 2.35v

SYSCTL_BODRSTLVL_2_63V 

Brown-out reset at 2.63v

Definition at line 234 of file sysctl_11xx.h.

System memory remap modes used to remap interrupt vectors.

Enumerator:
REMAP_BOOT_LOADER_MODE 

Interrupt vectors are re-mapped to Boot ROM

REMAP_USER_RAM_MODE 

Interrupt vectors are re-mapped to Static RAM

REMAP_USER_FLASH_MODE 

Interrupt vectors are not re-mapped and reside in Flash

Definition at line 116 of file sysctl_11xx.h.

Peripheral reset identifiers, not available on all devices.

Enumerator:
RESET_SSP0 

SSP0 reset control

RESET_I2C0 

I2C0 reset control

RESET_SSP1 

SSP1 reset control

RESET_CAN0 

CAN0 reset control

RESET_UART0 

UART0 reset control

RESET_TIMER0_16 

16-bit Timer 0 reset control

RESET_TIMER1_16 

16-bit Timer 1 reset control

RESET_TIMER0_32 

32-bit Timer 0 reset control

RESET_TIMER1_32 

32-bit Timer 1 reset control

RESET_ACMP 

Analog comparator reset control

RESET_DAC0 

DAC reset control

RESET_ADC0 

ADC reset control

Definition at line 135 of file sysctl_11xx.h.


Function Documentation

STATIC INLINE void Chip_SYSCTL_AssertPeriphReset ( CHIP_SYSCTL_PERIPH_RESET_T  periph )

Assert reset for a peripheral.

Parameters:
periph: Peripheral to assert reset for
Returns:
Nothing
Note:
The peripheral will stay in reset until reset is de-asserted. Call Chip_SYSCTL_DeassertPeriphReset() to de-assert the reset.

Definition at line 159 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_ClearSystemRSTStatus ( uint32_t  reset )

Clear system reset status.

Parameters:
reset: An Or'ed value of SYSCTL_RST_* status to clear
Returns:
Nothing
Note:
This function returns the detected reset source(s).

Definition at line 215 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DeassertPeriphReset ( CHIP_SYSCTL_PERIPH_RESET_T  periph )

De-assert reset for a peripheral.

Parameters:
periph: Peripheral to de-assert reset for
Returns:
Nothing

Definition at line 169 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DisableBODReset ( void   )

Disable brown-out detection reset.

Returns:
Nothing

Definition at line 305 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DisableNMISource ( void   )

Disable interrupt used for NMI source.

Returns:
Nothing

Definition at line 372 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DisablePeriphWakeup ( uint32_t  periphmask )

Disables a peripheral's wakeup logic.

Parameters:
periphmask: OR'ed values of SYSCTL_WAKEUP_* for wakeup
Returns:
Nothing

Definition at line 542 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DisablePINTWakeup ( uint32_t  pin )

Disables a pin's (PINT) wakeup logic.

Parameters:
pin: pin number
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 513 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_DisableStartPin ( uint32_t  pin )

Disable PIO start logic for a pin.

Parameters:
pin: PIO pin number
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 466 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_EnableBODReset ( void   )

Enable brown-out detection reset.

Returns:
Nothing

Definition at line 296 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_EnableNMISource ( void   )

Enable interrupt used for NMI source.

Returns:
Nothing

Definition at line 363 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_EnablePeriphWakeup ( uint32_t  periphmask )

Enables a peripheral's wakeup logic.

Parameters:
periphmask: OR'ed values of SYSCTL_WAKEUP_* for wakeup
Returns:
Nothing

Definition at line 532 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_EnablePINTWakeup ( uint32_t  pin )

Enables a pin's (PINT) wakeup logic.

Parameters:
pin: pin number
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 502 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_EnableStartPin ( uint32_t  pin )

Enable PIO start logic for a pin.

Parameters:
pin: PIO pin number
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 455 of file sysctl_11xx.h.

STATIC INLINE bool Chip_SYSCTL_GetBODIntStatus ( void   )

Returns brown-out detection interrupt status.

Returns:
true if the BOD interrupt is pending, otherwise false

Definition at line 286 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetDeepSleepPD ( void   )

Returns current deep sleep mask.

Returns:
OR'ed values of SYSCTL_DEEPSLP_* values
Note:
A high bit indicates the peripheral will power down on deep sleep.

Definition at line 577 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetDeviceID ( void   )

Return the device ID.

Returns:
the device ID

Definition at line 674 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetIRQLatency ( void   )

Get System IRQ latency.

Returns:
Latency in clock ticks

Definition at line 339 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetPORPIOStatus ( int  index )

Read POR captured PIO status.

Parameters:
index: POR register index, 0 or 1
Returns:
captured POR PIO status
Note:
Some devices only support index 0.

Definition at line 226 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetPowerStates ( void   )

Get power status.

Returns:
OR'ed values of SYSCTL_POWERDOWN_* values
Note:
A high state indicates the peripheral is powered down.

Definition at line 665 of file sysctl_11xx.h.

STATIC INLINE bool Chip_SYSCTL_GetStartPinStatus ( uint32_t  pin )

Returns status of pin wakeup.

Parameters:
pin: PIO pin number
Returns:
true if a pin start signal is pending, otherwise false
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 488 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetSystemRSTStatus ( void   )

Get system reset status.

Returns:
An Or'ed value of SYSCTL_RST_*
Note:
This function returns the detected reset source(s).

Definition at line 204 of file sysctl_11xx.h.

STATIC INLINE bool Chip_SYSCTL_GetUSBCLKStatus ( void   )

Returns the status of the USB need_clock signal.

Returns:
true if USB need_clock statis is high, otherwise false

Definition at line 424 of file sysctl_11xx.h.

STATIC INLINE uint32_t Chip_SYSCTL_GetWakeup ( void   )

Return current wakeup mask.

Returns:
OR'ed values of SYSCTL_SLPWAKE_* values
Note:
A high state indicates the peripehral will powerup on wakeup.

Definition at line 615 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_Map ( CHIP_SYSCTL_BOOT_MODE_REMAP_T  remap )

Re-map interrupt vectors.

Parameters:
remap: system memory map value
Returns:
Nothing

Definition at line 127 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_PeriphReset ( CHIP_SYSCTL_PERIPH_RESET_T  periph )

Resets a peripheral.

Parameters:
periph: Peripheral to reset
Returns:
Nothing

Definition at line 179 of file sysctl_11xx.h.

void Chip_SYSCTL_PowerDown ( uint32_t  powerdownmask )

Power down one or more blocks or peripherals.

Parameters:
powerdownmask: OR'ed values of SYSCTL_POWERDOWN_* values
Returns:
Nothing
void Chip_SYSCTL_PowerUp ( uint32_t  powerupmask )

Power up one or more blocks or peripherals.

Parameters:
powerupmask: OR'ed values of SYSCTL_POWERDOWN_* values
Returns:
Nothing
STATIC INLINE void Chip_SYSCTL_ResetStartPin ( uint32_t  pin )

Clear PIO start logic state.

Parameters:
pin: PIO pin number
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 477 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetBODLevels ( CHIP_SYSCTL_BODRSTLVL_T  rstlvl,
CHIP_SYSCTL_BODRINTVAL_T  intlvl 
)

Set brown-out detection interrupt and reset levels.

Parameters:
rstlvl: Brown-out detector reset level
intlvl: Brown-out interrupt level
Returns:
Nothing
Note:
Brown-out detection reset will be disabled upon exiting this function. Use Chip_SYSCTL_EnableBODReset() to re-enable.

Definition at line 275 of file sysctl_11xx.h.

void Chip_SYSCTL_SetDeepSleepPD ( uint32_t  sleepmask )

Setup deep sleep behaviour for power down.

Parameters:
sleepmask: OR'ed values of SYSCTL_DEEPSLP_* values (high to powerdown on deepsleep)
Returns:
Nothing
Note:
This must be setup prior to using deep sleep. See the user manual (PDSLEEPCFG register) for more info on setting this up. This function selects which peripherals are powered down on deep sleep. This function should only be called once with all options for power-down in that call.
STATIC INLINE void Chip_SYSCTL_SetIRQLatency ( uint32_t  latency )

Set System IRQ latency.

Parameters:
latency: Latency in clock ticks
Returns:
Nothing
Note:
Sets the IRQ latency, a value between 0 and 255 clocks. Lower values allow better latency.

Definition at line 330 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetNMISource ( uint32_t  intsrc )

Set source for non-maskable interrupt (NMI)

Parameters:
intsrc: IRQ number to assign to the NMI
Returns:
Nothing
Note:
The NMI source will be disabled upon exiting this function. use the Chip_SYSCTL_EnableNMISource() function to enable the NMI source.

Definition at line 354 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetPinInterrupt ( uint32_t  intno,
uint8_t  port,
uint8_t  pin 
)

Setup a pin source for the pin interrupts (0-7)

Parameters:
intno: IRQ number
port: port number 0/1)
pin: pin number (0->31)
Returns:
Nothing
Parameters:
intno: IRQ number
port: port number 0/1)
pin: pin number (0->23 for GPIO Port 0 and 0->31 for GPIO Port 1)
Returns:
Nothing

Definition at line 387 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetStartPin ( uint32_t  pin,
uint32_t  edge 
)

Set edge for PIO start logic.

Parameters:
pin: PIO pin number
edge: 0 for falling edge, 1 for rising edge
Returns:
Nothing
Note:
Different devices support different pins, see the user manual for supported pins.

Definition at line 439 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetSYSTCKCAL ( uint32_t  sysCalVal )

Set System tick timer calibration value.

Parameters:
sysCalVal: System tick timer calibration value
Returns:
Nothing

Definition at line 317 of file sysctl_11xx.h.

STATIC INLINE void Chip_SYSCTL_SetUSBCLKCTRL ( uint32_t  ap_clk,
uint32_t  pol_clk 
)

Setup USB clock control.

Parameters:
ap_clk: USB need_clock signal control (0 or 1)
pol_clk: USB need_clock polarity for triggering the USB wake-up interrupt (0 or 1)
Returns:
Nothing
Note:
See the USBCLKCTRL register in the user manual for these settings.

Definition at line 415 of file sysctl_11xx.h.

void Chip_SYSCTL_SetWakeup ( uint32_t  wakeupmask )

Setup wakeup behaviour from deep sleep.

Parameters:
wakeupmask: OR'ed values of SYSCTL_SLPWAKE_* values (high is powered down)
Returns:
Nothing
Note:
This must be setup prior to using deep sleep. See the user manual (PDWAKECFG register) for more info on setting this up. This function selects which peripherals are powered up on exit from deep sleep. This function should only be called once with all options for wakeup in that call.