// SPDX-License-Identifier: GPL-2.0+
/*
 * Sample expo screen layout
 */

/dts-v1/;

/*
enum {
	ZERO,
	ID_PROMPT,

	ID_SCENE1,
	ID_SCENE1_TITLE,

	ID_CPU_SPEED,
	ID_CPU_SPEED_TITLE,
	ID_CPU_SPEED_1,
	ID_CPU_SPEED_2,
	ID_CPU_SPEED_3,

	ID_POWER_LOSS,
	ID_AC_OFF,
	ID_AC_ON,
	ID_AC_MEMORY,

	ID_DYNAMIC_START,
};
*/

/ {
	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";
		};
	};
};
