| { |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "title": "Power Manager Node Config Schema", |
| "type": "array", |
| "items": { |
| "oneOf": [ |
| { |
| "properties": { |
| "type": { |
| "pattern": "ActivityHandler" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "system_profile_handler_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "system_profile_handler_node" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "CrashReportHandler" |
| }, |
| "name": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "InputSettingsHandler" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "system_profile_handler_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "system_profile_handler_node" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "PlatformMetrics" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "cpu_temperature_poll_interval_s": { |
| "type": "number", |
| "exclusiveMinimum": 0 |
| }, |
| "throttle_debounce_timeout_s": { |
| "type": "number", |
| "minimum": 0 |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "cpu_temperature_poll_interval_s", |
| "throttle_debounce_timeout_s" |
| ] |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "cpu_temperature_handler_node": { |
| "type": "string" |
| }, |
| "crash_report_handler_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "cpu_temperature_handler_node", |
| "crash_report_handler_node" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "SystemProfileHandler" |
| }, |
| "name": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "SystemShutdownHandler" |
| }, |
| "name": { |
| "type": "string" |
| } |
| }, |
| "required": [ |
| "type", |
| "name" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "TemperatureHandler" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "sensor_name": { |
| "type": "string" |
| }, |
| "cache_duration_ms": { |
| "type": "integer" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "sensor_name", |
| "cache_duration_ms" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "ThermalLoadDriver" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "temperature_input_configs": { |
| "type": "array", |
| "minItems": 1, |
| "items": { |
| "type": "object", |
| "properties": { |
| "temperature_handler_node_name": { |
| "type": "string" |
| }, |
| "onset_temperature_c": { |
| "type": "number" |
| }, |
| "reboot_temperature_c": { |
| "type": "number" |
| }, |
| "poll_interval_s": { |
| "type": "number", |
| "exclusiveMinimum": 0 |
| }, |
| "polls_per_history_entry": { |
| "type": "number", |
| "minimum": 0 |
| }, |
| "num_history_entries": { |
| "type": "number", |
| "minimum": 0 |
| }, |
| "filter_time_constant_s": { |
| "type": "number", |
| "exclusiveMinimum": 0 |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "temperature_handler_node_name", |
| "onset_temperature_c", |
| "reboot_temperature_c", |
| "poll_interval_s", |
| "filter_time_constant_s" |
| ] |
| } |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "temperature_input_configs" |
| ] |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "platform_metrics_node": { |
| "type": "string" |
| }, |
| "system_shutdown_node": { |
| "type": "string" |
| }, |
| "thermal_load_notify_nodes": { |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "temperature_handler_node_names": { |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "platform_metrics_node", |
| "system_shutdown_node", |
| "thermal_load_notify_nodes", |
| "temperature_handler_node_names" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "ThermalPolicy" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "platform_metrics_node": { |
| "type": "string" |
| }, |
| "system_power_handler_node": { |
| "type": "string" |
| }, |
| "temperature_handler_node": { |
| "type": "string" |
| }, |
| "thermal_load_notify_nodes": { |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| }, |
| "cpu_thermal_load_notify_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "platform_metrics_node", |
| "system_power_handler_node", |
| "temperature_handler_node", |
| "thermal_load_notify_nodes" |
| ] |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "thermal_shutdown_temperature": { |
| "type": "number" |
| }, |
| "controller_params": { |
| "type": "object", |
| "properties": { |
| "sample_interval": { |
| "type": "number", |
| "exclusiveMinimum": 0 |
| }, |
| "filter_time_constant": { |
| "type": "number", |
| "exclusiveMinimum": 0 |
| }, |
| "target_temperature": { |
| "type": "number", |
| "minimum": 30.0, |
| "maximum": 110.0 |
| }, |
| "e_integral_min": { |
| "type": "number", |
| "maximum": 0 |
| }, |
| "e_integral_max": { |
| "type": "number", |
| "minimum": 0 |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "sample_interval", |
| "filter_time_constant", |
| "target_temperature", |
| "e_integral_min", |
| "e_integral_max" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "thermal_shutdown_temperature", |
| "controller_params" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "ThermalSensorManager" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "temperature_handler_nodes": { |
| "type": "array", |
| "items": { |
| "type": "string" |
| } |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "temperature_handler_nodes" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "ThermalShutdown" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "platform_metrics_node": { |
| "type": "string" |
| }, |
| "system_shutdown_node": { |
| "type": "string" |
| }, |
| "temperature_handler_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "platform_metrics_node", |
| "system_shutdown_node", |
| "temperature_handler_node" |
| ] |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "thermal_shutdown_temperature_c": { |
| "type": "number" |
| }, |
| "poll_interval_s": { |
| "type": "number" |
| }, |
| "filter_time_constant_s": { |
| "type": "number" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "thermal_shutdown_temperature_c", |
| "poll_interval_s", |
| "filter_time_constant_s" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "LidShutdown" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "system_shutdown_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "system_shutdown_node" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "dependencies" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "SyscallHandler" |
| }, |
| "name": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "SystemPowerModeHandler" |
| }, |
| "name": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name" |
| ] |
| }, |
| { |
| "properties": { |
| "type": { |
| "pattern": "ThermalStateHandler" |
| }, |
| "name": { |
| "type": "string" |
| }, |
| "config": { |
| "type": "object", |
| "properties": { |
| "thermal_config_path": { |
| "type": "string" |
| }, |
| "enable_client_state_connector": { |
| "type": "boolean" |
| }, |
| "enable_cpu_thermal_state_connector": { |
| "type": "boolean" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "enable_client_state_connector", |
| "enable_cpu_thermal_state_connector" |
| ] |
| }, |
| "dependencies": { |
| "type": "object", |
| "properties": { |
| "platform_metrics_node": { |
| "type": "string" |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "platform_metrics_node" |
| ] |
| } |
| }, |
| "additionalProperties": false, |
| "required": [ |
| "type", |
| "name", |
| "config" |
| ] |
| } |
| ] |
| } |
| } |