RTEMS  5.0.0
Data Structures | Macros | Enumerations
io-defs.h File Reference

Input/output module definitions. More...

#include <bsp/lpc176x.h>
#include <bsp/common-types.h>

Go to the source code of this file.

Data Structures

struct  lpc176x_module_entry
 Defines the module entry. More...
 

Macros

#define LPC176X_PLL0CON   0XAAU
 
#define LPC176X_PLL0CFG   0X55U
 
#define LPC176X_CCLK_PRESCALER_DIVISOR   1000000U
 
#define LPC176X_PINSEL   ( &PINSEL0 )
 
#define LPC176X_PINMODE   ( &PINMODE0 )
 
#define LPC176X_PIN_SELECT(index)   ( ( index ) >> 4U )
 
#define LPC176X_PIN_SELECT_SHIFT(index)   ( ( ( index ) & 0xFU ) << 1U )
 
#define LPC176X_PIN_SELECT_MASK   0x3U
 
#define LPC176X_PIN_SELECT_MASK_SIZE   2U
 
#define LPC176X_PIN_UART_0_TXD   2U
 
#define LPC176X_PIN_UART_0_RXD   3U
 
#define LPC176X_PIN_UART_1_TXD   15U
 
#define LPC176X_PIN_UART_1_RXD   16U
 
#define LPC176X_PIN_UART_2_TXD   10U
 
#define LPC176X_PIN_UART_2_RXD   11U
 
#define LPC176X_PIN_UART_3_TXD   0U
 
#define LPC176X_PIN_UART_3_RXD   1U
 
#define LPC176X_MODULE_BITS_COUNT   32U
 
#define LPC176X_MODULE_COUNT   ( LPC176X_MODULE_USB + 1U )
 
#define LPC176X_IO_PORT_COUNT   5U
 
#define LPC176X_IO_INDEX_MAX
 
#define LPC176X_IO_INDEX_BY_PORT(port, bit)   ( ( ( port ) << 5U ) + ( bit ) )
 
#define LPC176X_IO_PORT(index)   ( ( index ) >> 5U )
 
#define LPC176X_IO_PORT_BIT(index)   ( ( index ) & 0x1FU )
 
#define LPC176X_MODULE_ENTRY(mod, pwr, clk, idx)
 

Enumerations

enum  lpc176x_pin_function {
  LPC176X_PIN_FUNCTION_00, LPC176X_PIN_FUNCTION_01, LPC176X_PIN_FUNCTION_10, LPC176X_PIN_FUNCTION_11,
  LPC176X_PIN_FUNCTION_COUNT
}
 Defines the functions according to the pin. More...
 
enum  lpc176x_pin_mode {
  LPC176X_PIN_MODE_PULLUP, LPC176X_PIN_MODE_REPEATER, LPC176X_PIN_MODE_NONE, LPC176X_PIN_MODE_PULLDOWN,
  LPC176X_PIN_MODE_COUNT
}
 Defines the pin modes.
 
enum  lpc176x_pin_type { LPC176X_PIN_TYPE_DEFAULT, LPC176X_PIN_TYPE_ADC, LPC176X_PIN_TYPE_DAC, LPC176X_PIN_TYPE_OPEN_DRAIN }
 Defines all type of pins. More...
 
enum  lpc176x_scb_value_pclksel { LPC176X_SCB_PCLKSEL0, LPC176X_SCB_PCLKSEL1, LPC176X_SCB_PCLKSEL_COUNT }
 Represents each pclksel number. More...
 

Detailed Description

Input/output module definitions.

Macro Definition Documentation

◆ LPC176X_IO_INDEX_MAX

#define LPC176X_IO_INDEX_MAX
Value:
( LPC176X_IO_PORT_COUNT * \
LPC176X_MODULE_BITS_COUNT )

◆ LPC176X_MODULE_ENTRY

#define LPC176X_MODULE_ENTRY (   mod,
  pwr,
  clk,
  idx 
)
Value:
[ mod ] = { \
.power = pwr, \
.clock = clk, \
.index = idx \
}

Enumeration Type Documentation

◆ lpc176x_pin_function

Defines the functions according to the pin.

Enumerated type to define the set of pin function for a io device.

◆ lpc176x_pin_type

Defines all type of pins.

Enumerated type to define the set of pin type for a io device.

◆ lpc176x_scb_value_pclksel

Represents each pclksel number.

Enumerated type to define the set of values for a pcklsel.