From e5bf0710b5d3228711743cd3eab2ec48a4432764 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Fri, 13 Dec 2019 01:59:49 -0800 Subject: [PATCH] fmurt1062-v1:Support imxrt_lpi2c_reset uses GPIO with SION --- .../fmurt1062-v1/nuttx-config/include/board.h | 16 ++++++++-------- boards/nxp/fmurt1062-v1/src/init.c | 1 + boards/nxp/fmurt1062-v1/src/spi.cpp | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/boards/nxp/fmurt1062-v1/nuttx-config/include/board.h b/boards/nxp/fmurt1062-v1/nuttx-config/include/board.h index be57d9f7ee..859f4795eb 100644 --- a/boards/nxp/fmurt1062-v1/nuttx-config/include/board.h +++ b/boards/nxp/fmurt1062-v1/nuttx-config/include/board.h @@ -301,26 +301,26 @@ /* LPI2Cs */ -#define LPI2C_IOMUX (GPIO_OUTPUT | IOMUX_SPEED_MAX | IOMUX_SLEW_FAST | IOMUX_DRIVE_33OHM | IOMUX_OPENDRAIN | IOMUX_PULL_NONE) -#define LPI2C_IO_IOMUX (GPIO_OUTPUT | IOMUX_SPEED_MAX | IOMUX_SLEW_FAST | IOMUX_DRIVE_33OHM | IOMUX_CMOS_OUTPUT | IOMUX_PULL_NONE) +#define LPI2C_IOMUX (IOMUX_SPEED_MEDIUM | IOMUX_DRIVE_33OHM | IOMUX_OPENDRAIN | GPIO_SION_ENABLE) +#define LPI2C_IO_IOMUX (GPIO_OUTPUT | IOMUX_SPEED_MAX | IOMUX_SLEW_FAST | IOMUX_DRIVE_33OHM | IOMUX_CMOS_OUTPUT | IOMUX_PULL_NONE | GPIO_OUTPUT_ONE) #define GPIO_LPI2C1_SDA (GPIO_LPI2C1_SDA_2 | LPI2C_IOMUX) /* EVK J24-9 R276 */ /* GPIO_AD_B1_01 */ #define GPIO_LPI2C1_SCL (GPIO_LPI2C1_SCL_2 | LPI2C_IOMUX) /* EVK J24-10 R277 */ /* GPIO_AD_B1_00 */ -#define GPIO_LPI2C1_SDA_GPIO (GPIO_PORT1 | GPIO_PIN17 | LPI2C_IO_IOMUX) /* GPIO_AD_B1_01 GPIO1_IO17 */ -#define GPIO_LPI2C1_SCL_GPIO (GPIO_PORT1 | GPIO_PIN16 | LPI2C_IO_IOMUX) /* GPIO_AD_B1_00 GPIO1_IO16 */ +#define GPIO_LPI2C1_SDA_RESET (GPIO_PORT1 | GPIO_PIN17 | LPI2C_IO_IOMUX) /* GPIO_AD_B1_01 GPIO1_IO17 */ +#define GPIO_LPI2C1_SCL_RESET (GPIO_PORT1 | GPIO_PIN16 | LPI2C_IO_IOMUX) /* GPIO_AD_B1_00 GPIO1_IO16 */ #define GPIO_LPI2C2_SDA (GPIO_LPI2C2_SDA_1 | LPI2C_IOMUX) /* EVK J8-A25 */ /* GPIO_B0_05 */ #define GPIO_LPI2C2_SCL (GPIO_LPI2C2_SCL_1 | LPI2C_IOMUX) /* EVK J8-A24 */ /* GPIO_B0_04 */ -#define GPIO_LPI2C2_SDA_GPIO (GPIO_PORT2 | GPIO_PIN5 | LPI2C_IO_IOMUX) /* GPIO_B0_05 GPIO2_IO5 */ -#define GPIO_LPI2C2_SCL_GPIO (GPIO_PORT2 | GPIO_PIN4 | LPI2C_IO_IOMUX) /* GPIO_B0_04 GPIO2_IO4 */ +#define GPIO_LPI2C2_SDA_RESET (GPIO_PORT2 | GPIO_PIN5 | LPI2C_IO_IOMUX) /* GPIO_B0_05 GPIO2_IO5 */ +#define GPIO_LPI2C2_SCL_RESET (GPIO_PORT2 | GPIO_PIN4 | LPI2C_IO_IOMUX) /* GPIO_B0_04 GPIO2_IO4 */ #define GPIO_LPI2C3_SDA (GPIO_LPI2C3_SDA_2 | LPI2C_IOMUX) /* GPIO_EMC_21 */ #define GPIO_LPI2C3_SCL (GPIO_LPI2C3_SCL_2 | LPI2C_IOMUX) /* GPIO_EMC_22 */ -#define GPIO_LPI2C3_SDA_GPIO (GPIO_PORT4 | GPIO_PIN21 | LPI2C_IO_IOMUX) /* GPIO_EMC_21 GPIO4_IO21 */ -#define GPIO_LPI2C3_SCL_GPIO (GPIO_PORT4 | GPIO_PIN22 | LPI2C_IO_IOMUX) /* GPIO_EMC_22 GPIO4_IO22 */ +#define GPIO_LPI2C3_SDA_RESET (GPIO_PORT4 | GPIO_PIN21 | LPI2C_IO_IOMUX) /* GPIO_EMC_21 GPIO4_IO21 */ +#define GPIO_LPI2C3_SCL_RESET (GPIO_PORT4 | GPIO_PIN22 | LPI2C_IO_IOMUX) /* GPIO_EMC_22 GPIO4_IO22 */ /* Board provides GPIO or other Hardware for signaling to timing analyzer */ diff --git a/boards/nxp/fmurt1062-v1/src/init.c b/boards/nxp/fmurt1062-v1/src/init.c index 14c612ffb7..4db3dfaf63 100644 --- a/boards/nxp/fmurt1062-v1/src/init.c +++ b/boards/nxp/fmurt1062-v1/src/init.c @@ -158,6 +158,7 @@ __EXPORT void board_on_reset(int status) __EXPORT void imxrt_boardinitialize(void) { + board_on_reset(-1); /* Reset PWM first thing */ /* configure LEDs */ diff --git a/boards/nxp/fmurt1062-v1/src/spi.cpp b/boards/nxp/fmurt1062-v1/src/spi.cpp index a7f0512819..bc3744c41f 100644 --- a/boards/nxp/fmurt1062-v1/src/spi.cpp +++ b/boards/nxp/fmurt1062-v1/src/spi.cpp @@ -365,8 +365,8 @@ __EXPORT void board_spi_reset(int ms) imxrt_config_gpio(GPIO_SPI3_MOSI_OFF); - imxrt_config_gpio(_PIN_OFF(GPIO_LPI2C3_SDA_GPIO)); - imxrt_config_gpio(_PIN_OFF(GPIO_LPI2C3_SCL_GPIO)); + imxrt_config_gpio(_PIN_OFF(GPIO_LPI2C3_SDA_RESET)); + imxrt_config_gpio(_PIN_OFF(GPIO_LPI2C3_SCL_RESET)); # if BOARD_USE_DRDY imxrt_config_gpio(GPIO_DRDY_OFF_SPI1_DRDY1_ICM20689);