/*
 * Copyright (c) 2018 Nordic Semiconductor ASA.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf51822_qfac.dtsi>
#include "nrf51dongle_nrf51422-pinctrl.dtsi"

/ {
	model = "Nordic nRF51 Dongle NRF51422";
	compatible = "nordic,nrf51-dongle-nrf51422";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,uart-mcumgr = &uart0;
		zephyr,bt-mon-uart = &uart0;
		zephyr,bt-c2h-uart = &uart0;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
		zephyr,code-partition = &slot0_partition;
	};

	leds {
		compatible = "gpio-leds";
		led0_red: led_0 {
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
			label = "Red LED 0";
		};
		led0_green: led_1 {
			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
			label = "Green LED 0";
		};
		led0_blue: led_2 {
			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
			label = "Blue LED 0";
		};
	};

	pwmleds {
		compatible = "pwm-leds";
		pwm_led0: pwm_led_0 {
			pwms = <&sw_pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
		};
	};

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0_red;
		led1 = &led0_green;
		led2 = &led0_blue;
		pwm-led0 = &pwm_led0;
	};
};

&sw_pwm {
	status ="okay";
	channel-gpios = <&gpio0 21 0>;
	clock-prescaler = <8>;
};

&gpiote {
	status ="okay";
};

&gpio0 {
	status ="okay";
};

&adc {
	status ="okay";
};

&uart0 {
	current-speed = <115200>;
	status = "okay";
	pinctrl-0 = <&uart0_default>;
	pinctrl-1 = <&uart0_sleep>;
	pinctrl-names = "default", "sleep";
};

&flash0 {

	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0x8000>;
		};
		slot0_partition: partition@8000 {
			label = "image-0";
			reg = <0x00008000 0x1a000>;
		};
		slot1_partition: partition@22000 {
			label = "image-1";
			reg = <0x00022000 0x1a000>;
		};
		scratch_partition: partition@3c000 {
			label = "image-scratch";
			reg = <0x0003c000 0x2000>;
		};
		storage_partition: partition@3e000 {
			label = "storage";
			reg = <0x0003e000 0x00002000>;
		};
	};
};
