Classes | Macros | Typedefs | Enumerations | Functions
CHIP: LPC11xx IO Control driver

Classes

struct  LPC_IOCON_T
 

Macros

#define FUNC0   0x0
 
#define FUNC1   0x1
 
#define FUNC2   0x2
 
#define FUNC3   0x3
 
#define FUNC4   0x4
 
#define FUNC5   0x5
 
#define FUNC6   0x6
 
#define FUNC7   0x7
 
#define IOCON_ADMODE_EN   (0x0 << 7)
 
#define IOCON_DIGMODE_EN   (0x1 << 7)
 
#define IOCON_FASTI2C_EN   (0x2 << 8)
 
#define IOCON_FILT_DIS   (0x1 << 8)
 
#define IOCON_FUNC0   0x0
 
#define IOCON_FUNC1   0x1
 
#define IOCON_FUNC2   0x2
 
#define IOCON_FUNC3   0x3
 
#define IOCON_FUNC4   0x4
 
#define IOCON_FUNC5   0x5
 
#define IOCON_FUNC6   0x6
 
#define IOCON_FUNC7   0x7
 
#define IOCON_HYS_EN   (0x1 << 5)
 
#define IOCON_INV_EN   (0x1 << 6)
 
#define IOCON_MODE_INACT   (0x0 << 3)
 
#define IOCON_MODE_PULLDOWN   (0x1 << 3)
 
#define IOCON_MODE_PULLUP   (0x2 << 3)
 
#define IOCON_MODE_REPEATER   (0x3 << 3)
 
#define IOCON_OPENDRAIN_EN   (0x1 << 10)
 
#define IOCON_SFI2C_EN   (0x0 << 8)
 
#define IOCON_STDI2C_EN   (0x1 << 8)
 
#define MD_ADMODE   (0x0 << 7)
 
#define MD_BUK   (0x3 << 3)
 
#define MD_DIGMODE   (0x1 << 7)
 
#define MD_DISFIL   (0x0 << 8)
 
#define MD_ENFIL   (0x1 << 8)
 
#define MD_FASTI2C   (0x2 << 8)
 
#define MD_HYS   (0x1 << 5)
 
#define MD_INV   (0x1 << 6)
 
#define MD_OPENDRAIN   (0x1 << 10)
 
#define MD_PDN   (0x1 << 3)
 
#define MD_PLN   (0x0 << 3)
 
#define MD_PUP   (0x2 << 3)
 
#define MD_SFI2C   (0x0 << 8)
 
#define MD_STDI2C   (0x1 << 8)
 

Typedefs

typedef enum CHIP_IOCON_PIN_LOC CHIP_IOCON_PIN_LOC_T
 LPC11XX Pin location select. More...
 
typedef enum CHIP_IOCON_PIO CHIP_IOCON_PIO_T
 IO Configuration Unit register block structure. More...
 

Enumerations

enum  CHIP_IOCON_PIN_LOC {
  IOCON_SCKLOC_PIO0_10 = (0xB0), IOCON_SCKLOC_PIO2_11 = (0xB0 | 1), IOCON_SCKLOC_PIO0_6 = (0xB0 | 2), IOCON_DSRLOC_PIO2_1 = (0xB4),
  IOCON_DSRLOC_PIO3_1 = (0xB4 | 1), IOCON_DCDLOC_PIO2_2 = (0xB8), IOCON_DCDLOC_PIO3_2 = (0xB8 | 1), IOCON_RILOC_PIO2_3 = (0xBC),
  IOCON_RILOC_PIO3_3 = (0xBC | 1)
}
 LPC11XX Pin location select. More...
 
