Skip to content

Commit

Permalink
mimxrt1050_evk: Configure an lpspi instance and pins
Browse files Browse the repository at this point in the history
Enables an instance of the lpspi peripheral, configures the pinmuxes,
and updates the board documentation accordingly.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
  • Loading branch information
MaureenHelm authored and nashif committed Sep 19, 2018
1 parent ae8d4ed commit ca6a232
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 0 deletions.
7 changes: 7 additions & 0 deletions boards/arm/mimxrt1050_evk/Kconfig.defconfig
Expand Up @@ -29,6 +29,13 @@ config GPIO_MCUX_IGPIO_5

endif # GPIO_MCUX_IGPIO

if SPI_MCUX_LPSPI

config SPI_3
def_bool y

endif # SPI_MCUX_LPSPI

if UART_MCUX_LPUART

config UART_MCUX_LPUART_1
Expand Down
10 changes: 10 additions & 0 deletions boards/arm/mimxrt1050_evk/doc/mimxrt1050_evk.rst
Expand Up @@ -95,6 +95,8 @@ features:
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| SPI | on-chip | spi |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
Expand All @@ -113,6 +115,14 @@ The MIMXRT1050 SoC has five pairs of pinmux/gpio controllers.
+---------------+-----------------+---------------------------+
| Name | Function | Usage |
+===============+=================+===========================+
| GPIO_AD_B0_00 | LPSPI3_SCK | SPI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_01 | LPSPI3_SDO | SPI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_02 | LPSPI3_SDI | SPI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_03 | LPSPI3_PCS0 | SPI |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_09 | GPIO | LED |
+---------------+-----------------+---------------------------+
| GPIO_AD_B0_12 | LPUART1_TX | UART Console |
Expand Down
5 changes: 5 additions & 0 deletions boards/arm/mimxrt1050_evk/mimxrt1050_evk.dts
Expand Up @@ -21,6 +21,7 @@
uart-1 = &uart1;
led0 = &green_led;
sw0 = &user_button;
spi-3 = &spi3;
};

chosen {
Expand Down Expand Up @@ -84,3 +85,7 @@
status = "ok";
current-speed = <115200>;
};

&spi3 {
status = "ok";
};
2 changes: 2 additions & 0 deletions boards/arm/mimxrt1050_evk/mimxrt1050_evk.yaml
Expand Up @@ -13,3 +13,5 @@ toolchain:
- gnuarmemb
ram: 128
flash: 128
supported:
- spi
28 changes: 28 additions & 0 deletions boards/arm/mimxrt1050_evk/pinmux.c
Expand Up @@ -41,6 +41,34 @@ static int mimxrt1050_evk_init(struct device *dev)
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
#endif

#ifdef CONFIG_SPI_3
/* LPSPI3 SCK, SDO, SDI, PCS0 */
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_00_LPSPI3_SCK, 0);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_01_LPSPI3_SDO, 0);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_02_LPSPI3_SDI, 0);
IOMUXC_SetPinMux(IOMUXC_GPIO_AD_B0_03_LPSPI3_PCS0, 0);

IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_B0_00_LPSPI3_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_01_LPSPI3_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_02_LPSPI3_SDI,
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_03_LPSPI3_PCS0,
IOMUXC_SW_PAD_CTL_PAD_PKE_MASK |
IOMUXC_SW_PAD_CTL_PAD_SPEED(2) |
IOMUXC_SW_PAD_CTL_PAD_DSE(6));
#endif

return 0;
}

Expand Down

0 comments on commit ca6a232

Please sign in to comment.