diff --git a/bsp/lpc55sxx/Libraries/drivers/drv_i2c.c b/bsp/lpc55sxx/Libraries/drivers/drv_i2c.c index 97a3257ce78ef96076c6eb0c5588cc82ffb217df..515e54b2afe7f676d85ef6a1cfb4733724f329fd 100644 --- a/bsp/lpc55sxx/Libraries/drivers/drv_i2c.c +++ b/bsp/lpc55sxx/Libraries/drivers/drv_i2c.c @@ -21,6 +21,9 @@ enum { +#ifdef BSP_USING_I2C1 + I2C1_INDEX, +#endif #ifdef BSP_USING_I2C4 I2C4_INDEX, #endif @@ -48,6 +51,17 @@ struct lpc_i2c_bus struct lpc_i2c_bus lpc_obj[] = { +#ifdef BSP_USING_I2C1 + { + .I2C = I2C1, + .DMA = DMA0, + .dma_chl = 12, + .device_name = "i2c1", + .baud = 100000U, + .instance = 1U, + .i2c_clock_id = kFRO12M_to_FLEXCOMM1, + }, +#endif #ifdef BSP_USING_I2C4 { .I2C = I2C4, diff --git a/bsp/lpc55sxx/Libraries/drivers/drv_mma8562.c b/bsp/lpc55sxx/Libraries/drivers/drv_mma8562.c index f0a0a168d7f92546ad057aad37637e30ddcb5023..64d61be1c9f666e0e82a2d70f40c2f9397389eb5 100644 --- a/bsp/lpc55sxx/Libraries/drivers/drv_mma8562.c +++ b/bsp/lpc55sxx/Libraries/drivers/drv_mma8562.c @@ -102,7 +102,7 @@ void get_mma8562(uint8_t data) rt_kprintf("*** MMA8562 X %d, Y %d, Z %d\r\n", (accel.x), (accel.y), (accel.z) ); } -FINSH_FUNCTION_EXPORT(get_mma8562, get mma8562. e.g: get_mma8562(0)) +MSH_CMD_EXPORT(get_mma8562, get mma8562. e.g: get_mma8562(0)) #endif int mma8562_hw_init(void) diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/README.md b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/README.md index 4f1a4bc2e2ac0535c0920b18531a816ece36f86b..bf044e164d3942bcf696022279da8b4c734d8bdb 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/README.md +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/README.md @@ -45,7 +45,7 @@ Hardware Drivers Config ---> | 18 (A2) | -- | 是/否 | | | 19 (A3) | P(1,31) | 是/否 | | | 20 (A4) | P(0,13) | 是/否 | I2C1-SDA,默认被RT-Thread的I2C设备框架i2c1接管 | -| 21 (A5) | P(1,14) | 是/否 | I2C1-SCL,默认被RT-Thread的I2C设备框架i2c1接管 | +| 21 (A5) | P(0,14) | 是/否 | I2C1-SCL,默认被RT-Thread的I2C设备框架i2c1接管 | | 22 (A6) | -- | | 芯片内部参考电压 ADC,默认被RT-Thread的ADC设备框架adc1接管 | | 23 (A7) | -- | | 芯片内部温度 ADC,默认被RT-Thread的ADC设备框架adc1接管 | diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/pins_arduino.c b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/pins_arduino.c index a43917a52d5eda387ce4f6dbff2bbb1bfc5985f9..2d7d8bd4f9cc8a2d037819cba1d6dbb64a7e70de 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/pins_arduino.c +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/applications/arduino_pinout/pins_arduino.c @@ -44,7 +44,7 @@ const pin_map_t pin_map_table[]= {A2, RT_NULL}, {A3, GET_PINS(1,31)}, {A4, GET_PINS(0,13), "i2c1"}, /* I2C-SDA (Wire) */ - {A5, GET_PINS(1,14), "i2c1"}, /* I2C-SCL (Wire) */ + {A5, GET_PINS(0,14), "i2c1"}, /* I2C-SCL (Wire) */ {A6, RT_NULL, "adc0", 13}, /* ADC, On-Chip: internal reference voltage, ADC_CHANNEL_VREFINT */ {A7, RT_NULL, "adc0", 26}, /* ADC, On-Chip: internal temperature sensor, ADC_CHANNEL_TEMPSENSOR */ }; diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig index 99d7da5bae4c3dccfc151837a16fd95a585f18a9..ed014dbc0d80c6f2ed8f7415a67c166f5358e28e 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/Kconfig @@ -47,7 +47,7 @@ menu "On-chip Peripheral Drivers" default n if BSP_USING_UART1 choice - prompt "Select UART2 badurate" + prompt "Select UART1 badurate" default HW_UART1_BAUDRATE_115200 config HW_UART1_BAUDRATE_9600 diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.c b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.c index 8cb19449f8d95fe3fd56afe3c4d1823b768c3207..f04b9753f5cf614292a5f42470ae4c695f9a15cb 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.c +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.c @@ -76,6 +76,32 @@ void BOARD_InitPins(void) /* Enables the clock for the I/O controller.: Enable Clock. */ CLOCK_EnableClock(kCLOCK_Iocon); + IOCON->PIO[0][13] = ((IOCON->PIO[0][13] & + /* Mask bits to zero which are setting */ + (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK))) + + /* Selects pin function. + * : PORT013 (pin 71) is configured as FC1_RXD_SDA_MOSI_DATA. */ + | IOCON_PIO_FUNC(PIO0_13_FUNC_ALT5) + + /* Select Digital mode. + * : Enable Digital mode. + * Digital input is enabled. */ + | IOCON_PIO_DIGIMODE(PIO0_13_DIGIMODE_DIGITAL)); + + IOCON->PIO[0][14] = ((IOCON->PIO[0][14] & + /* Mask bits to zero which are setting */ + (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK))) + + /* Selects pin function. + * : PORT014 (pin 72) is configured as FC1_TXD_SCL_MISO_WS. */ + | IOCON_PIO_FUNC(PIO0_14_FUNC_ALT6) + + /* Select Digital mode. + * : Enable Digital mode. + * Digital input is enabled. */ + | IOCON_PIO_DIGIMODE(PIO0_14_DIGIMODE_DIGITAL)); + IOCON->PIO[0][17] = ((IOCON->PIO[0][17] & /* Mask bits to zero which are setting */ (~(IOCON_PIO_FUNC_MASK | IOCON_PIO_DIGIMODE_MASK))) @@ -319,7 +345,6 @@ void BOARD_InitPins(void) * : Digital mode, digital input is enabled. */ | IOCON_PIO_DIGIMODE(PIO1_7_DIGIMODE_DIGITAL)); - /* I2C4 */ IOCON_PinMuxSet(IOCON, 1U, 20, 5 | IOCON_PIO_MODE_INACT | IOCON_PIO_SLEW_STANDARD | IOCON_PIO_INV_DI | IOCON_PIO_DIGITAL_EN | IOCON_PIO_OPENDRAIN_DI); IOCON_PinMuxSet(IOCON, 1U, 21, 5 | IOCON_PIO_MODE_INACT | IOCON_PIO_SLEW_STANDARD | IOCON_PIO_INV_DI | IOCON_PIO_DIGITAL_EN | IOCON_PIO_OPENDRAIN_DI); diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.h b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.h index ef20f8c2205844cb62b31f95094094ecc31f1e42..6a9b78dc1c6b984e0c723a02e582d55d0d7d0cbe 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.h +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/MCUX_Config/board/pin_mux.h @@ -43,6 +43,18 @@ void BOARD_InitBootPins(void); /*! * @brief Standard mode, output slew rate control is enabled */ #define IOCON_PIO_SLEW_STANDARD 0x00u +/*! + * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ +#define PIO0_13_DIGIMODE_DIGITAL 0x01u +/*! + * @brief Selects pin function.: Alternative connection 5. */ +#define PIO0_13_FUNC_ALT5 0x05u +/*! + * @brief Select Digital mode.: Enable Digital mode. Digital input is enabled. */ +#define PIO0_14_DIGIMODE_DIGITAL 0x01u +/*! + * @brief Selects pin function.: Alternative connection 6. */ +#define PIO0_14_FUNC_ALT6 0x06u /*! * @brief Select Digital mode.: Digital mode, digital input is enabled. */ #define PIO0_17_DIGIMODE_DIGITAL 0x01u