From 36e646f7b88e31cdd995e5c49ed193c7bd6d85e6 Mon Sep 17 00:00:00 2001 From: Crist Xu Date: Mon, 21 Jun 2021 17:10:12 +0800 Subject: [PATCH] lpspi: the lpspi driver for rt1170 enable the lpspi1 for the rt1170 evk board Signed-off-by: Crist Xu --- boards/arm/mimxrt1170_evk/doc/index.rst | 11 +++++++++++ boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts | 4 ++++ boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml | 1 + boards/arm/mimxrt1170_evk/pinmux.c | 12 ++++++++++++ samples/drivers/jesd216/sample.yaml | 2 +- 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/boards/arm/mimxrt1170_evk/doc/index.rst b/boards/arm/mimxrt1170_evk/doc/index.rst index 1e97be00220..d408f04f55d 100644 --- a/boards/arm/mimxrt1170_evk/doc/index.rst +++ b/boards/arm/mimxrt1170_evk/doc/index.rst @@ -100,6 +100,8 @@ features: +-----------+------------+-------------------------------------+ | CAN | on-chip | flexcan | +-----------+------------+-------------------------------------+ +| SPI | on-chip | spi | ++-----------+------------+-------------------------------------+ | UART | on-chip | serial port-polling; | | | | serial port-interrupt | +-----------+------------+-------------------------------------+ @@ -129,6 +131,15 @@ The MIMXRT1170 SoC has six pairs of pinmux/gpio controllers. +---------------+-----------------+---------------------------+ | GPIO_LPSR_01 | CAN3_RX | flexcan | +---------------+-----------------+---------------------------+ +| GPIO_AD_29 | SPI1_CS0 | spi | ++---------------+-----------------+---------------------------+ +| GPIO_AD_28 | SPI1_CLK | spi | ++---------------+-----------------+---------------------------+ +| GPIO_AD_30 | SPI1_SDO | spi | ++---------------+-----------------+---------------------------+ +| GPIO_AD_31 | SPI1_SDI | spi | ++---------------+-----------------+---------------------------+ + System Clock ============ diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts index 01c452c0cf7..3de0c95d2c8 100644 --- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts +++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.dts @@ -38,6 +38,10 @@ bus-speed = <125000>; }; +&lpspi1 { + status = "okay"; +}; + &flexspi1 { reg = <0x400cc000 0x4000>, <0x30000000 DT_SIZE_M(16)>; is25wp128: is25wp128@0 { diff --git a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml index 6e5580301f9..ae7cb294983 100644 --- a/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml +++ b/boards/arm/mimxrt1170_evk/mimxrt1170_evk_cm7.yaml @@ -18,3 +18,4 @@ supported: - gpio - counter - can + - spi diff --git a/boards/arm/mimxrt1170_evk/pinmux.c b/boards/arm/mimxrt1170_evk/pinmux.c index 604c52431fd..32949413730 100644 --- a/boards/arm/mimxrt1170_evk/pinmux.c +++ b/boards/arm/mimxrt1170_evk/pinmux.c @@ -121,6 +121,18 @@ static int mimxrt1170_evk_init(const struct device *dev) IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_09_LPI2C1_SDA, 0x10U); #endif +#if DT_NODE_HAS_STATUS(DT_NODELABEL(lpspi1), okay) && CONFIG_SPI + /* LPIPI1 SCK, PCS0, SIN, SOUT */ + IOMUXC_SetPinMux(IOMUXC_GPIO_AD_28_LPSPI1_SCK, 0U); + IOMUXC_SetPinMux(IOMUXC_GPIO_AD_29_LPSPI1_PCS0, 0U); + IOMUXC_SetPinMux(IOMUXC_GPIO_AD_30_LPSPI1_SOUT, 0U); + IOMUXC_SetPinMux(IOMUXC_GPIO_AD_31_LPSPI1_SIN, 0U); + IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_28_LPSPI1_SCK, 0x02U); + IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_29_LPSPI1_PCS0, 0x02U); + IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_30_LPSPI1_SOUT, 0x02U); + IOMUXC_SetPinConfig(IOMUXC_GPIO_AD_31_LPSPI1_SIN, 0x02U); +#endif + #if DT_NODE_HAS_STATUS(DT_NODELABEL(enet), okay) && CONFIG_NET_L2_ETHERNET IOMUXC_SetPinMux(IOMUXC_GPIO_AD_32_ENET_MDC, 0U); IOMUXC_SetPinMux(IOMUXC_GPIO_AD_33_ENET_MDIO, 0U); diff --git a/samples/drivers/jesd216/sample.yaml b/samples/drivers/jesd216/sample.yaml index 654d84e7309..11247ef4657 100644 --- a/samples/drivers/jesd216/sample.yaml +++ b/samples/drivers/jesd216/sample.yaml @@ -3,7 +3,7 @@ sample: tests: sample.drivers.jesd216: tags: spi flash - platform_exclude: hifive1 + platform_exclude: hifive1 mimxrt1170_evk_cm7 mimxrt1170_evk_cm4 filter: dt_compat_enabled("jedec,spi-nor") harness: console harness_config: