/*
 * Copyright (c) 2019 Brett Witherspoon
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <ti/cc2652r.dtsi>

#define BTN_GPIO_FLAGS (GPIO_INT_ACTIVE_LOW | GPIO_PUD_PULL_UP)

/ {
	model = "TI CC26x2R1 LaunchXL";
	compatible = "ti,launchxl-cc26x2r1";

	aliases {
		led0 = &led0;
		led1 = &led1;
		sw0 = &btn0;
		sw1 = &btn1;
	};

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

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpio0 7 0>;
			label = "Green LED";
		};
		led1: led_1 {
			gpios = <&gpio0 6 0>;
			label = "Red LED";
		};
	};

	keys {
		compatible = "gpio-keys";
		btn0: btn_0 {
			gpios = <&gpio0 13 BTN_GPIO_FLAGS>;
			label = "Push button 1";
		};
		btn1: btn_1 {
			gpios = <&gpio0 14 BTN_GPIO_FLAGS>;
			label = "Push button 2";
		};
	};
};

&trng {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	tx-pin = <3>;
	rx-pin = <2>;
};

&i2c0 {
	status = "okay";
	scl-pin = <4>;
	sda-pin = <5>;
};

&spi0 {
	status = "okay";
	sck-pin = <10>;
	mosi-pin = <9>;
	miso-pin = <8>;
	cs-pin = <11>;
	cs-gpios = <&gpio0 11 0>;
};
