/dts-v1/;
/ {
 #address-cells = <1>;
 #size-cells = <1>;
 chosen { };
 aliases { };
};
/ {
 soc {
  #address-cells = <1>;
  #size-cells = <1>;
  compatible = "simple-bus";
  interrupt-parent = <&nvic>;
  ranges;
  nvic: interrupt-controller@e000e100 {
   compatible = "arm,v8m-nvic";
   reg = <0xe000e100 0xc00>;
   interrupt-controller;
   #interrupt-cells = <2>;
  };
  systick: timer@e000e010 {
   compatible = "arm,armv8m-systick";
   reg = <0xe000e010 0x10>;
  };
 };
};
/ {
 cpus {
  #address-cells = <1>;
  #size-cells = <0>;
  cpu@0 {
   device_type = "cpu";
   compatible = "arm,cortex-m33f";
   reg = <0>;
   #address-cells = <1>;
   #size-cells = <1>;
   mpu: mpu@e000ed90 {
    compatible = "arm,armv8m-mpu";
    reg = <0xe000ed90 0x40>;
    arm,num-mpu-regions = <16>;
   };
  };
 };
 chosen {
  zephyr,entropy = &cryptocell;
  zephyr,flash-controller = &flash_controller;
 };
 soc {
  sram0: memory@20000000 {
   compatible = "mmio-sram";
  };
  peripheral@50000000 {
   #address-cells = <1>;
   #size-cells = <1>;
   ranges = <0x0 0x50000000 0x10000000>;
flash_controller: flash-controller@39000 {
 compatible = "nordic,nrf91-flash-controller";
 reg = <0x39000 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>;
 };
};
adc: adc@e000 {
 compatible = "nordic,nrf-saadc";
 reg = <0xe000 0x1000>;
 interrupts = <14 1>;
 status = "disabled";
 label = "ADC_0";
 #io-channel-cells = <1>;
};
dppic: dppic@17000 {
 compatible = "nordic,nrf-dppic";
 reg = <0x17000 0x1000>;
 status = "okay";
 label = "DPPIC";
};
egu0: egu@1b000 {
 compatible = "nordic,nrf-egu";
 reg = <0x1b000 0x1000>;
 interrupts = <27 1>;
 status = "okay";
};
egu1: egu@1c000 {
 compatible = "nordic,nrf-egu";
 reg = <0x1c000 0x1000>;
 interrupts = <28 1>;
 status = "okay";
};
egu2: egu@1d000 {
 compatible = "nordic,nrf-egu";
 reg = <0x1d000 0x1000>;
 interrupts = <29 1>;
 status = "okay";
};
egu3: egu@1e000 {
 compatible = "nordic,nrf-egu";
 reg = <0x1e000 0x1000>;
 interrupts = <30 1>;
 status = "okay";
};
egu4: egu@1f000 {
 compatible = "nordic,nrf-egu";
 reg = <0x1f000 0x1000>;
 interrupts = <31 1>;
 status = "okay";
};
egu5: egu@20000 {
 compatible = "nordic,nrf-egu";
 reg = <0x20000 0x1000>;
 interrupts = <32 1>;
 status = "okay";
};
i2s0: i2s@28000 {
 compatible = "nordic,nrf-i2s";
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0x28000 0x1000>;
 interrupts = <40 1>;
 status = "disabled";
 label = "I2S_0";
};
kmu: kmu@39000 {
 compatible = "nordic,nrf-kmu";
 reg = <0x39000 0x1000>;
 interrupts = <57 1>;
 status = "okay";
};
pdm0: pdm@26000 {
 compatible = "nordic,nrf-pdm";
 reg = <0x26000 0x1000>;
 interrupts = <38 1>;
 status = "disabled";
 label = "PDM_0";
};
regulators: regulator@4000 {
 compatible = "nordic,nrf-regulators";
 reg = <0x4000 0x1000>;
 status = "okay";
};
vmc: vmc@3a000 {
 compatible = "nordic,nrf-vmc";
 reg = <0x3a000 0x1000>;
 status = "okay";
};
uart0: uart@8000 {
 compatible = "nordic,nrf-uarte";
 reg = <0x8000 0x1000>;
 interrupts = <8 1>;
 status = "disabled";
 label = "UART_0";
};
uart1: uart@9000 {
 compatible = "nordic,nrf-uarte";
 reg = <0x9000 0x1000>;
 interrupts = <9 1>;
 status = "disabled";
 label = "UART_1";
};
uart2: uart@a000 {
 compatible = "nordic,nrf-uarte";
 reg = <0xa000 0x1000>;
 interrupts = <10 1>;
 status = "disabled";
 label = "UART_2";
};
uart3: uart@b000 {
 compatible = "nordic,nrf-uarte";
 reg = <0xb000 0x1000>;
 interrupts = <11 1>;
 status = "disabled";
 label = "UART_3";
};
i2c0: i2c@8000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0x8000 0x1000>;
 clock-frequency = <100000>;
 interrupts = <8 1>;
 status = "disabled";
 label = "I2C_0";
};
i2c1: i2c@9000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0x9000 0x1000>;
 clock-frequency = <100000>;
 interrupts = <9 1>;
 status = "disabled";
 label = "I2C_1";
};
i2c2: i2c@a000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0xa000 0x1000>;
 clock-frequency = <100000>;
 interrupts = <10 1>;
 status = "disabled";
 label = "I2C_2";
};
i2c3: i2c@b000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0xb000 0x1000>;
 clock-frequency = <100000>;
 interrupts = <11 1>;
 status = "disabled";
 label = "I2C_3";
};
spi0: spi@8000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0x8000 0x1000>;
 interrupts = <8 1>;
 status = "disabled";
 label = "SPI_0";
};
spi1: spi@9000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0x9000 0x1000>;
 interrupts = <9 1>;
 status = "disabled";
 label = "SPI_1";
};
spi2: spi@a000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0xa000 0x1000>;
 interrupts = <10 1>;
 status = "disabled";
 label = "SPI_2";
};
spi3: spi@b000 {
 #address-cells = <1>;
 #size-cells = <0>;
 reg = <0xb000 0x1000>;
 interrupts = <11 1>;
 status = "disabled";
 label = "SPI_3";
};
pwm0: pwm@21000 {
 compatible = "nordic,nrf-pwm";
 reg = <0x21000 0x1000>;
 interrupts = <33 1>;
 status = "disabled";
 label = "PWM_0";
 #pwm-cells = <1>;
};
pwm1: pwm@22000 {
 compatible = "nordic,nrf-pwm";
 reg = <0x22000 0x1000>;
 interrupts = <34 1>;
 status = "disabled";
 label = "PWM_1";
 #pwm-cells = <1>;
};
pwm2: pwm@23000 {
 compatible = "nordic,nrf-pwm";
 reg = <0x23000 0x1000>;
 interrupts = <35 1>;
 status = "disabled";
 label = "PWM_2";
 #pwm-cells = <1>;
};
pwm3: pwm@24000 {
 compatible = "nordic,nrf-pwm";
 reg = <0x24000 0x1000>;
 interrupts = <36 1>;
 status = "disabled";
 label = "PWM_3";
 #pwm-cells = <1>;
};
gpio0: gpio@842500 {
 compatible = "nordic,nrf-gpio";
 gpio-controller;
 reg = <0x842500 0x300>;
 #gpio-cells = <2>;
 label = "GPIO_0";
 status = "disabled";
};
rtc0: rtc@14000 {
 compatible = "nordic,nrf-rtc";
 reg = <0x14000 0x1000>;
 interrupts = <20 1>;
 status = "okay";
 clock-frequency = <32768>;
 prescaler = <1>;
 label = "RTC_0";
};
rtc1: rtc@15000 {
 compatible = "nordic,nrf-rtc";
 reg = <0x15000 0x1000>;
 interrupts = <21 1>;
 status = "okay";
 clock-frequency = <32768>;
 prescaler = <1>;
 label = "RTC_1";
};
clock: clock@5000 {
 compatible = "nordic,nrf-clock";
 reg = <0x5000 0x1000>;
 interrupts = <5 1>;
 status = "okay";
 label = "CLOCK";
};
power: power@5000 {
 compatible = "nordic,nrf-power";
 reg = <0x5000 0x1000>;
 interrupts = <5 1>;
 status = "okay";
};
wdt: wdt0: watchdog@18000 {
 compatible = "nordic,nrf-watchdog";
 reg = <0x18000 0x1000>;
 interrupts = <24 1>;
 status = "okay";
 label = "WDT";
};
timer0: timer@f000 {
 compatible = "nordic,nrf-timer";
 status = "disabled";
 reg = <0xf000 0x1000>;
 interrupts = <15 1>;
 prescaler = <0>;
 label = "TIMER_0";
};
timer1: timer@10000 {
 compatible = "nordic,nrf-timer";
 status = "disabled";
 reg = <0x10000 0x1000>;
 interrupts = <16 1>;
 prescaler = <0>;
 label = "TIMER_1";
};
timer2: timer@11000 {
 compatible = "nordic,nrf-timer";
 status = "disabled";
 reg = <0x11000 0x1000>;
 interrupts = <17 1>;
 prescaler = <0>;
 label = "TIMER_2";
};
  };
  cryptocell: crypto@50840000 {
   compatible = "nordic,nrf-cc310";
   reg = <0x50840000 0x1000>;
   label = "CRYPTOCELL";
   status = "okay";
   #address-cells = <1>;
   #size-cells = <1>;
   cryptocell310: crypto@50841000 {
    compatible = "arm,cryptocell-310";
    reg = <0x50841000 0x1000>;
    interrupts = <64 1>;
    label = "CRYPTOCELL310";
   };
  };
  gpiote: gpiote@5000d000 {
   compatible = "nordic,nrf-gpiote";
   reg = <0x5000d000 0x1000>;
   interrupts = <13 5>;
   status = "disabled";
   label = "GPIOTE_0";
  };
  spu: spu@50003000 {
   compatible = "nordic,nrf-spu";
   reg = <0x50003000 0x1000>;
   interrupts = <3 1>;
   status = "okay";
  };
  ficr: ficr@ff0000 {
   compatible = "nordic,nrf-ficr";
   reg = <0xff0000 0x1000>;
   status = "okay";
  };
  uicr: uicr@ff8000 {
   compatible = "nordic,nrf-uicr";
   reg = <0xff8000 0x1000>;
   status = "okay";
  };
 };
};
&nvic {
 arm,num-irq-priority-bits = <3>;
};
&systick {
 status = "disabled";
};
&flash0 {
 reg = <0x00000000 ((1024) * 1024)>;
};
&sram0 {
 reg = <0x20000000 ((256) * 1024)>;
};
/ {
 soc {
  compatible = "nordic,nRF9160-SICA", "nordic,nRF9160", "nordic,nRF91", "simple-bus";
 };
};
/ {
 model = "Nordic nRF9160 DK NRF9160";
 compatible = "nordic,nrf9160-dk-nrf9160";
 chosen {
  zephyr,console = &uart0;
  zephyr,shell-uart = &uart0;
  zephyr,uart-mcumgr = &uart0;
 };
 leds {
  compatible = "gpio-leds";
  led0: led_0 {
   gpios = <&gpio0 2 0>;
   label = "Green LED 1";
  };
  led1: led_1 {
   gpios = <&gpio0 3 0>;
   label = "Green LED 2";
  };
  led2: led_2 {
   gpios = <&gpio0 4 0>;
   label = "Green LED 3";
  };
  led3: led_3 {
   gpios = <&gpio0 5 0>;
   label = "Green LED 4";
  };
 };
 pwmleds {
  compatible = "pwm-leds";
  pwm_led0: pwm_led_0 {
   pwms = <&pwm0 2>;
  };
 };
 buttons {
  compatible = "gpio-keys";
  button0: button_0 {
   gpios = <&gpio0 8 ((1 << 4) | (1 << 0))>;
   label = "Switch 1";
  };
  button1: button_1 {
   gpios = <&gpio0 9 ((1 << 4) | (1 << 0))>;
   label = "Switch 2";
  };
  button2: button_2 {
   gpios = <&gpio0 6 ((1 << 4) | (1 << 0))>;
   label = "Push button 1";
  };
  button3: button_3 {
   gpios = <&gpio0 7 ((1 << 4) | (1 << 0))>;
   label = "Push button 2";
  };
 };
 aliases {
  led0 = &led0;
  led1 = &led1;
  led2 = &led2;
  led3 = &led3;
  pwm-led0 = &pwm_led0;
  sw0 = &button2;
  sw1 = &button3;
  sw2 = &button0;
  sw3 = &button1;
 };
};
&adc {
 status = "okay";
};
&gpiote {
 status = "okay";
};
&gpio0 {
 status = "okay";
};
&uart0 {
 status = "okay";
 current-speed = <115200>;
 tx-pin = <29>;
 rx-pin = <28>;
 rts-pin = <27>;
 cts-pin = <26>;
};
&uart1 {
 status = "okay";
 current-speed = <115200>;
 tx-pin = <1>;
 rx-pin = <0>;
 rts-pin = <14>;
 cts-pin = <15>;
};
&uart2 {
 tx-pin = <24>;
 rx-pin = <23>;
};
&i2c2 {
 compatible = "nordic,nrf-twim";
 status = "okay";
 sda-pin = <30>;
 scl-pin = <31>;
};
&pwm0 {
 status = "okay";
 ch0-pin = <2>;
};
&spi3 {
 compatible = "nordic,nrf-spim";
 status = "okay";
 sck-pin = <19>;
 mosi-pin = <18>;
 miso-pin = <17>;
};
&timer0 {
 status = "okay";
};
&timer1 {
 status = "okay";
};
&timer2 {
 status = "okay";
};
&flash0 {
 partitions {
  compatible = "fixed-partitions";
  #address-cells = <1>;
  #size-cells = <1>;
  boot_partition: partition@0 {
   label = "mcuboot";
   reg = <0x00000000 0x10000>;
  };
  slot0_partition: partition@10000 {
   label = "image-0";
  };
  slot0_ns_partition: partition@50000 {
   label = "image-0-nonsecure";
  };
  slot1_partition: partition@80000 {
   label = "image-1";
  };
  slot1_ns_partition: partition@c0000 {
   label = "image-1-nonsecure";
  };
  scratch_partition: partition@f0000 {
   label = "image-scratch";
   reg = <0x000f0000 0xa000>;
  };
  storage_partition: partition@fa000 {
   label = "storage";
   reg = <0x000fa000 0x00006000>;
  };
 };
};
/ {
 reserved-memory {
  #address-cells = <1>;
  #size-cells = <1>;
  ranges;
  sram0_s: image_s@20000000 {
  };
  sram0_bsd: image_bsd@20010000 {
  };
  sram0_ns: image_ns@20020000 {
  };
 };
};
&slot0_partition {
 reg = <0x00010000 0x40000>;
};
&slot0_ns_partition {
 reg = <0x00050000 0x30000>;
};
&slot1_partition {
 reg = <0x00080000 0x40000>;
};
&slot1_ns_partition {
 reg = <0x000c0000 0x30000>;
};
&sram0_s {
 reg = <0x20000000 ((64) * 1024)>;
};
&sram0_bsd {
 reg = <0x20010000 ((64) * 1024)>;
};
&sram0_ns {
 reg = <0x20020000 ((128) * 1024)>;
};
/ {
 chosen {
  zephyr,sram = &sram0_s;
  zephyr,flash = &flash0;
  zephyr,code-partition = &slot0_partition;
  zephyr,sram-secure-partition = &sram0_s;
  zephyr,sram-non-secure-partition = &sram0_ns;
 };
};
&pwm1 {
 status = "okay";
};
&pwm2 {
 status = "okay";
};
&pwm3 {
 status = "okay";
};
