RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions

Input and output module. More...

Data Structures

union  lpc24xx_pin_range
 

Macros

#define LPC24XX_IO_PORT_COUNT   5U
 
#define LPC24XX_IO_INDEX_MAX   (LPC24XX_IO_PORT_COUNT * 32U)
 
#define LPC24XX_IO_INDEX_BY_PORT(port, bit)   (((port) << 5U) + (bit))
 
#define LPC24XX_IO_PORT(index)   ((index) >> 5U)
 
#define LPC24XX_IO_PORT_BIT(index)   ((index) & 0x1fU)
 
#define LPC24XX_MODULE_COUNT   (LPC24XX_MODULE_USB + 1)
 
#define LPC24XX_MODULE_CLOCK_MASK   0x3U
 
#define LPC24XX_PIN(p, i, f0, f1)   { { p, i, f1, 0, 0 } }
 
#define LPC24XX_PIN_WITH_TYPE(p, i, f0, f1, t)   { { p, i, f1, t, 0 } }
 
#define LPC24XX_PIN_RANGE(p, i, j, f0, f1)    { { p, i, f1, 0, 0 } }, { { p, j, f1, 0, 1 } }
 
#define LPC24XX_PIN_RANGE_WITH_TYPE(p, i, j, f0, f1, t)    { { p, i, f1, t, 0 } }, { { p, j, f1, t, 1 } }
 
#define LPC24XX_PIN_TERMINAL   { { 0x7, 0x1f, 0x7, 0xf, 0x1 } }
 

Enumerations

enum  lpc24xx_module {
  LPC24XX_MODULE_ADC , LPC24XX_MODULE_CAN_0 , LPC24XX_MODULE_CAN_1 , LPC24XX_MODULE_DAC ,
  LPC24XX_MODULE_EMC , LPC24XX_MODULE_ETHERNET , LPC24XX_MODULE_GPDMA , LPC24XX_MODULE_GPIO ,
  LPC24XX_MODULE_I2C_0 , LPC24XX_MODULE_I2C_1 , LPC24XX_MODULE_I2C_2 , LPC24XX_MODULE_I2S ,
  LPC24XX_MODULE_LCD , LPC24XX_MODULE_MCI , LPC24XX_MODULE_PCB , LPC24XX_MODULE_PWM_0 ,
  LPC24XX_MODULE_PWM_1 , LPC24XX_MODULE_RTC , LPC24XX_MODULE_SSP_0 , LPC24XX_MODULE_SSP_1 ,
  LPC24XX_MODULE_SYSCON , LPC24XX_MODULE_TIMER_0 , LPC24XX_MODULE_TIMER_1 , LPC24XX_MODULE_TIMER_2 ,
  LPC24XX_MODULE_TIMER_3 , LPC24XX_MODULE_UART_0 , LPC24XX_MODULE_UART_1 , LPC24XX_MODULE_UART_2 ,
  LPC24XX_MODULE_UART_3 , LPC24XX_MODULE_USB
}
 
enum  lpc24xx_module_clock {
  LPC24XX_MODULE_PCLK_DEFAULT = 0x4U , LPC24XX_MODULE_CCLK = 0x1U , LPC24XX_MODULE_CCLK_2 = 0x2U , LPC24XX_MODULE_CCLK_4 = 0x0U ,
  LPC24XX_MODULE_CCLK_6 = 0x3U , LPC24XX_MODULE_CCLK_8 = 0x3U
}
 
enum  lpc24xx_gpio_settings {
  LPC24XX_GPIO_DEFAULT = 0x0U , LPC24XX_GPIO_RESISTOR_PULL_UP = 0x0U , LPC24XX_GPIO_RESISTOR_NONE = 0x1U , LPC24XX_GPIO_RESISTOR_PULL_DOWN = 0x2U ,
  LPC24XX_GPIO_INPUT = 0x0U , LPC24XX_GPIO_OUTPUT = 0x8000U
}
 
enum  lpc24xx_pin_action { LPC24XX_PIN_SET_FUNCTION , LPC24XX_PIN_CHECK_FUNCTION , LPC24XX_PIN_SET_INPUT , LPC24XX_PIN_CHECK_INPUT }
 
