boards: mimxrt1050_evk: Added support for LPSPI1 peripheral
RT1050 has multiple LPSPI peripherals. The simplest to access is LPSPI1, which can be connected by bridging solder jumpers on the board. Enable this SPI peripheral, and set it as default for SPI tests. Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
parent
bd925abead
commit
4c81289a83
4 changed files with 49 additions and 7 deletions
|
@ -131,9 +131,9 @@ The MIMXRT1050 SoC has five pairs of pinmux/gpio controllers.
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| Name | Function | Usage |
|
| Name | Function | Usage |
|
||||||
+===============+=================+===========================+
|
+===============+=================+===========================+
|
||||||
| GPIO_AD_B0_00 | LPSPI3_SCK | SPI |
|
| GPIO_AD_B0_00 | LPSPI1_SCK | SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_AD_B0_01 | LPSPI3_SDO | SPI |
|
| GPIO_AD_B0_01 | LPSPI1_SDO | SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_AD_B0_02 | LPSPI3_SDI/LCD_RST| SPI/LCD Display |
|
| GPIO_AD_B0_02 | LPSPI3_SDI/LCD_RST| SPI/LCD Display |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
|
@ -231,19 +231,23 @@ The MIMXRT1050 SoC has five pairs of pinmux/gpio controllers.
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_AD_B0_10 | ENET_INT | Ethernet |
|
| GPIO_AD_B0_10 | ENET_INT | Ethernet |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_00 | USDHC1_CMD | SD Card |
|
| GPIO_SD_B0_00 | USDHC1_CMD/LPSPI1_SCK | SD Card/SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_01 | USDHC1_CLK | SD Card |
|
| GPIO_SD_B0_01 | USDHC1_CLK/LPSPI1_PCS0 | SD Card/SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_02 | USDHC1_DATA0 | SD Card |
|
| GPIO_SD_B0_02 | USDHC1_DATA0/LPSPI1_SDO | SD Card/SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_03 | USDHC1_DATA1 | SD Card |
|
| GPIO_SD_B0_03 | USDHC1_DATA1/LPSPI1_SDI | SD Card/SPI |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_04 | USDHC1_DATA2 | SD Card |
|
| GPIO_SD_B0_04 | USDHC1_DATA2 | SD Card |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
| GPIO_SD_B0_05 | USDHC1_DATA3 | SD Card |
|
| GPIO_SD_B0_05 | USDHC1_DATA3 | SD Card |
|
||||||
+---------------+-----------------+---------------------------+
|
+---------------+-----------------+---------------------------+
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
In order to use the SPI peripheral on this board, resistors R278,
|
||||||
|
R279, R280, and R281 must be populated with zero ohm resistors
|
||||||
|
|
||||||
System Clock
|
System Clock
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,10 @@ arduino_serial: &lpuart3 {};
|
||||||
current-speed = <115200>;
|
current-speed = <115200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&lpspi1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&lpspi3 {
|
&lpspi3 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
|
@ -183,6 +183,40 @@ static int mimxrt1050_evk_init(const struct device *dev)
|
||||||
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpspi1), okay) && CONFIG_SPI
|
||||||
|
#if DT_NODE_HAS_STATUS(DT_NODELABEL(usdhc1), okay) && CONFIG_DISK_DRIVER_SDMMC
|
||||||
|
#error "SPI and SDMMC pins conflict on this board." \
|
||||||
|
"Please disable one via KConfig or device tree"
|
||||||
|
#else
|
||||||
|
/* LPSPI1 SCK, SDO, SDI, PCS0 */
|
||||||
|
/* Expose these pins by connecting R278, R279, R280, and R281 on evk board */
|
||||||
|
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_00_LPSPI1_SCK, 0);
|
||||||
|
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_01_LPSPI1_PCS0, 0);
|
||||||
|
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_02_LPSPI1_SDO, 0);
|
||||||
|
IOMUXC_SetPinMux(IOMUXC_GPIO_SD_B0_03_LPSPI1_SDI, 0);
|
||||||
|
|
||||||
|
IOMUXC_SetPinConfig(IOMUXC_GPIO_SD_B0_00_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_SD_B0_01_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_SD_B0_02_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_SD_B0_03_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(lpspi3), okay) && CONFIG_SPI
|
#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpspi3), okay) && CONFIG_SPI
|
||||||
/* LPSPI3 SCK, SDO, SDI, PCS0 */
|
/* LPSPI3 SCK, SDO, SDI, PCS0 */
|
||||||
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_00_LPSPI3_SCK, 0);
|
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_00_LPSPI3_SCK, 0);
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_3"
|
CONFIG_SPI_LOOPBACK_DRV_NAME="SPI_1"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue