dts: arm: add new gpiote instances definition
Added GPIOTE0, GPIOTE1 instances for legacy devices, GPIOTE20, GPIOTE30 for Moonlight and GPIOTE130, GPIOTE131 instances for Haltium. Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
This commit is contained in:
parent
7441ff0e7e
commit
dfbcc8911a
25 changed files with 221 additions and 73 deletions
|
@ -131,11 +131,12 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 NRF_DEFAULT_IRQ_PRIORITY>;
|
interrupts = <6 NRF_DEFAULT_IRQ_PRIORITY>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -316,6 +317,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -132,11 +132,12 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -311,6 +312,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -136,11 +136,12 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -337,6 +338,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -167,11 +167,12 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -372,6 +373,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -180,11 +180,12 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
timer0: timer@40008000 {
|
timer0: timer@40008000 {
|
||||||
|
@ -389,6 +390,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -179,11 +179,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -465,6 +466,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -186,11 +186,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -521,6 +522,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio1: gpio@50000300 {
|
gpio1: gpio@50000300 {
|
||||||
|
@ -532,6 +534,7 @@
|
||||||
ngpios = <10>;
|
ngpios = <10>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <1>;
|
port = <1>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -181,11 +181,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@40006000 {
|
gpiote: gpiote0: gpiote@40006000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40006000 0x1000>;
|
reg = <0x40006000 0x1000>;
|
||||||
interrupts = <6 5>;
|
interrupts = <6 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
adc: adc@40007000 {
|
adc: adc@40007000 {
|
||||||
|
@ -525,6 +526,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio1: gpio@50000300 {
|
gpio1: gpio@50000300 {
|
||||||
|
@ -536,6 +538,7 @@
|
||||||
ngpios = <16>;
|
ngpios = <16>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <1>;
|
port = <1>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cryptocell: crypto@5002a000 {
|
cryptocell: crypto@5002a000 {
|
||||||
|
|
|
@ -84,6 +84,16 @@
|
||||||
reg = <0x5000d000 0x1000>;
|
reg = <0x5000d000 0x1000>;
|
||||||
interrupts = <13 5>;
|
interrupts = <13 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Additional Non-Secure GPIOTE instance */
|
||||||
|
gpiote1: gpiote@4002f000 {
|
||||||
|
compatible = "nordic,nrf-gpiote";
|
||||||
|
reg = <0x4002f000 0x1000>;
|
||||||
|
interrupts = <47 5>;
|
||||||
|
status = "disabled";
|
||||||
|
instance = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
cryptocell: crypto@50844000 {
|
cryptocell: crypto@50844000 {
|
||||||
|
@ -104,10 +114,3 @@
|
||||||
&nvic {
|
&nvic {
|
||||||
arm,num-irq-priority-bits = <3>;
|
arm,num-irq-priority-bits = <3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Include the non-secure peripherals file here since
|
|
||||||
* it expects to be at the root level. This provides
|
|
||||||
* a node for GPIOTE1.
|
|
||||||
*/
|
|
||||||
#include "nrf5340_cpuapp_peripherals_ns.dtsi"
|
|
||||||
|
|
|
@ -527,6 +527,7 @@ gpio0: gpio@842500 {
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio1: gpio@842800 {
|
gpio1: gpio@842800 {
|
||||||
|
@ -537,6 +538,7 @@ gpio1: gpio@842800 {
|
||||||
ngpios = <16>;
|
ngpios = <16>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <1>;
|
port = <1>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
ieee802154: ieee802154 {
|
ieee802154: ieee802154 {
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2019 Nordic Semiconductor ASA
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GPIOTE1 is always accessible as a non-secure peripheral.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/ {
|
|
||||||
soc {
|
|
||||||
gpiote1: gpiote@4002f000 {
|
|
||||||
compatible = "nordic,nrf-gpiote";
|
|
||||||
reg = <0x4002f000 0x1000>;
|
|
||||||
interrupts = <47 5>;
|
|
||||||
status = "disabled";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -48,6 +48,19 @@
|
||||||
*/
|
*/
|
||||||
#include "nrf5340_cpuapp_peripherals.dtsi"
|
#include "nrf5340_cpuapp_peripherals.dtsi"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GPIOTE1 is always accessible as a non-secure peripheral,
|
||||||
|
* so we give it the 'gpiote' label for use when building
|
||||||
|
* code for this target.
|
||||||
|
*/
|
||||||
|
gpiote: gpiote1: gpiote@4002f000 {
|
||||||
|
compatible = "nordic,nrf-gpiote";
|
||||||
|
reg = <0x4002f000 0x1000>;
|
||||||
|
interrupts = <47 5>;
|
||||||
|
status = "disabled";
|
||||||
|
instance = <1>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Default IPC description */
|
/* Default IPC description */
|
||||||
|
@ -64,12 +77,3 @@
|
||||||
&nvic {
|
&nvic {
|
||||||
arm,num-irq-priority-bits = <3>;
|
arm,num-irq-priority-bits = <3>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Include the non-secure peripherals file here since
|
|
||||||
* it expects to be at the root level, adding a 'gpiote' label
|
|
||||||
* for the GPIOTE1 peripheral defined in that file which is
|
|
||||||
* always accessible as a non-secure peripheral.
|
|
||||||
*/
|
|
||||||
#include "nrf5340_cpuapp_peripherals_ns.dtsi"
|
|
||||||
gpiote: &gpiote1 {};
|
|
||||||
|
|
|
@ -108,11 +108,12 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@4100a000 {
|
gpiote: gpiote0: gpiote@4100a000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x4100a000 0x1000>;
|
reg = <0x4100a000 0x1000>;
|
||||||
interrupts = <10 5>;
|
interrupts = <10 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
wdt: wdt0: watchdog@4100b000 {
|
wdt: wdt0: watchdog@4100b000 {
|
||||||
|
@ -317,6 +318,7 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio1: gpio@418c0800 {
|
gpio1: gpio@418c0800 {
|
||||||
|
@ -327,6 +329,7 @@
|
||||||
ngpios = <16>;
|
ngpios = <16>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <1>;
|
port = <1>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -59,11 +59,26 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
gpiote: gpiote@5000d000 {
|
/*
|
||||||
|
* GPIOTE0 is always accessible as a secure peripheral,
|
||||||
|
* so we give it the 'gpiote' label for use when building
|
||||||
|
* code for this target.
|
||||||
|
*/
|
||||||
|
gpiote: gpiote0: gpiote@5000d000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x5000d000 0x1000>;
|
reg = <0x5000d000 0x1000>;
|
||||||
interrupts = <13 5>;
|
interrupts = <13 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Additional Non-Secure GPIOTE instance */
|
||||||
|
gpiote1: gpiote@40031000 {
|
||||||
|
compatible = "nordic,nrf-gpiote";
|
||||||
|
reg = <0x40031000 0x1000>;
|
||||||
|
interrupts = <49 5>;
|
||||||
|
status = "disabled";
|
||||||
|
instance = <1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
spu: spu@50003000 {
|
spu: spu@50003000 {
|
||||||
|
|
|
@ -313,6 +313,7 @@ gpio0: gpio@842500 {
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
port = <0>;
|
port = <0>;
|
||||||
|
gpiote-instance = <&gpiote>;
|
||||||
};
|
};
|
||||||
|
|
||||||
rtc0: rtc@14000 {
|
rtc0: rtc@14000 {
|
||||||
|
|
|
@ -45,12 +45,17 @@
|
||||||
#include "nrf91_peripherals.dtsi"
|
#include "nrf91_peripherals.dtsi"
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Additional Non-Secure peripherals */
|
/*
|
||||||
gpiote: gpiote@40031000 {
|
* GPIOTE1 is always accessible as a non-secure peripheral,
|
||||||
|
* so we give it the 'gpiote' label for use when building
|
||||||
|
* code for this target.
|
||||||
|
*/
|
||||||
|
gpiote: gpiote1: gpiote@40031000 {
|
||||||
compatible = "nordic,nrf-gpiote";
|
compatible = "nordic,nrf-gpiote";
|
||||||
reg = <0x40031000 0x1000>;
|
reg = <0x40031000 0x1000>;
|
||||||
interrupts = <49 5>;
|
interrupts = <49 5>;
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
instance = <1>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,11 @@ properties:
|
||||||
reg:
|
reg:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
gpiote-instance:
|
||||||
|
type: phandle
|
||||||
|
description: |
|
||||||
|
GPIOTE instance that can be used with this GPIO port.
|
||||||
|
|
||||||
"#gpio-cells":
|
"#gpio-cells":
|
||||||
const: 2
|
const: 2
|
||||||
|
|
||||||
|
|
|
@ -13,3 +13,15 @@ properties:
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
instance:
|
||||||
|
type: int
|
||||||
|
required: true
|
||||||
|
description: |
|
||||||
|
The GPIOTE instance number. GPIOTE instance GPIOTE0 has:
|
||||||
|
|
||||||
|
instance = <0>;
|
||||||
|
|
||||||
|
And GPIOTE1 has:
|
||||||
|
|
||||||
|
instance = <1>;
|
||||||
|
|
|
@ -63,8 +63,37 @@ config NRFX_EGU5
|
||||||
select NRFX_EGU
|
select NRFX_EGU
|
||||||
|
|
||||||
config NRFX_GPIOTE
|
config NRFX_GPIOTE
|
||||||
bool "GPIOTE driver"
|
bool
|
||||||
depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
|
||||||
|
config NRFX_GPIOTE0
|
||||||
|
bool "GPIOTE0 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote0,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
|
config NRFX_GPIOTE1
|
||||||
|
bool "GPIOTE1 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote1,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
|
config NRFX_GPIOTE20
|
||||||
|
bool "NRFX_GPIOTE20 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote20,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
|
config NRFX_GPIOTE30
|
||||||
|
bool "NRFX_GPIOTE30 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote30,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
|
config NRFX_GPIOTE130
|
||||||
|
bool "NRFX_GPIOTE130 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote130,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
|
config NRFX_GPIOTE131
|
||||||
|
bool "NRFX_GPIOTE131 driver instance"
|
||||||
|
depends on $(dt_nodelabel_has_compat,gpiote131,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
select NRFX_GPIOTE
|
||||||
|
|
||||||
config NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
|
config NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
|
||||||
int "Number of event handlers"
|
int "Number of event handlers"
|
||||||
|
|
|
@ -117,15 +117,24 @@
|
||||||
|
|
||||||
#ifdef CONFIG_NRFX_GPIOTE
|
#ifdef CONFIG_NRFX_GPIOTE
|
||||||
#define NRFX_GPIOTE_ENABLED 1
|
#define NRFX_GPIOTE_ENABLED 1
|
||||||
#if (defined(CONFIG_SOC_SERIES_NRF91X) || defined(CONFIG_SOC_SERIES_NRF53X)) \
|
#endif
|
||||||
&& defined(NRF_TRUSTZONE_NONSECURE)
|
#ifdef CONFIG_NRFX_GPIOTE0
|
||||||
#define NRFX_GPIOTE1_ENABLED 1
|
|
||||||
#else
|
|
||||||
#define NRFX_GPIOTE0_ENABLED 1
|
#define NRFX_GPIOTE0_ENABLED 1
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_NRFX_GPIOTE1
|
||||||
|
#define NRFX_GPIOTE1_ENABLED 1
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_NRFX_GPIOTE_LOG
|
#ifdef CONFIG_NRFX_GPIOTE20
|
||||||
#define NRFX_GPIOTE_CONFIG_LOG_ENABLED 1
|
#define NRFX_GPIOTE20_ENABLED 1
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NRFX_GPIOTE30
|
||||||
|
#define NRFX_GPIOTE30_ENABLED 1
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NRFX_GPIOTE130
|
||||||
|
#define NRFX_GPIOTE130_ENABLED 1
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_NRFX_GPIOTE131
|
||||||
|
#define NRFX_GPIOTE131_ENABLED 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
|
#ifdef CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
* between secure and non-secure mapping.
|
* between secure and non-secure mapping.
|
||||||
*/
|
*/
|
||||||
#if defined(NRF_TRUSTZONE_NONSECURE)
|
#if defined(NRF_TRUSTZONE_NONSECURE)
|
||||||
|
#define NRF_GPIOTE NRF_GPIOTE1
|
||||||
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
||||||
#else
|
#else
|
||||||
#define NRF_CACHE NRF_CACHE_S
|
#define NRF_CACHE NRF_CACHE_S
|
||||||
|
@ -91,20 +92,14 @@
|
||||||
#define NRF_CRYPTOCELL NRF_CRYPTOCELL_S
|
#define NRF_CRYPTOCELL NRF_CRYPTOCELL_S
|
||||||
#define NRF_CTI NRF_CTI_S
|
#define NRF_CTI NRF_CTI_S
|
||||||
#define NRF_FICR NRF_FICR_S
|
#define NRF_FICR NRF_FICR_S
|
||||||
|
#define NRF_GPIOTE NRF_GPIOTE0
|
||||||
#define NRF_GPIOTE0 NRF_GPIOTE0_S
|
#define NRF_GPIOTE0 NRF_GPIOTE0_S
|
||||||
|
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
||||||
#define NRF_SPU NRF_SPU_S
|
#define NRF_SPU NRF_SPU_S
|
||||||
#define NRF_TAD NRF_TAD_S
|
#define NRF_TAD NRF_TAD_S
|
||||||
#define NRF_UICR NRF_UICR_S
|
#define NRF_UICR NRF_UICR_S
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Fixups for the GPIOTE driver. */
|
|
||||||
#if defined(NRF_TRUSTZONE_NONSECURE)
|
|
||||||
#define NRF_GPIOTE NRF_GPIOTE1
|
|
||||||
#else
|
|
||||||
#define NRF_GPIOTE NRF_GPIOTE0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief NRFX_DEFAULT_IRQ_PRIORITY
|
* @brief NRFX_DEFAULT_IRQ_PRIORITY
|
||||||
*
|
*
|
||||||
|
|
|
@ -67,25 +67,21 @@
|
||||||
* between secure and non-secure mapping.
|
* between secure and non-secure mapping.
|
||||||
*/
|
*/
|
||||||
#if defined(NRF_TRUSTZONE_NONSECURE)
|
#if defined(NRF_TRUSTZONE_NONSECURE)
|
||||||
|
#define NRF_GPIOTE NRF_GPIOTE1
|
||||||
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
||||||
#else
|
#else
|
||||||
#define NRF_CC_HOST_RGF NRF_CC_HOST_RGF_S
|
#define NRF_CC_HOST_RGF NRF_CC_HOST_RGF_S
|
||||||
#define NRF_CRYPTOCELL NRF_CRYPTOCELL_S
|
#define NRF_CRYPTOCELL NRF_CRYPTOCELL_S
|
||||||
#define NRF_CTRL_AP_PERI NRF_CTRL_AP_PERI_S
|
#define NRF_CTRL_AP_PERI NRF_CTRL_AP_PERI_S
|
||||||
#define NRF_FICR NRF_FICR_S
|
#define NRF_FICR NRF_FICR_S
|
||||||
|
#define NRF_GPIOTE NRF_GPIOTE0
|
||||||
#define NRF_GPIOTE0 NRF_GPIOTE0_S
|
#define NRF_GPIOTE0 NRF_GPIOTE0_S
|
||||||
|
#define NRF_GPIOTE1 NRF_GPIOTE1_NS
|
||||||
#define NRF_SPU NRF_SPU_S
|
#define NRF_SPU NRF_SPU_S
|
||||||
#define NRF_TAD NRF_TAD_S
|
#define NRF_TAD NRF_TAD_S
|
||||||
#define NRF_UICR NRF_UICR_S
|
#define NRF_UICR NRF_UICR_S
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Fixups for the GPIOTE driver. */
|
|
||||||
#if defined(NRF_TRUSTZONE_NONSECURE)
|
|
||||||
#define NRF_GPIOTE NRF_GPIOTE1
|
|
||||||
#else
|
|
||||||
#define NRF_GPIOTE NRF_GPIOTE0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief NRFX_DEFAULT_IRQ_PRIORITY
|
* @brief NRFX_DEFAULT_IRQ_PRIORITY
|
||||||
*
|
*
|
||||||
|
|
|
@ -69,8 +69,23 @@ config HAS_HW_NRF_GPIO0
|
||||||
config HAS_HW_NRF_GPIO1
|
config HAS_HW_NRF_GPIO1
|
||||||
def_bool $(dt_nodelabel_enabled_with_compat,gpio1,$(DT_COMPAT_NORDIC_NRF_GPIO))
|
def_bool $(dt_nodelabel_enabled_with_compat,gpio1,$(DT_COMPAT_NORDIC_NRF_GPIO))
|
||||||
|
|
||||||
config HAS_HW_NRF_GPIOTE
|
config HAS_HW_NRF_GPIOTE0
|
||||||
def_bool $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote0,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
|
config HAS_HW_NRF_GPIOTE1
|
||||||
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote1,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
|
config HAS_HW_NRF_GPIOTE20
|
||||||
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote20,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
|
config HAS_HW_NRF_GPIOTE30
|
||||||
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote30,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
|
config HAS_HW_NRF_GPIOTE130
|
||||||
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote130,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
|
config HAS_HW_NRF_GPIOTE131
|
||||||
|
def_bool $(dt_nodelabel_enabled_with_compat,gpiote131,$(DT_COMPAT_NORDIC_NRF_GPIOTE))
|
||||||
|
|
||||||
config HAS_HW_NRF_I2S0
|
config HAS_HW_NRF_I2S0
|
||||||
def_bool $(dt_nodelabel_enabled_with_compat,i2s0,$(DT_COMPAT_NORDIC_NRF_I2S))
|
def_bool $(dt_nodelabel_enabled_with_compat,i2s0,$(DT_COMPAT_NORDIC_NRF_I2S))
|
||||||
|
|
|
@ -149,6 +149,52 @@
|
||||||
(NRF_DT_GPIOS_TO_PSEL(node_id, prop)), \
|
(NRF_DT_GPIOS_TO_PSEL(node_id, prop)), \
|
||||||
(default_value))
|
(default_value))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Convert a devicetree GPIO phandle+specifier to GPIOTE instance number.
|
||||||
|
*
|
||||||
|
* Some of nRF SoCs may have more instances of GPIOTE.
|
||||||
|
* To handle this, we use the "gpiote-instance" property of the GPIO node.
|
||||||
|
*
|
||||||
|
* This macro converts a devicetree GPIO phandle array value
|
||||||
|
* "<&gpioX pin ...>" to a GPIOTE instance number.
|
||||||
|
*
|
||||||
|
* Examples:
|
||||||
|
*
|
||||||
|
* &gpiote0 {
|
||||||
|
* instance = <0>;
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* &gpiote20 {
|
||||||
|
* instance = <20>;
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* &gpio0 {
|
||||||
|
* gpiote-instance = <&gpiote0>;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* &gpio1 {
|
||||||
|
* gpiote-instance = <&gpiote20>;
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* foo: my-node {
|
||||||
|
* tx-gpios = <&gpio0 4 ...>;
|
||||||
|
* rx-gpios = <&gpio0 5 ...>, <&gpio1 5 ...>;
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* NRF_DT_GPIOTE_INST_BY_IDX(DT_NODELABEL(foo), tx_gpios, 0) // = 0
|
||||||
|
* NRF_DT_GPIOTE_INST_BY_IDX(DT_NODELABEL(foo), rx_gpios, 1) // = 20
|
||||||
|
*/
|
||||||
|
#define NRF_DT_GPIOTE_INST_BY_IDX(node_id, prop, idx) \
|
||||||
|
DT_PROP(DT_PHANDLE(DT_GPIO_CTLR_BY_IDX(node_id, prop, idx), \
|
||||||
|
gpiote_instance), \
|
||||||
|
instance)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Equivalent to NRF_DT_GPIOTE_INST_BY_IDX(node_id, prop, 0)
|
||||||
|
*/
|
||||||
|
#define NRF_DT_GPIOTE_INST(node_id, prop) \
|
||||||
|
NRF_DT_GPIOTE_INST_BY_IDX(node_id, prop, 0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error out the build if 'prop' is set on node 'node_id' and
|
* Error out the build if 'prop' is set on node 'node_id' and
|
||||||
* DT_GPIO_CTLR(node_id, prop) is not an SoC GPIO controller,
|
* DT_GPIO_CTLR(node_id, prop) is not an SoC GPIO controller,
|
||||||
|
|
|
@ -16,6 +16,10 @@
|
||||||
#define NRF_CTRLAP NRF_CTRL_AP_PERI
|
#define NRF_CTRLAP NRF_CTRL_AP_PERI
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(NRF_GPIOTE0) && defined(NRF_GPIOTE)
|
||||||
|
#define NRF_GPIOTE0 NRF_GPIOTE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(NRF_I2S0) && defined(NRF_I2S)
|
#if !defined(NRF_I2S0) && defined(NRF_I2S)
|
||||||
#define NRF_I2S0 NRF_I2S
|
#define NRF_I2S0 NRF_I2S
|
||||||
#endif
|
#endif
|
||||||
|
@ -141,6 +145,12 @@ CHECK_DT_REG(flash_controller, NRF_NVMC);
|
||||||
CHECK_DT_REG(gpio0, NRF_P0);
|
CHECK_DT_REG(gpio0, NRF_P0);
|
||||||
CHECK_DT_REG(gpio1, NRF_P1);
|
CHECK_DT_REG(gpio1, NRF_P1);
|
||||||
CHECK_DT_REG(gpiote, NRF_GPIOTE);
|
CHECK_DT_REG(gpiote, NRF_GPIOTE);
|
||||||
|
CHECK_DT_REG(gpiote0, NRF_GPIOTE0);
|
||||||
|
CHECK_DT_REG(gpiote1, NRF_GPIOTE1);
|
||||||
|
CHECK_DT_REG(gpiote20, NRF_GPIOTE20);
|
||||||
|
CHECK_DT_REG(gpiote30, NRF_GPIOTE30);
|
||||||
|
CHECK_DT_REG(gpiote130, NRF_GPIOTE130);
|
||||||
|
CHECK_DT_REG(gpiote131, NRF_GPIOTE131);
|
||||||
CHECK_I2C_REG(i2c0, 0);
|
CHECK_I2C_REG(i2c0, 0);
|
||||||
CHECK_I2C_REG(i2c1, 1);
|
CHECK_I2C_REG(i2c1, 1);
|
||||||
CHECK_DT_REG(i2c2, NRF_TWIM2);
|
CHECK_DT_REG(i2c2, NRF_TWIM2);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue