/*
 * Copyright (c) 2017 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf52832_qfaa.dtsi>

/ {
	model = "Seeed Studio Nitrogen 96board";
	compatible = "seeed,nitrogen", "nordic,nrf52832-qfaa",
		     "nordic,nrf52832";

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

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0;
		led1 = &led1;
		bt = &led1;
		sw0 = &button0;
	};

	leds {
		compatible = "gpio-leds";
		/* green led */
		led0: led_0 {
			gpios = <&gpio0 29 0>;
			label = "USR1 LED";
		};
		/* blue led */
		led1: led_1 {
			gpios = <&gpio0 28 0>;
			label = "BT LED";
		};
	};

	buttons {
		compatible = "gpio-keys";
		button0: button_0 {
			/* gpio flags need validation */
			gpios = <&gpio0 27 GPIO_INT_ACTIVE_LOW>;
			label = "User Push Button";
		};
	};
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&uart0 {
	compatible = "nordic,nrf-uart";
	current-speed = <115200>;
	status = "okay";
	tx-pin = <13>;
	rx-pin = <15>;
	rts-pin = <12>;
	cts-pin = <14>;
};

&i2c0 {
	compatible = "nordic,nrf-twi";
	status = "okay";
	sda-pin = <20>;
	scl-pin = <22>;
};

&spi1 {
	compatible = "nordic,nrf-spi";
	status = "okay";
	sck-pin = <26>;
	mosi-pin = <23>;
	miso-pin = <25>;
};

&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 0xa000>;
		};
		slot0_partition: partition@a000 {
			label = "image-0";
			reg = <0x0000a000 0x33000>;
		};
		slot1_partition: partition@3d000 {
			label = "image-1";
			reg = <0x0003d000 0x33000>;
		};
		scratch_partition: partition@70000 {
			label = "image-scratch";
			reg = <0x00070000 0xa000>;
		};

		/*
		 * The flash starting at 0x0007a000 and ending at
		 * 0x0007ffff (sectors 122-127) is reserved for use
		 * by the application. If enabled, partition for FCB/NFFS
		 * will be created in this area.
		 */
		storage_partition: partition@7a000 {
			label = "storage";
			reg = <0x0007a000 0x00006000>;
		};
	};
};
