/*
 * Copyright (c) 2022, Kumar Gala <galak@kernel.org>
 *
 * 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>;
			status = "okay";
		};

		test_i2c: i2c@11112222 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "vnd,i2c";
			reg = <0x11112222 0x1000>;
			status = "okay";
			clock-frequency = <100000>;

			test_i2c_mt9m114: mt9m114@0 {
				compatible = "aptina,mt9m114";
				reg = <0>;
			};

			test_i2c_ov2640: ov2640@1 {
				compatible = "ovti,ov2640";
				reg = <0x1>;
				reset-gpios = <&test_gpio 0 0>;
			};

			test_i2c_ov7725: ov7725@2 {
				compatible = "ovti,ov7725";
				reg = <0x2>;
				reset-gpios = <&test_gpio 0 0>;
			};
		};
	};
};
