History log of /openbmc/dbus-sensors/src/ (Results 1 – 25 of 601)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d7be555e19-Sep-2024 George Liu <liuxiwei@ieisystem.com>

Move source files into application-specific sub-directories

Currently, dbus-sensors implement multiple applications:
- psusensor
- adcsensor
- intelcpusensor
- hwmontempsensor
- ipmbsensor
- n

Move source files into application-specific sub-directories

Currently, dbus-sensors implement multiple applications:
- psusensor
- adcsensor
- intelcpusensor
- hwmontempsensor
- ipmbsensor
- nvmesensor
- externalsensor
- mcutempsensor
- intrusionsensor
- fansensor
- exitairtempsensor

This commit is to create separate directories for each application so
that things can be separated more easily and the files are smaller,
instead of creating one huge file for the sensor implementation.

There was some discussion in discord on this. [1][2]

[1]: https://discord.com/channels/775381525260664832/1187158775438778408/1284106093756289067
[2]: https://discord.com/channels/775381525260664832/867820390406422538/1303217796821553214

Signed-off-by: George Liu <liuxiwei@ieisystem.com>
Change-Id: I258fc2ee7d8f939c7b83a07350395e78775b2b8d

show more ...

5b74aba706-Sep-2024 Yikai Tsai <yikai.tsai.wiwynn@gmail.com>

PSUSensor: add ISL28022 support

Add device ISL28022 reading support.

Tested:
Get ISL28022 reading from PSUSensor by dbus introspect.

Change-Id: I0260edd5bf967aee13f7d94297eff56ce285686f
Signed-off

PSUSensor: add ISL28022 support

Add device ISL28022 reading support.

Tested:
Get ISL28022 reading from PSUSensor by dbus introspect.

Change-Id: I0260edd5bf967aee13f7d94297eff56ce285686f
Signed-off-by: Yikai Tsai <yikai.tsai.wiwynn@gmail.com>

show more ...

cb5139dc24-Oct-2024 Patrick Williams <patrick@stwcx.xyz>

sensorpaths: adjust case for 'utilization'

The path case 'Utilization' doesn't match the dbus specifications.
This issue was reported on Discord[1]. Change to lowercase to match
the rest of the pat

sensorpaths: adjust case for 'utilization'

The path case 'Utilization' doesn't match the dbus specifications.
This issue was reported on Discord[1]. Change to lowercase to match
the rest of the paths and the specifications.

[1]: https://discord.com/channels/775381525260664832/1187158775438778408/1298446074738118797

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I16cf1f9dc327cce0ea14b252f41c55eff73ead9a

show more ...

8392900206-Mar-2024 Chris Cain <cjcain@us.ibm.com>

Move GPIO presence object to its own files

This commit moves and renames the PresenceSensor to PresenceGpio
from TachSensors to its own file so that it can be used for more
than just fans.
It is cur

Move GPIO presence object to its own files

This commit moves and renames the PresenceSensor to PresenceGpio
from TachSensors to its own file so that it can be used for more
than just fans.
It is currently only used for GPIO presence monitoring for fans.

This commit maintains the same functionality as the original code.
Once the objects is created for a GPIO, it will be monitoring for
gpiod::line_request::EVENT_BOTH_EDGES changes. The user can call
isPresent() anytime to read the presence status.

Interface:
EventPresenceGpio(const std::string& iDeviceType,
const std::string& iDeviceName,
const std::string& gpioName, bool inverted,
boost::asio::io_context& io);
Sample usage:
presenceGpio = std::make_unique<EventPresenceGpio>(
"Fan", "Fan4b", "FAN4_PRESENCE_R_N", true, io);
if (presenceGpio->isPresent())
{
// Fan is present
}

Testing: Unable to test this update because no hardware supporting
event driven GPIO detection available.

Change-Id: I1f1a4cbab39d3e3ab38b30288f6aa199ee0cfe3c
Signed-off-by: Chris Cain <cjcain@us.ibm.com>

show more ...

416c96a619-Sep-2024 Chau Ly <chaul@amperecomputing.com>

psusensor: Check active state before activation

The activate() function of PSUSensor is not only called in the sensor's
constructor, but also directly from outside by the createSensors()
function in

psusensor: Check active state before activation