enum  CHIP_IOCON_PIO {
  IOCON_PIO0_0 = (0x00C >> 2), IOCON_PIO0_1 = (0x010 >> 2), IOCON_PIO0_2 = (0x01C >> 2), IOCON_PIO0_3 = (0x02C >> 2),
  IOCON_PIO0_4 = (0x030 >> 2), IOCON_PIO0_5 = (0x034 >> 2), IOCON_PIO0_6 = (0x04C >> 2), IOCON_PIO0_7 = (0x050 >> 2),
  IOCON_PIO0_8 = (0x060 >> 2), IOCON_PIO0_9 = (0x064 >> 2), IOCON_PIO0_10 = (0x070 >> 2), IOCON_PIO0_11 = (0x074 >> 2),
  IOCON_PIO1_0 = (0x078 >> 2), IOCON_PIO1_1 = (0x07C >> 2), IOCON_PIO1_2 = (0x080 >> 2), IOCON_PIO1_3 = (0x090 >> 2),
  IOCON_PIO1_4 = (0x094 >> 2), IOCON_PIO1_5 = (0x0A0 >> 2), IOCON_PIO1_6 = (0x0A4 >> 2), IOCON_PIO1_7 = (0x0A8 >> 2),
  IOCON_PIO1_8 = (0x014 >> 2), IOCON_PIO1_9 = (0x038 >> 2), IOCON_PIO1_10 = (0x06C >> 2), IOCON_PIO1_11 = (0x098 >> 2),
  IOCON_PIO2_0 = (0x008 >> 2), IOCON_PIO2_1 = (0x028 >> 2), IOCON_PIO2_2 = (0x05C >> 2), IOCON_PIO2_3 = (0x08C >> 2),
  IOCON_PIO2_4 = (0x040 >> 2), IOCON_PIO2_5 = (0x044 >> 2), IOCON_PIO2_6 = (0x000 >> 2), IOCON_PIO2_7 = (0x020 >> 2),
  IOCON_PIO2_8 = (0x024 >> 2), IOCON_PIO2_9 = (0x054 >> 2), IOCON_PIO2_10 = (0x058 >> 2), IOCON_PIO2_11 = (0x070 >> 2),
  IOCON_PIO3_0 = (0x084 >> 2), IOCON_PIO3_1 = (0x088 >> 2), IOCON_PIO3_2 = (0x09C >> 2), IOCON_PIO3_3 = (0x0AC >> 2),
  IOCON_PIO3_4 = (0x03C >> 2), IOCON_PIO3_5 = (0x048 >> 2)
}
 IO Configuration Unit register block structure. More...
 

Functions

STATIC INLINE void Chip_IOCON_PinLocSel (LPC_IOCON_T *pIOCON, CHIP_IOCON_PIN_LOC_T sel)
 Select pin location. More...
 
STATIC INLINE void Chip_IOCON_PinMux (LPC_IOCON_T *pIOCON, CHIP_IOCON_PIO_T pin, uint16_t mode, uint8_t func)
 I/O Control pin mux. More...
 
STATIC INLINE void Chip_IOCON_PinMuxSet (LPC_IOCON_T *pIOCON, CHIP_IOCON_PIO_T pin, uint32_t modefunc)
 Sets I/O Control pin mux. More...
 

Detailed Description

Macro Definition Documentation

◆ FUNC0

#define FUNC0   0x0

Definition at line 206 of file iocon_11xx.h.

◆ FUNC1

#define FUNC1   0x1

Definition at line 207 of file iocon_11xx.h.

◆ FUNC2

#define FUNC2   0x2

Definition at line 208 of file iocon_11xx.h.

◆ FUNC3

#define FUNC3   0x3

Definition at line 209 of file iocon_11xx.h.

◆ FUNC4

#define FUNC4   0x4

Definition at line 210 of file iocon_11xx.h.

◆ FUNC5

#define FUNC5   0x5

Definition at line 211 of file iocon_11xx.h.

◆ FUNC6

#define FUNC6   0x6

Definition at line 212 of file iocon_11xx.h.

◆ FUNC7

#define FUNC7   0x7

Definition at line 213 of file iocon_11xx.h.

◆ IOCON_ADMODE_EN

#define IOCON_ADMODE_EN   (0x0 << 7)

Enables analog input function (analog pins only)

Definition at line 180 of file iocon_11xx.h.

◆ IOCON_DIGMODE_EN

#define IOCON_DIGMODE_EN   (0x1 << 7)

Enables digital function (analog pins only)

Definition at line 181 of file iocon_11xx.h.

◆ IOCON_FASTI2C_EN

#define IOCON_FASTI2C_EN   (0x2 << 8)

I2C Fast-mode Plus

Definition at line 184 of file iocon_11xx.h.

◆ IOCON_FILT_DIS

#define IOCON_FILT_DIS   (0x1 << 8)

Disables noise pulses filtering (10nS glitch filter)

Definition at line 185 of file iocon_11xx.h.

◆ IOCON_FUNC0

#define IOCON_FUNC0   0x0

IOCON function and mode selection definitions See the User Manual for specific modes and functions supported by the various LPC11xx devices. Functionality can vary per device.Selects pin function 0

Definition at line 166 of file iocon_11xx.h.

◆ IOCON_FUNC1

#define IOCON_FUNC1   0x1

Selects pin function 1

Definition at line 167 of file iocon_11xx.h.

◆ IOCON_FUNC2

#define IOCON_FUNC2   0x2

Selects pin function 2

Definition at line 168 of file iocon_11xx.h.

◆ IOCON_FUNC3

#define IOCON_FUNC3   0x3

