134e257baSBrandon Wyman /* This is a generated file. */
234e257baSBrandon Wyman 
334e257baSBrandon Wyman #include "ucd90160.hpp"
434e257baSBrandon Wyman 
5ab093328SLei YU namespace phosphor
634e257baSBrandon Wyman {
734e257baSBrandon Wyman namespace power
834e257baSBrandon Wyman {
934e257baSBrandon Wyman 
1034e257baSBrandon Wyman using namespace ucd90160;
1134e257baSBrandon Wyman using namespace std::string_literals;
1234e257baSBrandon Wyman 
1334e257baSBrandon Wyman const DeviceMap UCD90160::deviceMap{
14f99887b2SBrandon Wyman %for ucd_data in ucd90160s:
15f99887b2SBrandon Wyman     {${ucd_data['index']},
1634e257baSBrandon Wyman      DeviceDefinition{
17f99887b2SBrandon Wyman        "${ucd_data['path']}",
1834e257baSBrandon Wyman 
19ee21fd28SBrandon Wyman         RailNames{
20ee21fd28SBrandon Wyman         %for rail in ucd_data['RailNames']:
21ee21fd28SBrandon Wyman             "${rail}"s,
22ee21fd28SBrandon Wyman         %endfor
23ee21fd28SBrandon Wyman         },
2434e257baSBrandon Wyman 
2534e257baSBrandon Wyman         GPIConfigs{
262ca8e48aSBrandon Wyman         %for gpi_config in ucd_data['GPIConfigs']:
272ca8e48aSBrandon Wyman         <%
282ca8e48aSBrandon Wyman             poll = str(gpi_config['poll']).lower()
292ca8e48aSBrandon Wyman         %>\
302ca8e48aSBrandon Wyman             GPIConfig{${gpi_config['gpi']}, ${gpi_config['pinID']}, "${gpi_config['name']}"s, ${poll}, extraAnalysisType::${gpi_config['analysis']}},
312ca8e48aSBrandon Wyman         %endfor
322ca8e48aSBrandon Wyman         },
3334e257baSBrandon Wyman 
3434e257baSBrandon Wyman         GPIOAnalysis{
35*5a94c9dbSJim Wright         %for gpio_analysis in ucd_data.get('GPIOAnalysis', []):
36573f887cSBrandon Wyman              {extraAnalysisType::${gpio_analysis['type']},
3734e257baSBrandon Wyman               GPIOGroup{
38573f887cSBrandon Wyman                   "${gpio_analysis['path']}",
39573f887cSBrandon Wyman                   gpio::Value::${gpio_analysis['gpio_value']},
__anonb75ecee40402() 4034e257baSBrandon Wyman                   [](auto& ucd, const auto& callout) {
41573f887cSBrandon Wyman                       ucd.${gpio_analysis['error_function']}(callout);
4234e257baSBrandon Wyman                   },
__anonb75ecee40502() 43573f887cSBrandon Wyman                   optionFlags::${gpio_analysis['option_flags']},
__anonb75ecee40602() 4434e257baSBrandon Wyman                   GPIODefinitions{
45573f887cSBrandon Wyman                   %for gpio_defs in gpio_analysis['GPIODefinitions']:
46573f887cSBrandon Wyman                       GPIODefinition{${gpio_defs['gpio']}, "${gpio_defs['callout']}"s},
47573f887cSBrandon Wyman                   %endfor
48573f887cSBrandon Wyman                   }
49573f887cSBrandon Wyman               }
50573f887cSBrandon Wyman              },
51573f887cSBrandon Wyman         %endfor
52573f887cSBrandon Wyman         }
53573f887cSBrandon Wyman      }
54f99887b2SBrandon Wyman     },
55f99887b2SBrandon Wyman %endfor
56f99887b2SBrandon Wyman };
5734e257baSBrandon Wyman 
5834e257baSBrandon Wyman } // namespace power
59ab093328SLei YU } // namespace phosphor
60