| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
CHIP: LPC11xx IO Control driver
LPC11xx chip specific drivers

## Detailed Description

## Data Structures
struct | LPC_IOCON_T
| IOCON register block. More...

## Macros
#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_MODE_INACT (0x0 << 3)
#define | IOCON_MODE_PULLDOWN (0x1 << 3)
#define | IOCON_MODE_PULLUP (0x2 << 3)
#define | IOCON_MODE_REPEATER (0x3 << 3)
#define | IOCON_HYS_EN (0x1 << 5)
#define | IOCON_INV_EN (0x1 << 6)
#define | IOCON_ADMODE_EN (0x0 << 7)
#define | IOCON_DIGMODE_EN (0x1 << 7)
#define | IOCON_SFI2C_EN (0x0 << 8)
#define | IOCON_STDI2C_EN (0x1 << 8)
#define | IOCON_FASTI2C_EN (0x2 << 8)
#define | IOCON_FILT_DIS (0x1 << 8)
#define | IOCON_OPENDRAIN_EN (0x1 << 10)
#define | MD_PUP (0x0 << 3)
#define | MD_BUK (0x1 << 3)
#define | MD_PLN (0x2 << 3)
#define | MD_PDN (0x3 << 3)
#define | MD_HYS (0x1 << 5)
#define | MD_INV (0x1 << 6)
#define | MD_ADMODE (0x0 << 7)
#define | MD_DIGMODE (0x1 << 7)
#define | MD_DISFIL (0x0 << 8)
#define | MD_ENFIL (0x1 << 8)
#define | MD_SFI2C (0x0 << 8)
#define | MD_STDI2C (0x1 << 8)
#define | MD_FASTI2C (0x2 << 8)
#define | MD_OPENDRAIN (0x1 << 10)
#define | FUNC0 0x0
#define | FUNC1 0x1
#define | FUNC2 0x2
#define | FUNC3 0x3
#define | FUNC4 0x4
#define | FUNC5 0x5
#define | FUNC6 0x6
#define | FUNC7 0x7

## Enumerations
enum | CHIP_IOCON_PIO_T { 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_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), 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_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...
enum | CHIP_IOCON_PIN_LOC_T { 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), 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...

## Functions
STATIC INLINE void | Chip_IOCON_PinMuxSet (LPC_IOCON_T *pIOCON, CHIP_IOCON_PIO_T pin, uint32_t modefunc)
| Sets I/O Control pin mux.
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.
STATIC INLINE void | Chip_IOCON_PinLocSel (LPC_IOCON_T *pIOCON, CHIP_IOCON_PIN_LOC_T sel)
| Select pin location.

## Macro Definition Documentation

#define FUNC0 0x0

Definition at line 169 of file iocon_11xx.h.

#define FUNC1 0x1

Definition at line 170 of file iocon_11xx.h.

#define FUNC2 0x2

Definition at line 171 of file iocon_11xx.h.

#define FUNC3 0x3

Definition at line 172 of file iocon_11xx.h.

#define FUNC4 0x4

Definition at line 173 of file iocon_11xx.h.

#define FUNC5 0x5

Definition at line 174 of file iocon_11xx.h.

#define FUNC6 0x6

Definition at line 175 of file iocon_11xx.h.

#define FUNC7 0x7

Definition at line 176 of file iocon_11xx.h.

#define IOCON_ADMODE_EN (0x0 << 7)

Enables analog input function (analog pins only)

Definition at line 143 of file iocon_11xx.h.

#define IOCON_DIGMODE_EN (0x1 << 7)

Enables digital function (analog pins only)

Definition at line 144 of file iocon_11xx.h.

#define IOCON_FASTI2C_EN (0x2 << 8)

I2C Fast-mode Plus

Definition at line 147 of file iocon_11xx.h.

#define IOCON_FILT_DIS (0x1 << 8)

Disables noise pulses filtering (10nS glitch filter)

Definition at line 148 of file iocon_11xx.h.

#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 129 of file iocon_11xx.h.

#define IOCON_FUNC1 0x1

Selects pin function 1

