/*
 * Copyright (c) 2019, Texas Instruments Incorporated
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <ti/cc3235sf.dtsi>

/ {
	model = "TI CC3235SF LaunchXL";
	compatible = "ti,cc3235sf-launchxl", "ti,cc3235sf", "ti,cc32xx";

	aliases {
		uart-0 = &uart0;
		uart-1 = &uart1;
		i2c-0 = &i2c0;
		led0 = &led0;
		led1 = &led1;
		led2 = &led2;
		/* sw0/1 alias defined for compatibility with samples */
		sw0 = &sw2;
		sw1 = &sw3;
	};

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

	leds {
		compatible = "gpio-leds";
		led0: led_0 {
			gpios = <&gpioa1 3 GPIO_ACTIVE_HIGH>;
			label = "Green LED";
		};
		led1: led_1 {
			gpios = <&gpioa1 2 GPIO_ACTIVE_HIGH>;
			label = "Yellow LED";
		};
		led2: led_2 {
			gpios = <&gpioa1 1 GPIO_ACTIVE_HIGH>;
			label = "Red LED";
		};
	};

	buttons {
		/* Push button 2 */
		compatible = "gpio-keys";
		sw2: button_0 {
			gpios = <&gpioa2 6 GPIO_ACTIVE_HIGH>;
			label = "Push button switch 2";
		};
		/* Push button 3 */
		sw3: button_1 {
			gpios = <&gpioa1 5 GPIO_ACTIVE_HIGH>;
			label = "Push button switch 3";
		};
	};
};

&adc0 {
	status = "okay";
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
};

&i2c0 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};
