| /* |
| * Copyright (c) 2024 Nordic Semiconductor ASA |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <mem.h> |
| #include <nordic/nrf_common.dtsi> |
| |
| /delete-node/ &sw_pwm; |
| |
| /* Domain IDs. Can be used to specify channel links in IPCT nodes. */ |
| #define NRF_DOMAIN_ID_APPLICATION 0 |
| #define NRF_DOMAIN_ID_FLPR 1 |
| |
| / { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpuapp: cpu@0 { |
| compatible = "arm,cortex-m33f"; |
| reg = <0>; |
| device_type = "cpu"; |
| clock-frequency = <DT_FREQ_M(128)>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| itm: itm@e0000000 { |
| compatible = "arm,armv8m-itm"; |
| reg = <0xe0000000 0x1000>; |
| swo-ref-frequency = <DT_FREQ_M(128)>; |
| }; |
| }; |
| |
| cpuflpr: cpu@1 { |
| compatible = "nordic,vpr"; |
| reg = <1>; |
| device_type = "cpu"; |
| clock-frequency = <DT_FREQ_M(128)>; |
| riscv,isa = "rv32emc"; |
| nordic,bus-width = <32>; |
| |
| cpuflpr_vevif_local: mailbox { |
| compatible = "nordic,nrf-vevif-local"; |
| status = "disabled"; |
| interrupt-parent = <&cpuflpr_clic>; |
| interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>, |
| <1 NRF_DEFAULT_IRQ_PRIORITY>, |
| <2 NRF_DEFAULT_IRQ_PRIORITY>, |
| <3 NRF_DEFAULT_IRQ_PRIORITY>, |
| <4 NRF_DEFAULT_IRQ_PRIORITY>, |
| <5 NRF_DEFAULT_IRQ_PRIORITY>, |
| <6 NRF_DEFAULT_IRQ_PRIORITY>, |
| <7 NRF_DEFAULT_IRQ_PRIORITY>, |
| <8 NRF_DEFAULT_IRQ_PRIORITY>, |
| <9 NRF_DEFAULT_IRQ_PRIORITY>, |
| <10 NRF_DEFAULT_IRQ_PRIORITY>, |
| <11 NRF_DEFAULT_IRQ_PRIORITY>, |
| <12 NRF_DEFAULT_IRQ_PRIORITY>, |
| <13 NRF_DEFAULT_IRQ_PRIORITY>, |
| <14 NRF_DEFAULT_IRQ_PRIORITY>, |
| <15 NRF_DEFAULT_IRQ_PRIORITY>, |
| <16 NRF_DEFAULT_IRQ_PRIORITY>, |
| <17 NRF_DEFAULT_IRQ_PRIORITY>, |
| <18 NRF_DEFAULT_IRQ_PRIORITY>, |
| <19 NRF_DEFAULT_IRQ_PRIORITY>, |
| <20 NRF_DEFAULT_IRQ_PRIORITY>, |
| <21 NRF_DEFAULT_IRQ_PRIORITY>, |
| <22 NRF_DEFAULT_IRQ_PRIORITY>, |
| <23 NRF_DEFAULT_IRQ_PRIORITY>, |
| <24 NRF_DEFAULT_IRQ_PRIORITY>, |
| <25 NRF_DEFAULT_IRQ_PRIORITY>, |
| <26 NRF_DEFAULT_IRQ_PRIORITY>, |
| <27 NRF_DEFAULT_IRQ_PRIORITY>, |
| <28 NRF_DEFAULT_IRQ_PRIORITY>, |
| <29 NRF_DEFAULT_IRQ_PRIORITY>, |
| <30 NRF_DEFAULT_IRQ_PRIORITY>, |
| <31 NRF_DEFAULT_IRQ_PRIORITY>; |
| #mbox-cells = <1>; |
| nordic,tasks = <18>; |
| nordic,tasks-mask = <0x007f0000>; |
| }; |
| }; |
| }; |
| |
| clocks { |
| lfxo: lfxo { |
| compatible = "nordic,nrf-lfxo"; |
| #clock-cells = <0>; |
| clock-frequency = <32768>; |
| }; |
| |
| hfxo: hfxo { |
| compatible = "nordic,nrf-hfxo"; |
| #clock-cells = <0>; |
| clock-frequency = <DT_FREQ_M(32)>; |
| }; |
| }; |
| |
| soc { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| uicr: uicr@ffd000 { |
| compatible = "nordic,nrf-uicr"; |
| reg = <0xffd000 0x1000>; |
| }; |
| |
| ficr: ficr@ffc000 { |
| compatible = "nordic,nrf-ficr"; |
| reg = <0xffc000 0x1000>; |
| #nordic,ficr-cells = <1>; |
| }; |
| |
| cpuapp_sram: memory@20000000 { |
| compatible = "mmio-sram"; |
| reg = <0x20000000 DT_SIZE_K(188)>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x20000000 0x2f000>; |
| }; |
| |
| cpuflpr_sram: memory@2002f000 { |
| compatible = "mmio-sram"; |
| reg = <0x2002f000 DT_SIZE_K(68)>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x2002f000 0x11000>; |
| }; |
| |
| global_peripherals: peripheral@50000000 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges = <0x0 0x50000000 0x10000000>; |
| |
| dppic00: dppic@42000 { |
| compatible = "nordic,nrf-dppic"; |
| reg = <0x42000 0x808>; |
| status = "disabled"; |
| }; |
| |
| spi00: spi@4a000 { |
| /* |
| * This spi node can be either SPIM or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x4a000 0x1000>; |
| interrupts = <74 NRF_DEFAULT_IRQ_PRIORITY>; |
| max-frequency = <DT_FREQ_M(32)>; |
| easydma-maxcnt-bits = <16>; |
| rx-delay-supported; |
| rx-delay = <1>; |
| status = "disabled"; |
| }; |
| |
| uart00: uart@4a000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0x4a000 0x1000>; |
| interrupts = <74 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| cpuflpr_vpr: vpr@4c000 { |
| compatible = "nordic,nrf-vpr-coprocessor"; |
| reg = <0x4c000 0x1000>; |
| ranges = <0x0 0x4c000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| status = "disabled"; |
| |
| cpuflpr_vevif_remote: mailbox@0 { |
| compatible = "nordic,nrf-vevif-remote"; |
| reg = <0x0 0x1000>; |
| #mbox-cells = <1>; |
| nordic,tasks = <18>; |
| nordic,tasks-mask = <0x007f0000>; |
| status = "disabled"; |
| }; |
| |
| cpuflpr_clic: interrupt-controller@f0000000 { |
| compatible = "nordic,nrf-clic"; |
| reg = <0xf0000000 0x1780>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| #address-cells = <1>; |
| status = "disabled"; |
| }; |
| }; |
| |
| gpio2: gpio@50400 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x50400 0x300>; |
| #gpio-cells = <2>; |
| ngpios = <11>; |
| status = "disabled"; |
| port = <2>; |
| }; |
| |
| timer00: timer@55000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0x55000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <85 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| dppic10: dppic@82000 { |
| compatible = "nordic,nrf-dppic"; |
| reg = <0x82000 0x808>; |
| status = "disabled"; |
| }; |
| |
| timer10: timer@85000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0x85000 0x1000>; |
| cc-num = <8>; |
| max-bit-width = <32>; |
| interrupts = <133 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| egu10: egu@87000 { |
| compatible = "nordic,nrf-egu"; |
| reg = <0x87000 0x1000>; |
| interrupts = <135 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| radio: radio@8a000 { |
| compatible = "nordic,nrf-radio"; |
| reg = <0x8a000 0x1000>; |
| interrupts = <138 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| dfe-supported; |
| ieee802154-supported; |
| ble-2mbps-supported; |
| ble-coded-phy-supported; |
| |
| ieee802154: ieee802154 { |
| compatible = "nordic,nrf-ieee802154"; |
| status = "disabled"; |
| }; |
| }; |
| |
| dppic20: dppic@c2000 { |
| compatible = "nordic,nrf-dppic"; |
| reg = <0xc2000 0x808>; |
| status = "disabled"; |
| }; |
| |
| i2c20: i2c@c6000 { |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc6000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <198 NRF_DEFAULT_IRQ_PRIORITY>; |
| easydma-maxcnt-bits = <16>; |
| status = "disabled"; |
| }; |
| |
| spi20: spi@c6000 { |
| /* |
| * This spi node can be either SPIM or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc6000 0x1000>; |
| interrupts = <198 NRF_DEFAULT_IRQ_PRIORITY>; |
| max-frequency = <DT_FREQ_M(8)>; |
| easydma-maxcnt-bits = <16>; |
| rx-delay-supported; |
| rx-delay = <1>; |
| status = "disabled"; |
| }; |
| |
| uart20: uart@c6000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0xc6000 0x1000>; |
| interrupts = <198 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| i2c21: i2c@c7000 { |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc7000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <199 NRF_DEFAULT_IRQ_PRIORITY>; |
| easydma-maxcnt-bits = <16>; |
| status = "disabled"; |
| }; |
| |
| spi21: spi@c7000 { |
| /* |
| * This spi node can be either SPIM or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc7000 0x1000>; |
| interrupts = <199 NRF_DEFAULT_IRQ_PRIORITY>; |
| max-frequency = <DT_FREQ_M(8)>; |
| easydma-maxcnt-bits = <16>; |
| rx-delay-supported; |
| rx-delay = <1>; |
| status = "disabled"; |
| }; |
| |
| uart21: uart@c7000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0xc7000 0x1000>; |
| interrupts = <199 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| i2c22: i2c@c8000 { |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc8000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <200 NRF_DEFAULT_IRQ_PRIORITY>; |
| easydma-maxcnt-bits = <16>; |
| status = "disabled"; |
| }; |
| |
| spi22: spi@c8000 { |
| /* |
| * This spi node can be either SPIM or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xc8000 0x1000>; |
| interrupts = <200 NRF_DEFAULT_IRQ_PRIORITY>; |
| max-frequency = <DT_FREQ_M(8)>; |
| easydma-maxcnt-bits = <16>; |
| rx-delay-supported; |
| rx-delay = <1>; |
| status = "disabled"; |
| }; |
| |
| uart22: uart@c8000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0xc8000 0x1000>; |
| interrupts = <200 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| egu20: egu@c9000 { |
| compatible = "nordic,nrf-egu"; |
| reg = <0xc9000 0x1000>; |
| interrupts = <201 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| timer20: timer@ca000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0xca000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <202 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| timer21: timer@cb000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0xcb000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <203 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| timer22: timer@cc000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0xcc000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <204 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| timer23: timer@cd000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0xcd000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <205 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| timer24: timer@ce000 { |
| compatible = "nordic,nrf-timer"; |
| status = "disabled"; |
| reg = <0xce000 0x1000>; |
| cc-num = <6>; |
| max-bit-width = <32>; |
| interrupts = <206 NRF_DEFAULT_IRQ_PRIORITY>; |
| prescaler = <0>; |
| }; |
| |
| pwm20: pwm@d2000 { |
| compatible = "nordic,nrf-pwm"; |
| status = "disabled"; |
| reg = <0xd2000 0x1000>; |
| interrupts = <210 NRF_DEFAULT_IRQ_PRIORITY>; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm21: pwm@d3000 { |
| compatible = "nordic,nrf-pwm"; |
| status = "disabled"; |
| reg = <0xd3000 0x1000>; |
| interrupts = <211 NRF_DEFAULT_IRQ_PRIORITY>; |
| #pwm-cells = <3>; |
| }; |
| |
| pwm22: pwm@d4000 { |
| compatible = "nordic,nrf-pwm"; |
| status = "disabled"; |
| reg = <0xd4000 0x1000>; |
| interrupts = <212 NRF_DEFAULT_IRQ_PRIORITY>; |
| #pwm-cells = <3>; |
| }; |
| |
| adc: adc@d5000 { |
| compatible = "nordic,nrf-saadc"; |
| reg = <0xd5000 0x1000>; |
| interrupts = <213 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| #io-channel-cells = <1>; |
| }; |
| |
| nfct: nfct@d6000 { |
| compatible = "nordic,nrf-nfct"; |
| reg = <0xd6000 0x1000>; |
| interrupts = <214 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| temp: temp@d7000 { |
| compatible = "nordic,nrf-temp"; |
| reg = <0xd7000 0x1000>; |
| interrupts = <215 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| gpio1: gpio@d8200 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0xd8200 0x300>; |
| #gpio-cells = <2>; |
| ngpios = <16>; |
| status = "disabled"; |
| port = <1>; |
| gpiote-instance = <&gpiote20>; |
| }; |
| |
| gpiote20: gpiote@da000 { |
| compatible = "nordic,nrf-gpiote"; |
| reg = <0xda000 0x1000>; |
| interrupts = <219 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| instance = <20>; |
| }; |
| |
| i2s20: i2s@dd000 { |
| compatible = "nordic,nrf-i2s"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0xdd000 0x1000>; |
| interrupts = <221 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| qdec20: qdec@e0000 { |
| compatible = "nordic,nrf-qdec"; |
| reg = <0xe0000 0x1000>; |
| interrupts = <224 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| qdec21: qdec@e1000 { |
| compatible = "nordic,nrf-qdec"; |
| reg = <0xe1000 0x1000>; |
| interrupts = <225 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| grtc: grtc@e2000 { |
| compatible = "nordic,nrf-grtc"; |
| reg = <0xe2000 0x1000>; |
| cc-num = <12>; |
| status = "disabled"; |
| }; |
| |
| dppic30: dppic@102000 { |
| compatible = "nordic,nrf-dppic"; |
| reg = <0x102000 0x808>; |
| status = "disabled"; |
| }; |
| |
| i2c30: i2c@104000 { |
| compatible = "nordic,nrf-twim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x104000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <260 NRF_DEFAULT_IRQ_PRIORITY>; |
| easydma-maxcnt-bits = <16>; |
| status = "disabled"; |
| }; |
| |
| spi30: spi@104000 { |
| /* |
| * This spi node can be either SPIM or SPIS, |
| * for the user to pick: |
| * compatible = "nordic,nrf-spim" or |
| * "nordic,nrf-spis". |
| */ |
| compatible = "nordic,nrf-spim"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x104000 0x1000>; |
| interrupts = <260 NRF_DEFAULT_IRQ_PRIORITY>; |
| max-frequency = <DT_FREQ_M(8)>; |
| easydma-maxcnt-bits = <16>; |
| rx-delay-supported; |
| rx-delay = <1>; |
| status = "disabled"; |
| }; |
| |
| uart30: uart@104000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0x104000 0x1000>; |
| interrupts = <260 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| wdt30: watchdog@108000 { |
| compatible = "nordic,nrf-wdt"; |
| reg = <0x108000 0x620>; |
| interrupts = <264 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| wdt31: watchdog@109000 { |
| compatible = "nordic,nrf-wdt"; |
| reg = <0x109000 0x620>; |
| interrupts = <265 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| |
| gpio0: gpio@10a000 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x10a000 0x300>; |
| #gpio-cells = <2>; |
| ngpios = <5>; |
| status = "disabled"; |
| port = <0>; |
| gpiote-instance = <&gpiote30>; |
| }; |
| |
| gpiote30: gpiote@10c000 { |
| compatible = "nordic,nrf-gpiote"; |
| reg = <0x10c000 0x1000>; |
| interrupts = <269 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| instance = <30>; |
| }; |
| |
| clock: clock@10e000 { |
| compatible = "nordic,nrf-clock"; |
| reg = <0x10e000 0x1000>; |
| interrupts = <270 NRF_DEFAULT_IRQ_PRIORITY>; |
| status = "disabled"; |
| }; |
| }; |
| |
| rram_controller: rram-controller@5004b000 { |
| compatible = "nordic,rram-controller"; |
| reg = <0x5004b000 0x1000>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| interrupts = <75 NRF_DEFAULT_IRQ_PRIORITY>; |
| |
| cpuapp_rram: rram@0 { |
| compatible = "soc-nv-flash"; |
| reg = <0x0 DT_SIZE_K(1428)>; |
| erase-block-size = <4096>; |
| write-block-size = <16>; |
| }; |
| cpuflpr_rram: rram@165000 { |
| compatible = "soc-nv-flash"; |
| reg = <0x165000 DT_SIZE_K(96)>; |
| erase-block-size = <4096>; |
| write-block-size = <16>; |
| }; |
| }; |
| |
| cpuapp_ppb: cpuapp-ppb-bus { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| cpuapp_nvic: interrupt-controller@e000e100 { |
| #address-cells = <1>; |
| compatible = "arm,v8m-nvic"; |
| reg = <0xe000e100 0xc00>; |
| arm,num-irq-priority-bits = <3>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| |
| cpuapp_systick: timer@e000e010 { |
| compatible = "arm,armv8m-systick"; |
| reg = <0xe000e010 0x10>; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| }; |