enum  lpc24xx_pin_function { LPC24XX_PIN_FUNCTION_00 , LPC24XX_PIN_FUNCTION_01 , LPC24XX_PIN_FUNCTION_10 , LPC24XX_PIN_FUNCTION_11 }
 
enum  lpc17xx_pin_type {
  LPC17XX_PIN_TYPE_DEFAULT , LPC17XX_PIN_TYPE_ADC , LPC17XX_PIN_TYPE_DAC , LPC17XX_PIN_TYPE_I2C ,
  LPC17XX_PIN_TYPE_I2C_FAST_PLUS , LPC17XX_PIN_TYPE_OPEN_DRAIN , LPC17XX_PIN_TYPE_FAST_SLEW_RATE
}
 

Functions

rtems_status_code lpc24xx_module_enable (lpc24xx_module module, lpc24xx_module_clock clock)
 
rtems_status_code lpc24xx_module_disable (lpc24xx_module module)
 
bool lpc24xx_module_is_enabled (lpc24xx_module module)
 
rtems_status_code lpc24xx_gpio_config (unsigned index, lpc24xx_gpio_settings settings)
 
rtems_status_code lpc24xx_pin_config (const lpc24xx_pin_range *pins, lpc24xx_pin_action action)
 Performs the action with the pins.
 

ADC Pins

#define LPC24XX_PIN_ADC_CHANNEL_0    LPC24XX_PIN_WITH_TYPE(0, 23, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_1    LPC24XX_PIN_WITH_TYPE(0, 24, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_2    LPC24XX_PIN_WITH_TYPE(0, 25, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_3    LPC24XX_PIN_WITH_TYPE(0, 26, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_4    LPC24XX_PIN_WITH_TYPE(1, 30, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_5    LPC24XX_PIN_WITH_TYPE(1, 31, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_6    LPC24XX_PIN_WITH_TYPE(0, 12, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_ADC)
 
#define LPC24XX_PIN_ADC_CHANNEL_7    LPC24XX_PIN_WITH_TYPE(0, 13, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_ADC)
 

CAN 0 Pins

#define LPC24XX_PIN_CAN_0_RD_P0_0    LPC24XX_PIN(0, 0, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_CAN_0_RD_P0_21    LPC24XX_PIN(0, 21, LPC24XX_PIN_FUNCTION_11, 4)
 
#define LPC24XX_PIN_CAN_0_TD_P0_1    LPC24XX_PIN(0, 1, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_CAN_0_TD_P0_22    LPC24XX_PIN(0, 22, LPC24XX_PIN_FUNCTION_11, 4)
 

CAN 1 Pins

#define LPC24XX_PIN_CAN_1_RD_P0_4    LPC24XX_PIN(0, 4, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_CAN_1_RD_P2_7    LPC24XX_PIN(2, 7, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_CAN_1_TD_P0_5    LPC24XX_PIN(0, 5, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_CAN_1_TD_P2_8    LPC24XX_PIN(2, 8, LPC24XX_PIN_FUNCTION_01, 1)
 

DAC Pins

#define LPC24XX_PIN_DAC    LPC24XX_PIN_WITH_TYPE(0, 26, LPC24XX_PIN_FUNCTION_10, 2, LPC17XX_PIN_TYPE_DAC)
 

Ethernet Pins

#define LPC24XX_PIN_ETHERNET_MII    LPC24XX_PIN_RANGE(1, 0, 17, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_ETHERNET_RMII_0    LPC24XX_PIN_RANGE(1, 0, 1, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_ETHERNET_RMII_1    LPC24XX_PIN(1, 4, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_ETHERNET_RMII_2    LPC24XX_PIN_RANGE(1, 8, 10, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_ETHERNET_RMII_3    LPC24XX_PIN_RANGE(1, 14, 17, LPC24XX_PIN_FUNCTION_01, 1)
 

External Interrupt Pins

#define LPC24XX_PIN_EINT_0    LPC24XX_PIN(2, 10, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_EINT_1    LPC24XX_PIN(2, 11, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_EINT_2    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_EINT_3    LPC24XX_PIN(2, 13, LPC24XX_PIN_FUNCTION_01, 1)
 

External Memory Controller (EMC) Pins

#define LPC24XX_PIN_EMC(p, i)
 
