/openbmc/phosphor-power/phosphor-power-sequencer/test/ |
H A D | rail_tests.cpp | 19 #include "rail.hpp" 63 Rail rail{name, in TEST() local 71 EXPECT_EQ(rail.getName(), "12.0V"); in TEST() 72 EXPECT_FALSE(rail.getPresence().has_value()); in TEST() 73 EXPECT_FALSE(rail.getPage().has_value()); in TEST() 74 EXPECT_TRUE(rail.isPowerSupplyRail()); in TEST() 75 EXPECT_FALSE(rail.getCheckStatusVout()); in TEST() 76 EXPECT_FALSE(rail.getCompareVoltageToLimit()); in TEST() 77 EXPECT_FALSE(rail.getGPIO().has_value()); in TEST() 90 Rail rail{name, in TEST() local [all …]
|
H A D | standard_device_tests.cpp | 18 #include "rail.hpp" 64 std::vector<std::unique_ptr<Rail>> rails) : in StandardDeviceImpl() 82 * Creates a Rail object that checks for a pgood fault using STATUS_VOUT. 84 * @param name Unique name for the rail 85 * @param isPowerSupplyRail Specifies whether the rail is produced by a 87 * @param pageNum PMBus PAGE number of the rail 88 * @return Rail object 90 std::unique_ptr<Rail> createRailStatusVout( in createRailStatusVout() 98 return std::make_unique<Rail>(name, presence, page, isPowerSupplyRail, in createRailStatusVout() 103 * Creates a Rail object that checks for a pgood fault using a GPIO. [all …]
|
H A D | ucd90x_device_tests.cpp | 20 #include "rail.hpp" 43 * Creates a Rail object that checks for a pgood fault using a GPIO. 45 * @param name Unique name for the rail 46 * @param gpio GPIO line to read to determine the pgood status of the rail 47 * @return Rail object 49 static std::unique_ptr<Rail> createRail(const std::string& name, in createRail() 59 return std::make_unique<Rail>(name, presence, page, isPowerSupplyRail, in createRail() 68 std::vector<std::unique_ptr<Rail>> rails; in TEST() 93 std::vector<std::unique_ptr<Rail>> rails; in TEST() 112 std::vector<std::unique_ptr<Rail>> rails; in TEST() [all …]
|
/openbmc/phosphor-power/phosphor-power-sequencer/src/ |
H A D | rail.hpp | 37 * status of a voltage rail. 56 * @class Rail 58 * A voltage rail that is enabled or monitored by the power sequencer device. 60 class Rail class 64 Rail() = delete; 65 Rail(const Rail&) = delete; 66 Rail(Rail&&) = delete; 67 Rail& operator=(const Rail&) = delete; 68 Rail& operator=(Rail&&) = delete; 69 ~Rail() = default; [all …]
|
H A D | standard_device.cpp | 39 // obtain, so obtain them once and then pass values to each Rail object. in findPgoodFault() 42 // Try to find a voltage rail where a pgood fault occurred in findPgoodFault() 43 Rail* rail = in findPgoodFault() local 45 if (rail != nullptr) in findPgoodFault() 48 "Pgood fault found in rail monitored by device {}", name)); in findPgoodFault() 50 // If this is a PSU rail and a PSU error was previously detected in findPgoodFault() 51 if (rail->isPowerSupplyRail() && !powerSupplyError.empty()) in findPgoodFault() 87 Rail* StandardDevice::findRailWithPgoodFault( in findRailWithPgoodFault() 91 // Look for the first rail in the power on sequence with a pgood fault based in findRailWithPgoodFault() 95 // STATUS_VOUT for the rail with the pgood fault. However, all the related in findRailWithPgoodFault() [all …]
|
H A D | rail.cpp | 17 #include "rail.hpp" 29 bool Rail::isPresent(Services& services) in isPresent() 31 // Initially assume rail is present in isPresent() 45 "Unable to determine presence of rail {} using inventory path {}: {}", in isPresent() 53 uint16_t Rail::getStatusWord(PowerSequencerDevice& device) in getStatusWord() 64 std::format("Unable to read STATUS_WORD value for rail {}: {}", in getStatusWord() 70 uint8_t Rail::getStatusVout(PowerSequencerDevice& device) in getStatusVout() 81 std::format("Unable to read STATUS_VOUT value for rail {}: {}", in getStatusVout() 87 double Rail::getReadVout(PowerSequencerDevice& device) in getReadVout() 98 "Unable to read READ_VOUT value for rail {}: {}", name, e.what())}; in getReadVout() [all …]
|
/openbmc/phosphor-power/phosphor-regulators/src/ |
H A D | rail.hpp | 35 * @class Rail 37 * A voltage rail produced by a voltage regulator. 39 * Voltage regulators produce one or more rails. Each rail typically provides a 42 class Rail class 46 Rail() = delete; 47 Rail(const Rail&) = delete; 48 Rail(Rail&&) = delete; 49 Rail& operator=(const Rail&) = delete; 50 Rail& operator=(Rail&&) = delete; 51 ~Rail() = default; [all …]
|
H A D | id_map.hpp | 27 class Rail; 33 * This class provides a mapping from string IDs to the associated Device, Rail, 57 * Adds the specified rail to this IDMap. 59 * Throws invalid_argument if the rail's ID already exists in the map. 61 * @param rail rail to add 63 void addRail(Rail& rail); 94 * Returns the rail with the specified ID. 96 * Throws invalid_argument if no rail is found with specified ID. 98 * @param id rail ID 99 * @return rail with specified ID [all …]
|
H A D | device.cpp | 35 for (std::unique_ptr<Rail>& rail : rails) in addToIDMap() 37 idMap.addRail(*rail); in addToIDMap() 59 // Clear error history in each rail in clearErrorHistory() 60 for (std::unique_ptr<Rail>& rail : rails) in clearErrorHistory() 62 rail->clearErrorHistory(); in clearErrorHistory() 100 for (std::unique_ptr<Rail>& rail : rails) in configure() 102 rail->configure(services, system, chassis, *this); in configure() 127 // Monitor sensors in each rail in monitorSensors() 128 for (std::unique_ptr<Rail>& rail : rails) in monitorSensors() 130 rail->monitorSensors(services, system, chassis, *this); in monitorSensors()
|
H A D | configuration.hpp | 33 class Rail; 39 * Configuration changes that should be applied to a device or regulator rail. 43 * regulator rail. Other examples include modifying pgood thresholds and 71 * @param actions actions that configure the device/rail 93 * Executes the actions to configure the specified rail. 101 * @param device device that contains the rail 102 * @param rail rail to configure 105 Device& device, Rail& rail); 108 * Returns the actions that configure the device/rail. 129 * Executes the actions to configure a device or rail. [all …]
|
H A D | sensor_monitoring.hpp | 32 class Rail; 38 * Defines how to read the sensors for a voltage rail, such as voltage output, 47 * read multiple sensors for a rail, multiple actions need to be executed. 63 * @param actions actions that read the sensors for a rail 84 * Executes the actions to read the sensors for a rail. 89 * @param device device that contains the rail 90 * @param rail rail associated with the sensors 93 Device& device, Rail& rail); 96 * Returns the actions that read the sensors for a rail. 107 * Actions that read the sensors for a rail.
|
H A D | sensors.hpp | 139 * Each voltage rail in the system may provide multiple types of sensor data, 141 * sensor tracks one of these data types for a voltage rail. 146 * each rail. During a monitoring cycle, the following sensor service methods 149 * - startRail() // Before reading all the sensors for one rail 150 * - setValue() // To set the value of one sensor for the current rail 151 * - endRail() // After reading all the sensors for one rail 189 * current voltage rail. 192 * read all the sensors for the current rail 205 * Sets the value of one sensor for the current voltage rail. 221 * specified voltage rail. [all …]
|
H A D | dbus_sensors.cpp | 53 // If an error occurred, set all sensors for current rail to the error state in endRail() 58 if (sensor->getRail() == rail) in endRail() 65 // Clear current rail information in endRail() 66 rail.clear(); in endRail() 82 // Build unique sensor name based on rail and sensor type in setValue() 83 std::string sensorName{rail + '_' + sensors::toString(type)}; in setValue() 96 bus, sensorName, type, value, rail, deviceInventoryPath, in setValue() 109 void DBusSensors::startRail(const std::string& rail, in startRail() argument 113 // Store current rail information; used later by setValue() and endRail() in startRail() 114 this->rail = rail; in startRail()
|
H A D | sensor_monitoring.cpp | 25 #include "rail.hpp" 44 Chassis& chassis, Device& device, Rail& rail) in execute() argument 46 // Notify sensors service that monitoring is starting for this rail in execute() 48 sensors.startRail(rail.getID(), device.getFRU(), in execute() 51 // Read all sensors defined for this rail in execute() 72 "Unable to monitor sensors for rail " + rail.getID()); in execute() 84 // Notify sensors service that monitoring has ended for this rail in execute()
|
H A D | rail.cpp | 17 #include "rail.hpp" 26 void Rail::clearErrorHistory() in clearErrorHistory() 28 // If sensor monitoring is defined for this rail, clear its error history in clearErrorHistory() 35 void Rail::configure(Services& services, System& system, Chassis& chassis, in configure() 38 // If configuration changes are defined for this rail, apply them in configure() 45 void Rail::monitorSensors(Services& services, System& system, Chassis& chassis, in monitorSensors() 48 // If sensor monitoring is defined for this rail, read the sensors. in monitorSensors()
|
/openbmc/phosphor-power/phosphor-regulators/test/ |
H A D | rail_tests.cpp | 29 #include "rail.hpp" 58 Rail rail{"vdd0"}; in TEST() local 59 EXPECT_EQ(rail.getID(), "vdd0"); in TEST() 60 EXPECT_EQ(rail.getConfiguration(), nullptr); in TEST() 61 EXPECT_EQ(rail.getSensorMonitoring(), nullptr); in TEST() 80 // Create Rail in TEST() 81 Rail rail{"vddr1", std::move(configuration), in TEST() local 83 EXPECT_EQ(rail.getID(), "vddr1"); in TEST() 84 EXPECT_NE(rail.getConfiguration(), nullptr); in TEST() 85 EXPECT_EQ(rail.getConfiguration()->getVolts().has_value(), true); in TEST() [all …]
|
H A D | id_map_tests.cpp | 20 #include "rail.hpp" 91 // Create rail in TEST() 93 Rail rail{id}; in TEST() local 95 // Verify rail is not initially in map in TEST() 98 // Add rail to map in TEST() 99 idMap.addRail(rail); in TEST() 101 // Verify rail is now in map in TEST() 104 Rail& railFound = idMap.getRail(id); in TEST() 106 EXPECT_EQ(&railFound, &rail); in TEST() 113 // Verify different rail is not in map in TEST() [all …]
|
H A D | sensor_monitoring_tests.cpp | 31 #include "rail.hpp" 62 * Chassis, Device, and Rail objects. These objects are required in order to 65 * Creates the System, Chassis, Device, and Rail objects. The SensorMonitoring 66 * object is moved into the Rail object. 74 Rail*> 77 // Create Rail that contains SensorMonitoring in createParentObjects() 79 std::unique_ptr<Rail> rail = std::make_unique<Rail>( in createParentObjects() local 81 Rail* railPtr = rail.get(); in createParentObjects() 88 // Create Device that contains Rail in createParentObjects() 92 std::vector<std::unique_ptr<Rail>> rails{}; in createParentObjects() [all …]
|
H A D | device_tests.cpp | 32 #include "rail.hpp" 139 // Create vector of Rail objects in TEST_F() 140 std::vector<std::unique_ptr<Rail>> rails{}; in TEST_F() 141 rails.push_back(std::make_unique<Rail>("vdd0")); in TEST_F() 142 rails.push_back(std::make_unique<Rail>("vdd1")); in TEST_F() 174 // Create vector of Rail objects in TEST_F() 175 std::vector<std::unique_ptr<Rail>> rails{}; in TEST_F() 176 rails.push_back(std::make_unique<Rail>("vdd0")); in TEST_F() 177 rails.push_back(std::make_unique<Rail>("vdd1")); in TEST_F() 189 // Add Device and Rail objects to an IDMap in TEST_F() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/iccsense/ |
H A D | base.c | 67 struct nvkm_iccsense_rail *rail, in nvkm_iccsense_ina2x9_read() argument 70 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina2x9_read() 71 shunt_reg, 0, bus_reg, 3, rail->mohm, in nvkm_iccsense_ina2x9_read() 77 struct nvkm_iccsense_rail *rail) in nvkm_iccsense_ina209_read() argument 79 return nvkm_iccsense_ina2x9_read(iccsense, rail, 3, 4); in nvkm_iccsense_ina209_read() 84 struct nvkm_iccsense_rail *rail) in nvkm_iccsense_ina219_read() argument 86 return nvkm_iccsense_ina2x9_read(iccsense, rail, 1, 2); in nvkm_iccsense_ina219_read() 91 struct nvkm_iccsense_rail *rail) in nvkm_iccsense_ina3221_read() argument 93 return nvkm_iccsense_poll_lane(rail->sensor->i2c, rail->sensor->addr, in nvkm_iccsense_ina3221_read() 94 1 + (rail->idx * 2), 3, in nvkm_iccsense_ina3221_read() [all …]
|
/openbmc/linux/Documentation/hwmon/ |
H A D | corsair-psu.rst | 51 curr2_input Current on the 12v psu rail 52 curr2_crit Current max critical value on the 12v psu rail 53 curr3_input Current on the 5v psu rail 54 curr3_crit Current max critical value on the 5v psu rail 55 curr4_input Current on the 3.3v psu rail 56 curr4_crit Current max critical value on the 3.3v psu rail 59 in1_input Voltage of the 12v psu rail 60 in1_crit Voltage max critical value on the 12v psu rail 61 in1_lcrit Voltage min critical value on the 12v psu rail 62 in2_input Voltage of the 5v psu rail [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
H A D | iccsense.c | 76 iccsense->rail = kmalloc_array(cnt, sizeof(struct pwr_rail_t), in nvbios_iccsense_parse() 78 if (!iccsense->rail) in nvbios_iccsense_parse() 83 struct pwr_rail_t *rail = &iccsense->rail[i]; in nvbios_iccsense_parse() local 92 rail->mode = 1; in nvbios_iccsense_parse() 94 rail->mode = 0; in nvbios_iccsense_parse() 95 rail->extdev_id = nvbios_rd08(bios, entry + 0x2); in nvbios_iccsense_parse() 99 rail->mode = nvbios_rd08(bios, entry); in nvbios_iccsense_parse() 100 rail->extdev_id = nvbios_rd08(bios, entry + 0x1); in nvbios_iccsense_parse() 105 if (nvbios_extdev_parse(bios, rail->extdev_id, &extdev)) in nvbios_iccsense_parse() 111 rail->resistor_count = 1; in nvbios_iccsense_parse() [all …]
|
/openbmc/phosphor-power/phosphor-power-sequencer/docs/config_file/ |
H A D | rail.md | 1 # rail chapter 5 A voltage rail that is enabled or monitored by the power sequencer device. 8 specify how to obtain the pgood status of the rail. You can specify more than 14 the rail with the pgood fault. However, all the related rails will likely appear 17 The "compare_voltage_to_limit" method is helpful when a rail fails to power on 22 rail. It is also helpful when a rail fails to power on during the power on 29 … | yes | string | Unique name for the rail. Can only contain l… 30 …onent which must be present in order for the rail to be present. If this property is not specified… 31 … see [notes](#notes) | number | PMBus PAGE number of the rail. … 32 …rail is produced by a power supply. Power supply rails require special error handling. If an error… [all …]
|
/openbmc/phosphor-power/phosphor-regulators/docs/ |
H A D | design.md | 40 - Contains zero or more Rail objects. 41 - Rail 42 - Represents a voltage rail produced by a voltage regulator, such as 1.1V. 60 Chassis, Device, and Rail). 62 The configuration changes are applied to a Device or Rail by executing one or 69 - Any remaining actions for the current Device/Rail will be skipped. 70 - Configuration changes will still be applied to all remaining Device/Rail 87 objects representing the system (System, Chassis, Device, and Rail). 105 objects representing the system (System, Chassis, Device, and Rail). 107 The sensor values for a Rail (such as iout, vout, and temperature) are read [all …]
|
/openbmc/phosphor-power/phosphor-regulators/docs/config_file/ |
H A D | rail.md | 1 # rail chapter 5 A voltage rail produced by a regulator. 7 Voltage regulators produce one or more rails. Each rail typically provides a 10 On a PMBus regulator with multiple rails, the current rail is selected using the 11 PAGE command. Subsequent PMBus commands are sent to that PAGE/rail. 17 …ings | One or more comment lines describing this rail. … 18 … yes | string | Unique ID for this rail. Can only contain l… 19 … | Specifies configuration changes that should be applied to this rail. These changes usua… 20 …oring](sensor_monitoring.md) | Specifies how to read the sensors for this rail. … 26 "comments": ["Vdd rail on PAGE 0 of the Vdd/Vio regulator"],
|