From d2d4cea02d5d63d77041f9cffe62c26cf872f629 Mon Sep 17 00:00:00 2001 From: Maureen Helm Date: Mon, 16 Apr 2018 14:57:38 -0500 Subject: [PATCH] dts: nxp_kinetis: Add spi bindings for kinetis dspi and update soc nodes Adds dts spi bindings for the kinetis dspi controller, and updates the k64, kw2xd, kw40z, kw41z dts nodes accordingly. Updates the dts interrupt priorities to match the board defconfigs (e.g., boards/arm/frdm_k64f/Kconfig.defconfig) For k64, fixes an error in the spi1 interrupt number and adds a third instance (spi2). Signed-off-by: Maureen Helm --- dts/arm/nxp/nxp_k6x.dtsi | 21 ++++++++++--- dts/arm/nxp/nxp_kw2xd.dtsi | 10 ++++--- dts/arm/nxp/nxp_kw40z.dtsi | 10 ++++--- dts/arm/nxp/nxp_kw41z.dtsi | 10 ++++--- dts/bindings/spi/nxp,kinetis-dspi.yaml | 41 ++++++++++++++++++++++++++ 5 files changed, 76 insertions(+), 16 deletions(-) create mode 100644 dts/bindings/spi/nxp,kinetis-dspi.yaml diff --git a/dts/arm/nxp/nxp_k6x.dtsi b/dts/arm/nxp/nxp_k6x.dtsi index 70eff895e9c..223e905b016 100644 --- a/dts/arm/nxp/nxp_k6x.dtsi +++ b/dts/arm/nxp/nxp_k6x.dtsi @@ -285,9 +285,10 @@ }; spi0: spi@4002c000 { - compatible = "nxp,k64f-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002c000 0x88>; - interrupts = <26 0>; + interrupts = <26 3>; + label = "SPI_0"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 12>; #address-cells = <1>; #size-cells = <0>; @@ -298,15 +299,27 @@ }; spi1: spi@4002d000 { - compatible = "nxp,k64f-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002d000 0x88>; - interrupts = <0 0>; + interrupts = <27 3>; + label = "SPI_1"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 13>; #address-cells = <1>; #size-cells = <0>; status = "disabled"; }; + spi2: spi@400ac000 { + compatible = "nxp,kinetis-dspi"; + reg = <0x400ac000 0x88>; + interrupts = <65 3>; + label = "SPI_2"; + clocks = <&sim KINETIS_SIM_BUS_CLK 0x1030 12>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + wdog: watchdog@40052000 { compatible = "nxp,k64f-watchdog"; reg = <0x40052000 16>; diff --git a/dts/arm/nxp/nxp_kw2xd.dtsi b/dts/arm/nxp/nxp_kw2xd.dtsi index 35f8e6aa140..4c9ce07be5a 100644 --- a/dts/arm/nxp/nxp_kw2xd.dtsi +++ b/dts/arm/nxp/nxp_kw2xd.dtsi @@ -236,9 +236,10 @@ }; spi0: spi@4002c000 { - compatible = "nxp,k64f-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002c000 0x88>; - interrupts = <26 0>; + interrupts = <26 3>; + label = "SPI_0"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 12>; status = "disabled"; #address-cells = <1>; @@ -246,9 +247,10 @@ }; spi1: spi@4002d000 { - compatible = "nxp,k64f-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002d000 0x88>; - interrupts = <27 0>; + interrupts = <27 3>; + label = "SPI_1"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 13>; cs = <&gpiob 10 0>; diff --git a/dts/arm/nxp/nxp_kw40z.dtsi b/dts/arm/nxp/nxp_kw40z.dtsi index 728be5d430a..0153285ddf8 100644 --- a/dts/arm/nxp/nxp_kw40z.dtsi +++ b/dts/arm/nxp/nxp_kw40z.dtsi @@ -186,9 +186,10 @@ }; spi0: spi@4002c000 { - compatible = "nxp,kw41z-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002c000 0x9C>; - interrupts = <10 0>; + interrupts = <10 3>; + label = "SPI_0"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 12>; cs = <&gpiob 18 0>, <&gpiob 17 0>; @@ -199,9 +200,10 @@ }; spi1: spi@4002d000 { - compatible = "nxp,kw41z-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002d000 0x9C>; - interrupts = <29 0>; + interrupts = <29 3>; + label = "SPI_1"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 13>; status = "disabled"; #address-cells = <1>; diff --git a/dts/arm/nxp/nxp_kw41z.dtsi b/dts/arm/nxp/nxp_kw41z.dtsi index 73b0136dc5d..b57d4ee0e39 100644 --- a/dts/arm/nxp/nxp_kw41z.dtsi +++ b/dts/arm/nxp/nxp_kw41z.dtsi @@ -186,9 +186,10 @@ }; spi0: spi@4002c000 { - compatible = "nxp,kw41z-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002c000 0x9C>; - interrupts = <10 0>; + interrupts = <10 3>; + label = "SPI_0"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 12>; cs = <&gpiob 18 0>, <&gpiob 17 0>; @@ -199,9 +200,10 @@ }; spi1: spi@4002d000 { - compatible = "nxp,kw41z-spi"; + compatible = "nxp,kinetis-dspi"; reg = <0x4002d000 0x9C>; - interrupts = <29 0>; + interrupts = <29 3>; + label = "SPI_1"; clocks = <&sim KINETIS_SIM_BUS_CLK 0x103C 13>; status = "disabled"; #address-cells = <1>; diff --git a/dts/bindings/spi/nxp,kinetis-dspi.yaml b/dts/bindings/spi/nxp,kinetis-dspi.yaml new file mode 100644 index 00000000000..5171a4c3e7f --- /dev/null +++ b/dts/bindings/spi/nxp,kinetis-dspi.yaml @@ -0,0 +1,41 @@ +# +# Copyright (c) 2018, NXP +# +# SPDX-License-Identifier: Apache-2.0 +# +--- +title: NXP DSPI +id: nxp,kinetis-dspi +version: 0.1 + +description: > + This binding gives a base representation of the NXP Kinetis DSPI controller + +inherits: + !include spi.yaml + +properties: + compatible: + type: string + category: required + description: compatible strings + constraint: "nxp,kinetis-dspi" + + reg: + type: array + description: mmio register space + generation: define + category: required + + interrupts: + type: array + category: required + description: required interrupts + generation: define + + clocks: + type: array + category: required + description: Clock gate control information + generation: structures +...