blob: 31d45677cdbe6394def63f0514799f419070a440 [file] [log] [blame]
Jim Wrightc48551a2022-12-22 15:43:14 -06001#pragma once
2
3#include "ucd90x_monitor.hpp"
4
5#include <sdbusplus/bus.hpp>
6
7#include <cstdint>
8
9namespace phosphor::power::sequencer
10{
11
12/**
13 * @class UCD90160Monitor
14 * This class implements fault analysis for the UCD90160
15 * power sequencer device.
16 */
17class UCD90160Monitor : public UCD90xMonitor
18{
19 public:
20 UCD90160Monitor() = delete;
21 UCD90160Monitor(const UCD90160Monitor&) = delete;
22 UCD90160Monitor& operator=(const UCD90160Monitor&) = delete;
23 UCD90160Monitor(UCD90160Monitor&&) = delete;
24 UCD90160Monitor& operator=(UCD90160Monitor&&) = delete;
25 virtual ~UCD90160Monitor() = default;
26
27 /**
28 * Create a device object for UCD90160 monitoring.
29 * @param bus D-Bus bus object
30 * @param i2cBus The bus number of the power sequencer device
31 * @param i2cAddress The I2C address of the power sequencer device
32 */
33 UCD90160Monitor(sdbusplus::bus_t& bus, std::uint8_t i2cBus,
34 std::uint16_t i2cAddress);
35};
36
37} // namespace phosphor::power::sequencer