blob: f5d00d24812094941e9de28952e26cad915bcd76 [file] [log] [blame]
James Feist053a6642018-10-15 13:17:09 -07001/*
2// Copyright (c) 2018 Intel Corporation
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15*/
Brad Bishop1fb9f3f2020-08-28 08:15:13 -040016/// \file devices.hpp
James Feist053a6642018-10-15 13:17:09 -070017
18#pragma once
19#include <boost/container/flat_map.hpp>
20
21namespace devices
22{
23
24struct CmpStr
25{
James Feista465ccc2019-02-08 12:51:01 -080026 bool operator()(const char* a, const char* b) const
James Feist053a6642018-10-15 13:17:09 -070027 {
28 return std::strcmp(a, b) < 0;
29 }
30};
31
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070032// I2C device drivers may create a /hwmon subdirectory. For example the tmp75
33// driver creates a /sys/bus/i2c/devices/<busnum>-<i2caddr>/hwmon
34// directory. The sensor code relies on the presence of the /hwmon
35// subdirectory to collect sensor readings. Initialization of this subdir is
36// not reliable. I2C devices flagged with hasHWMonDir are tested for correct
37// initialization, and when a failure is detected the device is deleted, and
38// then recreated. The default is to retry 5 times before moving to the next
39// device.
40
41// Devices such as I2C EEPROMs do not generate this file structure. These
42// kinds of devices are flagged using the noHWMonDir enumeration. The
43// expectation is they are created correctly on the first attempt.
44
45// This enumeration class exists to reduce copy/paste errors. It is easy to
46// overlook the trailing parameter in the ExportTemplate structure when it is
47// a simple boolean.
48enum class createsHWMon : bool
49{
50 noHWMonDir,
51 hasHWMonDir
52};
53
James Feist053a6642018-10-15 13:17:09 -070054struct ExportTemplate
55{
Zev Weissc11b5da2022-07-12 16:31:37 -070056 ExportTemplate(const char* params, const char* bus, const char* constructor,
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070057 const char* destructor, createsHWMon hasHWMonDir) :
Johnathan Mantey9b867872020-10-13 15:00:51 -070058 parameters(params),
Zev Weissc11b5da2022-07-12 16:31:37 -070059 busPath(bus), add(constructor), remove(destructor),
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070060 hasHWMonDir(hasHWMonDir){};
James Feista465ccc2019-02-08 12:51:01 -080061 const char* parameters;
Zev Weissc11b5da2022-07-12 16:31:37 -070062 const char* busPath;
Johnathan Mantey9b867872020-10-13 15:00:51 -070063 const char* add;
64 const char* remove;
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070065 createsHWMon hasHWMonDir;
James Feist053a6642018-10-15 13:17:09 -070066};
67
James Feista465ccc2019-02-08 12:51:01 -080068const boost::container::flat_map<const char*, ExportTemplate, CmpStr>
Devjit Gopalpur4acdc542019-10-10 22:47:46 -070069 exportTemplates{
Vijay Khemka48328412021-04-12 23:14:53 +000070 {{"EEPROM_24C01",
71 ExportTemplate("24c01 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070072 "new_device", "delete_device",
73 createsHWMon::noHWMonDir)},
Vijay Khemka48328412021-04-12 23:14:53 +000074 {"EEPROM_24C02",
Johnathan Mantey9b867872020-10-13 15:00:51 -070075 ExportTemplate("24c02 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070076 "new_device", "delete_device",
77 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -070078 {"EEPROM_24C04",
79 ExportTemplate("24c04 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070080 "new_device", "delete_device",
81 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -070082 {"EEPROM_24C08",
83 ExportTemplate("24c08 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070084 "new_device", "delete_device",
85 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -070086 {"EEPROM_24C16",
87 ExportTemplate("24c16 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070088 "new_device", "delete_device",
89 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -070090 {"EEPROM_24C32",
91 ExportTemplate("24c32 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070092 "new_device", "delete_device",
93 createsHWMon::noHWMonDir)},
Hao Jiangf64d4392021-02-23 14:22:03 -080094 {"EEPROM_24C64",
Johnathan Mantey9b867872020-10-13 15:00:51 -070095 ExportTemplate("24c64 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -070096 "new_device", "delete_device",
97 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -070098 {"EEPROM_24C128",
99 ExportTemplate("24c128 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700100 "new_device", "delete_device",
101 createsHWMon::noHWMonDir)},
Jae Hyun Yoo86022012022-04-01 16:04:29 -0700102 {"EEPROM_24C256",
103 ExportTemplate("24c256 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700104 "new_device", "delete_device",
105 createsHWMon::noHWMonDir)},
Nan Zhou296667f2021-02-23 09:53:14 -0800106 {"ADM1266",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700107 ExportTemplate("adm1266 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700108 "new_device", "delete_device",
109 createsHWMon::noHWMonDir)},
Josh Lehan079c47f2020-06-18 16:34:31 -0700110 {"ADM1272",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700111 ExportTemplate("adm1272 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700112 "new_device", "delete_device",
113 createsHWMon::noHWMonDir)},
Joseph Fu9fa8f412022-11-07 09:23:33 +0800114 {"ADS1015",
115 ExportTemplate("ads1015 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
116 "new_device", "delete_device",
117 createsHWMon::noHWMonDir)},
Michal Bieleckiff503d82022-04-29 10:20:08 +0200118 {"ADS7828",
119 ExportTemplate("ads7828 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700120 "new_device", "delete_device",
121 createsHWMon::noHWMonDir)},
Johnathan Mantey9b867872020-10-13 15:00:51 -0700122 {"EEPROM",
123 ExportTemplate("eeprom $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700124 "new_device", "delete_device",
125 createsHWMon::noHWMonDir)},
Johnathan Mantey9b867872020-10-13 15:00:51 -0700126 {"Gpio", ExportTemplate("$Index", "/sys/class/gpio", "export",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700127 "unexport", createsHWMon::noHWMonDir)},
Johnathan Mantey9b867872020-10-13 15:00:51 -0700128 {"INA230",
129 ExportTemplate("ina230 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700130 "new_device", "delete_device",
131 createsHWMon::hasHWMonDir)},
Tingting Chena591d6c2022-11-21 19:20:11 +0800132 {"IPSPS1",
133 ExportTemplate("ipsps1 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
134 "new_device", "delete_device",
135 createsHWMon::hasHWMonDir)},
Alex Qiu0cbe6bf2020-01-03 09:20:02 -0800136 {"ISL68137",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700137 ExportTemplate("isl68137 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700138 "new_device", "delete_device",
139 createsHWMon::hasHWMonDir)},
Yung Sheng Huangec5e74e2022-05-06 10:02:18 +0800140 {"ISL68220",
141 ExportTemplate("isl68220 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700142 "new_device", "delete_device",
143 createsHWMon::hasHWMonDir)},
Khang Kieu20fb4ae2022-02-09 02:04:33 +0000144 {"ISL69225",
145 ExportTemplate("isl69225 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700146 "new_device", "delete_device",
147 createsHWMon::hasHWMonDir)},
Gaurav Gandhibdad9572020-12-29 03:14:48 +0000148 {"ISL68223",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700149 ExportTemplate("isl68223 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700150 "new_device", "delete_device",
151 createsHWMon::hasHWMonDir)},
Gaurav Gandhibdad9572020-12-29 03:14:48 +0000152 {"ISL69243",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700153 ExportTemplate("isl69243 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700154 "new_device", "delete_device",
155 createsHWMon::hasHWMonDir)},
Zhikui Rened2f07b2022-02-16 14:59:09 -0800156 {"ISL69260",
157 ExportTemplate("isl69260 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700158 "new_device", "delete_device",
159 createsHWMon::hasHWMonDir)},
Alex Qiuba5424a2020-01-29 13:33:16 -0800160 {"MAX16601",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700161 ExportTemplate("max16601 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700162 "new_device", "delete_device",
163 createsHWMon::hasHWMonDir)},
Gaurav Gandhibdad9572020-12-29 03:14:48 +0000164 {"MAX20710",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700165 ExportTemplate("max20710 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700166 "new_device", "delete_device",
167 createsHWMon::hasHWMonDir)},
Alex Qiu9354bf72020-01-22 17:52:32 -0800168 {"MAX20730",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700169 ExportTemplate("max20730 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700170 "new_device", "delete_device",
171 createsHWMon::hasHWMonDir)},
Alex Qiu9354bf72020-01-22 17:52:32 -0800172 {"MAX20734",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700173 ExportTemplate("max20734 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700174 "new_device", "delete_device",
175 createsHWMon::hasHWMonDir)},
Alex Qiu9354bf72020-01-22 17:52:32 -0800176 {"MAX20796",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700177 ExportTemplate("max20796 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700178 "new_device", "delete_device",
179 createsHWMon::hasHWMonDir)},
Nan Zhou296667f2021-02-23 09:53:14 -0800180 {"MAX34440",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700181 ExportTemplate("max34440 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700182 "new_device", "delete_device",
183 createsHWMon::hasHWMonDir)},
Alex Qiu0cbe6bf2020-01-03 09:20:02 -0800184 {"MAX34451",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700185 ExportTemplate("max34451 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700186 "new_device", "delete_device",
187 createsHWMon::hasHWMonDir)},
Tingting Chena591d6c2022-11-21 19:20:11 +0800188 {"PCA9537",
189 ExportTemplate("pca9537 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
190 "new_device", "delete_device",
191 createsHWMon::noHWMonDir)},
Jan Sowinski50b2e0f2022-05-06 16:47:12 +0200192 {"PCA9542Mux",
193 ExportTemplate("pca9542 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700194 "new_device", "delete_device",
195 createsHWMon::noHWMonDir)},
Devjit Gopalpur4acdc542019-10-10 22:47:46 -0700196 {"PCA9543Mux",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700197 ExportTemplate("pca9543 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700198 "new_device", "delete_device",
199 createsHWMon::noHWMonDir)},
Devjit Gopalpur4acdc542019-10-10 22:47:46 -0700200 {"PCA9544Mux",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700201 ExportTemplate("pca9544 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700202 "new_device", "delete_device",
203 createsHWMon::noHWMonDir)},
Devjit Gopalpur4acdc542019-10-10 22:47:46 -0700204 {"PCA9545Mux",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700205 ExportTemplate("pca9545 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700206 "new_device", "delete_device",
207 createsHWMon::noHWMonDir)},
Devjit Gopalpur4acdc542019-10-10 22:47:46 -0700208 {"PCA9546Mux",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700209 ExportTemplate("pca9546 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700210 "new_device", "delete_device",
211 createsHWMon::noHWMonDir)},
Devjit Gopalpur4acdc542019-10-10 22:47:46 -0700212 {"PCA9547Mux",
Johnathan Mantey9b867872020-10-13 15:00:51 -0700213 ExportTemplate("pca9547 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700214 "new_device", "delete_device",
215 createsHWMon::noHWMonDir)},
Sujoy Raye4dc1402022-04-15 10:28:34 -0700216 {"PCA9548Mux",
217 ExportTemplate("pca9548 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700218 "new_device", "delete_device",
219 createsHWMon::noHWMonDir)},
Jan Sowinski50b2e0f2022-05-06 16:47:12 +0200220 {"PCA9846Mux",
221 ExportTemplate("pca9846 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700222 "new_device", "delete_device",
223 createsHWMon::noHWMonDir)},
Jiaqing Zhao88333fe2022-05-06 15:00:15 +0800224 {"PCA9847Mux",
225 ExportTemplate("pca9847 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700226 "new_device", "delete_device",
227 createsHWMon::noHWMonDir)},
Jiaqing Zhao88333fe2022-05-06 15:00:15 +0800228 {"PCA9848Mux",
229 ExportTemplate("pca9848 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700230 "new_device", "delete_device",
231 createsHWMon::noHWMonDir)},
Jiaqing Zhao88333fe2022-05-06 15:00:15 +0800232 {"PCA9849Mux",
233 ExportTemplate("pca9849 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700234 "new_device", "delete_device",
235 createsHWMon::noHWMonDir)},
Yung Sheng Huang2ca85292022-07-15 09:59:50 +0800236 {"SIC450",
237 ExportTemplate("sic450 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700238 "new_device", "delete_device",
239 createsHWMon::hasHWMonDir)},
240 {"pmbus", ExportTemplate("pmbus $Address",
241 "/sys/bus/i2c/devices/i2c-$Bus", "new_device",
242 "delete_device", createsHWMon::hasHWMonDir)},
Lotus Xu93db9bf2021-09-08 13:47:47 +0800243 {"PXE1610",
244 ExportTemplate("pxe1610 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700245 "new_device", "delete_device",
246 createsHWMon::hasHWMonDir)},
Yung Sheng Huang2f464bd2022-09-02 11:37:48 +0800247 {"Q50SN12072",
248 ExportTemplate("q50sn12072 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
249 "new_device", "delete_device",
250 createsHWMon::hasHWMonDir)},
Lotus Xu93db9bf2021-09-08 13:47:47 +0800251 {"XDPE12284",
252 ExportTemplate("xdpe12284 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700253 "new_device", "delete_device",
254 createsHWMon::hasHWMonDir)},
Jeff Lin0e3bec82023-06-02 09:56:53 +0800255 {"XDPE152C4",
256 ExportTemplate("xdpe152c4 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
257 "new_device", "delete_device",
258 createsHWMon::hasHWMonDir)},
Zev Weiss27adbb72022-04-01 16:17:09 -0700259 {"LM25066",
260 ExportTemplate("lm25066 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700261 "new_device", "delete_device",
262 createsHWMon::hasHWMonDir)},
Scron Chang2fb84ef2021-07-14 20:32:14 +0800263 {"RAA228000",
264 ExportTemplate("raa228000 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700265 "new_device", "delete_device",
266 createsHWMon::hasHWMonDir)},
Scron Chang2fb84ef2021-07-14 20:32:14 +0800267 {"DPS800",
268 ExportTemplate("dps800 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700269 "new_device", "delete_device",
270 createsHWMon::hasHWMonDir)},
Scron Chang5d11daf2021-07-26 13:38:26 +0800271 {"MAX31790",
272 ExportTemplate("max31790 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700273 "new_device", "delete_device",
274 createsHWMon::hasHWMonDir)},
Saitwal, Meghan5e9a3052023-04-13 11:35:29 +0000275 {"PIC32", ExportTemplate("pic32 $Address",
276 "/sys/bus/i2c/devices/i2c-$Bus", "new_device",
277 "delete_device", createsHWMon::hasHWMonDir)},
Zhikui Rened2f07b2022-02-16 14:59:09 -0800278 {"ADM1293",
279 ExportTemplate("adm1293 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700280 "new_device", "delete_device",
Matt Simmering8172db82022-09-29 16:02:03 -0700281 createsHWMon::hasHWMonDir)},
Zhikui Rened2f07b2022-02-16 14:59:09 -0800282 {"INA219",
283 ExportTemplate("ina219 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700284 "new_device", "delete_device",
Matt Simmering8172db82022-09-29 16:02:03 -0700285 createsHWMon::hasHWMonDir)},
Tingting Chena591d6c2022-11-21 19:20:11 +0800286 {"INA226",
287 ExportTemplate("ina226 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
288 "new_device", "delete_device",
289 createsHWMon::hasHWMonDir)},
Jeff Lin0e3bec82023-06-02 09:56:53 +0800290 {"RAA229004",
291 ExportTemplate("raa229004 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
292 "new_device", "delete_device",
293 createsHWMon::hasHWMonDir)},
Zhikui Renec6183c2022-02-26 23:04:34 -0800294 {"RAA229126",
295 ExportTemplate("raa229126 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700296 "new_device", "delete_device",
297 createsHWMon::hasHWMonDir)},
Yung Sheng Huang6d524272022-09-02 11:47:10 +0800298 {"RAA229620",
299 ExportTemplate("raa229620 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
300 "new_device", "delete_device",
301 createsHWMon::hasHWMonDir)},
302 {"RAA229621",
303 ExportTemplate("raa229621 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
304 "new_device", "delete_device",
305 createsHWMon::hasHWMonDir)},
Konstantin Aladyshev91df5312022-10-19 18:46:27 +0300306 {"TPS53679",
307 ExportTemplate("tps53679 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
308 "new_device", "delete_device",
309 createsHWMon::hasHWMonDir)},
Shamim Ali3f4527a2022-06-08 23:19:11 +0530310 {"MP2971",
311 ExportTemplate("mp2971 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700312 "new_device", "delete_device",
313 createsHWMon::hasHWMonDir)},
Shamim Ali3f4527a2022-06-08 23:19:11 +0530314 {"MP2973",
315 ExportTemplate("mp2973 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
Johnathan Mantey7b21ef22022-08-08 12:57:55 -0700316 "new_device", "delete_device",
Konstantin Aladyshev016f1212023-02-20 18:37:10 +0300317 createsHWMon::hasHWMonDir)},
318 {"MP2975",
319 ExportTemplate("mp2975 $Address", "/sys/bus/i2c/devices/i2c-$Bus",
320 "new_device", "delete_device",
Zev Weisse22143d2022-08-03 16:29:06 -0700321 createsHWMon::hasHWMonDir)}}};
Jae Hyun Yoo9cdeabb2018-10-16 11:47:09 -0700322} // namespace devices