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/int32
62        minimum: -128
63        maximum: 127
64
65    required:
66      - reg
67
68    additionalProperties: false
69
70examples:
71  - |
72    i2c {
73      #address-cells = <1>;
74      #size-cells = <0>;
75
76      sensor@4c {
77        compatible = "ti,tmp422";
78        reg = <0x4c>;
79      };
80    };
81  - |
82    i2c {
83      #address-cells = <1>;
84      #size-cells = <0>;
85
86      sensor@4c {
87        compatible = "ti,tmp422";
88        reg = <0x4c>;
89        #address-cells = <1>;
90        #size-cells = <0>;
91
92        channel@0 {
93          reg = <0x0>;
94          ti,n-factor = <0x1>;
95          label = "local";
96        };
97
98        channel@1 {
99          reg = <0x1>;
100          ti,n-factor = <0x0>;
101          label = "somelabel";
102        };
103
104        channel@2 {
105          reg = <0x2>;
106          status = "disabled";
107        };
108      };
109    };
110