edition = "2023";

package milotic_tlbmc;

import "entity_common_config.proto";
import "hal_common_config.proto";
import "sensor_instance_properties.proto";

enum IntelCpuSensorType {
  INTEL_CPU_SENSOR_TYPE0_UNKNOWN = 0;
  INTEL_CPU_SENSOR_TYPE1_XEON_CPU = 1;
}

// Config for an Intel CPU sensor device.
// A single device config might generate multiple sensors.
message IntelCpuSensorConfig {
  IntelCpuSensorType type = 1;
  HalCommonConfig hal_common_config = 2;
  EntityCommonConfig entity_common_config = 3;
  // Each IntelCpuSensorConfig is associated with a single CPU. The CPU ID is a
  // unique numeric identifier to concatenate with CPU to form the expected CPU
  // sensor name e.g. temperature_Die_CPU0
  uint32 cpu_id = 4;
  // Dts offset represents an optional scaled offset to the Digital Thermal
  // Sensor (DTS) reading
  // https://lwn.net/Articles/758101/#:~:text=Introduction%20of%20the%20Platform%20Environment,via%20the%20processor%20PECI%20client.
  double dts_offset = 5;
  // IntelCpuSensors can be associated with separate related items despite being
  // defined in the same config e.g. DIMMs, CPUs. This map allows for specifying
  // the related item for each sensor name.
  // If not specified, default to the associated cpu (determined by cpu_id)
  map<string, SensorInstanceProperties> label_to_sensor_instance_properties = 6;
}
