drivers: i2c: Introduce mcux lpi2c shim driver
Adds a shim layer around the mcux lpi2c driver to adapt it to the zephyr
i2c interface. This shim driver leverages heavily from the mcux i2c shim
driver because the MCUXpresso SDK provides similar APIs for the i2c and
lpi2c peripherals.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
diff --git a/ext/hal/nxp/mcux/Kconfig b/ext/hal/nxp/mcux/Kconfig
index 6627c28..6427472 100644
--- a/ext/hal/nxp/mcux/Kconfig
+++ b/ext/hal/nxp/mcux/Kconfig
@@ -32,6 +32,11 @@
help
Set if the iMX GPIO (IGPIO) module is present in the SoC.
+config HAS_MCUX_LPI2C
+ bool
+ help
+ Set if the low power I2C (LPI2C) module is present in the SoC.
+
config HAS_MCUX_LPSCI
bool
help
diff --git a/ext/hal/nxp/mcux/drivers/imx/CMakeLists.txt b/ext/hal/nxp/mcux/drivers/imx/CMakeLists.txt
index a18f0a9..7de4e5c 100644
--- a/ext/hal/nxp/mcux/drivers/imx/CMakeLists.txt
+++ b/ext/hal/nxp/mcux/drivers/imx/CMakeLists.txt
@@ -11,6 +11,7 @@
)
zephyr_sources_ifdef(CONFIG_GPIO_MCUX_IGPIO fsl_gpio.c)
+zephyr_sources_ifdef(CONFIG_I2C_MCUX_LPI2C fsl_lpi2c.c)
zephyr_sources_ifdef(CONFIG_SPI_MCUX_LPSPI fsl_lpspi.c)
zephyr_sources_ifdef(CONFIG_UART_MCUX_LPUART fsl_lpuart.c)
zephyr_sources_ifdef(CONFIG_ETH_MCUX fsl_enet.c)
diff --git a/ext/hal/nxp/mcux/drivers/kinetis/CMakeLists.txt b/ext/hal/nxp/mcux/drivers/kinetis/CMakeLists.txt
index bdb4180..a68c023 100644
--- a/ext/hal/nxp/mcux/drivers/kinetis/CMakeLists.txt
+++ b/ext/hal/nxp/mcux/drivers/kinetis/CMakeLists.txt
@@ -13,6 +13,7 @@
zephyr_sources_ifdef(CONFIG_ADC_MCUX_ADC16 fsl_adc16.c)
zephyr_sources_ifdef(CONFIG_ETH_MCUX fsl_enet.c)
zephyr_sources_ifdef(CONFIG_I2C_MCUX fsl_i2c.c)
+zephyr_sources_ifdef(CONFIG_I2C_MCUX_LPI2C fsl_lpi2c.c)
zephyr_sources_ifdef(CONFIG_PWM_MCUX_FTM fsl_ftm.c)
zephyr_sources_ifdef(CONFIG_ENTROPY_MCUX_RNGA fsl_rnga.c)
zephyr_sources_ifdef(CONFIG_ENTROPY_MCUX_TRNG fsl_trng.c)