1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/hwmon/ti,tmp421.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TMP42x/TMP44x temperature sensor
8
9maintainers:
10  - Guenter Roeck <linux@roeck-us.net>
11
12description: |
13  ±1°C Remote and Local temperature sensor
14  https://www.ti.com/lit/ds/symlink/tmp422.pdf
15
16properties:
17  compatible:
18    enum:
19      - ti,tmp421
20      - ti,tmp422
21      - ti,tmp423
22      - ti,tmp441
23      - ti,tmp442
24  reg:
25    maxItems: 1
26
27  '#address-cells':
28    const: 1
29
30  '#size-cells':
31    const: 0
32
33required:
34  - compatible
35  - reg
36
37additionalProperties: false
38
39patternProperties:
40  "^channel@([0-3])$":
41    type: object
42    description: |
43      Represents channels of the device and their specific configuration.
44
45    properties:
46      reg:
47        description: |
48          The channel number. 0 is local channel, 1-3 are remote channels
49        items:
50          minimum: 0
51          maximum: 3
52
53      label:
54        description: |
55          A descriptive name for this channel, like "ambient" or "psu".
56
57      ti,n-factor:
58        description: |
59          The value (two's complement) to be programmed in the channel specific N correction register.
60          For remote channels only.
61        $ref: /schemas/types.yaml#/definitions/uint32
62        items:
63          minimum: 0
64          maximum: 255
65
66    required:
67      - reg
68
69    additionalProperties: false
70
71examples:
72  - |
73    i2c {
74      #address-cells = <1>;
75      #size-cells = <0>;
76
77      sensor@4c {
78        compatible = "ti,tmp422";
79        reg = <0x4c>;
80      };
81    };
82  - |
83    i2c {
84      #address-cells = <1>;
85      #size-cells = <0>;
86
87      sensor@4c {
88        compatible = "ti,tmp422";
89        reg = <0x4c>;
90        #address-cells = <1>;
91        #size-cells = <0>;
92
93        channel@0 {
94          reg = <0x0>;
95          ti,n-factor = <0x1>;
96          label = "local";
97        };
98
99        channel@1 {
100          reg = <0x1>;
101          ti,n-factor = <0x0>;
102          label = "somelabel";
103        };
104
105        channel@2 {
106          reg = <0x2>;
107          status = "disabled";
108        };
109      };
110    };
111