#define LPC24XX_PIN_EMC_RANGE(p, i, j)
 
#define LPC24XX_PIN_EMC_CS_0   LPC24XX_PIN_EMC(4, 30)
 
#define LPC24XX_PIN_EMC_CS_1   LPC24XX_PIN_EMC(4, 31)
 
#define LPC24XX_PIN_EMC_CS_2   LPC24XX_PIN_EMC(2, 14)
 
#define LPC24XX_PIN_EMC_CS_3   LPC24XX_PIN_EMC(2, 15)
 
#define LPC24XX_PIN_EMC_DYCS_0   LPC24XX_PIN_EMC(2, 20)
 
#define LPC24XX_PIN_EMC_DYCS_1   LPC24XX_PIN_EMC(2, 21)
 
#define LPC24XX_PIN_EMC_DYCS_2   LPC24XX_PIN_EMC(2, 22)
 
#define LPC24XX_PIN_EMC_DYCS_3   LPC24XX_PIN_EMC(2, 23)
 
#define LPC24XX_PIN_EMC_OE   LPC24XX_PIN_EMC(4, 24)
 
#define LPC24XX_PIN_EMC_WE   LPC24XX_PIN_EMC(4, 25)
 
#define LPC24XX_PIN_EMC_CAS   LPC24XX_PIN_EMC(2, 16)
 
#define LPC24XX_PIN_EMC_RAS   LPC24XX_PIN_EMC(2, 17)
 
#define LPC24XX_PIN_EMC_CLK_0   LPC24XX_PIN_EMC(2, 18)
 
#define LPC24XX_PIN_EMC_CLK_1   LPC24XX_PIN_EMC(2, 19)
 
#define LPC24XX_PIN_EMC_CKE_0   LPC24XX_PIN_EMC(2, 24)
 
#define LPC24XX_PIN_EMC_CKE_1   LPC24XX_PIN_EMC(2, 25)
 
#define LPC24XX_PIN_EMC_CKE_2   LPC24XX_PIN_EMC(2, 26)
 
#define LPC24XX_PIN_EMC_CKE_3   LPC24XX_PIN_EMC(2, 27)
 
#define LPC24XX_PIN_EMC_DQM_0   LPC24XX_PIN_EMC(2, 28)
 
#define LPC24XX_PIN_EMC_DQM_1   LPC24XX_PIN_EMC(2, 29)
 
#define LPC24XX_PIN_EMC_DQM_2   LPC24XX_PIN_EMC(2, 30)
 
#define LPC24XX_PIN_EMC_DQM_3   LPC24XX_PIN_EMC(2, 31)
 
#define LPC24XX_PIN_EMC_BLS0   LPC24XX_PIN_EMC(4, 26)
 
#define LPC24XX_PIN_EMC_BLS1   LPC24XX_PIN_EMC(4, 27)
 
#define LPC24XX_PIN_EMC_BLS2   LPC24XX_PIN_EMC(4, 28)
 
#define LPC24XX_PIN_EMC_BLS3   LPC24XX_PIN_EMC(4, 29)
 
#define LPC24XX_PIN_EMC_D_0_15   LPC24XX_PIN_EMC_RANGE(3, 0, 15)
 
#define LPC24XX_PIN_EMC_D_15_31   LPC24XX_PIN_EMC_RANGE(3, 15, 31)
 
#define LPC24XX_PIN_EMC_D_0_31   LPC24XX_PIN_EMC_RANGE(3, 0, 31)
 
#define LPC24XX_PIN_EMC_A_0_12   LPC24XX_PIN_EMC_RANGE(4, 0, 12)
 
#define LPC24XX_PIN_EMC_A_0_13   LPC24XX_PIN_EMC_RANGE(4, 0, 13)
 
#define LPC24XX_PIN_EMC_A_0_14   LPC24XX_PIN_EMC_RANGE(4, 0, 14)
 
#define LPC24XX_PIN_EMC_A_0_15   LPC24XX_PIN_EMC_RANGE(4, 0, 15)
 
#define LPC24XX_PIN_EMC_A_0_16
 
#define LPC24XX_PIN_EMC_A_0_17
 
#define LPC24XX_PIN_EMC_A_0_18
 
