Skip to content

Conversation

@pabloyangWW
Copy link
Contributor

[Task Description]
Added E1.S Boot device sensors to enhance system monitoring coverage and complete the sensor list for comprehensive power and thermal management.

[Motivation]
The E1.S Boot device lacked power telemetry monitoring (voltage, current, power) in the existing sensor configuration. Adding these sensors enables:

  • Real-time power consumption tracking for E1.S Boot device
  • Threshold-based alerting for voltage/current/power anomalies
  • Complete system-level power monitoring for better diagnostics and management

[Design]

  1. Added E1.S Boot INA233 power sensors (0x2F, 0x36, 0x44):

    • MB_INA233_E1S_Boot_VOLT_V (0x2F): E1.S Boot voltage monitoring

      • I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
      • Register: PMBUS_READ_VOUT
      • Thresholds: UNRT=14.3V, UCT=13.6V, UNCT=13.4V, LNRT=10.1V, LCT=10.4V, LNCT=10.5V
      • Rexp=-1 for proper voltage scaling
    • MB_INA233_E1S_Boot_CURR_A (0x36): E1.S Boot current monitoring

      • I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
      • Register: PMBUS_READ_IOUT
      • Thresholds: UNRT=2.2A, UCT=1.83A, UNCT=1.75A
      • Rexp=-2 with 2mΩ shunt resistor configuration
    • MB_INA233_E1S_Boot_PWR_W (0x44): E1.S Boot power monitoring

      • I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
      • Register: PMBUS_READ_POUT
      • Thresholds: UNRT=20.8W, UCT=20.6W, UNCT=20.4W
      • Rexp=-1 for power calculation

    All sensors use INA233 driver with vr_access handler and ina233_init_args[2] configuration (current_lsb=0.001, r_shunt=0.002Ω)

  2. Added E1.S temperature sensor (0x0D):

    • SENSOR_NUM_TEMP_SSD0 (MB_E1S_TEMP_C): E1.S device temperature
      • Using NVMe driver on I2C_BUS2
      • Threshold: UCT=75°C
      • Access control via m2_access handler for device presence check

[Test Result]
Tested on GC2-ES platform, all E1.S sensors reading correctly with proper thresholds:

root@bmc-oob:~# sensor-util server --threshold | grep E1S
MB_E1S_TEMP_C (0xD) : 58.000 C | (ok) | UCR: 75.000 | UNC: NA | UNR: NA | LCR: NA | LNC: NA | LNR: NA
MB_INA233_E1S_Boot_VOLT_V (0x2F) : 12.100 Volts | (ok) | UCR: 13.600 | UNC: 13.400 | UNR: 14.300 | LCR: 10.400 | LNC: 10.500 | LNR: 10.100
MB_INA233_E1S_Boot_CURR_A (0x36) : 0.290 Amps | (ok) | UCR: 1.830 | UNC: 1.750 | UNR: 2.200 | LCR: NA | LNC: NA | LNR: NA
MB_INA233_E1S_Boot_PWR_W (0x44) : 3.500 Watts | (ok) | UCR: 20.600 | UNC: 20.400 | UNR: 20.800 | LCR: NA | LNC: NA | LNR: NA

pabloyangWW and others added 2 commits December 9, 2025 05:40
Summary:
As title.

Description
As title.

Motivation
As title.
[Task Description]
Added E1.S Boot device sensors to enhance system monitoring coverage and complete the sensor list for comprehensive power and thermal management.

[Motivation]
The E1.S Boot device lacked power telemetry monitoring (voltage, current, power) in the existing sensor configuration. Adding these sensors enables:
- Real-time power consumption tracking for E1.S Boot device
- Threshold-based alerting for voltage/current/power anomalies
- Complete system-level power monitoring for better diagnostics and management

[Design]
1. Added E1.S Boot INA233 power sensors (0x2F, 0x36, 0x44):
   - MB_INA233_E1S_Boot_VOLT_V (0x2F): E1.S Boot voltage monitoring
     * I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
     * Register: PMBUS_READ_VOUT
     * Thresholds: UNRT=14.3V, UCT=13.6V, UNCT=13.4V, LNRT=10.1V, LCT=10.4V, LNCT=10.5V
     * Rexp=-1 for proper voltage scaling

   - MB_INA233_E1S_Boot_CURR_A (0x36): E1.S Boot current monitoring
     * I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
     * Register: PMBUS_READ_IOUT
     * Thresholds: UNRT=2.2A, UCT=1.83A, UNCT=1.75A
     * Rexp=-2 with 2mΩ shunt resistor configuration

   - MB_INA233_E1S_Boot_PWR_W (0x44): E1.S Boot power monitoring
     * I2C Address: 0x45 (0x8A >> 1) on I2C_BUS2
     * Register: PMBUS_READ_POUT
     * Thresholds: UNRT=20.8W, UCT=20.6W, UNCT=20.4W
     * Rexp=-1 for power calculation

   All sensors use INA233 driver with vr_access handler and ina233_init_args[2] configuration (current_lsb=0.001, r_shunt=0.002Ω)

2. Added E1.S temperature sensor (0x0D):
   - SENSOR_NUM_TEMP_SSD0 (MB_E1S_TEMP_C): E1.S device temperature
     * Using NVMe driver on I2C_BUS2
     * Threshold: UCT=75°C
     * Access control via m2_access handler for device presence check

[Test Result]
Tested on GC2-ES platform, all E1.S sensors reading correctly with proper thresholds:

root@bmc-oob:~# sensor-util server --threshold | grep E1S
MB_E1S_TEMP_C                (0xD) :  58.000 C     | (ok) | UCR: 75.000 | UNC: NA | UNR: NA | LCR: NA | LNC: NA | LNR: NA
MB_INA233_E1S_Boot_VOLT_V    (0x2F) :  12.100 Volts | (ok) | UCR: 13.600 | UNC: 13.400 | UNR: 14.300 | LCR: 10.400 | LNC: 10.500 | LNR: 10.100
MB_INA233_E1S_Boot_CURR_A    (0x36) :   0.290 Amps  | (ok) | UCR: 1.830 | UNC: 1.750 | UNR: 2.200 | LCR: NA | LNC: NA | LNR: NA
MB_INA233_E1S_Boot_PWR_W     (0x44) :   3.500 Watts | (ok) | UCR: 20.600 | UNC: 20.400 | UNR: 20.800 | LCR: NA | LNC: NA | LNR: NA
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Dec 29, 2025
@meta-codesync
Copy link

meta-codesync bot commented Dec 29, 2025

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this in D89877679. (Because this pull request was imported automatically, there will not be any future comments.)

@pabloyangWW pabloyangWW closed this Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants