/*
 * Copyright (c) 2020, Linaro Ltd.
 * Copyright (c) 2022, Esco Medical ApS
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Application overlay for testing driver builds
 *
 * Names in this file should be chosen in a way that won't conflict
 * with real-world devicetree nodes, to allow these tests to run on
 * (and be extended to test) real hardware.
 */

#include <freq.h>
#include <zephyr/dt-bindings/led/led.h>

/ {
	test {
		#address-cells = <1>;
		#size-cells = <1>;

		test_gpio: gpio@deadbeef {
			compatible = "vnd,gpio";
			gpio-controller;
			reg = <0xdeadbeef 0x1000>;
			#gpio-cells = <0x2>;
			label = "TEST_GPIO_1";
			status = "okay";
		};

		test_spi: spi@33334444 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "vnd,spi";
			reg = <0x33334444 0x1000>;
			label = "TEST_SPI_CTLR";
			status = "okay";
			clock-frequency = <DT_FREQ_M(2)>;

			cs-gpios = <&test_gpio 0 0>;

			test_spi_tlc5971: tlc5971@0 {
				status = "okay";
				compatible = "ti,tlc59711", "ti,tlc5971";
				label = "TLC5971";
				spi-max-frequency = <DT_FREQ_M(1)>;
				reg = <0x0>;
				chain-length = <8>; // two TLC5971 devices
				color-mapping = <LED_COLOR_ID_BLUE>,
						<LED_COLOR_ID_GREEN>,
						<LED_COLOR_ID_RED>;
			};
		};
	};
};
