/*
 * Copyright (c) 2019 Brett Witherspoon
 * Copyright (c) 2020 Friedt Professional Engineering Services, Inc
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <ti/cc1352r.dtsi>
#include "../cc1352r1_launchxl/boosterpack_connector.dtsi"
#include "cc1352r_sensortag-pinctrl.dtsi"

#define BTN_GPIO_FLAGS (GPIO_ACTIVE_LOW | GPIO_PULL_UP)

/ {
	model = "TI CC1352R1 SensorTag";
	compatible = "ti,sensortag-cc1352r";

	aliases {
		led0 = &led0;
		led1 = &led1;
		led2 = &led2;
		sw0 = &btn0;
		sw1 = &btn1;
		sensor0 = &sensor0;
		sensor1 = &sensor1;
		sensor2 = &sensor2;
		accel0 = &sensor1;
	};

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

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

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

	power-states {
		idle: idle {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			min-residency-us = <1000>;
		};

		standby: standby {
			compatible = "zephyr,power-state";
			power-state-name = "standby";
			min-residency-us = <5000>;
			exit-latency-us = <240>;
		};
	};
};

&cpu0 {
	clock-frequency = <48000000>;
	cpu-power-states = <&idle &standby>;
};

&trng {
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
	pinctrl-names = "default";
};

&i2c0 {
	status = "okay";
	pinctrl-0 = <&i2c0_scl_default &i2c0_sda_default>;
	pinctrl-1 = <&i2c0_scl_sleep &i2c0_sda_sleep>;
	pinctrl-names = "default", "sleep";

	sensor0: sensor@44 {
		compatible = "ti,opt3001";
		reg = <0x44>;
		label = "OPT3001";
	};

	sensor2: sensor@41 {
		compatible = "ti,hdc2080";
		reg = <0x41>;
		label = "HDC2080";
		int-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
	};
};

&spi0 {
	status = "okay";
	pinctrl-0 = <&spi0_sck_default &spi0_mosi_default
				 &spi0_miso_default>;
	pinctrl-names = "default";
	cs-gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;

	sensor1: sensor@0 {
		compatible = "adi,adxl362";
		reg = <0>;
		label = "ADXL362";
		int1-gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
		spi-max-frequency = <8000000>;
	};

	/* TODO: "jedec,spi-nor" for the mx25r8035 */
};

&rtc {
	status = "okay";
};
