Currently supported nRF SoCs featuring the second GPIO port (P1) do not have all 32 pins implemented in that port. Add the "ngpios" property in gpio1 nodes for these SoCs, so that they don't take the default value of 32 to indicate the number of available pins but use instead: - 10 for nRF52833 - 16 for nRF52840 - 16 for nRF5340 (both application and network core) Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
264 lines
5.1 KiB
Text
264 lines
5.1 KiB
Text
/*
|
|
* Copyright (c) 2019 Nordic Semiconductor ASA
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <arm/armv8-m.dtsi>
|
|
#include <dt-bindings/i2c/i2c.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@1 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-m33";
|
|
reg = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
mpu: mpu@e000ed90 {
|
|
compatible = "arm,armv8m-mpu";
|
|
reg = <0xe000ed90 0x40>;
|
|
arm,num-mpu-regions = <16>;
|
|
};
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
flash-controller = &flash_controller;
|
|
rtc-0 = &rtc0;
|
|
rtc-1 = &rtc1;
|
|
uart-0 = &uart0;
|
|
gpio-0 = &gpio0;
|
|
gpio-1 = &gpio1;
|
|
gpiote-0 = &gpiote;
|
|
i2c-0 = &i2c0;
|
|
ipc-0 = &ipc;
|
|
spi-0 = &spi0;
|
|
wdt-0 = &wdt;
|
|
timer-0 = &timer0;
|
|
timer-1 = &timer1;
|
|
timer-2 = &timer2;
|
|
};
|
|
|
|
flash_controller: flash-controller@41080000 {
|
|
compatible = "nordic,nrf53-flash-controller";
|
|
reg = <0x41080000 0x1000>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
label="NRF_FLASH_DRV_NAME";
|
|
|
|
flash1: flash@1000000 {
|
|
compatible = "soc-nv-flash";
|
|
label = "NRF_FLASH";
|
|
erase-block-size = <2048>;
|
|
write-block-size = <4>;
|
|
};
|
|
};
|
|
|
|
soc {
|
|
sram1: memory@21000000 {
|
|
device_type = "memory";
|
|
compatible = "mmio-sram";
|
|
};
|
|
|
|
clock: clock@41005000 {
|
|
compatible = "nordic,nrf-clock";
|
|
reg = <0x41005000 0x1000>;
|
|
interrupts = <5 1>;
|
|
status = "okay";
|
|
label = "CLOCK";
|
|
};
|
|
|
|
dppic: dppic@4100f000 {
|
|
compatible = "nordic,nrf-dppic";
|
|
reg = <0x4100f000 0x1000>;
|
|
status = "okay";
|
|
label = "DPPIC";
|
|
};
|
|
|
|
egu0: egu@41014000 {
|
|
compatible = "nordic,nrf-egu";
|
|
reg = <0x41014000 0x1000>;
|
|
interrupts = <20 1>;
|
|
status = "okay";
|
|
label = "EGU_0";
|
|
};
|
|
|
|
ficr: ficr@1ff0000 {
|
|
compatible = "nordic,nrf-ficr";
|
|
reg = <0x01ff0000 0x1000>;
|
|
status = "okay";
|
|
};
|
|
|
|
gpio0: gpio@418c0500 {
|
|
compatible = "nordic,nrf-gpio";
|
|
gpio-controller;
|
|
reg = <0x418c0500 0x300>;
|
|
#gpio-cells = <2>;
|
|
label = "GPIO_0";
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio1: gpio@418c0800 {
|
|
compatible = "nordic,nrf-gpio";
|
|
gpio-controller;
|
|
reg = <0x418c0800 0x300>;
|
|
#gpio-cells = <2>;
|
|
ngpios = <16>;
|
|
label = "GPIO_1";
|
|
status = "disabled";
|
|
};
|
|
|
|
gpiote: gpiote@4100a000 {
|
|
compatible = "nordic,nrf-gpiote";
|
|
reg = <0x4100a000 0x1000>;
|
|
interrupts = <10 5>;
|
|
status = "disabled";
|
|
label = "GPIOTE_0";
|
|
};
|
|
|
|
i2c0: i2c@41013000 {
|
|
/*
|
|
* This i2c node can be TWIM or TWIS,
|
|
* for the user to pick:
|
|
* compatible = "nordic,nrf-twim" or
|
|
* "nordic,nrf-twis".
|
|
*/
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x41013000 0x1000>;
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
interrupts = <19 1>;
|
|
status = "disabled";
|
|
label = "I2C_0";
|
|
};
|
|
|
|
ipc: ipc@41012000 {
|
|
compatible = "nordic,nrf-ipc";
|
|
reg = <0x41012000 0x1000>;
|
|
interrupts = <18 1>;
|
|
status = "okay";
|
|
label = "IPC";
|
|
};
|
|
|
|
power: power@41005000 {
|
|
compatible = "nordic,nrf-power";
|
|
reg = <0x41005000 0x1000>;
|
|
interrupts = <5 1>;
|
|
status = "okay";
|
|
};
|
|
|
|
rng: random@41009000 {
|
|
compatible = "nordic,nrf-rng";
|
|
reg = <0x41009000 0x1000>;
|
|
interrupts = <9 0>;
|
|
status = "okay";
|
|
label = "RNG";
|
|
};
|
|
|
|
rtc0: rtc@41011000 {
|
|
compatible = "nordic,nrf-rtc";
|
|
reg = <0x41011000 0x1000>;
|
|
interrupts = <17 1>;
|
|
status = "okay";
|
|
label = "RTC_0";
|
|
};
|
|
|
|
rtc1: rtc@41016000 {
|
|
compatible = "nordic,nrf-rtc";
|
|
reg = <0x41016000 0x1000>;
|
|
interrupts = <22 1>;
|
|
status = "okay";
|
|
label = "RTC_1";
|
|
};
|
|
|
|
spi0: spi@41013000 {
|
|
/*
|
|
* This spi node can be SPIM or SPIS,
|
|
* for the user to pick:
|
|
* compatible = "nordic,nrf-spim" or
|
|
* "nordic,nrf-spis".
|
|
*/
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <0x41013000 0x1000>;
|
|
interrupts = <19 1>;
|
|
status = "disabled";
|
|
label = "SPI_0";
|
|
};
|
|
|
|
temp: temp@41010000 {
|
|
compatible = "nordic,nrf-temp";
|
|
reg = <0x41010000 0x1000>;
|
|
interrupts = <16 1>;
|
|
status = "okay";
|
|
label = "TEMP_0";
|
|
};
|
|
|
|
timer0: timer@4100c000 {
|
|
compatible = "nordic,nrf-timer";
|
|
status = "disabled";
|
|
reg = <0x4100c000 0x1000>;
|
|
interrupts = <12 1>;
|
|
prescaler = <0>;
|
|
label = "TIMER0";
|
|
};
|
|
|
|
timer1: timer@41018000 {
|
|
compatible = "nordic,nrf-timer";
|
|
status = "disabled";
|
|
reg = <0x41018000 0x1000>;
|
|
interrupts = <24 1>;
|
|
prescaler = <0>;
|
|
label = "TIMER1";
|
|
};
|
|
|
|
timer2: timer@41019000 {
|
|
compatible = "nordic,nrf-timer";
|
|
status = "disabled";
|
|
reg = <0x41019000 0x1000>;
|
|
interrupts = <25 1>;
|
|
prescaler = <0>;
|
|
label = "TIMER2";
|
|
};
|
|
|
|
uart0: uart@41013000 {
|
|
compatible = "nordic,nrf-uarte";
|
|
reg = <0x41013000 0x1000>;
|
|
interrupts = <19 1>;
|
|
status = "disabled";
|
|
label = "UART_0";
|
|
};
|
|
|
|
uicr: uicr@1ff8000 {
|
|
compatible = "nordic,nrf-uicr";
|
|
reg = <0x01ff8000 0x1000>;
|
|
status = "okay";
|
|
};
|
|
|
|
vmc: vmc@41081000 {
|
|
compatible = "nordic,nrf-vmc";
|
|
reg = <0x41081000 0x1000>;
|
|
status = "okay";
|
|
};
|
|
|
|
wdt: watchdog@4100b000 {
|
|
compatible = "nordic,nrf-watchdog";
|
|
reg = <0x4100b000 0x1000>;
|
|
interrupts = <11 1>;
|
|
status = "okay";
|
|
label = "WDT";
|
|
};
|
|
};
|
|
};
|
|
|
|
&nvic {
|
|
arm,num-irq-priority-bits = <3>;
|
|
};
|