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