/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 {
   #address-cells = <1>;
   compatible = "arm,v8m-nvic";
   reg = <0xe000e100 0xc00>;
   interrupt-controller;
   #interrupt-cells = <2>;
  };
  systick: timer@e000e010 {
   compatible = "arm,armv8m-systick";
   reg = <0xe000e010 0x10>;
  };
 };
};
&systick {
 status = "disabled";
};
/ {
 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,flash-controller = &flash_controller;
  zephyr,entropy = &cryptocell_sw;
 };
 soc {
  sram0: memory@20000000 {
   compatible = "mmio-sram";
  };
  peripheral@40000000 {
   #address-cells = <1>;
   #size-cells = <1>;
   ranges = <0x0 0x40000000 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";
 port = <0>;
};
rtc0: rtc@14000 {
 compatible = "nordic,nrf-rtc";
 reg = <0x14000 0x1000>;
 cc-num = <4>;
 interrupts = <20 1>;
 status = "okay";
 clock-frequency = <32768>;
 prescaler = <1>;
 label = "RTC_0";
};
rtc1: rtc@15000 {
 compatible = "nordic,nrf-rtc";
 reg = <0x15000 0x1000>;
 cc-num = <4>;
 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>;
 cc-num = <6>;
 interrupts = <15 1>;
 prescaler = <0>;
 label = "TIMER_0";
};
timer1: timer@10000 {
 compatible = "nordic,nrf-timer";
 status = "disabled";
 reg = <0x10000 0x1000>;
 cc-num = <6>;
 interrupts = <16 1>;
 prescaler = <0>;
 label = "TIMER_1";
};
timer2: timer@11000 {
 compatible = "nordic,nrf-timer";
 status = "disabled";
 reg = <0x11000 0x1000>;
 cc-num = <6>;
 interrupts = <17 1>;
 prescaler = <0>;
 label = "TIMER_2";
};
  };
  gpiote: gpiote@40031000 {
   compatible = "nordic,nrf-gpiote";
   reg = <0x40031000 0x1000>;
   interrupts = <49 5>;
   status = "disabled";
   label = "GPIOTE_1";
  };
  cryptocell_sw: cryptocell-sw {
   compatible = "nordic,nrf-cc310-sw";
   #address-cells = <0>;
   label = "CRYPTOCELL_SW";
  };
 };
};
&nvic {
 arm,num-irq-priority-bits = <3>;
};
&flash0 {
 reg = <0x00000000 ((1024) * 1024)>;
};
&sram0 {
 reg = <0x20000000 ((256) * 1024)>;
};
/ {
 soc {
  compatible = "nordic,nRF9160-SICA", "nordic,nRF9160", "nordic,nRF91", "simple-bus";
 };
};
/ {
 model = "Nordic solari_slb NRF9160";
 compatible = "nordic,solari_slb-nrf9160";
 chosen {
  zephyr,console = &uart0;
  zephyr,shell-uart = &uart0;
  zephyr,uart-mcumgr = &uart0;
 };
 vdd_pwr: vdd-pwr-ctrl {
  compatible = "regulator-fixed";
  label = "vdd-pwr-ctrl";
  regulator-name = "vdd-pwr-ctrl";
  enable-gpios = <&gpio0 2 (0 << 0)>;
  regulator-boot-on;
  startup-delay-us = < 1000 >;
 };
 uart_oe_pwr: uart-oe-ctrl {
  compatible = "regulator-fixed";
  label = "uart_oe";
  regulator-name = "uart_oe";
  enable-gpios = <&gpio0 0 (0 << 0)>;
  regulator-boot-on;
  startup-delay-us = < 1000 >;
 };
 mux_sps30_pwr: mux-sps30-ctrl {
  compatible = "regulator-fixed";
  label = "mux_sps30";
  regulator-name = "mux_sps30";
  enable-gpios = <&gpio0 1 (0 << 0)>;
  regulator-boot-on;
  startup-delay-us = < 1000 >;
 };
 hw_driver {
  compatible = "gpio-leds";
  uart_oe: uart_oe {
   gpios = <&gpio0 0 0>;
   label = "PMx_OE";
  };
  flash_en: flash_en {
   gpios = <&gpio0 1 0 >;
   label = "NOR_FLASH_EN";
  };
  vdd_sens: vdd_sens {
   gpios = <&gpio0 2 0>;
   label = "SENS_EN";
  };
  tof_shut: tof_shut {
   gpios = <&gpio0 8 0>;
   label = "ToF_SHUT";
  };
  nox: nox {
   gpios = <&gpio0 11 0>;
   label = "MiCS_EN";
  };
  ble_wakeup: ble_wakeup {
   gpios = <&gpio0 12 0>;
   label = "BLE_WAKEUP";
  };
  led: ntc_adc:led {
   gpios = <&gpio0 14 0>;
   label = "LED_OR_NTC_OR_NOXPREHEAT";
  };
  reed_en: reed_en {
   gpios = <&gpio0 10 ((1 << 1) | (1 << 2))>;
   label = "REED_IN.EN";
  };
  ble_rst: ble_rst {
   gpios = <&gpio0 27 0 >;
   label = "BLE_RST";
  };
  gauge: gauge {
   gpios = <&gpio0 3 0>;
   label = "GAUGE_EN";
  };
  dsy_oe: dsy_oe {
   gpios = <&gpio0 18 0>;
   label = "DSY_OE";
  };
  dsy_cs: dsy_cs {
   gpios = <&gpio0 19 0>;
   label = "DSY_CS";
  };
 };
 output {
  compatible = "gpio-leds";
  mcu_if_dsr: mcu_if_dsr {
   gpios = <&gpio0 30 ( (1 << 0))>;
   label = "BLE.DSR";
  };
 };
 input {
  compatible = "gpio-keys";
  alert: alert {
   gpios = <&gpio0 4 (0 << 0)>;
   label = "BATT_ALERT";
  };
 };
 awakeners {
  compatible = "gpio-keys";
  reed: reed {
   gpios = <&gpio0 9 (0 << 0)>;
   label = "REED_IN.INPUT";
  };
  ble_int: ble_int {
   gpios = <&gpio0 26 (1 << 0)>;
   label = "MCU_IF_INT";
  };
 };
 ToFInterrupt {
  compatible = "gpio-keys";
  tof_int: tof_int {
   gpios = <&gpio0 7 ((0 << 0))>;
   label = "I2C.INT";
  };
 };
 aliases {
  pwr3v3-5 = &uart_oe;
  vdd-sens = &vdd_sens;
  flash-en = &flash_en;
  tof-1v8 = &tof_shut;
  nox = &nox;
  ble-wakeup = &ble_wakeup;
  ble-int = &ble_int;
  alert = &alert;
  reed = &reed;
  reed-en = &reed_en;
  gauge = &gauge;
  tof-int = &tof_int;
  ble-dsr = &mcu_if_dsr;
  ble-rst = &ble_rst;
  dsy-oe = &dsy_oe;
  dsy-cs = &dsy_cs;
  led = &led;
  ntc-adc-preheat = &ntc_adc;
 };
};
&adc {
 status = "okay";
};
&gpiote {
 status = "okay";
};
&gpio0 {
 status = "okay";
};
&uart0 {
 status = "okay";
 current-speed = <115200>;
 tx-pin = <29>;
 rx-pin = <28>;
 rts-pin = <30>;
 cts-pin = <31>;
};
&i2c2 {
 compatible = "nordic,nrf-twim";
 status = "okay";
 sda-pin = <5>;
 scl-pin = <6>;
};
&spi3 {
 compatible = "nordic,nrf-spim";
 status = "okay";
 sck-pin = <17>;
 mosi-pin = <16>;
 miso-pin = <15>;
 cs-gpios = < &gpio0 19 0x1 >;
};
&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>;
  };
  eeprom_partition: partition@fa000 {
   label = "storage";
   reg = <0x000fa000 0x00006000>;
  };
 };
};
/ {
 reserved-memory {
  #address-cells = <1>;
  #size-cells = <1>;
  ranges;
  sram0_s: image_s@20000000 {
  };
  sram0_modem: image_modem@20016000 {
  };
  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 ((88) * 1024)>;
};
&sram0_modem {
 reg = <0x20016000 ((40) * 1024)>;
};
&sram0_ns {
 reg = <0x20020000 ((128) * 1024)>;
};
/ {
 chosen {
  zephyr,flash = &flash0;
  zephyr,sram = &sram0_ns;
  zephyr,code-partition = &slot0_ns_partition;
 };
};
