1 /* This is a generated file. */
2 
3 #include "ucd90160.hpp"
4 
5 namespace witherspoon
6 {
7 namespace power
8 {
9 
10 using namespace ucd90160;
11 using namespace std::string_literals;
12 
13 const DeviceMap UCD90160::deviceMap{
14 %for ucd_data in ucd90160s:
15     {${ucd_data['index']},
16      DeviceDefinition{
17          "${ucd_data['path']}",
18 
19          RailNames{"5.0VCS"s, "12.0V"s, "3.3V"s, "1.8V"s, "1.1V"s, "1.0V"s,
20                    "0.9V"s, "VDN-A"s, "VDN-B"s, "AVDD"s, "VIO-A"s, "VIO-B"s,
21                    "VDD-A"s, "VDD-B"s, "VCS-A"s, "VCS-B"s},
22 
23          GPIConfigs{
24              GPIConfig{1, 8, "PGOOD_5P0V"s, false, extraAnalysisType::none},
25              GPIConfig{2, 9, "MEM_GOOD0"s, false, extraAnalysisType::none},
26              GPIConfig{3, 10, "MEM_GOOD1"s, false, extraAnalysisType::none},
27              GPIConfig{4, 14, "GPU_PGOOD"s, false, extraAnalysisType::gpuPGOOD},
28              GPIConfig{5, 17, "GPU_TH_OVERT"s, true,
29                        extraAnalysisType::gpuOverTemp},
30              GPIConfig{6, 11, "SOFTWARE_PGOOD"s, false,
31                        extraAnalysisType::none}},
32 
33          GPIOAnalysis{
34              {extraAnalysisType::gpuPGOOD,
35               GPIOGroup{
36                   "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@"
37                   "1e78a000/1e78a400.i2c-bus/i2c-11/11-0060",
38                   gpio::Value::low,
39                   [](auto& ucd, const auto& callout) {
40                       ucd.gpuPGOODError(callout);
41                   },
42                   optionFlags::none,
43                   GPIODefinitions{
44                       GPIODefinition{8,
45                                      "/system/chassis/motherboard/gv100card0"s},
46                       GPIODefinition{9,
47                                      "/system/chassis/motherboard/gv100card1"s},
48                       GPIODefinition{10,
49                                      "/system/chassis/motherboard/gv100card2"s},
50                       GPIODefinition{11,
51                                      "/system/chassis/motherboard/gv100card3"s},
52                       GPIODefinition{12,
53                                      "/system/chassis/motherboard/gv100card4"s},
54                       GPIODefinition{
55                           13, "/system/chassis/motherboard/gv100card5"s}}}},
56 
57              {extraAnalysisType::gpuOverTemp,
58               GPIOGroup{
59                   "/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@"
60                   "1e78a000/1e78a400.i2c-bus/i2c-11/11-0060",
61                   gpio::Value::low,
62                   [](auto& ucd,
63                      const auto& callout) { ucd.gpuOverTempError(callout); },
64                   optionFlags::shutdownOnFault,
65                   GPIODefinitions{
66                       GPIODefinition{2,
67                                      "/system/chassis/motherboard/gv100card0"s},
68                       GPIODefinition{3,
69                                      "/system/chassis/motherboard/gv100card1"s},
70                       GPIODefinition{4,
71                                      "/system/chassis/motherboard/gv100card2"s},
72                       GPIODefinition{5,
73                                      "/system/chassis/motherboard/gv100card3"s},
74                       GPIODefinition{6,
75                                      "/system/chassis/motherboard/gv100card4"s},
76                       GPIODefinition{
77                           7, "/system/chassis/motherboard/gv100card5"s}}}}}}
78     },
79 %endfor
80 };
81 
82 } // namespace power
83 } // namespace witherspoon
84