1#pragma once
2
3#include <array>
4#include <chrono>
5
6constexpr inline auto POWER_DBUS_OBJECT_NAME =
7    "/xyz/openbmc_project/Chassis/Buttons/Power0";
8constexpr inline auto RESET_DBUS_OBJECT_NAME =
9    "/xyz/openbmc_project/Chassis/Buttons/Reset0";
10constexpr inline auto ID_DBUS_OBJECT_NAME =
11    "/xyz/openbmc_project/Chassis/Buttons/ID0";
12constexpr inline auto HS_DBUS_OBJECT_NAME =
13    "/xyz/openbmc_project/Chassis/Buttons/HostSelector";
14constexpr inline auto DBG_HS_DBUS_OBJECT_NAME =
15    "/xyz/openbmc_project/Chassis/Buttons/DebugHostSelector";
16constexpr inline auto SERIAL_CONSOLE_MUX_DBUS_OBJECT_NAME =
17    "/xyz/openbmc_project/Chassis/Buttons/SerialUartMux";
18
19constexpr inline auto CHASSIS_STATE_OBJECT_NAME =
20    "/xyz/openbmc_project/state/chassis";
21constexpr inline auto CHASSISSYSTEM_STATE_OBJECT_NAME =
22    "/xyz/openbmc_project/state/chassis_system";
23constexpr inline auto HOST_STATE_OBJECT_NAME =
24    "/xyz/openbmc_project/state/host";
25
26constexpr inline auto GPIO_BASE_LABEL_NAME = "1e780000.gpio";
27constexpr inline auto gpioDefFile = "/etc/default/obmc/gpio/gpio_defs.json";
28#define LOOKUP_GPIO_BASE @LOOKUP_GPIO_BASE@
29
30constexpr inline auto POWER_BUTTON_PROFILE = @POWER_BUTTON_PROFILE@;
31constexpr inline auto ID_LED_GROUP = @ID_LED_GROUP@;
32constexpr inline const auto LONG_PRESS_TIME_MS =
33    std::chrono::milliseconds(@LONG_PRESS_TIME_MS@);
34
35constexpr inline static auto instances = std::to_array({ @INSTANCES@ });
36