Definition at line 130 of file iocon_11xx.h.

#define IOCON_FUNC2 0x2

Selects pin function 2

Definition at line 131 of file iocon_11xx.h.

#define IOCON_FUNC3 0x3

Selects pin function 3

Definition at line 132 of file iocon_11xx.h.

#define IOCON_FUNC4 0x4

Selects pin function 4

Definition at line 133 of file iocon_11xx.h.

#define IOCON_FUNC5 0x5

Selects pin function 5

Definition at line 134 of file iocon_11xx.h.

#define IOCON_FUNC6 0x6

Selects pin function 6

Definition at line 135 of file iocon_11xx.h.

#define IOCON_FUNC7 0x7

Selects pin function 7

Definition at line 136 of file iocon_11xx.h.

#define IOCON_HYS_EN (0x1 << 5)

Enables hysteresis

Definition at line 141 of file iocon_11xx.h.

#define IOCON_INV_EN (0x1 << 6)

Enables invert function on input

Definition at line 142 of file iocon_11xx.h.

#define IOCON_MODE_INACT (0x0 << 3)

No addition pin function

Definition at line 137 of file iocon_11xx.h.

#define IOCON_MODE_PULLDOWN (0x1 << 3)

Selects pull-down function

Definition at line 138 of file iocon_11xx.h.

#define IOCON_MODE_PULLUP (0x2 << 3)

Selects pull-up function

Definition at line 139 of file iocon_11xx.h.

#define IOCON_MODE_REPEATER (0x3 << 3)

Selects pin repeater function

Definition at line 140 of file iocon_11xx.h.

#define IOCON_OPENDRAIN_EN (0x1 << 10)

Enables open-drain function

Definition at line 149 of file iocon_11xx.h.

#define IOCON_SFI2C_EN (0x0 << 8)

I2C standard mode/fast-mode

Definition at line 145 of file iocon_11xx.h.

#define IOCON_STDI2C_EN (0x1 << 8)

I2C standard I/O functionality

Definition at line 146 of file iocon_11xx.h.

#define MD_ADMODE (0x0 << 7)

Select analog mode

Definition at line 161 of file iocon_11xx.h.

#define MD_BUK (0x1 << 3)

Enable pull-down resistor at pad

Definition at line 156 of file iocon_11xx.h.

#define MD_DIGMODE (0x1 << 7)

Select digitial mode

Definition at line 162 of file iocon_11xx.h.

#define MD_DISFIL (0x0 << 8)

Disable 10nS input glitch filter

Definition at line 163 of file iocon_11xx.h.

#define MD_ENFIL (0x1 << 8)

Enable 10nS input glitch filter

Definition at line 164 of file iocon_11xx.h.

#define MD_FASTI2C (0x2 << 8)

I2C Fast-mode Plus

Definition at line 167 of file iocon_11xx.h.

#define MD_HYS (0x1 << 5)

Enable hysteresis

Definition at line 159 of file iocon_11xx.h.

#define MD_INV (0x1 << 6)

Invert enable

Definition at line 160 of file iocon_11xx.h.

#define MD_OPENDRAIN (0x1 << 10)

Open drain mode bit

Definition at line 168 of file iocon_11xx.h.

#define MD_PDN (0x3 << 3)

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

Definition at line 158 of file iocon_11xx.h.

#define MD_PLN (0x2 << 3)

Enable pull-up resistor at pad

Definition at line 157 of file iocon_11xx.h.

#define MD_PUP (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 155 of file iocon_11xx.h.

#define MD_SFI2C (0x0 << 8)

I2C standard mode/fast-mode

Definition at line 165 of file iocon_11xx.h.

#define MD_STDI2C (0x1 << 8)

I2C standard I/O functionality

Definition at line 166 of file iocon_11xx.h.

## Enumeration Type Documentation

enum CHIP_IOCON_PIN_LOC_T

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
  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 107 of file iocon_11xx.h.

enum CHIP_IOCON_PIO_T

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_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 |
  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_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

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 236 of file iocon_11xx.h.

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 225 of file iocon_11xx.h.

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 212 of file iocon_11xx.h.