#define LPC24XX_PIN_EMC_A_0_19
 
#define LPC24XX_PIN_EMC_A_0_20
 
#define LPC24XX_PIN_EMC_A_0_21
 
#define LPC24XX_PIN_EMC_A_0_22
 
#define LPC24XX_PIN_EMC_A_0_23
 
#define LPC24XX_PIN_EMC_A_0_24
 
#define LPC24XX_PIN_EMC_A_0_25
 

I2C 0 Pins

#define LPC24XX_PIN_I2C_0_SDA    LPC24XX_PIN_WITH_TYPE(0, 27, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_0_SCL    LPC24XX_PIN_WITH_TYPE(0, 28, LPC24XX_PIN_FUNCTION_01, 1, LPC17XX_PIN_TYPE_I2C)
 

I2C 1 Pins

#define LPC24XX_PIN_I2C_1_SDA_P0_0    LPC24XX_PIN_WITH_TYPE(0, 0, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_1_SDA_P0_19    LPC24XX_PIN_WITH_TYPE(0, 19, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_1_SDA_P2_14    LPC24XX_PIN_WITH_TYPE(2, 14, LPC24XX_PIN_FUNCTION_11, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_1_SCL_P0_1    LPC24XX_PIN_WITH_TYPE(0, 1, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_1_SCL_P0_20    LPC24XX_PIN_WITH_TYPE(0, 20, LPC24XX_PIN_FUNCTION_11, 3, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_1_SCL_P2_15    LPC24XX_PIN_WITH_TYPE(2, 15, LPC24XX_PIN_FUNCTION_11, 2, LPC17XX_PIN_TYPE_I2C)
 

I2C 2 Pins

#define LPC24XX_PIN_I2C_2_SDA_P0_10    LPC24XX_PIN_WITH_TYPE(0, 10, LPC24XX_PIN_FUNCTION_10, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_2_SDA_P2_30    LPC24XX_PIN_WITH_TYPE(2, 30, LPC24XX_PIN_FUNCTION_11, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_2_SDA_P4_20    LPC24XX_PIN_WITH_TYPE(4, 20, LPC24XX_PIN_FUNCTION_10, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_2_SCL_P0_11    LPC24XX_PIN_WITH_TYPE(0, 11, LPC24XX_PIN_FUNCTION_10, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_2_SCL_P2_31    LPC24XX_PIN_WITH_TYPE(2, 31, LPC24XX_PIN_FUNCTION_11, 2, LPC17XX_PIN_TYPE_I2C)
 
#define LPC24XX_PIN_I2C_2_SCL_P4_21    LPC24XX_PIN_WITH_TYPE(4, 21, LPC24XX_PIN_FUNCTION_10, 2, LPC17XX_PIN_TYPE_I2C)
 

I2S Pins

#define LPC24XX_PIN_I2S_RX_CLK_P0_4    LPC24XX_PIN(0, 4, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_RX_CLK_P0_23    LPC24XX_PIN(0, 23, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_I2S_RX_WS_P0_5    LPC24XX_PIN(0, 5, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_RX_WS_P0_24    LPC24XX_PIN(0, 24, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_I2S_RX_SDA_P0_6    LPC24XX_PIN(0, 6, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_RX_SDA_P0_25    LPC24XX_PIN(0, 25, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_I2S_TX_CLK_P0_7    LPC24XX_PIN(0, 7, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_TX_CLK_P2_11    LPC24XX_PIN(2, 11, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_I2S_TX_WS_P0_8    LPC24XX_PIN(0, 8, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_TX_WS_P2_12    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_I2S_TX_SDA_P0_9    LPC24XX_PIN(0, 9, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_I2S_TX_SDA_P2_13    LPC24XX_PIN(2, 13, LPC24XX_PIN_FUNCTION_11, 3)
 

LCD Pins

#define LPC24XX_PIN_LCD_PWR    LPC24XX_PIN(2, 0, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_LE    LPC24XX_PIN(2, 1, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_DCLK    LPC24XX_PIN(2, 2, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_FP    LPC24XX_PIN(2, 3, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_ENAB_M    LPC24XX_PIN(2, 4, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_LP    LPC24XX_PIN(2, 5, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_CLKIN    LPC24XX_PIN(2, 11, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_0_P0_4    LPC24XX_PIN(0, 4, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_0_P2_6    LPC24XX_PIN(2, 6, LPC24XX_PIN_FUNCTION_11, 6)
 
