psu-ng: Detect CML fault

If the STATUS_WORD has the CML (Communication, Memory, Logic) fault bit
on, bit 1 in lower byte of STATUS_WORD, then read STATUS_CML, and treat
the fault as another variety of a communication fault/error.

Change-Id: Iba368683734777874ba54ec845cbc94b00010b68
Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
diff --git a/pmbus.hpp b/pmbus.hpp
index 4bdc23f..43d7dd8 100644
--- a/pmbus.hpp
+++ b/pmbus.hpp
@@ -60,6 +60,9 @@
 // overtemperature warning, undertemperature warning, undertemperature fault.
 constexpr auto STATUS_TEMPERATURE = "status0_temp";
 
+// Reports on the communication, memory, logic fault(s).
+constexpr auto STATUS_CML = "status0_cml";
+
 namespace status_word
 {
 constexpr auto VOUT_FAULT = 0x8000;
@@ -101,6 +104,9 @@
 // STATUS_WORD. Bit 2 of the low byte (STATUS_BYTE).
 constexpr auto TEMPERATURE_FAULT_WARN = 0x0004;
 
+// The bit mask representing the CML (Communication, Memory, and/or Logic) fault
+// bit of the STATUS_WORD. Bit 1 of the low byte (STATUS_BYTE).
+constexpr auto CML_FAULT = 0x0002;
 } // namespace status_word
 
 namespace status_vout