/*
 * Copyright (c) 2019 Nordic Semiconductor ASA
 *
 * 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-m4";
			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";
		};

		bprot: bprot@40000000 {
			compatible = "nordic,nrf-bprot";
			reg = <0x40000000 0x1000>;
			status = "okay";
		};

		radio: radio@40001000 {
			compatible = "nordic,nrf-radio";
			reg = <0x40001000 0x1000>;
			interrupts = <1 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "okay";
			dfe-supported;
			ieee802154-supported;
			ble-2mbps-supported;
			ble-coded-phy-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";
		};

		spi1: spi@40003000 {
		/* cannot be used with i2c0 */
			/*
			 * 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_1";
		};

		spi0: 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_0";
		};

		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: qdec@40012000 {
			compatible = "nordic,nrf-qdec";
			reg = <0x40012000 0x1000>;
			interrupts = <18 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "disabled";
			label = "QDEC";
		};

		comp: comparator@40013000 {
			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";
		};

		swi2: swi@40016000 {
			compatible = "nordic,nrf-swi";
			reg = <0x40016000 0x1000>;
			interrupts = <22 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "okay";
		};

		swi3: swi@40017000 {
			compatible = "nordic,nrf-swi";
			reg = <0x40017000 0x1000>;
			interrupts = <23 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "okay";
		};

		swi4: swi@40018000 {
			compatible = "nordic,nrf-swi";
			reg = <0x40018000 0x1000>;
			interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "okay";
		};

		swi5: swi@40019000 {
			compatible = "nordic,nrf-swi";
			reg = <0x40019000 0x1000>;
			interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "okay";
		};

		pwm0: pwm@4001c000 {
			compatible = "nordic,nrf-pwm";
			reg = <0x4001c000 0x1000>;
			interrupts = <28 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "disabled";
			label = "PWM_0";
			#pwm-cells = <1>;
		};

		pdm0: pdm@4001d000 {
			compatible = "nordic,nrf-pdm";
			reg = <0x4001d000 0x1000>;
			interrupts = <29 NRF_DEFAULT_IRQ_PRIORITY>;
			status = "disabled";
			label = "PDM_0";
		};

		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";
		};

		gpio0: gpio@50000000 {
			compatible = "nordic,nrf-gpio";
			gpio-controller;
			/* This way of addressing is used to be compatible */
			/* with nrf52840.dtsi */
			reg = <0x50000000 0x200
			       0x50000500 0x300>;
			#gpio-cells = <2>;
			label = "GPIO_0";
			status = "disabled";
			port = <0>;
		};
	};

	sw_pwm: sw-pwm {
		compatible = "nordic,nrf-sw-pwm";
		status = "disabled";
		label = "SW_PWM";
		generator = <&timer2>;
		channel-count = <3>;
		clock-prescaler = <0>;
		#pwm-cells = <1>;
	};
};

&nvic {
	arm,num-irq-priority-bits = <3>;
};
