- #if I2C_DRV_SYSLESS_PORT == I2C0_BASE
- SC->PCONP |= (1 << 7); /*PI2C0*/
- /* SDA0 P0.27, SCL0 P0.28 */
- PINCON->PINSEL1 = (PINCON->PINSEL0 & ~0x03c00000) | 0x01400000;
-
- #elif I2C_DRV_SYSLESS_PORT == I2C1_BASE
- SC->PCONP |= (1 << 19); /*PI2C1*/
- #if SCL1_BIT == BIT(1)
- /* SDA1 P0.0, SCL1 P0.1 */
- PINCON->PINSEL0 |= 0x0000000f;
- PINCON->PINMODE0 = (PINCON->PINMODE0 & ~0x0000000f) | 0x0000000A;
- PINCON->PINMODE_OD0 |= 0x00000003;
- #elif SCL1_BIT == BIT(20)
- /* SDA1 P0.19, SCL1 P0.20 */
- PINCON->PINSEL1 |= 0x000003c0;
- PINCON->PINMODE1 = (PINCON->PINMODE1 & ~0x000003c0) | 0x00000280;
- PINCON->PINMODE_OD0 |= 0x00180000;
- #else
- #error Unknown SCL1_BIT pin position
+ #if I2C_DRV_SYSLESS_PORT == LPC_I2C0_BASE
+ LPC_SC->PCONP |= (1 << 7); /*PI2C0*/
+ #ifdef SDA0_PIN
+ hal_pin_conf(SDA0_PIN);
+ #endif
+ #ifdef SCL0_PIN
+ hal_pin_conf(SCL0_PIN);
+ #endif
+ #elif I2C_DRV_SYSLESS_PORT == LPC_I2C1_BASE
+ LPC_SC->PCONP |= (1 << 19); /*PI2C1*/
+ #ifdef SDA1_PIN
+ hal_pin_conf(SDA1_PIN);
+ #endif
+ #ifdef SCL1_PIN
+ hal_pin_conf(SCL1_PIN);
+ #endif
+ #elif I2C_DRV_SYSLESS_PORT == LPC_I2C2_BASE
+ LPC_SC->PCONP |= (1 << 26); /*PI2C2*/
+ #ifdef SDA1_PIN
+ hal_pin_conf(SDA2_PIN);
+ #endif
+ #ifdef SCL1_PIN
+ hal_pin_conf(SCL2_PIN);