// SPDX-License-Identifier: GPL-2.0+
/*
 * Expo definition for the configuration editor
 *
 * This used for testing building an expo from a data file. This devicetree
 * provides a description of the objects to be created.
 */

#include <test/cedit-test.h>

&cedit {
	dynamic-start = <ID_DYNAMIC_START>;

	scenes {
		main {
			id = <ID_SCENE1>;

			/* value refers to the matching id in /strings */
			title-id = <ID_SCENE1_TITLE>;

			/* simple string is used as it is */
			prompt = "UP and DOWN to choose, ENTER to select";

			/* defines a menu within the scene */
			cpu-speed {
				type = "menu";
				id = <ID_CPU_SPEED>;

				/*
				 * has both string and ID. The string is ignored
				 * if the ID is present and points to a string
				 */
				title = "CPU speed";
				title-id = <ID_CPU_SPEED_TITLE>;

				/* menu items as simple strings */
				item-label = "2 GHz", "2.5 GHz", "3 GHz";

				/* IDs for the menu items */
				item-id = <ID_CPU_SPEED_1 ID_CPU_SPEED_2
					ID_CPU_SPEED_3>;
			};

			power-loss {
				type = "menu";
				id = <ID_POWER_LOSS>;

				title = "AC Power";
				item-label = "Always Off", "Always On",
					"Memory";

				item-id = <ID_AC_OFF ID_AC_ON ID_AC_MEMORY>;
			};
		};
	};

	strings {
		title {
			id = <ID_SCENE1_TITLE>;
			value = "Test Configuration";
			value-es = "configuración de prueba";
		};
	};
};
