/dts-v1/;
/plugin/;

/*
 * Base device tree that overlays will be applied against.
 *
 * Do not add any properties in node "/".
 * Do not add any nodes other than "/testcase-data-2" in node "/".
 * Do not add anything that would result in dtc creating node "/__fixups__".
 * dtc will create nodes "/__symbols__" and "/__local_fixups__".
 */

/ {
	testcase-data-2 {
		#address-cells = <1>;
		#size-cells = <1>;

		electric_1: substation@100 {
			compatible = "ot,big-volts-control";
			reg = < 0x00000100 0x100 >;
			status = "disabled";

			hvac_1: hvac-medium-1 {
				compatible = "ot,hvac-medium";
				heat-range = < 50 75 >;
				cool-range = < 60 80 >;
			};

			spin_ctrl_1: motor-1 {
				compatible = "ot,ferris-wheel-motor";
				spin = "clockwise";
			};

			spin_ctrl_2: motor-8 {
				compatible = "ot,roller-coaster-motor";
			};
		};

		rides_1: fairway-1 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "ot,rides";
			status = "disabled";
			orientation = < 127 >;

			ride@100 {
				compatible = "ot,roller-coaster";
				reg = < 0x00000100 0x100 >;
				hvac-provider = < &hvac_1 >;
				hvac-thermostat = < 29 > ;
				hvac-zones = < 14 >;
				hvac-zone-names = "operator";
				spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >;
				spin-controller-names = "track_1", "track_2";
				queues = < 2 >;
			};
		};

		lights_1: lights@30000 {
			compatible = "ot,work-lights";
			reg = < 0x00030000 0x1000 >;
			status = "disabled";
		};

		lights_2: lights@40000 {
			compatible = "ot,show-lights";
			reg = < 0x00040000 0x1000 >;
			status = "disabled";
			rate = < 13 138 >;
		};

		retail_1: vending@50000 {
			reg = < 0x00050000 0x1000 >;
			compatible = "ot,tickets";
			status = "disabled";
		};

	};
};

