40 #define TPS_SUCCESSFUL 0x00
41 #define TPS_ERR_PORT_IN_USE 0x80
42 #define TPS_ERR_PORT_NOT_IN_USE 0x81
43 #define TPS_ERR_NO_PORT_AVAILABLE 0x82
44 #define TPS_ERR_I2C_ERROR 0x83
46 #define TPS_GIVE_ME_NEXT_PORT_AVAILABLE 0xff
47 #define TPS_PORT_NOT_REGISTERED_VALUE 0xff
49 #define SWIZZLE_BYTES(x) {unsigned short y; y = x; x = (((y & 0xff) << 8) | (y >> 8)); }
51 #define TPS_MAX_SYSTEM_PORTS 64
69 unsigned char Port_1 : 1;
70 unsigned char Port_2 : 1;
71 unsigned char Port_3 : 1;
72 unsigned char Port_4 : 1;
73 unsigned char Reserved_100 : 4;
82 #define PORT_1_VALUE 0x1
83 #define PORT_2_VALUE 0x2
84 #define PORT_3_VALUE 0x4
85 #define PORT_4_VALUE 0x8
93 unsigned char PEC_Power_Enable_Change : 1;
94 unsigned char PGC_Power_Good_Change : 1;
95 unsigned char DISF_Disconnect_Event : 1;
96 unsigned char DETC_Detection_Cycle : 1;
97 unsigned char CLASC_Classification_Cycle : 1;
98 unsigned char IFAULT_ICUT_ILIM_Fault : 1;
99 unsigned char INRF_Inrush_Fault : 1;
100 unsigned char SUPF_Supply_Event_Fault : 1;
117 unsigned char PEMSK_Power_Enable_Unmask : 1;
118 unsigned char PGMSK_Power_Good_Unmask : 1;
119 unsigned char DIMSK_Disconnect_Unmask : 1;
120 unsigned char DEMSK_Detection_Cycle_Unmask : 1;
121 unsigned char CLMSK_Classificiation_Cycle_Unmask : 1;
122 unsigned char IFMSK_IFAULT_Unmask : 1;
123 unsigned char INMSK_Inrush_Fault_Unmask : 1;
124 unsigned char SUMSK_Supply_Event_Fault_Unmask : 1;
141 unsigned char PEC1_Power_Enable_Port_1_Event : 1;
142 unsigned char PEC2_Power_Enable_Port_2_Event : 1;
143 unsigned char PEC3_Power_Enable_Port_3_Event : 1;
144 unsigned char PEC4_Power_Enable_Port_4_Event : 1;
145 unsigned char PGC1_Power_Good_Port_1_Event : 1;
146 unsigned char PGC2_Power_Good_Port_2_Event : 1;
147 unsigned char PGC3_Power_Good_Port_3_Event : 1;
148 unsigned char PGC4_Power_Good_Port_4_Event : 1;
160 #define POWER_GOOD_EVENT_SHIFT 0
161 #define POWER_ENABLE_EVENT_SHIFT 4
168 unsigned char DETC1_Detection_Cycle_Port_1_Event : 1;
169 unsigned char DETC2_Detection_Cycle_Port_2_Event : 1;
170 unsigned char DETC3_Detection_Cycle_Port_3_Event : 1;
171 unsigned char DETC4_Detection_Cycle_Port_4_Event : 1;
172 unsigned char CLSC1_Classification_Cycle_Port_1_Event : 1;
173 unsigned char CLSC2_Classification_Cycle_Port_2_Event : 1;
174 unsigned char CLSC3_Classification_Cycle_Port_3_Event : 1;
175 unsigned char CLSC4_Classification_Cycle_Port_4_Event : 1;
187 #define DETECTION_EVENT_SHIFT 0
188 #define CLASSIFICATION_EVENT_SHIFT 4
195 unsigned char ICUT1_ICUT_Fault_Port_1_Event : 1;
196 unsigned char ICUT2_ICUT_Fault_Port_2_Event : 1;
197 unsigned char ICUT3_ICUT_Fault_Port_3_Event : 1;
198 unsigned char ICUT4_ICUT_Fault_Port_4_Event : 1;
199 unsigned char DISF1_Disconnect_Port_1_Event : 1;
200 unsigned char DISF2_Disconnect_Port_2_Event : 1;
201 unsigned char DISF3_Disconnect_Port_3_Event : 1;
202 unsigned char DISF4_Disconnect_Port_4_Event : 1;
214 #define ICUT_EVENT_SHIFT 0
215 #define DISCONNECT_EVENT_SHIFT 4
222 unsigned char INR1_Inrush_Fault_Port_1_Event : 1;
223 unsigned char INR2_Inrush_Fault_Port_2_Event : 1;
224 unsigned char INR3_Inrush_Fault_Port_3_Event : 1;
225 unsigned char INR4_Inrush_Fault_Port_4_Event : 1;
226 unsigned char ILIM1_Limit_Output_Current_Port_1_Event : 1;
227 unsigned char ILIM2_Limit_Output_Current_Port_2_Event : 1;
228 unsigned char ILIM3_Limit_Output_Current_Port_3_Event : 1;
229 unsigned char ILIM4_Limit_Output_Current_Port_4_Event : 1;
241 #define INRUSH_EVENT_SHIFT 0
242 #define ILIM_EVENT_SHIFT 4
250 unsigned char Reserved_1 : 4;
251 unsigned char VPUV_VPower_Undervoltage_Event : 1;
252 unsigned char VDUV_Vdd_UVLO_Event : 1;
253 unsigned char Reserved_2 : 1;
254 unsigned char TSD_Thermal_Shutdown_Event : 1;
268 unsigned char Detect : 4;
269 unsigned char Class : 4;
303 #define CLASS_SHIFT 4
304 #define DETECT_SHIFT 0
305 #define GET_DETECT(x) (x & 0xF)
306 #define GET_CLASS(x) (x>>8)
314 unsigned char PE1_Power_Enable_Port_1_Status : 1;
315 unsigned char PE2_Power_Enable_Port_2_Status : 1;
316 unsigned char PE3_Power_Enable_Port_3_Status : 1;
317 unsigned char PE4_Power_Enable_Port_4_Status : 1;
318 unsigned char PG1_Power_Good_Port_1_Status : 1;
319 unsigned char PG2_Power_Good_Port_2_Status : 1;
320 unsigned char PG3_Power_Good_Port_3_Status : 1;
321 unsigned char PG4_Power_Good_Port_4_Status : 1;
324 #define PE1_STATUS 0x01
325 #define PE2_STATUS 0x02
326 #define PE3_STATUS 0x04
327 #define PE4_STATUS 0x08
328 #define PG1_STATUS 0x10
329 #define PG2_STATUS 0x20
330 #define PG3_STATUS 0x40
331 #define PG4_STATUS 0x80
332 #define POWER_ENABLE_STATUS (PE1_STATUS + PE2_STATUS + PE3_STATUS + PE4_STATUS)
333 #define POWER_GOOD_STATUS (PG1_STATUS + PG2_STATUS + PG3_STATUS + PG4_STATUS)
334 #define GET_POWER_ENABLE_STATUS(x) (x & POWER_ENABLE_STATUS)
335 #define GET_POWER_GOOD_STATUS(x) (x >> 8)
342 unsigned char I2C_slave_address : 7;
343 unsigned char Auto : 1;
346 #define AUTO_BIT 0x80
347 #define I2C_ADDRESS_MASK 0x7F
349 #define TPS238X_ALERT_RESPONSE_ADDRESS 0x0C
350 #define TPS238X_BROADCAST_ADDRESS 0x30
351 #define TPS238X_UNLOCK_CODE 0xAA
357 unsigned char Port_1_Operating_Mode : 2;
358 unsigned char Port_2_Operating_Mode : 2;
359 unsigned char Port_3_Operating_Mode : 2;
360 unsigned char Port_4_Operating_Mode : 2;
371 #define OPERATING_MODE_MASK 0x3
373 #define OPERATING_PORT_1_MODE 0x03
374 #define OPERATING_PORT_2_MODE 0x0C
375 #define OPERATING_PORT_3_MODE 0x30
376 #define OPERATING_PORT_4_MODE 0xC0
382 unsigned char DCDE1_Disconnect_Enable_Port_1 : 1;
383 unsigned char DCDE2_Disconnect_Enable_Port_2 : 1;
384 unsigned char DCDE3_Disconnect_Enable_Port_3 : 1;
385 unsigned char DCDE4_Disconnect_Enable_Port_4 : 1;
386 unsigned char Reserved_3 : 4;
404 unsigned char DETE1_Detection_Enable_Port_1 : 1;
405 unsigned char DETE2_Detection_Enable_Port_2 : 1;
406 unsigned char DETE3_Detection_Enable_Port_3 : 1;
407 unsigned char DETE4_Detection_Enable_Port_4 : 1;
408 unsigned char CLE1_Classification_Enable_Port_1 : 1;
409 unsigned char CLE2_Classification_Enable_Port_2 : 1;
410 unsigned char CLE3_Classification_Enable_Port_3 : 1;
411 unsigned char CLE4_Classification_Enable_Port_4 : 1;
427 unsigned char Reserved_4 : 4;
428 unsigned char FSE1_Fast_Shutdown_Enable_Port_1 : 1;
429 unsigned char FSE2_Fast_Shutdown_Enable_Port_2 : 1;
430 unsigned char FSE3_Fast_Shutdown_Enable_Port_3 : 1;
431 unsigned char FSE4_Fast_Shutdown_Enable_Port_4 : 1;
445 unsigned char TDIS_Time_Disconnect_Delay : 2;
446 unsigned char TICUT_ICUT_Fault_Timing : 2;
447 unsigned char TSTART_Start_Time : 2;
448 unsigned char TLIM_ILIM_Fault_Timing : 2;
483 #define TDIS_MASK 0x3
484 #define TDIS_SHIFT 0x0
486 #define TICUT_MASK 0xC
487 #define TICUT_SHIFT 0x2
489 #define TSTART_MASK 0x30
490 #define TSTART_SHIFT 0x4
492 #define TLIM_MASK 0xC0
493 #define TLIM_SHIFT 0x6
499 unsigned char _250M_Current_Sense_250_mOhm : 1;
500 unsigned char Reserved_5 : 3;
501 unsigned char MAINS_Detection_Voltage_Measurement_Duration : 1;
502 unsigned char Reserved_6 : 2;
503 unsigned char INTEN_INT_Pin_Mask : 1;
506 #define _960_A_D_CONV_PER_SECOND 0x10
507 #define _800_A_D_CONV_PER_SECOND 0x00
521 unsigned char RDET1_Restart_Detection_Port_1 : 1;
522 unsigned char RDET2_Restart_Detection_Port_2 : 1;
523 unsigned char RDET3_Restart_Detection_Port_3 : 1;
524 unsigned char RDET4_Restart_Detection_Port_4 : 1;
525 unsigned char RCL1_Restart_Classification_Port_1 : 1;
526 unsigned char RCL2_Restart_Classification_Port_2 : 1;
527 unsigned char RCL3_Restart_Classification_Port_3 : 1;
528 unsigned char RCL4_Restart_Classification_Port_4 : 1;
540 #define RESTART_DETECTION_SHIFT 0
541 #define RESTART_DETECTION_MASK 0x0F
543 #define RESTART_CLASSIFCATION_SHIFT 4
544 #define RESTART_CLASSIFCATION_MASK 0xF0
552 unsigned char PWON1_Power_On_Port_1 : 1;
553 unsigned char PWON2_Power_On_Port_2 : 1;
554 unsigned char PWON3_Power_On_Port_3 : 1;
555 unsigned char PWON4_Power_On_Port_4 : 1;
556 unsigned char PWOFF1_Power_On_Port_1 : 1;
557 unsigned char PWOFF2_Power_On_Port_2 : 1;
558 unsigned char PWOFF3_Power_On_Port_3 : 1;
559 unsigned char PWOFF4_Power_On_Port_4 : 1;
571 #define POWER_OFF_SHIFT 4
572 #define POWER_OFF_MASK 0xF0
574 #define POWER_ON_SHIFT 0
575 #define POWER_ON_MASK 0x0F
581 unsigned char RESP1_Reset_Port_1 : 1;
582 unsigned char RESP1_Reset_Port_2 : 1;
583 unsigned char RESP1_Reset_Port_3 : 1;
584 unsigned char RESP1_Reset_Port_4 : 1;
585 unsigned char RESAL_Reset_Registers : 1;
586 unsigned char Reserved_7 : 1;
587 unsigned char CLINP_Clear_Interrupt_Pin : 1;
588 unsigned char CLRAIN_Clear_Interrupt_Bits : 1;
603 unsigned char ICV_IC_Version_Number : 3;
604 unsigned char MFR_ID_Manufacture_ID_Number : 5;
609 #define MFR_ID_SHIFT 3
610 #define MFR_ID_DEFAULT 0x0A // This is the the results in the MFR_ID section of the register
611 #define ICV_DEFAULT 0x00
612 #define ID_REGISTER_DEFAULT ((MFR_ID_DEFAULT<<MFR_ID_SHIFT) | ICV_DEFAULT)
618 unsigned char LEGMOD1_Legacy_Detect_Port_1 : 2;
619 unsigned char LEGMOD2_Legacy_Detect_Port_2 : 2;
620 unsigned char LEGMOD3_Legacy_Detect_Port_3 : 2;
621 unsigned char LEGMOD4_Legacy_Detect_Port_4 : 2;
637 #define LEGACY_MODE_MASK 3
639 #define LEGMOD1_SHIFT 0
640 #define LEGMOD2_SHIFT 2
641 #define LEGMOD3_SHIFT 4
642 #define LEGMOD4_SHIFT 6
648 unsigned char TECLEN1_Two_Event_Classification_Port_1 : 2;
649 unsigned char TECLEN2_Two_Event_Classification_Port_2 : 2;
650 unsigned char TECLEN3_Two_Event_Classification_Port_3 : 2;
651 unsigned char TECLEN4_Two_Event_Classification_Port_4 : 2;
667 #define TWO_EVENT_MASK 3
669 #define TECLEN1_SHIFT 0
670 #define TECLEN2_SHIFT 2
671 #define TECLEN3_SHIFT 4
672 #define TECLEN4_SHIFT 6
678 unsigned char _4P12DIS_Disconnect_Mode_Four_Port_1_2 : 3;
679 unsigned char _4P12EN_Enable_Four_Port_Mode_1_2 : 1;
680 unsigned char _4P34DIS_Disconnect_Mode_Four_Port_3_4 : 3;
681 unsigned char _4P34EN_Enable_Four_Port_Mode_3_4 : 1;
693 #define _4P12DIS 0x07
695 #define _4P34DIS 0x70
698 #define FOUR_PAIR_DISCONNECT_MASK 7
700 #define _4P12DIS_SHIFT 0
701 #define _4P12EN_SHIFT 3
703 #define _4P34DIS_SHIFT 4
704 #define _4P34EN_SHIFT 7
710 unsigned char TMR_Timer_Period_10_ms : 4;
711 unsigned char CL5EN1_Class_5_Enable_Port_1 : 1;
712 unsigned char CL5EN2_Class_5_Enable_Port_2 : 1;
713 unsigned char CL5EN3_Class_5_Enable_Port_3 : 1;
714 unsigned char CL5EN4_Class_5_Enable_Port_4 : 1;
717 #define TMR_MASK 0x0F
723 #define CLASS_5_ENABLE_SHIFT 4
729 unsigned char DCTH1_Disconnect_Current_Threshold_Port_1 : 2;
730 unsigned char DCTH2_Disconnect_Current_Threshold_Port_2 : 2;
731 unsigned char DCTH3_Disconnect_Current_Threshold_Port_3 : 2;
732 unsigned char DCTH4_Disconnect_Current_Threshold_Port_4 : 2;
748 #define DISCONNECT_THRESHOLD_MASK 3
750 #define DCTH1_SHIFT 0
751 #define DCTH2_SHIFT 2
752 #define DCTH3_SHIFT 4
753 #define DCTH4_SHIFT 6
760 unsigned char ICUT_Current_Threshold_Port_1 : 3;
761 unsigned char Reserved_8 : 1;
762 unsigned char ICUT_Current_Threshold_Port_2 : 3;
763 unsigned char Reserved_9 : 1;
778 #define ICUT_THRESHOLD_MASK 7
780 #define ICUT_PORT_1 0x07
781 #define ICUT_PORT_2 0x70
783 #define ICUT_PORT_1_SHIFT 0
784 #define ICUT_PORT_2_SHIFT 4
792 unsigned char ICUT_Current_Threshold_Port_3 : 3;
793 unsigned char Reserved_10 : 1;
794 unsigned char ICUT_Current_Threshold_Port_4 : 3;
795 unsigned char Reserved_11 : 1;
798 #define ICUT_PORT_3 0x07
799 #define ICUT_PORT_4 0x70
801 #define ICUT_PORT_3_SHIFT 0
802 #define ICUT_PORT_4_SHIFT 4
811 #define CONVERT_TEMP(x) (-20.0 + (x*0.652))
819 unsigned short Input_Voltage : 14;
820 unsigned short Reserved_12 : 2;
821 } Input_Voltage_Short;
824 unsigned char Input_Voltage_LSB : 8;
825 unsigned char Input_Voltage_MSB : 6;
826 unsigned char Reserved_13 : 2;
827 } Input_Voltage_Char;
845 unsigned short Port_Current : 14;
846 unsigned short Reserved_14 : 2;
847 } Port_Current_Short;
850 unsigned char Port_Current_LSB : 8;
851 unsigned char Port_Current_MSB : 6;
852 unsigned char Reserved_15 : 2;
869 unsigned short Port_Voltage : 14;
870 unsigned short Reserved_16 : 2;
871 } Port_Voltage_Short;
874 unsigned char Port_Voltage_LSB : 8;
875 unsigned char Port_Voltage_MSB : 6;
876 unsigned char Reserved_17 : 2;
887 unsigned char Reserved_18 : 4;
888 unsigned char POEP1_Foldback_Curve_Port_1 : 1;
889 unsigned char POEP1_Foldback_Curve_Port_2 : 1;
890 unsigned char POEP1_Foldback_Curve_Port_3 : 1;
891 unsigned char POEP1_Foldback_Curve_Port_4 : 1;
905 #define POE_PLUS_SHIFT 4
911 unsigned char WDS_Watchdog_Status : 1;
912 unsigned char IWD_I2C_Watchdog_Disable : 4;
913 unsigned char Reserved_19 : 3;
920 #define IWD_MASK_VALUE 0xB
926 unsigned char Reserved_20 : 5;
927 unsigned char IGATE_Gate_Pullup_Current : 1;
928 unsigned char CLDN_Fault_Cool_Down_Timer : 2;
939 #define CLDN_MASK 0xC0
943 #define GATE_PULLUP_CURRENT_50_MICROAMP 0
944 #define GATE_PULLUP_CURRENT_25_MICROAMP 1
959 unsigned short Port_Detect_Resistance : 14;
960 unsigned short Detect_Status : 2;
961 } Port_Detect_Resistance_Short;
964 unsigned char Port_Detect_Resistance_LSB : 8;
965 unsigned char Port_Detect_Resistance_MSB : 6;
966 unsigned char Detect_Status : 2;
967 } Port_Detect_Resistance_Char;
980 #define PORT_RESISTANCE_MASK_SHORT 0x3FFF
981 #define RS_MASK_SHORT 0xC000
982 #define RS_SHIFT_SHORT 13
997 unsigned short Port_Voltage_Difference : 12;
998 unsigned short Voltage_Difference_Status : 4;
999 } Port_Voltage_Difference_Short;
1002 unsigned char Port_Voltage_Difference_LSB : 8;
1003 unsigned char Port_Voltage_Difference_MSB : 6;
1004 unsigned char Voltage_Difference_Status : 2;
1005 } Port_Voltage_Difference_Char;
1022 #define PORT_VOLTAGE_DIFFERENCE_MASK_SHORT 0x0FFF
1023 #define VDS_MASK_SHORT 0xF000
1024 #define VDS_SHIFT_SHORT 12
1027 #define CONVERT_PORT_NUM(x) (1 << ((uint8_t)x-1))
1035 #define TPS238X_INTERRUPT_COMMAND 0x00
1036 #define TPS238X_INTERRUPT_MASK_COMMAND 0x01
1037 #define TPS238X_POWER_EVENT_COMMAND 0x02
1038 #define TPS238X_POWER_EVENT_CLEAR_COMMAND 0x03
1039 #define TPS238X_DETECTION_EVENT_COMMAND 0x04
1040 #define TPS238X_DETECTION_EVENT_CLEAR_COMMAND 0x05
1041 #define TPS238X_FAULT_EVENT_COMMAND 0x06
1042 #define TPS238X_FAULT_EVENT_CLEAR_COMMAND 0x07
1043 #define TPS238X_INRUSH_LIMIT_EVENT_COMMAND 0x08
1044 #define TPS238X_INRUSH_LIMIT_EVENT_CLEAR_COMMAND 0x09
1045 #define TPS238X_SUPPLY_EVENT_COMMAND 0x0A
1046 #define TPS238X_SUPPLY_EVENT_CLEAR_COMMAND 0x0B
1047 #define TPS238X_PORT_1_STATUS_COMMAND 0x0C
1048 #define TPS238X_PORT_2_STATUS_COMMAND 0x0D
1049 #define TPS238X_PORT_3_STATUS_COMMAND 0x0E
1050 #define TPS238X_PORT_4_STATUS_COMMAND 0x0F
1051 #define TPS238X_POWER_STATUS_COMMAND 0x10
1052 #define TPS238X_I2C_SLAVE_ADDRESS_COMMAND 0x11
1053 #define TPS238X_OPERATING_MODE_COMMAND 0x12
1054 #define TPS238X_DISCONNECT_ENABLE_COMMAND 0x13
1055 #define TPS238X_DETECT_CLASS_ENABLE_COMMAND 0x14
1056 #define TPS238X_PORT_POWER_PRIORITY_COMMAND 0x15
1057 #define TPS238X_TIMING_CONFIGURATION_COMMAND 0x16
1058 #define TPS238X_GENERAL_MASK_1_COMMAND 0x17
1059 #define TPS238X_DETECT_CLASS_RESTART_COMMAND 0x18
1060 #define TPS238X_POWER_ENABLE_COMMAND 0x19
1061 #define TPS238X_RESET_COMMAND 0x1A
1062 #define TPS238X_ID_COMMAND 0x1B
1064 #define TPS238X_TEST_ENABLE_COMMAND 0x1D
1066 #define TPS238X_LEGACY_DETECT_MODE_COMMAND 0x20
1067 #define TPS238X_TWO_EVENT_CLASSIFICATION_COMMAND 0x21
1068 #define TPS238X_FOUR_PAIR_MODE_COMMAND 0x22
1070 #define TPS238X_CLASS_FIVE_TIMER_ENABLE_COMMAND 0x27
1072 #define TPS238X_DISCONNECT_THRESHOLD_COMMAND 0x29
1073 #define TPS238X_ICUT21_CONFIGURATION_COMMAND 0x2A
1074 #define TPS238X_ICUT43_CONFIGURATION_COMMAND 0x2B
1075 #define TPS238X_TEMPERATURE_COMMAND 0x2C
1077 #define TPS238X_INPUT_VOLTAGE_COMMAND 0x2E
1078 #define TPS238X_INPUT_VOLTAGE_LSB_COMMAND 0x2E
1079 #define TPS238X_INPUT_VOLTAGE_MSB_COMMAND 0x2F
1081 #define TPS238X_PORT_1_CURRENT_COMMAND 0x30
1082 #define TPS238X_PORT_1_CURRENT_LSB_COMMAND 0x30
1083 #define TPS238X_PORT_1_CURRENT_MSB_COMMAND 0x31
1085 #define TPS238X_PORT_1_VOLTAGE_COMMAND 0x32
1086 #define TPS238X_PORT_1_VOLTAGE_LSB_COMMAND 0x32
1087 #define TPS238X_PORT_1_VOLTAGE_MSB_COMMAND 0x33
1089 #define TPS238X_PORT_2_CURRENT_COMMAND 0x34
1090 #define TPS238X_PORT_2_CURRENT_LSB_COMMAND 0x34
1091 #define TPS238X_PORT_2_CURRENT_MSB_COMMAND 0x35
1093 #define TPS238X_PORT_2_VOLTAGE_COMMAND 0x36
1094 #define TPS238X_PORT_2_VOLTAGE_LSB_COMMAND 0x36
1095 #define TPS238X_PORT_2_VOLTAGE_MSB_COMMAND 0x37
1097 #define TPS238X_PORT_3_CURRENT_COMMAND 0x38
1098 #define TPS238X_PORT_3_CURRENT_LSB_COMMAND 0x38
1099 #define TPS238X_PORT_3_CURRENT_MSB_COMMAND 0x39
1101 #define TPS238X_PORT_3_VOLTAGE_COMMAND 0x3A
1102 #define TPS238X_PORT_3_VOLTAGE_LSB_COMMAND 0x3A
1103 #define TPS238X_PORT_3_VOLTAGE_MSB_COMMAND 0x3B
1105 #define TPS238X_PORT_4_CURRENT_COMMAND 0x3C
1106 #define TPS238X_PORT_4_CURRENT_LSB_COMMAND 0x3C
1107 #define TPS238X_PORT_4_CURRENT_MSB_COMMAND 0x3D
1109 #define TPS238X_PORT_4_VOLTAGE_COMMAND 0x3E
1110 #define TPS238X_PORT_4_VOLTAGE_LSB_COMMAND 0x3E
1111 #define TPS238X_PORT_4_VOLTAGE_MSB_COMMAND 0x3F
1113 #define TPS238X_POE_PLUS_COMMAND 0x40
1114 #define TPS238X_FIRMWARE_REVISION_COMMAND 0x41
1115 #define TPS238X_I2C_WATCHDOG_COMMAND 0x42
1116 #define TPS238X_DEVICE_ID_COMMAND 0x43
1118 #define TPS238X_COOL_DOWN_GATE_DRIVE_COMMAND 0x45
1120 #define TPS238X_PORT_1_DETECT_RESISTANCE_COMMAND 0x60
1121 #define TPS238X_PORT_1_DETECT_RESISTANCE_LSB_COMMAND 0x60
1122 #define TPS238X_PORT_1_DETECT_RESISTANCE_MSB_COMMAND 0x61
1124 #define TPS238X_PORT_2_DETECT_RESISTANCE_COMMAND 0x62
1125 #define TPS238X_PORT_2_DETECT_RESISTANCE_LSB_COMMAND 0x62
1126 #define TPS238X_PORT_2_DETECT_RESISTANCE_MSB_COMMAND 0x63
1128 #define TPS238X_PORT_3_DETECT_RESISTANCE_COMMAND 0x64
1129 #define TPS238X_PORT_3_DETECT_RESISTANCE_LSB_COMMAND 0x64
1130 #define TPS238X_PORT_3_DETECT_RESISTANCE_MSB_COMMAND 0x65
1132 #define TPS238X_PORT_4_DETECT_RESISTANCE_COMMAND 0x66
1133 #define TPS238X_PORT_4_DETECT_RESISTANCE_LSB_COMMAND 0x66
1134 #define TPS238X_PORT_4_DETECT_RESISTANCE_MSB_COMMAND 0x67
1136 #define TPS238X_PORT_1_DETECT_VOLTAGE_DIFF_COMMAND 0x68
1137 #define TPS238X_PORT_1_DETECT_VOLTAGE_DIFF_LSB_COMMAND 0x68
1138 #define TPS238X_PORT_1_DETECT_VOLTAGE_DIFF_MSB_COMMAND 0x69
1140 #define TPS238X_PORT_2_DETECT_VOLTAGE_DIFF_COMMAND 0x6A
1141 #define TPS238X_PORT_2_DETECT_VOLTAGE_DIFF_LSB_COMMAND 0x6A
1142 #define TPS238X_PORT_2_DETECT_VOLTAGE_DIFF_MSB_COMMAND 0x6B
1144 #define TPS238X_PORT_3_DETECT_VOLTAGE_DIFF_COMMAND 0x6C
1145 #define TPS238X_PORT_3_DETECT_VOLTAGE_DIFF_LSB_COMMAND 0x6C
1146 #define TPS238X_PORT_3_DETECT_VOLTAGE_DIFF_MSB_COMMAND 0x6D
1148 #define TPS238X_PORT_4_DETECT_VOLTAGE_DIFF_COMMAND 0x6E
1149 #define TPS238X_PORT_4_DETECT_VOLTAGE_DIFF_LSB_COMMAND 0x6E
1150 #define TPS238X_PORT_4_DETECT_VOLTAGE_DIFF_MSB_COMMAND 0x6F