overlays: i2c-sensor: Add adt7410 support
[platform/kernel/linux-rpi.git] / arch / arm / boot / dts / overlays / i2c-sensor-common.dtsi
1 // Definitions for I2C based sensors using the Industrial IO or HWMON interface.
2 /dts-v1/;
3 /plugin/;
4
5 #include <dt-bindings/gpio/gpio.h>
6
7 / {
8         compatible = "brcm,bcm2835";
9
10         fragment@0 {
11                 target = <&i2cbus>;
12                 __dormant__ {
13                         #address-cells = <1>;
14                         #size-cells = <0>;
15                         status = "okay";
16
17                         bme280: bme280@76 {
18                                 compatible = "bosch,bme280";
19                                 reg = <0x76>;
20                                 status = "okay";
21                         };
22                 };
23         };
24
25         fragment@1 {
26                 target = <&i2cbus>;
27                 __dormant__ {
28                         #address-cells = <1>;
29                         #size-cells = <0>;
30                         status = "okay";
31
32                         bmp085: bmp085@77 {
33                                 compatible = "bosch,bmp085";
34                                 reg = <0x77>;
35                                 default-oversampling = <3>;
36                                 status = "okay";
37                         };
38                 };
39         };
40
41         fragment@2 {
42                 target = <&i2cbus>;
43                 __dormant__ {
44                         #address-cells = <1>;
45                         #size-cells = <0>;
46                         status = "okay";
47
48                         bmp180: bmp180@77 {
49                                 compatible = "bosch,bmp180";
50                                 reg = <0x77>;
51                                 status = "okay";
52                         };
53                 };
54         };
55
56         fragment@3 {
57                 target = <&i2cbus>;
58                 __dormant__ {
59                         #address-cells = <1>;
60                         #size-cells = <0>;
61                         status = "okay";
62
63                         bmp280: bmp280@76 {
64                                 compatible = "bosch,bmp280";
65                                 reg = <0x76>;
66                                 status = "okay";
67                         };
68                 };
69         };
70
71         fragment@4 {
72                 target = <&i2cbus>;
73                 __dormant__ {
74                         #address-cells = <1>;
75                         #size-cells = <0>;
76                         status = "okay";
77
78                         htu21: htu21@40 {
79                                 compatible = "meas,htu21";
80                                 reg = <0x40>;
81                                 status = "okay";
82                         };
83                 };
84         };
85
86         fragment@5 {
87                 target = <&i2cbus>;
88                 __dormant__ {
89                         #address-cells = <1>;
90                         #size-cells = <0>;
91                         status = "okay";
92
93                         lm75: lm75@4f {
94                                 compatible = "national,lm75";
95                                 reg = <0x4f>;
96                                 status = "okay";
97                         };
98                 };
99         };
100
101         fragment@6 {
102                 target = <&i2cbus>;
103                 __dormant__ {
104                         #address-cells = <1>;
105                         #size-cells = <0>;
106                         status = "okay";
107
108                         si7020: si7020@40 {
109                                 compatible = "silabs,si7020";
110                                 reg = <0x40>;
111                                 status = "okay";
112                         };
113                 };
114         };
115
116         fragment@7 {
117                 target = <&i2cbus>;
118                 __dormant__ {
119                         #address-cells = <1>;
120                         #size-cells = <0>;
121                         status = "okay";
122
123                         tmp102: tmp102@48 {
124                                 compatible = "ti,tmp102";
125                                 reg = <0x48>;
126                                 status = "okay";
127                         };
128                 };
129         };
130
131         fragment@8 {
132                 target = <&i2cbus>;
133                 __dormant__ {
134                         #address-cells = <1>;
135                         #size-cells = <0>;
136                         status = "okay";
137
138                         hdc100x: hdc100x@40 {
139                                 compatible = "ti,hdc1000";
140                                 reg = <0x40>;
141                                 status = "okay";
142                         };
143                 };
144         };
145
146         fragment@9 {
147                 target = <&i2cbus>;
148                 __dormant__ {
149                         #address-cells = <1>;
150                         #size-cells = <0>;
151                         status = "okay";
152
153                         tsl4531: tsl4531@29 {
154                                 compatible = "amstaos,tsl4531";
155                                 reg = <0x29>;
156                                 status = "okay";
157                         };
158                 };
159         };
160
161         fragment@10 {
162                 target = <&i2cbus>;
163                 __dormant__ {
164                         #address-cells = <1>;
165                         #size-cells = <0>;
166                         status = "okay";
167
168                         veml6070: veml6070@38 {
169                                 compatible = "vishay,veml6070";
170                                 reg = <0x38>;
171                                 status = "okay";
172                         };
173                 };
174         };
175
176         fragment@11 {
177                 target = <&i2cbus>;
178                 __dormant__ {
179                         #address-cells = <1>;
180                         #size-cells = <0>;
181                         status = "okay";
182
183                         sht3x: sht3x@44 {
184                                 compatible = "sensirion,sht3x";
185                                 reg = <0x44>;
186                                 status = "okay";
187                         };
188                 };
189         };
190
191         fragment@12 {
192                 target = <&i2cbus>;
193                 __dormant__ {
194                         #address-cells = <1>;
195                         #size-cells = <0>;
196                         status = "okay";
197
198                         ds1621: ds1621@48 {
199                                 compatible = "dallas,ds1621";
200                                 reg = <0x48>;
201                                 status = "okay";
202                         };
203                 };
204         };
205
206         fragment@13 {
207                 target = <&i2cbus>;
208                 __dormant__ {
209                         #address-cells = <1>;
210                         #size-cells = <0>;
211                         status = "okay";
212
213                         max17040: max17040@36 {
214                                 compatible = "maxim,max17040";
215                                 reg = <0x36>;
216                                 status = "okay";
217                         };
218                 };
219         };
220
221         fragment@14 {
222                 target = <&i2cbus>;
223                 __dormant__ {
224                         #address-cells = <1>;
225                         #size-cells = <0>;
226                         status = "okay";
227
228                         bme680: bme680@76 {
229                                 compatible = "bosch,bme680";
230                                 reg = <0x76>;
231                                 status = "okay";
232                         };
233                 };
234         };
235
236         fragment@15 {
237                 target = <&i2cbus>;
238                 __dormant__ {
239                         #address-cells = <1>;
240                         #size-cells = <0>;
241                         status = "okay";
242
243                         sps30: sps30@69 {
244                                 compatible = "sensirion,sps30";
245                                 reg = <0x69>;
246                                 status = "okay";
247                         };
248                 };
249         };
250
251         fragment@16 {
252                 target = <&i2cbus>;
253                 __dormant__ {
254                         #address-cells = <1>;
255                         #size-cells = <0>;
256                         status = "okay";
257
258                         sgp30: sgp30@58 {
259                                 compatible = "sensirion,sgp30";
260                                 reg = <0x58>;
261                                 status = "okay";
262                         };
263                 };
264         };
265
266         fragment@17 {
267                 target = <&i2cbus>;
268                 __dormant__ {
269                         #address-cells = <1>;
270                         #size-cells = <0>;
271                         status = "okay";
272
273                         ccs811: ccs811@5b {
274                                 compatible = "ams,ccs811";
275                                 reg = <0x5b>;
276                                 status = "okay";
277                         };
278                 };
279         };
280
281         fragment@18 {
282                 target = <&i2cbus>;
283                 __dormant__ {
284                         #address-cells = <1>;
285                         #size-cells = <0>;
286                         status = "okay";
287
288                         bh1750: bh1750@23 {
289                                 compatible = "rohm,bh1750";
290                                 reg = <0x23>;
291                                 status = "okay";
292                         };
293                 };
294         };
295
296         fragment@19 {
297                 target = <&i2cbus>;
298                 __dormant__ {
299                         #address-cells = <1>;
300                         #size-cells = <0>;
301                         status = "okay";
302
303                         max30102: max30102@57 {
304                                 compatible = "maxim,max30102";
305                                 reg = <0x57>;
306                                 maxim,red-led-current-microamp = <7000>;
307                                 maxim,ir-led-current-microamp  = <7000>;
308                                 interrupt-parent = <&gpio>;
309                                 interrupts = <4 2>;
310                         };
311                 };
312         };
313
314         fragment@20 {
315                 target = <&i2cbus>;
316                 __dormant__ {
317                         #address-cells = <1>;
318                         #size-cells = <0>;
319                         status = "okay";
320
321                         aht10: aht10@38 {
322                                 compatible = "aosong,aht10";
323                                 reg = <0x38>;
324                         };
325                 };
326         };
327
328         fragment@21 {
329                 target = <&i2cbus>;
330                 __dormant__ {
331                         #address-cells = <1>;
332                         #size-cells = <0>;
333                         status = "okay";
334
335                         mcp980x: mcp980x@18 {
336                                 compatible = "maxim,mcp980x";
337                                 reg = <0x18>;
338                         };
339                 };
340         };
341
342         fragment@22 {
343                 target = <&i2cbus>;
344                 __dormant__ {
345                         #address-cells = <1>;
346                         #size-cells = <0>;
347                         status = "okay";
348
349                         jc42: jc42@18 {
350                                 compatible = "jedec,jc-42.4-temp";
351                                 reg = <0x18>;
352                         };
353                 };
354         };
355
356         fragment@23 {
357                 target = <&i2cbus>;
358                 __dormant__ {
359                         #address-cells = <1>;
360                         #size-cells = <0>;
361                         status = "okay";
362
363                         ms5637: ms5637@76 {
364                                 compatible = "meas,ms5637";
365                                 reg = <0x76>;
366                         };
367                 };
368         };
369
370         fragment@24 {
371                 target = <&i2cbus>;
372                 __dormant__ {
373                         #address-cells = <1>;
374                         #size-cells = <0>;
375                         status = "okay";
376
377                         ms5803: ms5803@76 {
378                                 compatible = "meas,ms5803";
379                                 reg = <0x76>;
380                         };
381                 };
382         };
383
384         fragment@25 {
385                 target = <&i2cbus>;
386                 __dormant__ {
387                         #address-cells = <1>;
388                         #size-cells = <0>;
389                         status = "okay";
390
391                         ms5805: ms5805@76 {
392                                 compatible = "meas,ms5805";
393                                 reg = <0x76>;
394                         };
395                 };
396         };
397
398         fragment@26 {
399                 target = <&i2cbus>;
400                 __dormant__ {
401                         #address-cells = <1>;
402                         #size-cells = <0>;
403                         status = "okay";
404
405                         ms5837: ms5837@76 {
406                                 compatible = "meas,ms5837";
407                                 reg = <0x76>;
408                         };
409                 };
410         };
411
412         fragment@27 {
413                 target = <&i2cbus>;
414                 __dormant__ {
415                         #address-cells = <1>;
416                         #size-cells = <0>;
417                         status = "okay";
418
419                         ms8607: ms8607@76 {
420                                 compatible = "meas,ms8607-temppressure";
421                                 reg = <0x76>;
422                         };
423                 };
424         };
425
426         fragment@28 {
427                 target = <&i2cbus>;
428                 __dormant__ {
429                         #address-cells = <1>;
430                         #size-cells = <0>;
431                         status = "okay";
432                         clock-frequency = <400000>;
433
434                         mpu6050: mpu6050@68 {
435                                 compatible = "invensense,mpu6050";
436                                 reg = <0x68>;
437                                 interrupt-parent = <&gpio>;
438                                 interrupts = <4 2>;
439                         };
440                 };
441         };
442
443         fragment@29 {
444                 target = <&i2cbus>;
445                 __dormant__ {
446                         #address-cells = <1>;
447                         #size-cells = <0>;
448                         status = "okay";
449                         clock-frequency = <400000>;
450
451                         mpu9250: mpu9250@68 {
452                                 compatible = "invensense,mpu9250";
453                                 reg = <0x68>;
454                                 interrupt-parent = <&gpio>;
455                                 interrupts = <4 2>;
456                         };
457                 };
458         };
459
460         fragment@30 {
461                 target = <&bno055>;
462                 __dormant__ {
463                         reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
464                 };
465         };
466
467         fragment@31 {
468                 target = <&i2cbus>;
469                 __dormant__ {
470                         #address-cells = <1>;
471                         #size-cells = <0>;
472                         status = "okay";
473
474                         bno055: bno055@29 {
475                                 compatible = "bosch,bno055";
476                                 reg = <0x29>;
477                         };
478                 };
479         };
480
481         fragment@32 {
482                 target = <&i2cbus>;
483                 __dormant__ {
484                         #address-cells = <1>;
485                         #size-cells = <0>;
486                         status = "okay";
487
488                         sht4x: sht4x@44 {
489                                 compatible = "sensirion,sht4x";
490                                 reg = <0x44>;
491                                 status = "okay";
492                         };
493                 };
494         };
495
496         fragment@33 {
497                 target = <&i2cbus>;
498                 __dormant__ {
499                         #address-cells = <1>;
500                         #size-cells = <0>;
501                         status = "okay";
502
503                         bmp380: bmp380@76 {
504                                 compatible = "bosch,bmp380";
505                                 reg = <0x76>;
506                                 status = "okay";
507                         };
508                 };
509         };
510
511         fragment@34 {
512                 target = <&i2cbus>;
513                 __dormant__ {
514                         #address-cells = <1>;
515                         #size-cells = <0>;
516                         status = "okay";
517
518                         adt7410: adt7410@48 {
519                                 compatible = "adi,adt7410", "adi,adt7420";
520                                 reg = <0x48>;
521                                 status = "okay";
522                         };
523                 };
524         };
525
526         __overrides__ {
527                 bme280 = <0>,"+0";
528                 bmp085 = <0>,"+1";
529                 bmp180 = <0>,"+2";
530                 bmp280 = <0>,"+3";
531                 bmp380 = <0>,"+33";
532                 htu21 = <0>,"+4";
533                 lm75 = <0>,"+5";
534                 lm75addr = <&lm75>,"reg:0";
535                 si7020 = <0>,"+6";
536                 tmp102 = <0>,"+7";
537                 hdc100x = <0>,"+8";
538                 tsl4531 = <0>,"+9";
539                 veml6070 = <0>,"+10";
540                 sht3x = <0>,"+11";
541                 ds1621 = <0>,"+12";
542                 max17040 = <0>,"+13";
543                 bme680 = <0>,"+14";
544                 sps30 = <0>,"+15";
545                 sgp30 = <0>,"+16";
546                 ccs811 = <0>, "+17";
547                 bh1750 = <0>, "+18";
548                 max30102 = <0>,"+19";
549                 aht10 = <0>,"+20";
550                 mcp980x = <0>,"+21";
551                 jc42 = <0>,"+22";
552                 ms5637 = <0>,"+23";
553                 ms5803 = <0>,"+24";
554                 ms5805 = <0>,"+25";
555                 ms5837 = <0>,"+26";
556                 ms8607 = <0>,"+27";
557                 mpu6050 = <0>,"+28";
558                 mpu9250 = <0>,"+29";
559                 bno055 = <0>,"+31";
560                 sht4x = <0>,"+32";
561                 adt7410 = <0>,"+34";
562
563                 addr =  <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0",
564                         <&lm75>,"reg:0", <&hdc100x>,"reg:0", <&sht3x>,"reg:0",
565                         <&ds1621>,"reg:0", <&bme680>,"reg:0", <&ccs811>,"reg:0",
566                         <&bh1750>,"reg:0", <&mcp980x>,"reg:0", <&jc42>,"reg:0",
567                         <&ms5637>,"reg:0", <&ms5803>,"reg:0", <&ms5805>,"reg:0",
568                         <&ms5837>,"reg:0", <&ms8607>,"reg:0",
569                         <&mpu6050>,"reg:0", <&mpu9250>,"reg:0",
570                         <&bno055>,"reg:0", <&sht4x>,"reg:0",
571                         <&bmp380>,"reg:0", <&adt7410>,"reg:0";
572                 int_pin = <&max30102>, "interrupts:0",
573                         <&mpu6050>, "interrupts:0",
574                         <&mpu9250>, "interrupts:0";
575                 no_timeout = <&jc42>, "smbus-timeout-disable?";
576                 reset_pin = <&bno055>,"reset-gpios:4", <0>,"+30";
577         };
578 };