#define LPC24XX_PIN_LCD_VD_1_P0_5    LPC24XX_PIN(0, 5, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_1_P2_7    LPC24XX_PIN(2, 7, LPC24XX_PIN_FUNCTION_11, 6)
 
#define LPC24XX_PIN_LCD_VD_2_P2_8    LPC24XX_PIN(2, 8, LPC24XX_PIN_FUNCTION_11, 6)
 
#define LPC24XX_PIN_LCD_VD_2_P4_28    LPC24XX_PIN(4, 28, LPC24XX_PIN_FUNCTION_10, 7)
 
#define LPC24XX_PIN_LCD_VD_3_P2_9    LPC24XX_PIN(2, 9, LPC24XX_PIN_FUNCTION_11, 6)
 
#define LPC24XX_PIN_LCD_VD_3_P2_12    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_01, 5)
 
#define LPC24XX_PIN_LCD_VD_3_P4_29    LPC24XX_PIN(4, 29, LPC24XX_PIN_FUNCTION_10, 7)
 
#define LPC24XX_PIN_LCD_VD_4_P2_6    LPC24XX_PIN(2, 6, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_VD_4_P2_12    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_01, 4)
 
#define LPC24XX_PIN_LCD_VD_5_P2_7    LPC24XX_PIN(2, 7, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_VD_5_P2_13    LPC24XX_PIN(2, 13, LPC24XX_PIN_FUNCTION_01, 5)
 
#define LPC24XX_PIN_LCD_VD_6_P1_20    LPC24XX_PIN(1, 20, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_6_P2_8    LPC24XX_PIN(2, 8, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_VD_6_P4_28    LPC24XX_PIN(4, 28, LPC24XX_PIN_FUNCTION_10, 5)
 
#define LPC24XX_PIN_LCD_VD_7_P1_21    LPC24XX_PIN(1, 21, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_7_P2_9    LPC24XX_PIN(2, 9, LPC24XX_PIN_FUNCTION_11, 7)
 
#define LPC24XX_PIN_LCD_VD_7_P4_29    LPC24XX_PIN(4, 29, LPC24XX_PIN_FUNCTION_10, 5)
 
#define LPC24XX_PIN_LCD_VD_8_P0_6    LPC24XX_PIN(0, 6, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_8_P1_22    LPC24XX_PIN(1, 22, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_8_P2_12    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_9_P0_7    LPC24XX_PIN(0, 7, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_9_P1_23    LPC24XX_PIN(1, 23, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_9_P2_13    LPC24XX_PIN(2, 13, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_10_P1_20    LPC24XX_PIN(1, 20, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_10_P1_24    LPC24XX_PIN(1, 24, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_10_P4_28    LPC24XX_PIN(4, 28, LPC24XX_PIN_FUNCTION_10, 6)
 
#define LPC24XX_PIN_LCD_VD_11_P1_21    LPC24XX_PIN(1, 21, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_11_P1_25    LPC24XX_PIN(1, 25, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_11_P4_29    LPC24XX_PIN(4, 29, LPC24XX_PIN_FUNCTION_10, 6)
 
#define LPC24XX_PIN_LCD_VD_12_P1_22    LPC24XX_PIN(1, 22, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_12_P1_26    LPC24XX_PIN(1, 26, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_13_P1_23    LPC24XX_PIN(1, 23, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_13_P1_27    LPC24XX_PIN(1, 27, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_14_P1_24    LPC24XX_PIN(1, 24, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_14_P1_28    LPC24XX_PIN(1, 28, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_15_P1_25    LPC24XX_PIN(1, 25, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_15_P1_29    LPC24XX_PIN(1, 29, LPC24XX_PIN_FUNCTION_01, 6)
 
#define LPC24XX_PIN_LCD_VD_16_P0_8    LPC24XX_PIN(0, 8, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_17_P0_9    LPC24XX_PIN(0, 9, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_18_P2_12    LPC24XX_PIN(2, 12, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_19_P2_13    LPC24XX_PIN(2, 13, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_20_P1_26    LPC24XX_PIN(1, 26, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_21_P1_27    LPC24XX_PIN(1, 27, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_22_P1_28    LPC24XX_PIN(1, 28, LPC24XX_PIN_FUNCTION_01, 7)
 