Selects pin function 3

Definition at line 169 of file iocon_11xx.h.

◆ IOCON_FUNC4

#define IOCON_FUNC4   0x4

Selects pin function 4

Definition at line 170 of file iocon_11xx.h.

◆ IOCON_FUNC5

#define IOCON_FUNC5   0x5

Selects pin function 5

Definition at line 171 of file iocon_11xx.h.

◆ IOCON_FUNC6

#define IOCON_FUNC6   0x6

Selects pin function 6

Definition at line 172 of file iocon_11xx.h.

◆ IOCON_FUNC7

#define IOCON_FUNC7   0x7

Selects pin function 7

Definition at line 173 of file iocon_11xx.h.

◆ IOCON_HYS_EN

#define IOCON_HYS_EN   (0x1 << 5)

Enables hysteresis

Definition at line 178 of file iocon_11xx.h.

◆ IOCON_INV_EN

#define IOCON_INV_EN   (0x1 << 6)

Enables invert function on input

Definition at line 179 of file iocon_11xx.h.

◆ IOCON_MODE_INACT

#define IOCON_MODE_INACT   (0x0 << 3)

No addition pin function

Definition at line 174 of file iocon_11xx.h.

◆ IOCON_MODE_PULLDOWN

#define IOCON_MODE_PULLDOWN   (0x1 << 3)

Selects pull-down function

Definition at line 175 of file iocon_11xx.h.

◆ IOCON_MODE_PULLUP

#define IOCON_MODE_PULLUP   (0x2 << 3)

Selects pull-up function

Definition at line 176 of file iocon_11xx.h.

◆ IOCON_MODE_REPEATER

#define IOCON_MODE_REPEATER   (0x3 << 3)

Selects pin repeater function

Definition at line 177 of file iocon_11xx.h.

◆ IOCON_OPENDRAIN_EN

#define IOCON_OPENDRAIN_EN   (0x1 << 10)

Enables open-drain function

Definition at line 186 of file iocon_11xx.h.

◆ IOCON_SFI2C_EN

#define IOCON_SFI2C_EN   (0x0 << 8)

I2C standard mode/fast-mode

Definition at line 182 of file iocon_11xx.h.

◆ IOCON_STDI2C_EN

#define IOCON_STDI2C_EN   (0x1 << 8)

I2C standard I/O functionality

Definition at line 183 of file iocon_11xx.h.

◆ MD_ADMODE

#define MD_ADMODE   (0x0 << 7)

Select analog mode

Definition at line 198 of file iocon_11xx.h.

◆ MD_BUK

#define MD_BUK   (0x3 << 3)

Enable pull-down and pull-up resistor at resistor at pad (repeater mode)

Definition at line 195 of file iocon_11xx.h.

◆ MD_DIGMODE

#define MD_DIGMODE   (0x1 << 7)

Select digitial mode

Definition at line 199 of file iocon_11xx.h.

◆ MD_DISFIL

#define MD_DISFIL   (0x0 << 8)

Disable 10nS input glitch filter

Definition at line 200 of file iocon_11xx.h.

◆ MD_ENFIL

#define MD_ENFIL   (0x1 << 8)

Enable 10nS input glitch filter

Definition at line 201 of file iocon_11xx.h.

◆ MD_FASTI2C

#define MD_FASTI2C   (0x2 << 8)

I2C Fast-mode Plus

Definition at line 204 of file iocon_11xx.h.

◆ MD_HYS

#define MD_HYS   (0x1 << 5)

Enable hysteresis

Definition at line 196 of file iocon_11xx.h.

◆ MD_INV

#define MD_INV   (0x1 << 6)

Invert enable

Definition at line 197 of file iocon_11xx.h.

◆ MD_OPENDRAIN

#define MD_OPENDRAIN   (0x1 << 10)

Open drain mode bit

Definition at line 205 of file iocon_11xx.h.

◆ MD_PDN

#define MD_PDN   (0x1 << 3)

Enable pull-down resistor at pad

Definition at line 193 of file iocon_11xx.h.

◆ MD_PLN

#define MD_PLN   (0x0 << 3)

IOCON function and mode selection definitions (old) For backwards compatibility.Disable pull-down and pull-up resistor at resistor at pad

Definition at line 192 of file iocon_11xx.h.

◆ MD_PUP

#define MD_PUP   (0x2 << 3)

Enable pull-up resistor at pad

Definition at line 194 of file iocon_11xx.h.

◆ MD_SFI2C

#define MD_SFI2C   (0x0 << 8)

I2C standard mode/fast-mode

Definition at line 202 of file iocon_11xx.h.

