boards: mimxrt1020_evk: Enable mcux lpi2c driver and pins
Enables the mcux lpi2c shim driver and pin muxes on the mimxrt1020_evk board for LPI2C1 and LPI2C4. LPI2C1 is shared between the Arduino connector J18 and the WM8960 codec. LPI2C4 is shared between the Arduino connector J19 and the FXOS8700CQ sensor (non-populated by default). Updates the board documentation and yaml supported list accordingly. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
94bf757d68
commit
14e7be3e34
5 changed files with 72 additions and 0 deletions
|
@ -20,6 +20,16 @@ config GPIO_MCUX_IGPIO_5
|
|||
|
||||
endif # GPIO_MCUX_IGPIO
|
||||
|
||||
if I2C_MCUX_LPI2C
|
||||
|
||||
config I2C_1
|
||||
default y
|
||||
|
||||
config I2C_4
|
||||
default y
|
||||
|
||||
endif # I2C_MCUX_LPI2C
|
||||
|
||||
if UART_MCUX_LPUART
|
||||
|
||||
config UART_MCUX_LPUART_1
|
||||
|
|
|
@ -75,6 +75,8 @@ features:
|
|||
+-----------+------------+-------------------------------------+
|
||||
| GPIO | on-chip | gpio |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| UART | on-chip | serial port-polling; |
|
||||
| | | serial port-interrupt |
|
||||
+-----------+------------+-------------------------------------+
|
||||
|
@ -104,6 +106,14 @@ The MIMXRT1020 SoC has five pairs of pinmux/gpio controllers.
|
|||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B1_09 | LPUART2_RX | UART BT HCI |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B1_14 | LPI2C1_SCL | I2C |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B1_15 | LPI2C1_SDA | I2C |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_SD_B1_02 | LPI2C4_SCL | I2C |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_SD_B1_03 | LPI2C4_SDA | I2C |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| WAKEUP | GPIO | SW0 |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_04 | ENET_RST | Ethernet |
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
gpio-3= &gpio3;
|
||||
gpio-4= &gpio4;
|
||||
gpio-5= &gpio5;
|
||||
i2c-1 = &i2c1;
|
||||
i2c-4 = &i2c4;
|
||||
uart-1 = &uart1;
|
||||
led0 = &green_led;
|
||||
sw0 = &user_button;
|
||||
|
@ -69,6 +71,14 @@ arduino_serial: &uart2 {};
|
|||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "ok";
|
||||
current-speed = <115200>;
|
||||
|
|
|
@ -14,3 +14,5 @@ toolchain:
|
|||
- xtools
|
||||
ram: 128
|
||||
flash: 128
|
||||
supported:
|
||||
- i2c
|
||||
|
|
|
@ -66,6 +66,46 @@ static int mimxrt1020_evk_init(struct device *dev)
|
|||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_I2C_1
|
||||
/* LPI2C1 SCL, SDA */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_14_LPI2C1_SCL, 1);
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_15_LPI2C1_SDA, 1);
|
||||
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_14_LPI2C1_SCL,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B1_15_LPI2C1_SDA,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_I2C_4
|
||||
/* LPI2C4 SCL, SDA */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B1_02_LPI2C4_SCL, 1);
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B1_03_LPI2C4_SDA, 1);
|
||||
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B1_02_LPI2C4_SCL,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B1_03_LPI2C4_SDA,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PUS(3) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_ODE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ETH_MCUX_0
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_04_GPIO1_IO04, 0U);
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B1_06_GPIO1_IO22, 0U);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue