From 565e582b8dcbe655bb5b1e5a11ad803da085b0db Mon Sep 17 00:00:00 2001 From: Manuel Arguelles Date: Thu, 6 Jul 2023 17:29:42 -0300 Subject: [PATCH] boards: arm: mr_canhubk3: enable support for LPSPI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Configure LPSPI instances on this board. All of them are routed with SDI and SDO data pins inverted. Enable SPI tests without DMA support for the moment. Signed-off-by: Manuel Argüelles --- boards/arm/mr_canhubk3/doc/index.rst | 1 + .../arm/mr_canhubk3/mr_canhubk3-pinctrl.dtsi | 59 +++++++++++++++++++ boards/arm/mr_canhubk3/mr_canhubk3.dts | 30 ++++++++++ boards/arm/mr_canhubk3/mr_canhubk3.yaml | 1 + .../spi_loopback/boards/mr_canhubk3.overlay | 21 +++++++ 5 files changed, 112 insertions(+) create mode 100644 tests/drivers/spi/spi_loopback/boards/mr_canhubk3.overlay diff --git a/boards/arm/mr_canhubk3/doc/index.rst b/boards/arm/mr_canhubk3/doc/index.rst index 0ae9bccccc1..66e0134fe80 100644 --- a/boards/arm/mr_canhubk3/doc/index.rst +++ b/boards/arm/mr_canhubk3/doc/index.rst @@ -53,6 +53,7 @@ QSPI on-chip flash FLEXCAN on-chip can LPI2C on-chip i2c ADC SAR on-chip adc +LPSPI on-chip spi ============ ========== ================================ The default configuration can be found in the Kconfig file diff --git a/boards/arm/mr_canhubk3/mr_canhubk3-pinctrl.dtsi b/boards/arm/mr_canhubk3/mr_canhubk3-pinctrl.dtsi index 460a4e35b46..e3bd65f54a5 100644 --- a/boards/arm/mr_canhubk3/mr_canhubk3-pinctrl.dtsi +++ b/boards/arm/mr_canhubk3/mr_canhubk3-pinctrl.dtsi @@ -194,4 +194,63 @@ output-enable; }; }; + + lpspi1_default: lpspi1_default { + group1 { + pinmux = , , + , ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + lpspi2_default: lpspi2_default { + group1 { + pinmux = , , + , ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + lpspi3_default: lpspi3_default { + group1 { + pinmux = , , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + lpspi4_default: lpspi4_default { + group1 { + pinmux = , , + ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; + + lpspi5_default: lpspi5_default { + group1 { + pinmux = , ; + output-enable; + }; + group2 { + pinmux = ; + input-enable; + }; + }; }; diff --git a/boards/arm/mr_canhubk3/mr_canhubk3.dts b/boards/arm/mr_canhubk3/mr_canhubk3.dts index df1f85c84b8..9516d52dd35 100644 --- a/boards/arm/mr_canhubk3/mr_canhubk3.dts +++ b/boards/arm/mr_canhubk3/mr_canhubk3.dts @@ -320,3 +320,33 @@ pinctrl-names = "default"; clock-frequency = ; }; + +&lpspi1 { + pinctrl-0 = <&lpspi1_default>; + pinctrl-names = "default"; + data-pin-config = "sdo-in,sdi-out"; +}; + +&lpspi2 { + pinctrl-0 = <&lpspi2_default>; + pinctrl-names = "default"; + data-pin-config = "sdo-in,sdi-out"; +}; + +&lpspi3 { + pinctrl-0 = <&lpspi3_default>; + pinctrl-names = "default"; + data-pin-config = "sdo-in,sdi-out"; +}; + +&lpspi4 { + pinctrl-0 = <&lpspi4_default>; + pinctrl-names = "default"; + data-pin-config = "sdo-in,sdi-out"; +}; + +&lpspi5 { + pinctrl-0 = <&lpspi5_default>; + pinctrl-names = "default"; + data-pin-config = "sdo-in,sdi-out"; +}; diff --git a/boards/arm/mr_canhubk3/mr_canhubk3.yaml b/boards/arm/mr_canhubk3/mr_canhubk3.yaml index 32648c36efa..a48ea1e78fc 100644 --- a/boards/arm/mr_canhubk3/mr_canhubk3.yaml +++ b/boards/arm/mr_canhubk3/mr_canhubk3.yaml @@ -15,3 +15,4 @@ supported: - can - i2c - adc + - spi diff --git a/tests/drivers/spi/spi_loopback/boards/mr_canhubk3.overlay b/tests/drivers/spi/spi_loopback/boards/mr_canhubk3.overlay new file mode 100644 index 00000000000..928f05a9929 --- /dev/null +++ b/tests/drivers/spi/spi_loopback/boards/mr_canhubk3.overlay @@ -0,0 +1,21 @@ +/* + * Copyright 2023 NXP + * + * SPDX-License-Identifier: Apache-2.0 + */ + +&lpspi1 { + status = "okay"; + + slow@0 { + compatible = "test-spi-loopback-slow"; + reg = <0>; + spi-max-frequency = <500000>; + }; + + fast@0 { + compatible = "test-spi-loopback-fast"; + reg = <0>; + spi-max-frequency = <5000000>; + }; +};