The activate() function of PSUSensor is not only called in the sensor's
constructor, but also directly from outside by the createSensors()
function in PSUSensorMain in case of a power state change. The power
state change matches include watches on both chassis state and host
state, which will be triggered more than one on a power change. This
works fine for PSU sensors which are present in the off state of host.
However, as the sensor type list expands to support more drivers that
function the same way, some types are not available during host-off.
Therefore, when host goes off and on again, those sensors will be
activated repeatedly following the power change signal and cause error
on inputDev, leading to coredump [1].

This commit checks activation state of a sensor before activating it.

Tested:

1. Configure one PSU sensor with "PowerState": "On" in EM
2. BMC boots with host On
3. Turn off host
4. Turn on host
=> No coredump, the sensor is successfully activated and runs again

[1] Journal log:
psusensor: terminate called after throwing an instance of
'boost::wrapexcept<boost::system::system_error>'

psusensor: what(): open: Already open [asio.misc:1 at
/usr/include/boost/asio/detail/impl/io_uring_file_service.ipp:53:5 in
function 'boost::system::error_code
boost::asio::detail::io_uring_file_service::open(implementation_type&,
const char*, boost::asio::file_base::flags,
boost::system::error_code&)']

Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Change-Id: I0e02ea9973112ad56cf92a250aca7dc71d0893e2

show more ...

c4ddf64d09-Jul-2024 Chau Ly <chaul@amperecomputing.com>

PSUSensor: Add smpro-hwmon sensor type

This commit adds smpro-hwmon driver as a new sensor type to the type
list of PSUSensor, as they have the same sysfs appearances and the same
way to read sensor

PSUSensor: Add smpro-hwmon sensor type

This commit adds smpro-hwmon driver as a new sensor type to the type
list of PSUSensor, as they have the same sysfs appearances and the same
way to read sensors.

But as there are 3 different drivers applied for the smpro MFD devices
of Ampere (smpro-hwmon is one). The hwmon path result from smpro-hwmon
will be different from other pmbus drivers that have device path points
directly to the i2c device path. The current implementation of PSUSensor
to get i2c bus, address only works for the later case, so this commit
uses regex to look for it instead and makes it work for wider cases.

Example:

`root@mtjade:/sys/class/hwmon# ls -la hwmon8 hwmon9
hwmon8 -> ../../devices/platform/xxx/1e78a0c0.i2c-bus/i2c-2/2-004e/\
smpro-hwmon.3.auto/hwmon/hwmon8

hwmon9 -> ../../devices/platform/xxx/1e78a1c0.i2c-bus/i2c-6/6-0058/\
hwmon/hwmon9

root@mtjade:/sys/class/hwmon# ls -la hwmon8/device hwmon9/device
hwmon8/device -> ../../2-004e/smpro-hwmon.3.auto
hwmon9/device -> ../../../6-0058

Tested on Ampere's Mt.Jade platform:
PSUSensor successfully maps Entity-Manager configurations with sysfs of
smpro-hwmon sensors, and reads values.

Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Change-Id: I0ea0828e8726719969071a18bb27115c7cc71a9f

show more ...

e1dcb5c121-Aug-2024 Yang Chen <yang.chen@quantatw.com>

PwmSensor: Fix function getValue returns wrong data type

Function "getValue" is defined as uint32_t but returns -1 in some cases.
Follow the function comment to change the return value from -1 to 0.

PwmSensor: Fix function getValue returns wrong data type

Function "getValue" is defined as uint32_t but returns -1 in some cases.
Follow the function comment to change the return value from -1 to 0.

Change-Id: Ifd228c94e4ebe14d9bdea953506d17371f9e5f79
Signed-off-by: Yang Chen <yang.chen@quantatw.com>

show more ...

f2fc1b3e29-Aug-2024 Vikash Chandola <vikash.chandola@intel.com>

psusensor: Check for present field before using

Using Present field in cpuPresenceHandler without checking for it's
availability may lead to undefined behavior. Check for "Present" field
presence in

psusensor: Check for present field before using

Using Present field in cpuPresenceHandler without checking for it's
availability may lead to undefined behavior. Check for "Present" field
presence in received signal message before using it.

Tested: psusensor rejected signals if "Present" field is absent.

Change-Id: I083f2c7cfb8b5208eebf85518f8859eee262cf58
Signed-off-by: Vikash Chandola <vikash.chandola@intel.com>

show more ...

1048077913-Sep-2024 Hieu Huynh <hieuh@os.amperecomputing.com>

HwmonTemp: add TMP468 support

Tested:
Verified that HwmonTempSensor generates the TMP468 dbus object.

Change-Id: Ida22cb6050a510563c490246277f277c989a46eb
Signed-off-by: Hieu Huynh <hieuh@os.ampere

HwmonTemp: add TMP468 support

Tested:
Verified that HwmonTempSensor generates the TMP468 dbus object.

Change-Id: Ida22cb6050a510563c490246277f277c989a46eb
Signed-off-by: Hieu Huynh <hieuh@os.amperecomputing.com>

show more ...

982d99f120-Aug-2024 Ian Chien <ianchien.wiwynn@gmail.com>

PSUSensor: Add RTQ6056 supports

Add device RTQ6056 reading support.
Test case: RTQ6056 can be read via PSU sensor service.

Change-Id: If7501d9e5cb95d2177b38fd7f89cafb221f26050
Signed-off-by: Ian Ch

PSUSensor: Add RTQ6056 supports

Add device RTQ6056 reading support.
Test case: RTQ6056 can be read via PSU sensor service.

Change-Id: If7501d9e5cb95d2177b38fd7f89cafb221f26050
Signed-off-by: Ian Chien <ianchien.wiwynn@gmail.com>

show more ...

2aaf717516-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: Ib7af6345a7b9e858700bd81645fe87d9d7e9d0fb
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...

8b34f2c916-Jul-2024 Patrick Rudolph <patrick.rudolph@9elements.com>

TachSensor: Support multiple fans on the same GPIO

On IBM SBP1 two fans share the same enclosure, even though they can be
controlled independently as they have two distinct I2C PWM controllers
with

TachSensor: Support multiple fans on the same GPIO

On IBM SBP1 two fans share the same enclosure, even though they can be
controlled independently as they have two distinct I2C PWM controllers
with separate temperature sensors.
The fan enclosure occupies only one GPIO for presence detection.

Allow the same presence GPIO to be used within multiple TachSensors.

TEST: Used the same GPIO on two I2CFans, both disappear when unplugged.

Change-Id: I946e4579a361f00512eb707d2e5eb3b9ec7f2a55
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...

c82a409f23-Jul-2024 Ian Chien <ianchien.wiwynn@gmail.com>

PSUSensor: Add MAX11615 supports

Add device MAX11615 reading support.
Test case: MAX11615 can be read via PSU sensor service.

Change-Id: I2127c749eb2c371050190bb0737d59a1975434da
Signed-off-by: Ian

PSUSensor: Add MAX11615 supports

Add device MAX11615 reading support.
Test case: MAX11615 can be read via PSU sensor service.

Change-Id: I2127c749eb2c371050190bb0737d59a1975434da
Signed-off-by: Ian Chien <ianchien.wiwynn@gmail.com>

show more ...

8800c04523-Jul-2024 Andrew Geissler <geissonator@yahoo.com>

HwmonTemp: add TMP432 support

Tested:
- Confirmed system with TMP432 showed expected temperatures

Change-Id: I3ce9c64c8b226731c8979de408998260c29615aa
Signed-off-by: Andrew Geissler <geissonator@ya

HwmonTemp: add TMP432 support

Tested:
- Confirmed system with TMP432 showed expected temperatures

Change-Id: I3ce9c64c8b226731c8979de408998260c29615aa
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...

40baf77403-Jul-2024 PavanKumarIntel <pavanx.kumar.martha@intel.com>

Fix: Dimm Temp Sensor name change

Dimm names under /redfish/v1/Systems/system/Memory are not matching
with dimm names under /redfish/v1/Chassis/<Baseboard>/Sensors

Tested:
Before: "/redfish/v1

Fix: Dimm Temp Sensor name change

Dimm names under /redfish/v1/Systems/system/Memory are not matching
with dimm names under /redfish/v1/Chassis/<Baseboard>/Sensors

Tested:
Before: "/redfish/v1/Chassis/<Baseboard>/Sensors/
temperature_DIMM_A1_CPU1"
After: "/redfish/v1/Chassis/<Baseboard>/Sensors/
temperature_CPU1_DIMM_A1"

Change-Id: Ia302d6907eacd3630121c75a1f04fb386ba57d67
Signed-off-by: PavanKumarIntel <pavanx.kumar.martha@intel.com>

show more ...

457715b610-Apr-2024 Patrick Rudolph <patrick.rudolph@9elements.com>

PSUSensor: Fix CPU presence detection

Currently the CPU presence, indicated by 'CPURequired' property, is
board specific and there are boards making use of 0 based and boards
making use of 1 based C

PSUSensor: Fix CPU presence detection

Currently the CPU presence, indicated by 'CPURequired' property, is
board specific and there are boards making use of 0 based and boards
making use of 1 based CPU indices. It really doesn't matter as long
as the inventory uses the same indices and the inventory is board
specific as well.

Within dbus-sensors the indices read from the inventory are assumed
to be 0 based in one place and 1 based in another place.

This patch addresses CPUs that define the CPURequired property. CPUs
that don't have it were and are still unaffected and behavior is still
the same.

For CPUs that define the value, it depends when the CPU presence was
updated on dbus and when psusensors service was started. It's actually
undefined behavior since dbus-sensors race with the CPU presence
detection service.

- Fix that by always using the actual index read from the inventory,
making dbus-sensors consistent within itself and support 0 and 1 based
entity-manager configurations.
- Fix parsing intelcpusensor provided presence since it has an
underscore between 'cpu' and the digit.

Fixes PSU sensors missing for CPU0 when psusensors was started after
the CPU presence was updated on dbus and the board had 0 based CPU
indices in entity-manager configuration.

This change might regress on platforms when both conditions are true:
- psusensors was started after CPU presence was updated on dbus
- that use mixed indices (0 and 1 based) in inventory and
entity-manager configuration

Change-Id: Ieeb5989ef819f2d0a4a2aa9b593cb25b30e0194e
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>

show more ...

6e6618fa16-May-2024 Potin Lai <potin.lai@quantatw.com>

PSUSensor: add RAA228004 support

Add support for Renesas RAA228004 controller.

Test results:
1. add RAA228004 sensor config in EM
```
{
"Address": "0x60",
"Bus": 19,
"Labels": [

PSUSensor: add RAA228004 support

Add support for Renesas RAA228004 controller.

Test results:
1. add RAA228004 sensor config in EM
```
{
"Address": "0x60",
"Bus": 19,
"Labels": [
"iout1",
"pout1",
"temp1",
"vout1"
],
"Name": "PDB_VR_P12V_N1_RAA228004",
"Type": "RAA228004",
"iout1_Name": "PDB_VR_P12V_N1_CURR_A",
"pout1_Name": "PDB_VR_P12V_N1_PWR_W",
"temp1_Name": "PDB_VR_P12V_N1_TEMP_C",
"vout1_Name": "PDB_VR_P12V_N1_VOLT_V"
}
```

2. check sensors is create by psusensors successfully
```
root@bmc:~# busctl tree xyz.openbmc_project.PSUSensor | grep PDB_VR_P12V_N1
│ ├─ /xyz/openbmc_project/State/Decorator/PDB_VR_P12V_N1_RAA228004_OperationalStatus
│ ├─ /xyz/openbmc_project/sensors/current/PDB_VR_P12V_N1_CURR_A
│ ├─ /xyz/openbmc_project/sensors/power/PDB_VR_P12V_N1_PWR_W
│ ├─ /xyz/openbmc_project/sensors/temperature/PDB_VR_P12V_N1_TEMP_C
├─ /xyz/openbmc_project/sensors/voltage/PDB_VR_P12V_N1_VOLT_V
```

Change-Id: If64ca0e8cca2841877ebfafa30af88da5eae7834
Signed-off-by: Potin Lai <potin.lai@quantatw.com>

show more ...

8c13c28302-Jul-2024 Allen.Wang <Allen_Wang@quantatw.com>

PSUSensor: Add max11617 support

Add iio device max11617 reading support.

Change-Id: I5d76fab45dd40f231430c02456819e319832e706
Signed-off-by: Allen.Wang <Allen_Wang@quantatw.com>

e8a14e9125-Oct-2023 cchoux <cosmo.chou@quantatw.com>

psusensor: simplify the labelMatch table

It might be more efficient to simplify the labelMatch table by not
listing all labels. PSUProperty of the same type are mostly the same,
except for fan prope

psusensor: simplify the labelMatch table

It might be more efficient to simplify the labelMatch table by not
listing all labels. PSUProperty of the same type are mostly the same,
except for fan properties. Listing all labels can limit flexibility
and necessitate table modifications when adding new properties.
Simplifying the table could help alleviate these constraints.

Tested:
(1) Sensors defined in "Labels" (e.g. tempN, powerN, fanN, ...) can
be created successfully.
(2) PWM sensors (/sys/class/hwmon/hwmonX/fanN_target) can be created
with the names, "Pwm_PSUNAME_Fan_1", "Pwm_PSUNAME_Fan_2" ...
(3) FanFault PSUSubEvents can be asserted.

Change-Id: I789cdd5c5d0c5c92cca45700bd2095c166bdc564
Signed-off-by: Cosmo Chou <cosmo.chou@quantatw.com>

show more ...

d8e48df606-Jun-2024 Jeff Lin <JeffLin2@quantatw.com>

PSUSensor: Add MPQ8785 support

Tested: We can get sensor reading from this driver.

Change-Id: Ibb507c9c77012dbb41292f78c4c69ed2548ba491
Signed-off-by: Jeff Lin <JeffLin2@quantatw.com>

53896db507-Jun-2024 Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

HwmonTempSensor: Add support for EMC1403

Add support for EMC1403 temperature sensor.

Change-Id: Icea2e100e0630b4202f2278aa759dacfa30a5ddb
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.co

HwmonTempSensor: Add support for EMC1403

Add support for EMC1403 temperature sensor.

Change-Id: Icea2e100e0630b4202f2278aa759dacfa30a5ddb
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>

show more ...

9110dfc604-Jun-2024 Yi-Shum <EasonChen1@quantatw.com>

PSUSensor: add xdp710 support

Add device xdp710 reading support.

Change-Id: Id4b79dd4c782c39d75ac0305b9f66c94810531fe
Signed-off-by: Yi-Shum <EasonChen1@quantatw.com>

40c4d68519-May-2023 Potin Lai <potin.lai@quantatw.com>

fansensor: add compatible string for ast2600 tach

Add `aspeed,ast2600-pwm-tach` as compatible string for ast2600 pwm tach
driver.

This commit relies on the kernel patch below.
[1] https://lore.kern

fansensor: add compatible string for ast2600 tach

Add `aspeed,ast2600-pwm-tach` as compatible string for ast2600 pwm tach
driver.

This commit relies on the kernel patch below.
[1] https://lore.kernel.org/all/20240221104025.1306227-1-billy_tsai@aspeedtech.com/

Tested on Bletchley.

Change-Id: Ia2fcf6cd8856edfb15871a3b68a8ffbc13b8025d
Signed-off-by: Potin Lai <potin.lai@quantatw.com>

show more ...

394f0c5217-Dec-2023 Rebecca Cran <rebecca@bsdio.com>

ipmbsensor: add support for an Ampere SMPro on an IPMB

On ADLINK systems, the SMPro can be reached via the MMC (Module
Management Controller), which is a second BMC. It sits on an IPMB
bus.

Add sup

ipmbsensor: add support for an Ampere SMPro on an IPMB

On ADLINK systems, the SMPro can be reached via the MMC (Module
Management Controller), which is a second BMC. It sits on an IPMB
bus.

Add support for reading power, voltage, current and temperature values
from the SMPro.

Tested: built ipmbsensor and ran new ipmb unit tests.

Change-Id: Ib9862486a18f77fb58d3acd59de7686750029b56
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>

show more ...

828c5a6e09-Feb-2024 Ed Tanous <ed@tanous.net>

Add IpmbSensor unit tests

Because everything was packed into IpmbSensor.cpp, which also included
main(), this commit breaks it up into the patterns we have in other
sensors, with <X>main.cpp contain

Add IpmbSensor unit tests

Because everything was packed into IpmbSensor.cpp, which also included
main(), this commit breaks it up into the patterns we have in other
sensors, with <X>main.cpp containing the things for main.

While this doesn't clean up everything, it at least makes
processResponse unit testable, and adds one minor test for it.

Change-Id: I1eabf650ff635211e5b9a94816c2ffce250ed252
Signed-off-by: Ed Tanous <ed@tanous.net>

show more ...

12345678910>>...25