Skip to content

Commit e560999

Browse files
Loic Poulaingalak
authored andcommitted
soc: nxp_imx: mimxrt1064_evk: Add I2C support
I2C1 is routed to J24 Arduino interface (D14/I2C_SDA, D15/I2C_SCL). Signed-off-by: Loic Poulain <[email protected]>
1 parent a0ba654 commit e560999

File tree

5 files changed

+35
-0
lines changed

5 files changed

+35
-0
lines changed

boards/arm/mimxrt1064_evk/Kconfig.defconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ config GPIO_MCUX_IGPIO_5
2828

2929
endif # GPIO_MCUX_IGPIO
3030

31+
if I2C_MCUX_LPI2C
32+
33+
config I2C_1
34+
default y
35+
36+
endif # I2C_MCUX_LPI2C
37+
3138
if UART_MCUX_LPUART
3239

3340
config UART_MCUX_LPUART_1

boards/arm/mimxrt1064_evk/mimxrt1064_evk.dts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
};
6363
};
6464

65+
arduino_i2c: &i2c1 {};
66+
6567
&lcdif1 {
6668
status = "ok";
6769
port {
@@ -71,6 +73,10 @@
7173
};
7274
};
7375

76+
&i2c1 {
77+
status = "ok";
78+
};
79+
7480
&uart1 {
7581
status = "ok";
7682
current-speed = <115200>;

boards/arm/mimxrt1064_evk/mimxrt1064_evk.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ supported:
1818
- display
1919
- hwinfo
2020
- netif:eth
21+
- i2c

boards/arm/mimxrt1064_evk/pinmux.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,26 @@ static int mimxrt1064_evk_init(struct device *dev)
111111
GPIO_PinInit(GPIO2, 31, &config);
112112
#endif
113113

114+
#ifdef CONFIG_I2C_1
115+
/* LPI2C1 SCL, SDA */
116+
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL, 1);
117+
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA, 1);
118+
119+
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_00_LPI2C1_SCL,
120+
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
121+
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
122+
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
123+
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
124+
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
125+
126+
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_01_LPI2C1_SDA,
127+
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
128+
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
129+
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
130+
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
131+
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
132+
#endif
133+
114134
#ifdef CONFIG_ETH_MCUX_0
115135
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_09_GPIO1_IO09, 0U);
116136
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_10_GPIO1_IO10, 0U);

soc/arm/nxp_imx/rt/Kconfig.soc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ config SOC_MIMXRT1064
120120
select HAS_MCUX_ELCDIF
121121
select HAS_MCUX_ENET
122122
select HAS_MCUX_IGPIO
123+
select HAS_MCUX_LPI2C
123124
select HAS_MCUX_LPUART
124125
select HAS_MCUX_TRNG
125126
select CPU_HAS_FPU_DOUBLE_PRECISION

0 commit comments

Comments
 (0)