/openbmc/linux/Documentation/hwmon/ |
H A D | pmbus-core.rst | 2 PMBus core driver and internal API 8 [from pmbus.org] The Power Management Bus (PMBus) is an open standard 18 promoted by the PMBus Implementers Forum (PMBus-IF), comprising 30+ adopters 21 Unfortunately, while PMBus commands are standardized, there are no mandatory 23 Also, different PMBUs devices act differently if non-supported commands are 27 Despite all those difficulties, a generic PMBus device driver is still useful 29 device specific extensions in addition to the core PMBus driver, since it is 30 simply unknown what new device specific functionality PMBus device developers 34 to modify the core PMBus driver repeatedly for new devices, the PMBus driver was 36 pmbus_core.c) provides generic functionality. The generic code (in pmbus.c) [all …]
|
H A D | max34440.rst | 16 PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller 26 PMBus Power-Supply Data Logger 36 PMBus 16-Channel V/I Monitor and 12-Channel Sequencer/Marginer 46 PMBus 12-Channel Voltage Monitor & Sequencer 56 PMBus 16-Channel Voltage Monitor & Sequencer 70 This driver supports hardware monitoring for Maxim MAX34440 PMBus 6-Channel 71 Power-Supply Manager, MAX34441 PMBus 5-Channel Power-Supply Manager 72 and Intelligent Fan Controller, and MAX34446 PMBus Power-Supply Data Logger. 73 It also supports the MAX34451, MAX34460, and MAX34461 PMBus Voltage Monitor & 78 The driver is a client driver to the core PMBus driver. Please see [all …]
|
H A D | ucd9000.rst | 35 The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and 43 The UCD90160 is a 16-rail PMBus/I2C addressable power-supply sequencer and 50 The UCD90320 is a 32-rail PMBus/I2C addressable power-supply sequencer and 56 The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and 63 The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and 67 This driver is a client driver to the core PMBus driver. Please see 68 Documentation/hwmon/pmbus.rst for details on PMBus client drivers. 82 The driver supports standard PMBus driver platform data. Please see 83 Documentation/hwmon/pmbus.rst for details.
|
/openbmc/phosphor-power/phosphor-power-sequencer/test/ |
H A D | pmbus_driver_device_tests.cpp | 19 #include "pmbus.hpp" 42 using namespace phosphor::pmbus; 66 * @param pageNum PMBus PAGE number of the rail 294 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST_F() local 295 EXPECT_CALL(pmbus, read("status13", Type::Debug, true)) in TEST_F() 314 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST_F() local 315 EXPECT_CALL(pmbus, read("status0", Type::Debug, true)) in TEST_F() 348 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST_F() local 349 EXPECT_CALL(pmbus, read("status13_vout", Type::Debug, true)) in TEST_F() 368 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST_F() local [all …]
|
H A D | ucd90x_device_tests.cpp | 19 #include "pmbus.hpp" 37 using namespace phosphor::pmbus; 98 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST() local 100 EXPECT_CALL(pmbus, read("mfr_status", Type::HwmonDeviceDebug, true)) in TEST() 117 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST() local 118 EXPECT_CALL(pmbus, read("mfr_status", Type::HwmonDeviceDebug, true)) in TEST() 174 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST() local 175 EXPECT_CALL(pmbus, getPath(Type::Hwmon)) in TEST() 178 EXPECT_CALL(pmbus, read("mfr_status", Type::HwmonDeviceDebug, true)) in TEST() 228 MockPMBus& pmbus = static_cast<MockPMBus&>(device.getPMBusInterface()); in TEST() local [all …]
|
/openbmc/phosphor-power/phosphor-regulators/config_files/ |
H A D | Bonnell.json | 8 "comments": ["Rule to set PMBus PAGE to 0"], 16 "comments": ["Rule to set PMBus PAGE to 1"], 24 "comments": ["Rule to set output voltage of a PMBus regulator"], 43 "Rule to set output voltage of PAGE 0 of a PMBus regulator" 54 "Rule to set output voltage of PAGE 1 of a PMBus regulator" 65 "Rule to set output voltage of a PMBus regulator using", 66 "PMBus OPERATION and VOUT_COMMAND" 72 "Set PMBus OPERATION to 0x80 indicating output voltage", 73 "is set by the PMBus VOUT_COMMAND" 80 "Set the output voltage using the PMBus VOUT_COMMAND" [all …]
|
H A D | Everest.json | 8 "comments": ["Rule to set PMBus PAGE to 0"], 16 "comments": ["Rule to set PMBus PAGE to 1"], 24 "comments": ["Rule to set output voltage of a PMBus regulator"], 43 "Rule to set output voltage of PAGE 0 of a PMBus regulator" 54 "Rule to set output voltage of PAGE 1 of a PMBus regulator" 65 "Rule to set output voltage of a PMBus regulator using", 66 "PMBus OPERATION and VOUT_COMMAND" 72 "Set PMBus OPERATION to 0x80 indicating output voltage", 73 "is set by the PMBus VOUT_COMMAND" 80 "Set the output voltage using the PMBus VOUT_COMMAND" [all …]
|
H A D | Fuji.json | 6 "comments": ["Rule to set PMBus PAGE to 0"], 14 "comments": ["Rule to set PMBus PAGE to 1"], 22 "comments": ["Rule to set output voltage of a PMBus regulator"], 41 "Rule to set output voltage of PAGE 0 of a PMBus regulator" 52 "Rule to set output voltage of PAGE 1 of a PMBus regulator" 63 "Rule to set output voltage of a PMBus regulator using", 64 "PMBus OPERATION and VOUT_COMMAND" 70 "Set PMBus OPERATION to 0x80 indicating output voltage", 71 "is set by the PMBus VOUT_COMMAND" 78 "Set the output voltage using the PMBus VOUT_COMMAND" [all …]
|
H A D | Rainier.json | 8 "comments": ["Rule to set PMBus PAGE to 0"], 16 "comments": ["Rule to set PMBus PAGE to 1"], 24 "comments": ["Rule to set output voltage of a PMBus regulator"], 43 "Rule to set output voltage of PAGE 0 of a PMBus regulator" 54 "Rule to set output voltage of PAGE 1 of a PMBus regulator" 65 "Rule to set output voltage of a PMBus regulator using", 66 "PMBus OPERATION and VOUT_COMMAND" 72 "Set PMBus OPERATION to 0x80 indicating output voltage", 73 "is set by the PMBus VOUT_COMMAND" 80 "Set the output voltage using the PMBus VOUT_COMMAND" [all …]
|
H A D | BlueRidge.json | 8 "comments": ["Rule to set PMBus PAGE to 0"], 16 "comments": ["Rule to set PMBus PAGE to 1"], 24 "comments": ["Rule to set output voltage of a PMBus regulator"], 43 "Rule to set output voltage of PAGE 0 of a PMBus regulator" 54 "Rule to set output voltage of PAGE 1 of a PMBus regulator" 65 "Rule to set output voltage of a PMBus regulator using", 66 "PMBus OPERATION and VOUT_COMMAND" 72 "Set PMBus OPERATION to 0x80 indicating output voltage", 73 "is set by the PMBus VOUT_COMMAND" 80 "Set the output voltage using the PMBus VOUT_COMMAND" [all …]
|
/openbmc/witherspoon-pfault-analysis/ |
H A D | pmbus.hpp | 9 namespace pmbus namespace 14 // The file name Linux uses to capture the STATUS_WORD from pmbus. 17 // The file name Linux uses to capture the STATUS_INPUT from pmbus. 97 Debug, // pmbus debug directory 103 * @class PMBus 105 * This class is an interface to communicating with PMBus devices 112 class PMBus class 115 PMBus() = delete; 116 ~PMBus() = default; 117 PMBus(const PMBus&) = default; [all …]
|
H A D | pmbus.cpp | 16 #include "pmbus.hpp" 28 namespace pmbus namespace 47 std::string PMBus::insertPageNum(const std::string& templateName, size_t page) in insertPageNum() 61 fs::path PMBus::getPath(Type type) in getPath() 74 return debugPath / "pmbus" / hwmonDir; in getPath() 83 return debugPath / "pmbus" / hwmonDir / getDeviceName(); in getPath() 88 std::string PMBus::getDeviceName() in getDeviceName() 103 log<level::ERR>("Unable to read PMBus device name", in getDeviceName() 110 bool PMBus::readBitInPage(const std::string& name, size_t page, Type type) in readBitInPage() 116 bool PMBus::readBit(const std::string& name, Type type) in readBit() [all …]
|
/openbmc/phosphor-power/ |
H A D | pmbus.hpp | 9 namespace pmbus namespace 14 // The file name Linux uses to capture the READ_VIN from pmbus. 17 // The file name Linux uses to capture the MFR_POUT_MAX from pmbus. 37 // The file name Linux uses to capture the STATUS_WORD from pmbus. 40 // The file name Linux uses to capture the STATUS_INPUT from pmbus. 135 // From PMBus Specification Part II Revsion 1.2: 158 Debug, // pmbus debug directory 166 * This is a base class for PMBus to assist with unit testing via mocking. 188 * Wrapper function for PMBus 199 * @class PMBus [all …]
|
H A D | pmbus.cpp | 16 #include "pmbus.hpp" 28 namespace pmbus namespace 47 std::string PMBus::insertPageNum(const std::string& templateName, size_t page) in insertPageNum() 61 fs::path PMBus::getPath(Type type) in getPath() 74 return debugPath / "pmbus" / hwmonDir; in getPath() 83 return debugPath / "pmbus" / hwmonDir / getDeviceName(); in getPath() 88 std::string PMBus::getDeviceName() in getDeviceName() 103 log<level::ERR>((std::string("Unable to read PMBus device name " in getDeviceName() 112 bool PMBus::readBitInPage(const std::string& name, size_t page, Type type) in readBitInPage() 118 bool PMBus::readBit(const std::string& name, Type type) in readBit() [all …]
|
H A D | README.md | 53 - Where to access the pmbus attributes 54 - Which attribute file in pmbus maps to which property and interface in D-Bus 60 - `inventoryPMBusAccessType` defines the pmbus access type, which tells the 65 - Debug: The pmbus debug dir, e.g. `/sys/kernel/debug/pmbus/hwmonX/` 69 `/sys/kernel/debug/pmbus/hwmonX/cffps1/` 73 specified by the above pmbus access type, and assign to `PartNumber` property
|
/openbmc/phosphor-power/phosphor-power-sequencer/src/ |
H A D | pmbus_driver_device.hpp | 18 #include "pmbus.hpp" 40 * PMBus device driver. 116 * Returns interface to the PMBus information that is provided by the device 119 * @return PMBus interface object 121 pmbus::PMBusBase& getPMBusInterface() in getPMBusInterface() 142 * Returns map from PMBus PAGE numbers to sysfs hwmon file numbers. 158 * Returns the hwmon file number that corresponds to the specified PMBus 164 * @param page PMBus PAGE number 173 // Rebuild PMBus PAGE to hwmon file number map in prepareForPgoodFaultDetection() 181 * Build mapping from PMBus PAGE numbers to the hwmon file numbers in [all …]
|
H A D | power_sequencer_device.hpp | 79 * Returns the value of the PMBus STATUS_WORD command for the specified 80 * PMBus page. 87 * @param page PMBus page 93 * Returns the value of the PMBus STATUS_VOUT command for the specified 94 * PMBus page. 99 * @param page PMBus page 105 * Returns the value of the PMBus READ_VOUT command for the specified 106 * PMBus page. 113 * @param page PMBus page 119 * Returns the value of the PMBus VOUT_UV_FAULT_LIMIT command for the [all …]
|
H A D | rail.hpp | 79 * @param page Optional PMBus PAGE number of the rail. Required if 83 * @param checkStatusVout Specifies whether to check the value of the PMBus 104 throw std::invalid_argument{"PMBus PAGE is required"}; 130 * Returns the PMBus PAGE number of the rail. 150 * Returns whether the value of the PMBus STATUS_VOUT command is checked 192 * Returns the value of the PMBus STATUS_WORD command for the rail. 205 * Returns the value of the PMBus STATUS_VOUT command for the rail. 217 * Returns the value of the PMBus READ_VOUT command for the rail. 230 * Returns the value of the PMBus VOUT_UV_FAULT_LIMIT command for the rail. 260 * Returns whether the PMBus STATUS_VOUT command indicates a pgood fault [all …]
|
/openbmc/linux/include/linux/ |
H A D | pmbus.h | 3 * Hardware monitoring driver for PMBus devices 21 * Some PMBus chips respond with valid data when trying to read an unsupported 24 * Other PMBus chips don't support the STATUS_CML register, or report 40 * Some PMBus chips don't respond with valid data when reading the CAPABILITY 41 * register. For such chips, this flag should be set so that the PMBus core 49 * Some PMBus chips end up in an undefined state when trying to read an 51 * chip pmbus controller to a known state after a failed register check. 62 * Some PMBus chips respond with invalid data when reading the WRITE_PROTECT 63 * register. For such chips, this flag should be set so that the PMBus core 71 * When this flag is set the PMBus core driver will use the COEFFICIENTS
|
/openbmc/phosphor-power/tools/power-utils/ |
H A D | version.cpp | 20 #include "pmbus.hpp" 42 // PsuInfo contains the device path, PMBus access type, and sysfs file name 44 std::tuple<std::string, phosphor::pmbus::Type, std::string>; 51 * @return tuple - device path, PMBus access type, and sysfs file name 109 // Get PSU device path, PMBus access type, and sysfs file name from JSON in getVersionJson() 116 phosphor::pmbus::PMBus pmbus(devicePath); in getVersionJson() local 117 version = pmbus.readString(fileName, type); in getVersionJson() 137 // Get PSU I2C bus/address and create PMBus interface in getVersionDbus() 139 auto pmbus = getPmbusIntf(i2cbus, i2caddr); in getVersionDbus() local 143 auto type = phosphor::pmbus::Type::HwmonDeviceDebug; in getVersionDbus() [all …]
|
H A D | model.cpp | 20 #include "pmbus.hpp" 101 // Get PMBus access type from JSON in getModelJson() 102 phosphor::pmbus::Type type = getPMBusAccessType(data); in getModelJson() 105 phosphor::pmbus::PMBus pmbus(devicePath); in getModelJson() local 106 std::string model = pmbus.readString(fileName, type); in getModelJson() 125 // Get PSU I2C bus/address and create PMBus interface in getModelDbus() 127 auto pmbus = getPmbusIntf(i2cBus, i2cAddr); in getModelDbus() local 131 auto type = phosphor::pmbus::Type::HwmonDeviceDebug; in getModelDbus() 132 std::string model = pmbus->readString(fileName, type); in getModelDbus()
|
H A D | utils.hpp | 18 #include "pmbus.hpp" 51 * @brief Get PMBus interface pointer 56 * @return Pointer to PSU PMBus interface 58 std::unique_ptr<phosphor::pmbus::PMBusBase> 62 * @brief Reads a VPD value from PMBus, corrects size, and contents. 68 * @param[in] pmbusIntf - PMBus Interface. 75 std::string readVPDValue(phosphor::pmbus::PMBusBase& pmbusIntf, 77 const phosphor::pmbus::Type& type,
|
/openbmc/phosphor-power/phosphor-regulators/test/ |
H A D | error_history_tests.cpp | 35 EXPECT_FALSE(history.wasLogged(ErrorType::pmbus)); in TEST() 49 history.setWasLogged(ErrorType::pmbus, true); in TEST() 58 EXPECT_TRUE(history.wasLogged(ErrorType::pmbus)); in TEST() 69 EXPECT_FALSE(history.wasLogged(ErrorType::pmbus)); in TEST() 88 EXPECT_FALSE(history.wasLogged(ErrorType::pmbus)); in TEST() 89 history.setWasLogged(ErrorType::pmbus, true); in TEST() 90 EXPECT_TRUE(history.wasLogged(ErrorType::pmbus)); in TEST() 91 history.setWasLogged(ErrorType::pmbus, false); in TEST() 92 EXPECT_FALSE(history.wasLogged(ErrorType::pmbus)); in TEST()
|
/openbmc/phosphor-power/power-supply/ |
H A D | power_supply.hpp | 6 #include "pmbus.hpp" 27 * Represents a PMBus power supply device. 61 * Various PMBus status bits will be checked for fault conditions. 68 * Write PMBus CLEAR_FAULTS 99 * The path to use for reading various PMBus bits/words. 104 * @brief Pointer to the PMBus interface 107 * that a device driver monitors the PMBus interface to the power 110 phosphor::pmbus::PMBus pmbusIntf; 183 /** @brief Has a PMBus read failure already been logged? */ 266 * @brief The type of the power supply inventory pmbus access. [all …]
|
/openbmc/qemu/hw/sensor/ |
H A D | Kconfig | 27 depends on PMBUS 28 default y if PMBUS 41 depends on PMBUS 45 depends on PMBUS
|