boards: mimxrt1020_evk: Added support for SPI on RT1020
Adds support for LPSPI1 on RT1020. This peripheral is exposed on J19, as pins 3, 4, 5, and 6 Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
ab9f95e92b
commit
430224eacb
5 changed files with 52 additions and 4 deletions
|
@ -77,6 +77,8 @@ features:
|
|||
+-----------+------------+-------------------------------------+
|
||||
| GPIO | on-chip | gpio |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| SPI | on-chip | spi |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| I2C | on-chip | i2c |
|
||||
+-----------+------------+-------------------------------------+
|
||||
| SDHC | on-chip | disk access |
|
||||
|
@ -128,13 +130,13 @@ The MIMXRT1020 SoC has five pairs of pinmux/gpio controllers.
|
|||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_09 | ENET_RX_DATA01 | Ethernet |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_10 | ENET_RX_DATA00 | Ethernet |
|
||||
| GPIO_AD_B0_10 | ENET_RX_DATA00/LPSPI1_SCK | Ethernet/SPI |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_11 | ENET_RX_EN | Ethernet |
|
||||
| GPIO_AD_B0_11 | ENET_RX_EN/LPSPI1_PCS0 | Ethernet/SPI |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_12 | ENET_RX_ER | Ethernet |
|
||||
| GPIO_AD_B0_12 | ENET_RX_ER/LPSPI1_SDO | Ethernet/SPI |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_13 | ENET_TX_EN | Ethernet |
|
||||
| GPIO_AD_B0_13 | ENET_TX_EN/LPSPI1_SDI | Ethernet/SPI |
|
||||
+---------------+-----------------+---------------------------+
|
||||
| GPIO_AD_B0_14 | ENET_TX_DATA00 | Ethernet |
|
||||
+---------------+-----------------+---------------------------+
|
||||
|
|
|
@ -138,6 +138,10 @@ arduino_serial: &lpuart2 {};
|
|||
current-speed = <115200>;
|
||||
};
|
||||
|
||||
&lpspi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enet {
|
||||
status = "okay";
|
||||
ptp {
|
||||
|
|
|
@ -21,4 +21,5 @@ supported:
|
|||
- gpio
|
||||
- i2c
|
||||
- netif:eth
|
||||
- spi
|
||||
- usb_device
|
||||
|
|
|
@ -223,6 +223,40 @@ static int mimxrt1020_evk_init(const struct device *dev)
|
|||
GPIO_WritePinOutput(GPIO1, 4, 0);
|
||||
#endif
|
||||
|
||||
#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpspi1), okay) && CONFIG_SPI
|
||||
#if DT_NODE_HAS_STATUS(DT_NODELABEL(enet), okay) && CONFIG_NET_L2_ETHERNET
|
||||
#error "LPSPI1 and ENET share pins on this board, please disable one" \
|
||||
"using KConfig or the devicetree"
|
||||
#else
|
||||
/* LPSPI1 CS, SDO, SDI, CLK exposed as pins 3, 4, 5, and 6 on J19 */
|
||||
/* GPIO_AD_B0_10 is configured as LPSPI1_SCK */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_10_LPSPI1_SCK, 0U);
|
||||
/* GPIO_AD_B0_11 is configured as LPSPI1_PCS0 */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_11_LPSPI1_PCS0, 0U);
|
||||
/* GPIO_AD_B0_12 is configured as LPSPI1_SDO */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_12_LPSPI1_SDO, 0U);
|
||||
/* GPIO_AD_B0_13 is configured as LPSPI1_SDI */
|
||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_13_LPSPI1_SDI, 0U);
|
||||
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_10_LPSPI1_SCK,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_11_LPSPI1_PCS0,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_12_LPSPI1_SDO,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_13_LPSPI1_SDI,
|
||||
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
|
||||
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
|
||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if DT_NODE_HAS_STATUS(DT_NODELABEL(usdhc1), okay) && CONFIG_DISK_DRIVER_SDMMC
|
||||
mimxrt1020_evk_usdhc_pinmux(0, true, 2, 1);
|
||||
imxrt_usdhc_pinmux_cb_register(mimxrt1020_evk_usdhc_pinmux);
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# Copyright (c) 2021, NXP
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
Loading…
Add table
Add a link
Reference in a new issue