Lines Matching +full:bus +full:- +full:power

7 #include <phosphor-logging/lg2.hpp>
8 #include <sdbusplus/bus/match.hpp>
22 using namespace phosphor::power::psu;
24 namespace phosphor::power::manager namespace
32 // Validation timeout. Allow 30s to detect if new EM interfaces show up in D-Bus
45 PowerSystemInputs(sdbusplus::bus_t& bus, const std::string& path) : in PowerSystemInputs() argument
46 PowerSystemInputsObject(bus, path.c_str()) in PowerSystemInputs()
53 * This class will create an object used to manage and monitor a list of power
67 * Constructor to read configuration from D-Bus.
69 * @param[in] bus - D-Bus bus object
70 * @param[in] e - event object
72 PSUManager(sdbusplus::bus_t& bus, const sdeventplus::Event& e);
75 * Get PSU properties from D-Bus, use that to build a power supply
78 * @param[in] properties - A map of property names and values
84 * Get PSU configuration from D-Bus
90 * D-Bus object provided by Entity Manager.
106 return timer->get_event().loop(); in run()
119 psu->onOffConfig(data); in onOffConfig()
126 * with a clean state. Presence changes and power state changes will want
134 psu->clearFaults(); in clearFaults()
139 * Get the status of Power on.
148 * The D-Bus object
150 sdbusplus::bus_t& bus; member in phosphor::power::manager::PSUManager
153 * The timer that runs to periodically check the power supplies.
160 * The timer that performs power supply validation as the entity manager
161 * interfaces show up in d-bus.
168 * Let power control/sequencer application know of PSU error(s).
170 * @param[in] psuErrorString - string for power supply error
177 * @param[in] faultName - 'name' message for the BMC error log entry
178 * @param[in,out] additionalData - The AdditionalData property for the error
184 * Analyze the status of each of the power supplies.
191 * @brief Analyze the set of the power supplies for a brownout failure. Log
196 /** @brief True if the power is on. */
199 /** @brief True if power control is in the window between chassis pgood loss
200 * and power off. */
206 /** @brief Used as part of subscribing to power on state changes*/
209 /** @brief Used to subscribe to D-Bus power on state changes */
210 std::unique_ptr<sdbusplus::bus::match_t> powerOnMatch;
212 /** @brief Used to subscribe to D-Bus power supply presence changes */
213 std::vector<std::unique_ptr<sdbusplus::bus::match_t>> presenceMatches;
216 std::unique_ptr<sdbusplus::bus::match_t> entityManagerIfacesAddedMatch;
219 * @brief Callback for power state property changes
223 * @param[in] msg - Data associated with the power state signal
230 * Process change of the Present property for power supply.
232 * @param[in] msg - Data associated with the Present change signal
237 * @brief Callback for entity-manager interface added
242 * @param[in] msg - Data associated with the interfaces added signal
250 * power supply D-Bus inventory objects.
259 psu->updateInventory(); in updateInventory()
266 * @param[in] properties - A map of property names and values
271 * @brief Update inventory for missing required power supplies
276 * @brief Perform power supply configuration validation.
277 * @details Validates if the existing power supply properties are a
285 * multiple times due to interfaces added signal. Set to true during power
286 * off to trigger the validation on power on.
295 * @param[out] additionalData - Contains debug information on why the check
312 * @param[in] psu - Power supply to check
320 * @param[out] model - The model name. Empty if there is a mismatch.
321 * @param[out] additionalData - If there is a mismatch, it contains debug
329 * @brief Set the power-config-full-load GPIO depending on the EM full load
341 * @brief The vector for power supplies.
346 * @brief The libgpiod object for setting the power supply config
360 * /xyz/openbmc_project/power/power_supplies root D-Bus path.
369 * /xyz/openbmc_project/sensors root D-Bus path.
374 * @brief GPIO to toggle to 'sync' power supply input history.
379 * @brief Toggles the GPIO to sync power supply input history readings
393 * @brief Tells each PSU to set its power supply input
394 * voltage rating D-Bus property.
400 psu->setInputVoltageRating(); in setInputVoltageRating()
405 * @brief Build the device driver name for the power supply.
407 * @param[in] i2cbus - i2c bus
408 * @param[in] i2caddr - i2c bus address
419 * @brief The device driver name for all power supplies.
424 } // namespace phosphor::power::manager