| /* SPDX-License-Identifier: Apache-2.0 */ |
| |
| #include <arm/armv7-m.dtsi> |
| #include "nrf_common.dtsi" |
| |
| / { |
| chosen { |
| zephyr,entropy = &rng; |
| zephyr,flash-controller = &flash_controller; |
| }; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-m4f"; |
| reg = <0>; |
| swo-ref-frequency = <32000000>; |
| }; |
| }; |
| |
| soc { |
| ficr: ficr@10000000 { |
| compatible = "nordic,nrf-ficr"; |
| reg = <0x10000000 0x1000>; |
| status = "okay"; |
| }; |
| |
| uicr: uicr@10001000 { |
| compatible = "nordic,nrf-uicr"; |
| reg = <0x10001000 0x1000>; |
| status = "okay"; |
| }; |
| |
| sram0: memory@20000000 { |
| compatible = "mmio-sram"; |
| }; |
| |
| clock: clock@40000000 { |
| compatible = "nordic,nrf-clock"; |
| reg = <0x40000000 0x1000>; |
| interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| label = "CLOCK"; |
| }; |
| |
| power: power@40000000 { |
| compatible = "nordic,nrf-power"; |
| reg = <0x40000000 0x1000>; |
| interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| radio: radio@40001000 { |
| compatible = "nordic,nrf-radio"; |
| reg = <0x40001000 0x1000>; |
| interrupts = <1 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| ieee802154-supported; |
| ble-2mbps-supported; |
| ble-coded-phy-supported; |
| tx-high-power-supported; |
| }; |
| |
| uart0: uart@40002000 { |
| /* uart can be either UART or UARTE, for the user to pick */ |
| /* compatible = "nordic,nrf-uarte" or "nordic,nrf-uart"; */ |
| compatible = "nordic,nrf-uarte"; |
| reg = <0x40002000 0x1000>; |
| interrupts = <2 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "UART_0"; |
| }; |
| |
| i2c0: i2c@40003000 { |
| /* |
| * This i2c node can be TWI, TWIM, or TWIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-twi" or |
| * "nordic,nrf-twim" or |
| * "nordic,nrf-twis". |
| */ |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40003000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "I2C_0"; |
| }; |
| |
| spi0: spi@40003000 { |
| /* |
| * This spi node can be SPI, SPIM, or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spi" or |
| * "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40003000 0x1000>; |
| interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "SPI_0"; |
| }; |
| |
| i2c1: i2c@40004000 { |
| /* |
| * This i2c node can be TWI, TWIM, or TWIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-twi" or |
| * "nordic,nrf-twim" or |
| * "nordic,nrf-twis". |
| */ |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40004000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "I2C_1"; |
| }; |
| |
| spi1: spi@40004000 { |
| /* |
| * This spi node can be SPI, SPIM, or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spi" or |
| * "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40004000 0x1000>; |
| interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "SPI_1"; |
| }; |
| |
| nfct: nfct@40005000 { |
| compatible = "nordic,nrf-nfct"; |
| reg = <0x40005000 0x1000>; |
| interrupts = <5 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| gpiote: gpiote@40006000 { |
| compatible = "nordic,nrf-gpiote"; |
| reg = <0x40006000 0x1000>; |
| interrupts = <6 5>; |
| status = "disabled"; |
| label = "GPIOTE_0"; |
| }; |
| |
| adc: adc@40007000 { |
| compatible = "nordic,nrf-saadc"; |
| reg = <0x40007000 0x1000>; |
| interrupts = <7 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "ADC_0"; |
| #io-channel-cells = <1>; |
| }; |
| |
| timer0: timer@40008000 { |
| compatible = "nordic,nrf-timer"; |
| status = "okay"; |
| reg = <0x40008000 0x1000>; |
| cc-num = <4>; |
| interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| label = "TIMER_0"; |
| }; |
| |
| timer1: timer@40009000 { |
| compatible = "nordic,nrf-timer"; |
| status = "okay"; |
| reg = <0x40009000 0x1000>; |
| cc-num = <4>; |
| interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| label = "TIMER_1"; |
| }; |
| |
| timer2: timer@4000a000 { |
| compatible = "nordic,nrf-timer"; |
| status = "okay"; |
| reg = <0x4000a000 0x1000>; |
| cc-num = <4>; |
| interrupts = <10 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| label = "TIMER_2"; |
| }; |
| |
| rtc0: rtc@4000b000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x4000b000 0x1000>; |
| cc-num = <3>; |
| interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| clock-frequency = <32768>; |
| prescaler = <1>; |
| label = "RTC_0"; |
| }; |
| |
| temp: temp@4000c000 { |
| compatible = "nordic,nrf-temp"; |
| reg = <0x4000c000 0x1000>; |
| interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| label = "TEMP_0"; |
| }; |
| |
| rng: random@4000d000 { |
| compatible = "nordic,nrf-rng"; |
| reg = <0x4000d000 0x1000>; |
| interrupts = <13 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| label = "RNG"; |
| }; |
| |
| ecb: ecb@4000e000 { |
| compatible = "nordic,nrf-ecb"; |
| reg = <0x4000e000 0x1000>; |
| interrupts = <14 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| label = "ECB"; |
| }; |
| |
| ccm: ccm@4000f000 { |
| compatible = "nordic,nrf-ccm"; |
| reg = <0x4000f000 0x1000>; |
| interrupts = <15 NRF_DEFAULT_IRQ_PRIORITY>; |
| length-field-length-8-bits; |
| status = "okay"; |
| }; |
| |
| wdt: wdt0: watchdog@40010000 { |
| compatible = "nordic,nrf-wdt"; |
| reg = <0x40010000 0x1000>; |
| interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| label = "WDT"; |
| }; |
| |
| rtc1: rtc@40011000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x40011000 0x1000>; |
| cc-num = <4>; |
| interrupts = <17 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| clock-frequency = <32768>; |
| prescaler = <1>; |
| label = "RTC_1"; |
| }; |
| |
| qdec: qdec0: qdec@40012000 { |
| compatible = "nordic,nrf-qdec"; |
| reg = <0x40012000 0x1000>; |
| interrupts = <18 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "QDEC"; |
| }; |
| |
| comp: comparator@40013000 { |
| /* |
| * This comparator node can be COMP or LPCOMP, |
| * for the user to pick: |
| * compatible = "nordic,nrf-comp" or |
| * "nordic,nrf-lpcomp". |
| */ |
| compatible = "nordic,nrf-comp"; |
| reg = <0x40013000 0x1000>; |
| interrupts = <19 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| egu0: swi0: egu@40014000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40014000 0x1000>; |
| interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| egu1: swi1: egu@40015000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40015000 0x1000>; |
| interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| egu2: swi2: egu@40016000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40016000 0x1000>; |
| interrupts = <22 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| egu3: swi3: egu@40017000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40017000 0x1000>; |
| interrupts = <23 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| egu4: swi4: egu@40018000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40018000 0x1000>; |
| interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| egu5: swi5: egu@40019000 { |
| compatible = "nordic,nrf-egu", "nordic,nrf-swi"; |
| reg = <0x40019000 0x1000>; |
| interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| }; |
| |
| timer3: timer@4001a000 { |
| compatible = "nordic,nrf-timer"; |
| status = "okay"; |
| reg = <0x4001a000 0x1000>; |
| cc-num = <6>; |
| interrupts = <26 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| label = "TIMER_3"; |
| }; |
| |
| timer4: timer@4001b000 { |
| compatible = "nordic,nrf-timer"; |
| status = "okay"; |
| reg = <0x4001b000 0x1000>; |
| cc-num = <6>; |
| interrupts = <27 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| label = "TIMER_4"; |
| }; |
| |
| pwm0: pwm@4001c000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x4001c000 0x1000>; |
| interrupts = <28 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "PWM_0"; |
| #pwm-cells = <3>; |
| }; |
| |
| pdm0: pdm@4001d000 { |
| compatible = "nordic,nrf-pdm"; |
| reg = <0x4001d000 0x1000>; |
| interrupts = <29 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "PDM_0"; |
| }; |
| |
| acl: acl@4001e000 { |
| compatible = "nordic,nrf-acl"; |
| reg = <0x4001e000 0x1000>; |
| status = "okay"; |
| }; |
| |
| flash_controller: flash-controller@4001e000 { |
| compatible = "nordic,nrf52-flash-controller"; |
| reg = <0x4001e000 0x1000>; |
| partial-erase; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| label="NRF_FLASH_DRV_NAME"; |
| |
| flash0: flash@0 { |
| compatible = "soc-nv-flash"; |
| label = "NRF_FLASH"; |
| erase-block-size = <4096>; |
| write-block-size = <4>; |
| }; |
| }; |
| |
| ppi: ppi@4001f000 { |
| compatible = "nordic,nrf-ppi"; |
| reg = <0x4001f000 0x1000>; |
| status = "okay"; |
| }; |
| |
| mwu: mwu@40020000 { |
| compatible = "nordic,nrf-mwu"; |
| reg = <0x40020000 0x1000>; |
| status = "okay"; |
| }; |
| |
| pwm1: pwm@40021000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x40021000 0x1000>; |
| interrupts = <33 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "PWM_1"; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm2: pwm@40022000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x40022000 0x1000>; |
| interrupts = <34 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "PWM_2"; |
| #pwm-cells = <3>; |
| }; |
| |
| spi2: spi@40023000 { |
| /* |
| * This spi node can be SPI, SPIM, or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spi" or |
| * "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40023000 0x1000>; |
| interrupts = <35 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "SPI_2"; |
| }; |
| |
| rtc2: rtc@40024000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x40024000 0x1000>; |
| cc-num = <4>; |
| interrupts = <36 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "okay"; |
| clock-frequency = <32768>; |
| prescaler = <1>; |
| label = "RTC_2"; |
| }; |
| |
| i2s0: i2s@40025000 { |
| compatible = "nordic,nrf-i2s"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40025000 0x1000>; |
| interrupts = <37 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "I2S_0"; |
| }; |
| |
| usbd: usbd@40027000 { |
| compatible = "nordic,nrf-usbd"; |
| reg = <0x40027000 0x1000>; |
| interrupts = <39 NRF_DEFAULT_IRQ_PRIORITY>; |
| num-bidir-endpoints = <1>; |
| num-in-endpoints = <7>; |
| num-out-endpoints = <7>; |
| num-isoin-endpoints = <1>; |
| num-isoout-endpoints = <1>; |
| status = "disabled"; |
| label = "USBD"; |
| }; |
| |
| uart1: uart@40028000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0x40028000 0x1000>; |
| interrupts = <40 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "UART_1"; |
| }; |
| |
| qspi: qspi@40029000 { |
| compatible = "nordic,nrf-qspi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40029000 0x1000>, <0x12000000 0x8000000>; |
| reg-names = "qspi", "qspi_mm"; |
| interrupts = <41 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "QSPI"; |
| }; |
| |
| pwm3: pwm@4002d000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x4002d000 0x1000>; |
| interrupts = <45 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "PWM_3"; |
| #pwm-cells = <3>; |
| }; |
| |
| spi3: spi@4002f000 { |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x4002f000 0x1000>; |
| interrupts = <47 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| label = "SPI_3"; |
| }; |
| |
| gpio0: gpio@50000000 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x50000000 0x200 |
| 0x50000500 0x300>; |
| #gpio-cells = <2>; |
| label = "GPIO_0"; |
| status = "disabled"; |
| port = <0>; |
| }; |
| |
| gpio1: gpio@50000300 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x50000300 0x200 |
| 0x50000800 0x300>; |
| #gpio-cells = <2>; |
| ngpios = <16>; |
| label = "GPIO_1"; |
| status = "disabled"; |
| port = <1>; |
| }; |
| |
| cryptocell: crypto@5002a000 { |
| compatible = "nordic,nrf-cc310"; |
| reg = <0x5002A000 0x1000>; |
| label = "CRYPTOCELL"; |
| status = "okay"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| cryptocell310: crypto@5002b000 { |
| compatible = "arm,cryptocell-310"; |
| reg = <0x5002B000 0x1000>; |
| interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>; |
| label = "CRYPTOCELL310"; |
| }; |
| }; |
| }; |
| |
| sw_pwm: sw-pwm { |
| compatible = "nordic,nrf-sw-pwm"; |
| status = "disabled"; |
| label = "SW_PWM"; |
| generator = <&timer2>; |
| clock-prescaler = <0>; |
| #pwm-cells = <3>; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <3>; |
| }; |