From a19356d79bb3b1c5bef13b83c83ef97b79b912d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrzej=20G=C5=82=C4=85bek?= Date: Fri, 6 Sep 2019 12:35:22 +0200 Subject: [PATCH] dts: nordic: nrf9160: Add missing peripheral nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For quite a few peripherals that are currently supported by nrfx HALs or drivers there are no definitions of corresponding CMSIS-Core peripheral accessing symbols that would provide their base addresses in the proper domain (secure or non-secure), accordingly to the build target. This commits adds devicetree nodes for these peripherals so that their base addresses can be used in definitions of the accessing symbols mentioned above. Signed-off-by: Andrzej Głąbek --- dts/arm/nordic/nrf9160.dtsi | 8 ++ dts/arm/nordic/nrf9160_common.dtsi | 79 +++++++++++++++++++ dts/arm/nordic/nrf9160ns.dtsi | 8 ++ dts/bindings/arm/nordic,nrf-egu.yaml | 18 +++++ dts/bindings/arm/nordic,nrf-kmu.yaml | 18 +++++ dts/bindings/audio/nordic,nrf-pdm.yaml | 28 +++++++ dts/bindings/i2c/nordic,nrf-twis.yaml | 38 +++++++++ dts/bindings/i2s/nordic,nrf-i2s.yaml | 43 ++++++++++ dts/bindings/power/nordic,nrf-regulators.yaml | 15 ++++ dts/bindings/power/nordic,nrf-vmc.yaml | 15 ++++ 10 files changed, 270 insertions(+) create mode 100644 dts/bindings/arm/nordic,nrf-egu.yaml create mode 100644 dts/bindings/arm/nordic,nrf-kmu.yaml create mode 100644 dts/bindings/audio/nordic,nrf-pdm.yaml create mode 100644 dts/bindings/i2c/nordic,nrf-twis.yaml create mode 100644 dts/bindings/i2s/nordic,nrf-i2s.yaml create mode 100644 dts/bindings/power/nordic,nrf-regulators.yaml create mode 100644 dts/bindings/power/nordic,nrf-vmc.yaml diff --git a/dts/arm/nordic/nrf9160.dtsi b/dts/arm/nordic/nrf9160.dtsi index 95d33c028af..d2f6a190349 100644 --- a/dts/arm/nordic/nrf9160.dtsi +++ b/dts/arm/nordic/nrf9160.dtsi @@ -37,12 +37,20 @@ uart-2 = &uart2; uart-3 = &uart3; adc-0 = &adc; + egu-0 = &egu0; + egu-1 = &egu1; + egu-2 = &egu2; + egu-3 = &egu3; + egu-4 = &egu4; + egu-5 = &egu5; gpio-0 = &gpio0; gpiote-0 = &gpiote; i2c-0 = &i2c0; i2c-1 = &i2c1; i2c-2 = &i2c2; i2c-3 = &i2c3; + i2s-0 = &i2s0; + pdm-0 = &pdm0; spi-0 = &spi0; spi-1 = &spi1; spi-2 = &spi2; diff --git a/dts/arm/nordic/nrf9160_common.dtsi b/dts/arm/nordic/nrf9160_common.dtsi index 78825c2cf75..2e4069a09ec 100644 --- a/dts/arm/nordic/nrf9160_common.dtsi +++ b/dts/arm/nordic/nrf9160_common.dtsi @@ -37,6 +37,85 @@ dppic: dppic@17000 { label = "DPPIC"; }; +egu0: egu@1b000 { + compatible = "nordic,nrf-egu"; + reg = <0x1b000 0x1000>; + interrupts = <27 1>; + status = "okay"; +}; + +egu1: egu@1c000 { + compatible = "nordic,nrf-egu"; + reg = <0x1c000 0x1000>; + interrupts = <28 1>; + status = "okay"; +}; + +egu2: egu@1d000 { + compatible = "nordic,nrf-egu"; + reg = <0x1d000 0x1000>; + interrupts = <29 1>; + status = "okay"; +}; + +egu3: egu@1e000 { + compatible = "nordic,nrf-egu"; + reg = <0x1e000 0x1000>; + interrupts = <30 1>; + status = "okay"; +}; + +egu4: egu@1f000 { + compatible = "nordic,nrf-egu"; + reg = <0x1f000 0x1000>; + interrupts = <31 1>; + status = "okay"; +}; + +egu5: egu@20000 { + compatible = "nordic,nrf-egu"; + reg = <0x20000 0x1000>; + interrupts = <32 1>; + status = "okay"; +}; + +i2s0: i2s@28000 { + compatible = "nordic,nrf-i2s"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x28000 0x1000>; + interrupts = <40 1>; + status = "disabled"; + label = "I2S_0"; +}; + +kmu: kmu@39000 { + compatible = "nordic,nrf-kmu"; + reg = <0x39000 0x1000>; + interrupts = <57 1>; + status = "okay"; +}; + +pdm0: pdm@26000 { + compatible = "nordic,nrf-pdm"; + reg = <0x26000 0x1000>; + interrupts = <38 1>; + status = "disabled"; + label = "PDM_0"; +}; + +regulators: regulator@4000 { + compatible = "nordic,nrf-regulators"; + reg = <0x4000 0x1000>; + status = "okay"; +}; + +vmc: vmc@3a000 { + compatible = "nordic,nrf-vmc"; + reg = <0x3a000 0x1000>; + status = "okay"; +}; + uart0: uart@8000 { compatible = "nordic,nrf-uarte"; reg = <0x8000 0x1000>; diff --git a/dts/arm/nordic/nrf9160ns.dtsi b/dts/arm/nordic/nrf9160ns.dtsi index 6fbb967769f..d18b9120650 100644 --- a/dts/arm/nordic/nrf9160ns.dtsi +++ b/dts/arm/nordic/nrf9160ns.dtsi @@ -37,12 +37,20 @@ uart-2 = &uart2; uart-3 = &uart3; adc-0 = &adc; + egu-0 = &egu0; + egu-1 = &egu1; + egu-2 = &egu2; + egu-3 = &egu3; + egu-4 = &egu4; + egu-5 = &egu5; gpio-0 = &gpio0; gpiote-0 = &gpiote; /* FIXME alias should be gpiote-1 */ i2c-0 = &i2c0; i2c-1 = &i2c1; i2c-2 = &i2c2; i2c-3 = &i2c3; + i2s-0 = &i2s0; + pdm-0 = &pdm0; spi-0 = &spi0; spi-1 = &spi1; spi-2 = &spi2; diff --git a/dts/bindings/arm/nordic,nrf-egu.yaml b/dts/bindings/arm/nordic,nrf-egu.yaml new file mode 100644 index 00000000000..1246b702c4e --- /dev/null +++ b/dts/bindings/arm/nordic,nrf-egu.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic EGU + +description: > + Binding for the Nordic EGU (Event Generator Unit) + +compatible: "nordic,nrf-egu" + +include: base.yaml + +properties: + reg: + required: true + + interrupts: + required: true diff --git a/dts/bindings/arm/nordic,nrf-kmu.yaml b/dts/bindings/arm/nordic,nrf-kmu.yaml new file mode 100644 index 00000000000..2ae9d5ece90 --- /dev/null +++ b/dts/bindings/arm/nordic,nrf-kmu.yaml @@ -0,0 +1,18 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic KMU + +description: > + Binding for the Nordic KMU (Key Management Unit) + +compatible: "nordic,nrf-kmu" + +include: base.yaml + +properties: + reg: + required: true + + interrupts: + required: true diff --git a/dts/bindings/audio/nordic,nrf-pdm.yaml b/dts/bindings/audio/nordic,nrf-pdm.yaml new file mode 100644 index 00000000000..1c6c5856cc8 --- /dev/null +++ b/dts/bindings/audio/nordic,nrf-pdm.yaml @@ -0,0 +1,28 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic PDM + +description: > + Binding for the Nordic PDM (pulse density modulation interface) + +compatible: "nordic,nrf-pdm" + +include: base.yaml + +properties: + reg: + required: true + + interrupts: + required: true + + clk-pin: + type: int + required: true + description: CLK pin + + din-pin: + type: int + required: true + description: DIN pin diff --git a/dts/bindings/i2c/nordic,nrf-twis.yaml b/dts/bindings/i2c/nordic,nrf-twis.yaml new file mode 100644 index 00000000000..70d914dc044 --- /dev/null +++ b/dts/bindings/i2c/nordic,nrf-twis.yaml @@ -0,0 +1,38 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic TWIS + +description: > + Binding for the Nordic TWIS (TWI slave with EasyDMA) + +compatible: "nordic,nrf-twis" + +include: base.yaml + +properties: + reg: + required: true + + interrupts: + required: true + + sda-pin: + type: int + required: true + description: SDA pin + + scl-pin: + type: int + required: true + description: SCL pin + + address-0: + type: int + required: false + description: TWI slave address 0 + + address-1: + type: int + required: false + description: TWI slave address 1 diff --git a/dts/bindings/i2s/nordic,nrf-i2s.yaml b/dts/bindings/i2s/nordic,nrf-i2s.yaml new file mode 100644 index 00000000000..9efa868fd76 --- /dev/null +++ b/dts/bindings/i2s/nordic,nrf-i2s.yaml @@ -0,0 +1,43 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic I2S + +description: > + Binding for the Nordic I2S (Inter-IC sound interface) + +compatible: "nordic,nrf-i2s" + +include: i2s-controller.yaml + +properties: + reg: + required: true + + interrupts: + required: true + + sck-pin: + type: int + required: true + description: SCK pin + + lrck-pin: + type: int + required: true + description: LRCK pin + + sdout-pin: + type: int + required: false + description: SDOUT pin + + sdin-pin: + type: int + required: false + description: SDIN pin + + mck-pin: + type: int + required: false + description: MCK pin diff --git a/dts/bindings/power/nordic,nrf-regulators.yaml b/dts/bindings/power/nordic,nrf-regulators.yaml new file mode 100644 index 00000000000..6444a81a2a1 --- /dev/null +++ b/dts/bindings/power/nordic,nrf-regulators.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic REGULATORS + +description: > + Binding for the Nordic REGULATORS (voltage regulators control module) + +compatible: "nordic,nrf-regulators" + +include: base.yaml + +properties: + reg: + required: true diff --git a/dts/bindings/power/nordic,nrf-vmc.yaml b/dts/bindings/power/nordic,nrf-vmc.yaml new file mode 100644 index 00000000000..ee6771458ce --- /dev/null +++ b/dts/bindings/power/nordic,nrf-vmc.yaml @@ -0,0 +1,15 @@ +# Copyright (c) 2019 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +title: Nordic VMC + +description: > + Binding for the Nordic VMC (Volatile Memory Controller) + +compatible: "nordic,nrf-vmc" + +include: base.yaml + +properties: + reg: + required: true