/* 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>;
};
