/*
 * Copyright (c) 2020, Linaro Ltd.
 *
 * 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.
 */

/ {
	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_i2c: i2c@11112222 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "vnd,i2c";
			reg = <0x11112222 0x1000>;
			label = "TEST_I2C_CTLR";
			status = "okay";
			clock-frequency = <100000>;

			test_i2c_at24: at24@0 {
				compatible = "atmel,at24";
				label = "AT24";
				reg = <0x0>;
				size = <32768>;
				pagesize = <64>;
				address-width = <16>;
				timeout = <5>;
				wp-gpios = <&test_gpio 0 0>;
				/* read-only; */
			};
		};

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

			/* one entry for every devices at spi.dtsi */
			cs-gpios = <&test_gpio 0 0>;

			test_spi_at25: at25@0 {
				compatible = "atmel,at25";
				label = "AT25";
				reg = <0x0>;
				spi-max-frequency = <0>;
				size = <32768>;
				pagesize = <64>;
				address-width = <16>;
				timeout = <5>;
				wp-gpios = <&test_gpio 0 0>;
				/* read-only; */
			};
		};
	};
};
