| /* SPDX-License-Identifier: Apache-2.0 */ |
| |
| #include <arm/armv7-m.dtsi> |
| #include <dt-bindings/i2c/i2c.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include "nrf5_common.dtsi" |
| |
| / { |
| cpus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-m4f"; |
| reg = <0>; |
| }; |
| }; |
| |
| flash-controller@4001E000 { |
| compatible = "nordic,nrf52-flash-controller"; |
| reg = <0x4001E000 0x1000>; |
| |
| #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>; |
| }; |
| }; |
| |
| sram0: memory@20000000 { |
| device_type = "memory"; |
| compatible = "mmio-sram"; |
| }; |
| |
| aliases { |
| i2c-0 = &i2c0; |
| i2c-1 = &i2c1; |
| spi-0 = &spi0; |
| spi-1 = &spi1; |
| spi-2 = &spi2; |
| spi-3 = &spi3; |
| uart-0 = &uart0; |
| uart-1 = &uart1; |
| adc-0 = &adc; |
| gpio-0 = &gpio0; |
| gpio-1 = &gpio1; |
| gpiote-0 = &gpiote; |
| wdt-0 = &wdt; |
| usbd-0 = &usbd; |
| cc310 = &cryptocell; |
| arm-cryptocell-310 = &cryptocell310; |
| pwm-0 = &pwm0; |
| pwm-1 = &pwm1; |
| pwm-2 = &pwm2; |
| pwm-3 = &pwm3; |
| qdec-0 = &qdec; |
| rtc-0 = &rtc0; |
| rtc-1 = &rtc1; |
| rtc-2 = &rtc2; |
| timer-0 = &timer0; |
| timer-1 = &timer1; |
| timer-2 = &timer2; |
| timer-3 = &timer3; |
| timer-4 = &timer4; |
| }; |
| |
| soc { |
| adc: adc@40007000 { |
| compatible = "nordic,nrf-saadc"; |
| reg = <0x40007000 0x1000>; |
| interrupts = <7 1>; |
| status = "disabled"; |
| label = "ADC_0"; |
| }; |
| |
| clock: clock@40000000 { |
| compatible = "nordic,nrf-clock"; |
| reg = <0x40000000 0x1000>; |
| interrupts = <0 1>; |
| status = "ok"; |
| label = "CLOCK"; |
| }; |
| |
| uart0: uart@40002000 { |
| /* uart can be either UART or UARTE, for the user to pick */ |
| /* compatible = "nordic,nrf-uarte" or "nordic,nrf-uart"; */ |
| reg = <0x40002000 0x1000>; |
| interrupts = <2 1>; |
| status = "disabled"; |
| label = "UART_0"; |
| }; |
| |
| uart1: uart@40028000 { |
| compatible = "nordic,nrf-uarte"; |
| reg = <0x40028000 0x1000>; |
| interrupts = <40 1>; |
| status = "disabled"; |
| label = "UART_1"; |
| }; |
| |
| gpiote: gpiote@40006000 { |
| compatible = "nordic,nrf-gpiote"; |
| reg = <0x40006000 0x1000>; |
| interrupts = <6 5>; |
| status = "disabled"; |
| label = "GPIOTE_0"; |
| }; |
| |
| gpio0: gpio@50000000 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x50000000 0x200 |
| 0x50000500 0x300>; |
| #gpio-cells = <2>; |
| label = "GPIO_0"; |
| status = "disabled"; |
| }; |
| |
| gpio1: gpio@50000300 { |
| compatible = "nordic,nrf-gpio"; |
| gpio-controller; |
| reg = <0x50000300 0x200 |
| 0x50000800 0x300>; |
| #gpio-cells = <2>; |
| label = "GPIO_1"; |
| status = "disabled"; |
| }; |
| |
| i2c0: i2c@40003000 { |
| compatible = "nordic,nrf-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40003000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <3 1>; |
| status = "disabled"; |
| label = "I2C_0"; |
| }; |
| |
| i2c1: i2c@40004000 { |
| compatible = "nordic,nrf-i2c"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40004000 0x1000>; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| interrupts = <4 1>; |
| status = "disabled"; |
| label = "I2C_1"; |
| }; |
| |
| pwm0: pwm@4001c000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x4001c000 0x1000>; |
| interrupts = <28 1>; |
| status = "disabled"; |
| label = "PWM_0"; |
| }; |
| |
| pwm1: pwm@40021000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x40021000 0x1000>; |
| interrupts = <33 1>; |
| status = "disabled"; |
| label = "PWM_1"; |
| }; |
| |
| pwm2: pwm@40022000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x40022000 0x1000>; |
| interrupts = <34 1>; |
| status = "disabled"; |
| label = "PWM_2"; |
| }; |
| |
| pwm3: pwm@4002d000 { |
| compatible = "nordic,nrf-pwm"; |
| reg = <0x4002d000 0x1000>; |
| interrupts = <45 1>; |
| status = "disabled"; |
| label = "PWM_3"; |
| }; |
| |
| qdec: qdec@40012000 { |
| compatible = "nordic,nrf-qdec"; |
| reg = <0x40012000 0x1000>; |
| interrupts = <18 1>; |
| status = "disabled"; |
| label = "QDEC"; |
| }; |
| |
| spi0: spi@40003000 { |
| compatible = "nordic,nrf-spi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40003000 0x1000>; |
| interrupts = <3 1>; |
| status = "disabled"; |
| label = "SPI_0"; |
| }; |
| |
| spi1: spi@40004000 { |
| compatible = "nordic,nrf-spi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40004000 0x1000>; |
| interrupts = <4 1>; |
| status = "disabled"; |
| label = "SPI_1"; |
| }; |
| |
| spi2: spi@40023000 { |
| compatible = "nordic,nrf-spi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x40023000 0x1000>; |
| interrupts = <35 1>; |
| status = "disabled"; |
| label = "SPI_2"; |
| }; |
| |
| spi3: spi@4002b000 { |
| compatible = "nordic,nrf-spi"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| reg = <0x4002b000 0x1000>; |
| interrupts = <47 1>; |
| status = "disabled"; |
| label = "SPI_3"; |
| }; |
| |
| rtc0: rtc@4000b000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x4000b000 0x1000>; |
| interrupts = <11 1>; |
| status = "ok"; |
| label = "RTC_0"; |
| }; |
| |
| rtc1: rtc@40011000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x40011000 0x1000>; |
| interrupts = <17 1>; |
| status = "ok"; |
| label = "RTC_1"; |
| }; |
| |
| rtc2: rtc@40024000 { |
| compatible = "nordic,nrf-rtc"; |
| reg = <0x40024000 0x1000>; |
| interrupts = <36 1>; |
| status = "ok"; |
| label = "RTC_2"; |
| }; |
| |
| timer0: timer@40008000 { |
| compatible = "nordic,nrf-timer"; |
| status = "ok"; |
| reg = <0x40008000 0x1000>; |
| interrupts = <8 1>; |
| label = "TIMER_0"; |
| }; |
| |
| timer1: timer@40009000 { |
| compatible = "nordic,nrf-timer"; |
| status = "ok"; |
| reg = <0x40009000 0x1000>; |
| interrupts = <9 1>; |
| label = "TIMER_1"; |
| }; |
| |
| timer2: timer@4000a000 { |
| compatible = "nordic,nrf-timer"; |
| status = "ok"; |
| reg = <0x4000a000 0x1000>; |
| interrupts = <10 1>; |
| label = "TIMER_2"; |
| }; |
| |
| timer3: timer@4001a000 { |
| compatible = "nordic,nrf-timer"; |
| status = "ok"; |
| reg = <0x4001a000 0x1000>; |
| interrupts = <26 1>; |
| label = "TIMER_3"; |
| }; |
| |
| timer4: timer@4001b000 { |
| compatible = "nordic,nrf-timer"; |
| status = "ok"; |
| reg = <0x4001b000 0x1000>; |
| interrupts = <27 1>; |
| label = "TIMER_4"; |
| }; |
| |
| temp: temp@4000c000 { |
| compatible = "nordic,nrf-temp"; |
| reg = <0x4000c000 0x1000>; |
| interrupts = <12 1>; |
| status = "ok"; |
| label = "TEMP_0"; |
| }; |
| |
| usbd: usbd@40027000 { |
| compatible = "nordic,nrf-usbd"; |
| reg = <0x40027000 0x1000>; |
| interrupts = <39 1>; |
| num-bidir-endpoints = <1>; |
| num-in-endpoints = <7>; |
| num-out-endpoints = <7>; |
| num-isoin-endpoints = <1>; |
| num-isoout-endpoints = <1>; |
| status = "disabled"; |
| label = "USBD"; |
| }; |
| |
| usb_cdc: virtualcom { |
| compatible = "nordic,nrf-usbd"; |
| label = "CDC_ACM_0"; |
| }; |
| |
| wdt: watchdog@40010000 { |
| compatible = "nordic,nrf-watchdog"; |
| reg = <0x40010000 0x1000>; |
| interrupts = <16 1>; |
| status = "ok"; |
| label = "WDT"; |
| }; |
| |
| cryptocell: crypto@5002a000 { |
| compatible = "nordic,nrf-cc310"; |
| reg = <0x5002A000 0x1000>; |
| label = "CRYPTOCELL"; |
| status = "ok"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| cryptocell310: crypto@5002b000 { |
| compatible = "arm,cryptocell-310"; |
| reg = <0x5002B000 0x1000>; |
| interrupts = <42 1>; |
| label = "CRYTOCELL310"; |
| }; |
| }; |
| }; |
| }; |
| |
| &nvic { |
| arm,num-irq-priority-bits = <3>; |
| }; |
| |
| &sw_pwm { |
| timer-instance = <2>; |
| channel-count = <3>; |
| clock-prescaler = <0>; |
| ppi-base = <14>; |
| gpiote-base = <0>; |
| }; |