xref: /openbmc/phosphor-power/power-sequencer/templates/ucd90160_defs.cpp.mako (revision dab5c30c62596ae2c93250670c9d27b524286892)
1*dab5c30cSJayanth Othayoth/* This is a generated file. */
2*dab5c30cSJayanth Othayoth
3*dab5c30cSJayanth Othayoth#include "ucd90160.hpp"
4*dab5c30cSJayanth Othayoth
5*dab5c30cSJayanth Othayothnamespace phosphor
6*dab5c30cSJayanth Othayoth{
7*dab5c30cSJayanth Othayothnamespace power
8*dab5c30cSJayanth Othayoth{
9*dab5c30cSJayanth Othayoth
10*dab5c30cSJayanth Othayothusing namespace ucd90160;
11*dab5c30cSJayanth Othayothusing namespace std::string_literals;
12*dab5c30cSJayanth Othayoth
13*dab5c30cSJayanth Othayothconst DeviceMap UCD90160::deviceMap{
14*dab5c30cSJayanth Othayoth%for ucd_data in ucd90160s:
15*dab5c30cSJayanth Othayoth    {${ucd_data['index']},
16*dab5c30cSJayanth Othayoth     DeviceDefinition{
17*dab5c30cSJayanth Othayoth       "${ucd_data['path']}",
18*dab5c30cSJayanth Othayoth
19*dab5c30cSJayanth Othayoth        RailNames{
20*dab5c30cSJayanth Othayoth        %for rail in ucd_data['RailNames']:
21*dab5c30cSJayanth Othayoth            "${rail}"s,
22*dab5c30cSJayanth Othayoth        %endfor
23*dab5c30cSJayanth Othayoth        },
24*dab5c30cSJayanth Othayoth
25*dab5c30cSJayanth Othayoth        GPIConfigs{
26*dab5c30cSJayanth Othayoth        %for gpi_config in ucd_data['GPIConfigs']:
27*dab5c30cSJayanth Othayoth        <%
28*dab5c30cSJayanth Othayoth            poll = str(gpi_config['poll']).lower()
29*dab5c30cSJayanth Othayoth        %>\
30*dab5c30cSJayanth Othayoth            GPIConfig{${gpi_config['gpi']}, ${gpi_config['pinID']}, "${gpi_config['name']}"s, ${poll}, extraAnalysisType::${gpi_config['analysis']}},
31*dab5c30cSJayanth Othayoth        %endfor
32*dab5c30cSJayanth Othayoth        },
33*dab5c30cSJayanth Othayoth
34*dab5c30cSJayanth Othayoth        GPIOAnalysis{
35*dab5c30cSJayanth Othayoth        %for gpio_analysis in ucd_data.get('GPIOAnalysis', []):
36*dab5c30cSJayanth Othayoth             {extraAnalysisType::${gpio_analysis['type']},
37*dab5c30cSJayanth Othayoth              GPIOGroup{
38*dab5c30cSJayanth Othayoth                  "${gpio_analysis['path']}",
39*dab5c30cSJayanth Othayoth                  gpio::Value::${gpio_analysis['gpio_value']},
40*dab5c30cSJayanth Othayoth                  [](auto& ucd, const auto& callout) {
41*dab5c30cSJayanth Othayoth                      ucd.${gpio_analysis['error_function']}(callout);
42*dab5c30cSJayanth Othayoth                  },
43*dab5c30cSJayanth Othayoth                  optionFlags::${gpio_analysis['option_flags']},
44*dab5c30cSJayanth Othayoth                  GPIODefinitions{
45*dab5c30cSJayanth Othayoth                  %for gpio_defs in gpio_analysis['GPIODefinitions']:
46*dab5c30cSJayanth Othayoth                      GPIODefinition{${gpio_defs['gpio']}, "${gpio_defs['callout']}"s},
47*dab5c30cSJayanth Othayoth                  %endfor
48*dab5c30cSJayanth Othayoth                  }
49*dab5c30cSJayanth Othayoth              }
50*dab5c30cSJayanth Othayoth             },
51*dab5c30cSJayanth Othayoth        %endfor
52*dab5c30cSJayanth Othayoth        }
53*dab5c30cSJayanth Othayoth     }
54*dab5c30cSJayanth Othayoth    },
55*dab5c30cSJayanth Othayoth%endfor
56*dab5c30cSJayanth Othayoth};
57*dab5c30cSJayanth Othayoth
58*dab5c30cSJayanth Othayoth} // namespace power
59*dab5c30cSJayanth Othayoth} // namespace phosphor
60