#define LPC24XX_PIN_LCD_VD_23_P1_29    LPC24XX_PIN(1, 29, LPC24XX_PIN_FUNCTION_01, 7)
 

PWM 0 Pins

#define LPC24XX_PIN_PWM_0_CHANNEL_1_P1_2    LPC24XX_PIN(1, 2, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_1_P3_16    LPC24XX_PIN(3, 16, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_2_P1_3    LPC24XX_PIN(1, 3, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_2_P3_17    LPC24XX_PIN(3, 17, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_3_P1_5    LPC24XX_PIN(1, 5, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_3_P3_18    LPC24XX_PIN(3, 18, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_4_P1_6    LPC24XX_PIN(1, 6, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_4_P3_19    LPC24XX_PIN(3, 19, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_5_P1_7    LPC24XX_PIN(1, 7, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_5_P3_20    LPC24XX_PIN(3, 20, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_6_P1_11    LPC24XX_PIN(1, 11, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CHANNEL_6_P3_21    LPC24XX_PIN(3, 21, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_0_CAPTURE_0_P1_12    LPC24XX_PIN(1, 12, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_PWM_0_CAPTURE_0_P3_22    LPC24XX_PIN(3, 22, LPC24XX_PIN_FUNCTION_10, 2)
 

PWM 1 Pins

#define LPC24XX_PIN_PWM_1_CHANNEL_1_P1_18    LPC24XX_PIN(1, 18, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_1_P2_0    LPC24XX_PIN(2, 0, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_1_P3_24    LPC24XX_PIN(3, 24, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_2_P1_20    LPC24XX_PIN(1, 20, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_2_P2_1    LPC24XX_PIN(2, 1, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_2_P3_25    LPC24XX_PIN(3, 25, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_3_P1_21    LPC24XX_PIN(1, 21, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_3_P2_2    LPC24XX_PIN(2, 2, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_3_P3_26    LPC24XX_PIN(3, 26, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_4_P1_23    LPC24XX_PIN(1, 23, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_4_P2_3    LPC24XX_PIN(2, 3, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_4_P3_27    LPC24XX_PIN(3, 27, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_5_P1_24    LPC24XX_PIN(1, 24, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_5_P2_4    LPC24XX_PIN(2, 4, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_5_P3_28    LPC24XX_PIN(3, 28, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_6_P1_26    LPC24XX_PIN(1, 26, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_6_P2_5    LPC24XX_PIN(2, 5, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CHANNEL_6_P3_29    LPC24XX_PIN(3, 29, LPC24XX_PIN_FUNCTIO9_11, 2)
 
#define LPC24XX_PIN_PWM_1_CAPTURE_0_P1_28    LPC24XX_PIN(1, 28, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_PWM_1_CAPTURE_0_P2_7    LPC24XX_PIN(2, 6, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_PWM_1_CAPTURE_0_P3_23    LPC24XX_PIN(3, 23, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_PWM_1_CAPTURE_1_P1_29    LPC24XX_PIN(1, 29, LPC24XX_PIN_FUNCTION_10, 2)
 

SSP 0 Pins

#define LPC24XX_PIN_SSP_0_SCK_P0_15    LPC24XX_PIN(0, 15, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_0_SCK_P1_20    LPC24XX_PIN(1, 20, LPC24XX_PIN_FUNCTION_11, 5)
 
#define LPC24XX_PIN_SSP_0_SCK_P2_22    LPC24XX_PIN(2, 22, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_SSP_0_SSEL_P0_16    LPC24XX_PIN(0, 16, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_0_SSEL_P1_21    LPC24XX_PIN(1, 21, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_SSP_0_SSEL_P2_23    LPC24XX_PIN(2, 23, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_SSP_0_MISO_P0_17    LPC24XX_PIN(0, 17, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_0_MISO_P1_23    LPC24XX_PIN(1, 23, LPC24XX_PIN_FUNCTION_11, 5)
 
