soc: nxp_imx: Enable mcux lpi2c driver and clocks

Enables the mcux lpi2c shim driver and clocks on all imx rt socs when
the i2c driver interface is enabled.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
This commit is contained in:
Maureen Helm 2019-01-16 15:22:22 -06:00 committed by Anas Nashif
commit 9cad30814d
6 changed files with 63 additions and 0 deletions

View file

@ -37,6 +37,13 @@ config GPIO_MCUX_IGPIO
endif # GPIO
if I2C
config I2C_MCUX_LPI2C
default y
endif # I2C
if SERIAL
config UART_MCUX_LPUART

View file

@ -37,6 +37,13 @@ config GPIO_MCUX_IGPIO
endif # GPIO
if I2C
config I2C_MCUX_LPI2C
default y
endif # I2C
if SERIAL
config UART_MCUX_LPUART

View file

@ -37,6 +37,13 @@ config GPIO_MCUX_IGPIO
endif # GPIO
if I2C
config I2C_MCUX_LPI2C
default y
endif # I2C
if SERIAL
config UART_MCUX_LPUART

View file

@ -14,6 +14,7 @@ config SOC_MIMXRT1021
select HAS_MCUX
select HAS_MCUX_CCM
select HAS_MCUX_IGPIO
select HAS_MCUX_LPI2C
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select HAS_MCUX_TRNG
@ -28,6 +29,7 @@ config SOC_MIMXRT1051
select HAS_MCUX
select HAS_MCUX_CCM
select HAS_MCUX_IGPIO
select HAS_MCUX_LPI2C
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select HAS_MCUX_TRNG
@ -42,6 +44,7 @@ config SOC_MIMXRT1052
select HAS_MCUX
select HAS_MCUX_CCM
select HAS_MCUX_IGPIO
select HAS_MCUX_LPI2C
select HAS_MCUX_LPSPI
select HAS_MCUX_LPUART
select HAS_MCUX_TRNG
@ -56,6 +59,7 @@ config SOC_MIMXRT1061
select HAS_MCUX
select HAS_MCUX_CCM
select HAS_MCUX_IGPIO
select HAS_MCUX_LPI2C
select HAS_MCUX_LPUART
select HAS_MCUX_TRNG
select CPU_HAS_FPU
@ -69,6 +73,7 @@ config SOC_MIMXRT1062
select HAS_MCUX
select HAS_MCUX_CCM
select HAS_MCUX_IGPIO
select HAS_MCUX_LPI2C
select HAS_MCUX_LPUART
select HAS_MCUX_TRNG
select CPU_HAS_FPU

View file

@ -25,6 +25,38 @@
#define DT_MCUX_IGPIO_5_IRQ_1 DT_NXP_IMX_GPIO_400C0000_IRQ_1
#define DT_MCUX_IGPIO_5_IRQ_1_PRI DT_NXP_IMX_GPIO_400C0000_IRQ_1_PRIORITY
#define CONFIG_I2C_1_NAME DT_NXP_IMX_LPI2C_403F0000_LABEL
#define DT_I2C_MCUX_LPI2C_1_BASE_ADDRESS DT_NXP_IMX_LPI2C_403F0000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_1_IRQ DT_NXP_IMX_LPI2C_403F0000_IRQ_0
#define DT_I2C_MCUX_LPI2C_1_IRQ_PRI DT_NXP_IMX_LPI2C_403F0000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_1_BITRATE DT_NXP_IMX_LPI2C_403F0000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_1_CLOCK_NAME DT_NXP_IMX_LPI2C_403F0000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_1_CLOCK_SUBSYS DT_NXP_IMX_LPI2C_403F0000_CLOCK_NAME
#define CONFIG_I2C_2_NAME DT_NXP_IMX_LPI2C_403F4000_LABEL
#define DT_I2C_MCUX_LPI2C_2_BASE_ADDRESS DT_NXP_IMX_LPI2C_403F4000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_2_IRQ DT_NXP_IMX_LPI2C_403F4000_IRQ_0
#define DT_I2C_MCUX_LPI2C_2_IRQ_PRI DT_NXP_IMX_LPI2C_403F4000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_2_BITRATE DT_NXP_IMX_LPI2C_403F4000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_2_CLOCK_NAME DT_NXP_IMX_LPI2C_403F4000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_2_CLOCK_SUBSYS DT_NXP_IMX_LPI2C_403F4000_CLOCK_NAME
#define CONFIG_I2C_3_NAME DT_NXP_IMX_LPI2C_403F8000_LABEL
#define DT_I2C_MCUX_LPI2C_3_BASE_ADDRESS DT_NXP_IMX_LPI2C_403F8000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_3_IRQ DT_NXP_IMX_LPI2C_403F8000_IRQ_0
#define DT_I2C_MCUX_LPI2C_3_IRQ_PRI DT_NXP_IMX_LPI2C_403F8000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_3_BITRATE DT_NXP_IMX_LPI2C_403F8000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_3_CLOCK_NAME DT_NXP_IMX_LPI2C_403F8000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_3_CLOCK_SUBSYS DT_NXP_IMX_LPI2C_403F8000_CLOCK_NAME
#define CONFIG_I2C_4_NAME DT_NXP_IMX_LPI2C_403FC000_LABEL
#define DT_I2C_MCUX_LPI2C_4_BASE_ADDRESS DT_NXP_IMX_LPI2C_403FC000_BASE_ADDRESS
#define DT_I2C_MCUX_LPI2C_4_IRQ DT_NXP_IMX_LPI2C_403FC000_IRQ_0
#define DT_I2C_MCUX_LPI2C_4_IRQ_PRI DT_NXP_IMX_LPI2C_403FC000_IRQ_0_PRIORITY
#define DT_I2C_MCUX_LPI2C_4_BITRATE DT_NXP_IMX_LPI2C_403FC000_CLOCK_FREQUENCY
#define DT_I2C_MCUX_LPI2C_4_CLOCK_NAME DT_NXP_IMX_LPI2C_403FC000_CLOCK_CONTROLLER
#define DT_I2C_MCUX_LPI2C_4_CLOCK_SUBSYS DT_NXP_IMX_LPI2C_403FC000_CLOCK_NAME
#define DT_UART_MCUX_LPUART_1_BASE_ADDRESS DT_NXP_KINETIS_LPUART_40184000_BASE_ADDRESS
#define DT_UART_MCUX_LPUART_1_NAME DT_NXP_KINETIS_LPUART_40184000_LABEL
#define DT_UART_MCUX_LPUART_1_IRQ DT_NXP_KINETIS_LPUART_40184000_IRQ_0

View file

@ -131,6 +131,11 @@ static ALWAYS_INLINE void clkInit(void)
CLOCK_SetDiv(kCLOCK_UartDiv, 0); /* Set UART divider to 1 */
#endif
#ifdef CONFIG_I2C_MCUX_LPI2C
CLOCK_SetMux(kCLOCK_Lpi2cMux, 0); /* Set I2C source as USB1 PLL 480M */
CLOCK_SetDiv(kCLOCK_Lpi2cDiv, 5); /* Set I2C divider to 6 */
#endif
#ifdef CONFIG_SPI_MCUX_LPSPI
CLOCK_SetMux(kCLOCK_LpspiMux, 1); /* Set SPI source to USB1 PFD0 720M */
CLOCK_SetDiv(kCLOCK_LpspiDiv, 7); /* Set SPI divider to 8 */