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

/dts-v1/;
#include <nordic/nrf51822_qfac.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 21>;
		};
	};

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

&gpiote {
	status ="okay";
};

&gpio0 {
	status ="okay";
};

&adc {
	status ="okay";
};

&uart0 {
	current-speed = <115200>;
	status = "okay";
	tx-pin = <9>;
	rx-pin = <11>;
	rts-pin = <8>;
	cts-pin = <10>;
};

&flash0 {
	/*
	 * For more information, see:
	 * http://docs.zephyrproject.org/latest/guides/dts/index.html#flash-partitions
	 */
	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>;
		};
	};
};