#define LPC24XX_PIN_SSP_0_MISO_P2_26    LPC24XX_PIN(2, 26, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_SSP_0_MOSI_P0_18    LPC24XX_PIN(0, 18, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_0_MOSI_P1_24    LPC24XX_PIN(1, 24, LPC24XX_PIN_FUNCTION_11, 5)
 
#define LPC24XX_PIN_SSP_0_MOSI_P2_27    LPC24XX_PIN(2, 27, LPC24XX_PIN_FUNCTION_11, 2)
 

SSP 1 Pins

#define LPC24XX_PIN_SSP_1_SCK_P0_6    LPC24XX_PIN(0, 7, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_SCK_P0_12    LPC24XX_PIN(1, 31, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_SCK_P4_20    LPC24XX_PIN(4, 20, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_SSP_1_SSEL_P0_7    LPC24XX_PIN(0, 6, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_SSEL_P0_13    LPC24XX_PIN(0, 14, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_SSP_1_SSEL_P4_21    LPC24XX_PIN(4, 21, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_SSP_1_MISO_P0_8    LPC24XX_PIN(0, 8, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_MISO_P0_14    LPC24XX_PIN(0, 12, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_MISO_P4_22    LPC24XX_PIN(4, 22, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_SSP_1_MOSI_P0_9    LPC24XX_PIN(0, 9, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_MOSI_P1_31    LPC24XX_PIN(0, 13, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_SSP_1_MOSI_P4_23    LPC24XX_PIN(4, 23, LPC24XX_PIN_FUNCTION_11, 3)
 

UART 0 Pins

#define LPC24XX_PIN_UART_0_TXD    LPC24XX_PIN(0, 2, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_UART_0_RXD    LPC24XX_PIN(0, 3, LPC24XX_PIN_FUNCTION_01, 1)
 

UART 1 Pins

#define LPC24XX_PIN_UART_1_TXD_P0_15    LPC24XX_PIN(0, 15, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_UART_1_TXD_P2_0    LPC24XX_PIN(2, 0, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_1_TXD_P3_16    LPC24XX_PIN(3, 16, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_UART_1_RXD_P0_16    LPC24XX_PIN(0, 16, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_UART_1_RXD_P2_1    LPC24XX_PIN(2, 1, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_1_RXD_P3_17    LPC24XX_PIN(3, 17, LPC24XX_PIN_FUNCTION_11, 3)
 

UART 2 Pins

#define LPC24XX_PIN_UART_2_TXD_P0_10    LPC24XX_PIN(0, 10, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_UART_2_TXD_P2_8    LPC24XX_PIN(2, 8, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_2_TXD_P4_22    LPC24XX_PIN(4, 22, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_2_RXD_P0_11    LPC24XX_PIN(0, 11, LPC24XX_PIN_FUNCTION_01, 1)
 
#define LPC24XX_PIN_UART_2_RXD_P2_9    LPC24XX_PIN(2, 9, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_2_RXD_P4_23    LPC24XX_PIN(4, 23, LPC24XX_PIN_FUNCTION_10, 2)
 

UART 3 Pins

#define LPC24XX_PIN_UART_3_TXD_P0_0    LPC24XX_PIN(0, 0, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_3_TXD_P0_25    LPC24XX_PIN(0, 25, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_UART_3_TXD_P4_28    LPC24XX_PIN(4, 28, LPC24XX_PIN_FUNCTION_11, 2)
 
#define LPC24XX_PIN_UART_3_RXD_P0_1    LPC24XX_PIN(0, 1, LPC24XX_PIN_FUNCTION_10, 2)
 
#define LPC24XX_PIN_UART_3_RXD_P0_26    LPC24XX_PIN(0, 26, LPC24XX_PIN_FUNCTION_11, 3)
 
#define LPC24XX_PIN_UART_3_RXD_P4_29    LPC24XX_PIN(4, 29, LPC24XX_PIN_FUNCTION_11, 2)
 

Detailed Description

Input and output module.

Macro Definition Documentation

◆ LPC24XX_PIN_EMC

#define LPC24XX_PIN_EMC (   p,
 
)
Value:
LPC24XX_PIN_WITH_TYPE(p, i, LPC24XX_PIN_FUNCTION_01, 1, \
LPC17XX_PIN_TYPE_FAST_SLEW_RATE)
unsigned p
Definition: tte.h:17

