blob: b75c423480b4e477169c8820c844372fc98832ea [file] [edit]
syntax = "proto3";
package milotic_tlbmc;
message GpioAction {
// Name of the GPIO to monitor.
// The trigger logic is determined by the GPIO monitor.
string gpio_name = 1;
repeated string boards_to_record = 2;
}
message StateMonitorConfig {
repeated GpioAction gpio_actions = 1;
}
message InitialCheckConfig {
// Name of the board (key in known_boards).
string board_name = 1;
// Optional pattern to discard clean logs for this specific board.
optional string discard_pattern = 2;
}
message BoardInfo {
// Path to the board configuration file.
// The path should indicate a board configuration file.
string board_config_path = 1;
// Path that contains the component configuration files.
// The path should be a directory containing one or more component
// configuration files.
string component_config_path = 2;
}
message PowerFaultDetectorConfig {
// Map of board names to their respective board and component configuration
// paths.
map<string, BoardInfo> known_boards = 1;
// GPIO actions to monitor when in S0 state (host power on).
StateMonitorConfig s0_config = 2;
// GPIO actions to monitor when in S5 state (host power off).
StateMonitorConfig s5_config = 3;
// The log output directory.
string log_output_directory = 4;
// Configuration for the initial bmc boot check.
repeated InitialCheckConfig initial_checks = 5;
// Delay in seconds before running the initial check.
// Useful to allow the system/I2C bus to stabilize after boot.
optional int32 initial_check_delay_seconds = 6;
}