Home
last modified time | relevance | path

Searched full:pmbus (Results 1 – 25 of 307) sorted by relevance

12345678910>>...13

/openbmc/linux/Documentation/hwmon/
H A Dpmbus-core.rst2 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 Dmax34440.rst16 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 Ducd9000.rst35 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 Dpmbus_driver_device_tests.cpp19 #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 Ducd90x_device_tests.cpp19 #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 DBonnell.json8 "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 DEverest.json8 "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 DFuji.json6 "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 DRainier.json8 "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 DBlueRidge.json8 "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 Dpmbus.hpp9 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 Dpmbus.cpp16 #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 Dpmbus.hpp9 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 Dpmbus.cpp16 #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 DREADME.md53 - 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 Dpmbus_driver_device.hpp18 #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 Dpower_sequencer_device.hpp79 * 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 Drail.hpp79 * @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 Dpmbus.h3 * 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 Dversion.cpp20 #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 Dmodel.cpp20 #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 Dutils.hpp18 #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 Derror_history_tests.cpp35 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 Dpower_supply.hpp6 #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 DKconfig27 depends on PMBUS
28 default y if PMBUS
41 depends on PMBUS
45 depends on PMBUS

12345678910>>...13