◆ LPC24XX_PIN_EMC_A_0_16

#define LPC24XX_PIN_EMC_A_0_16
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC(4, 16)

◆ LPC24XX_PIN_EMC_A_0_17

#define LPC24XX_PIN_EMC_A_0_17
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 17)

◆ LPC24XX_PIN_EMC_A_0_18

#define LPC24XX_PIN_EMC_A_0_18
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 18)

◆ LPC24XX_PIN_EMC_A_0_19

#define LPC24XX_PIN_EMC_A_0_19
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 19)

◆ LPC24XX_PIN_EMC_A_0_20

#define LPC24XX_PIN_EMC_A_0_20
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 20)

◆ LPC24XX_PIN_EMC_A_0_21

#define LPC24XX_PIN_EMC_A_0_21
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 21)

◆ LPC24XX_PIN_EMC_A_0_22

#define LPC24XX_PIN_EMC_A_0_22
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 22)

◆ LPC24XX_PIN_EMC_A_0_23

#define LPC24XX_PIN_EMC_A_0_23
Value:
LPC24XX_PIN_EMC_A_0_15, \
LPC24XX_PIN_EMC_RANGE(4, 16, 23)

◆ LPC24XX_PIN_EMC_A_0_24

#define LPC24XX_PIN_EMC_A_0_24
Value:
LPC24XX_PIN_EMC_A_0_23, \
LPC24XX_PIN_EMC(5, 24)

◆ LPC24XX_PIN_EMC_A_0_25

#define LPC24XX_PIN_EMC_A_0_25
Value:
LPC24XX_PIN_EMC_A_0_23, \
LPC24XX_PIN_EMC_RANGE(5, 24, 25)

◆ LPC24XX_PIN_EMC_RANGE

#define LPC24XX_PIN_EMC_RANGE (   p,
  i,
 
)
Value:
LPC24XX_PIN_RANGE_WITH_TYPE(p, i, j, LPC24XX_PIN_FUNCTION_01, 1, \
LPC17XX_PIN_TYPE_FAST_SLEW_RATE)

Enumeration Type Documentation

◆ lpc24xx_pin_action

Enumerator
LPC24XX_PIN_SET_FUNCTION 

Sets the pin function.

LPC24XX_PIN_CHECK_FUNCTION 

Checks if all pins are configured with the specified function.

LPC24XX_PIN_SET_INPUT 

Configures the pins as input.

LPC24XX_PIN_CHECK_INPUT 

Checks if all pins are configured as input.

Function Documentation

◆ lpc24xx_pin_config()

rtems_status_code lpc24xx_pin_config ( const lpc24xx_pin_range pins,
lpc24xx_pin_action  action 
)

Performs the action with the pins.

#include <assert.h>
#include <bsp/io.h>
void example(void)
{
static const lpc24xx_pin_range pins [] = {
LPC24XX_PIN_I2S_RX_CLK_P0_4,
LPC24XX_PIN_I2S_RX_WS_P0_5,
LPC24XX_PIN_I2S_RX_SDA_P0_6,
LPC24XX_PIN_I2S_TX_CLK_P0_7,
LPC24XX_PIN_I2S_TX_WS_P0_8,
LPC24XX_PIN_I2S_TX_SDA_P0_9,
LPC24XX_PIN_TERMINAL
};
sc = lpc24xx_module_enable(LPC24XX_MODULE_I2S, LPC24XX_MODULE_CCLK_8);
assert(sc == RTEMS_SUCCESSFUL);
assert(sc == RTEMS_SUCCESSFUL);
}
This header file provides the interfaces of the Assert Handler.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
@ RTEMS_SUCCESSFUL
This status code indicates successful completion of a requested operation.
Definition: status.h:90
rtems_status_code lpc24xx_pin_config(const lpc24xx_pin_range *pins, lpc24xx_pin_action action)
Performs the action with the pins.
Definition: io.c:530
@ LPC24XX_PIN_SET_FUNCTION
Sets the pin function.
Definition: io.h:219
Definition: io.h:237
Return values
RTEMS_SUCCESSFULSuccessful operation.
RTEMS_IO_ERRORCheck failed.
RTEMS_NOT_DEFINEDInvalid action.