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

/dts-v1/;
#include <nordic/nrf52832_ciaa.dtsi>
#include "t3w1_revA_nrf52832-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	model = "T3W1 REVA NRF52832";
	compatible = "nordic,t3w1_revA_nrf52832";

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

	leds {
		compatible = "gpio-leds";

		led0: led_0 {
			gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
			label = "Reserved";
		};

	};

	buttons {
		compatible = "gpio-keys";

		button0: button_0 {
			gpios = <&gpio0 14 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
			label = "Stay in bootloader";
			zephyr,code = <INPUT_KEY_0>;
		};
	};

	spi_sync_in
	{
		compatible = "gpio-keys";
		spi_ready: spi_ready {
		gpios = <&gpio0 12 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
		label = "Trezor has data ready";
		};
	};
	spi_sync_out
	{
		compatible = "gpio-leds";
		spi_request: spi_request {
			gpios = <&gpio0 29 (GPIO_ACTIVE_HIGH)>;
			label = "NRF is requesting to send data to trezor";
		};
	};

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0;
		sw0 = &button0;
		bootloader-botton0 = &button0;
		mcuboot-button0 = &button0;
		watchdog0 = &wdt0;
		spi-ready = &spi_ready;
		spi-request = &spi_request;
	};
};


&adc {
	status = "okay";
};

&uicr {
	gpio-as-nreset;
	nfct-pins-as-gpios;
};

&gpiote {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&uart0 {
	compatible = "nordic,nrf-uarte";
	status = "okay";
	current-speed = <1000000>;
	pinctrl-0 = <&uart0_default>;
	pinctrl-1 = <&uart0_sleep>;
	pinctrl-names = "default", "sleep";
	hw-flow-control;
};

&spi0 {
	compatible = "nordic,nrf-spim";
	status = "okay";
	pinctrl-0 = <&spi0_default>;
	pinctrl-1 = <&spi0_sleep>;
	pinctrl-names = "default", "sleep";
	cs-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
	reg_my_spi_master: spi-dev-a@0 {
		reg = <0>;
	};
};

&flash0 {

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

		boot_partition: partition@0 {
			label = "mcuboot";
			reg = <0x00000000 0xc000>;
		};
		custom_partition: partition@c000 {
			label = "custom_data";
			reg = <0x0000c000 0x2000>;
		};
		slot0_partition: partition@e000 {
			label = "image-0";
			reg = <0x0000e000 0x6c000>;
		};
		storage_partition: partition@7a000 {
			label = "storage";
			reg = <0x0007a000 0x00006000>;
		};
	};
};