◆ MD_STDI2C

#define MD_STDI2C   (0x1 << 8)

I2C standard I/O functionality

Definition at line 203 of file iocon_11xx.h.

Typedef Documentation

◆ CHIP_IOCON_PIN_LOC_T

LPC11XX Pin location select.

◆ CHIP_IOCON_PIO_T

IO Configuration Unit register block structure.

LPC11XX I/O Configuration register offset

Enumeration Type Documentation

◆ CHIP_IOCON_PIN_LOC

LPC11XX Pin location select.

Enumerator
IOCON_SCKLOC_PIO0_10 

Selects SCK0 function in pin location PIO0_10

IOCON_SCKLOC_PIO2_11 

Selects SCK0 function in pin location PIO2_11

IOCON_SCKLOC_PIO0_6 

Selects SCK0 function in pin location PIO0_6

IOCON_DSRLOC_PIO2_1 

Selects DSR function in pin location PIO2_1

IOCON_DSRLOC_PIO3_1 

Selects DSR function in pin location PIO3_1

IOCON_DCDLOC_PIO2_2 

Selects DCD function in pin location PIO2_2

IOCON_DCDLOC_PIO3_2 

Selects DCD function in pin location PIO3_2

IOCON_RILOC_PIO2_3 

Selects RI function in pin location PIO2_3

IOCON_RILOC_PIO3_3 

Selects Ri function in pin location PIO3_3

Definition at line 112 of file iocon_11xx.h.

◆ CHIP_IOCON_PIO

IO Configuration Unit register block structure.

LPC11XX I/O Configuration register offset

Enumerator
IOCON_PIO0_0 
IOCON_PIO0_1 
IOCON_PIO0_2 
IOCON_PIO0_3 
IOCON_PIO0_4 
IOCON_PIO0_5 
IOCON_PIO0_6 
IOCON_PIO0_7 
IOCON_PIO0_8 
IOCON_PIO0_9 
IOCON_PIO0_10 
IOCON_PIO0_11 
IOCON_PIO1_0 
IOCON_PIO1_1 
IOCON_PIO1_2 
IOCON_PIO1_3 
IOCON_PIO1_4 
IOCON_PIO1_5 
IOCON_PIO1_6 
IOCON_PIO1_7 
IOCON_PIO1_8 
IOCON_PIO1_9 
IOCON_PIO1_10 
IOCON_PIO1_11 
IOCON_PIO2_0 
IOCON_PIO2_1 
IOCON_PIO2_2 
IOCON_PIO2_3 
IOCON_PIO2_4 
IOCON_PIO2_5 
IOCON_PIO2_6 
IOCON_PIO2_7 
IOCON_PIO2_8 
IOCON_PIO2_9 
IOCON_PIO2_10 
IOCON_PIO2_11 
IOCON_PIO3_0 
IOCON_PIO3_1 
IOCON_PIO3_2 
IOCON_PIO3_3 
IOCON_PIO3_4 
IOCON_PIO3_5 

Definition at line 57 of file iocon_11xx.h.

Function Documentation

◆ Chip_IOCON_PinLocSel()

STATIC INLINE void Chip_IOCON_PinLocSel ( LPC_IOCON_T pIOCON,
CHIP_IOCON_PIN_LOC_T  sel 
)

Select pin location.

Parameters
pIOCON: The base of IOCON peripheral on the chip
sel: location selection
Returns
Nothing

Definition at line 273 of file iocon_11xx.h.

◆ Chip_IOCON_PinMux()

STATIC INLINE void Chip_IOCON_PinMux ( LPC_IOCON_T pIOCON,
CHIP_IOCON_PIO_T  pin,
uint16_t  mode,
uint8_t  func 
)

I/O Control pin mux.

Parameters
pIOCON: The base of IOCON peripheral on the chip
pin: GPIO pin to mux
mode: OR'ed values or type IOCON_*
func: Pin function, value of type IOCON_FUNC?
Returns
Nothing

Definition at line 262 of file iocon_11xx.h.

◆ Chip_IOCON_PinMuxSet()

STATIC INLINE void Chip_IOCON_PinMuxSet ( LPC_IOCON_T pIOCON,
CHIP_IOCON_PIO_T  pin,
uint32_t  modefunc 
)

Sets I/O Control pin mux.

Parameters
pIOCON: The base of IOCON peripheral on the chip
pin: GPIO pin to mux
modefunc: OR'ed values or type IOCON_*
Returns
Nothing

Definition at line 249 of file iocon_11xx.h.



uavcan_communicator
Author(s):
autogenerated on Wed Jan 11 2023 03:59:40