1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/hwmon/smsc,emc1403.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: SMSC EMC1402/1403/1404/1428 thermal sensors 8 9maintainers: 10 - Svyatoslav Ryhel <clamor95@gmail.com> 11 12properties: 13 compatible: 14 oneOf: 15 - enum: 16 - smsc,emc1402 17 - smsc,emc1403 18 - smsc,emc1404 19 - smsc,emc1428 20 21 - items: 22 - enum: 23 - smsc,emc1412 24 - smsc,emc1422 25 - smsc,emc1442 26 - const: smsc,emc1402 27 28 - items: 29 - enum: 30 - smsc,emc1413 31 - smsc,emc1423 32 - const: smsc,emc1403 33 34 - items: 35 - enum: 36 - smsc,emc1414 37 - smsc,emc1424 38 - const: smsc,emc1404 39 40 - items: 41 - enum: 42 - smsc,emc1438 43 - const: smsc,emc1428 44 45 interrupts: 46 items: 47 - description: Sensors "ALERT" pin output. 48 49 reg: 50 maxItems: 1 51 52 "#thermal-sensor-cells": 53 const: 1 54 55 '#address-cells': 56 const: 1 57 58 '#size-cells': 59 const: 0 60 61 vdd-supply: true 62 63required: 64 - compatible 65 - reg 66 67patternProperties: 68 "^channel@([0-7])$": 69 type: object 70 description: Represents channels of the device and their specific configuration. 71 72 properties: 73 reg: 74 description: The channel number. 0 is local channel, 1-7 are remote channels. 75 items: 76 minimum: 0 77 maximum: 7 78 79 label: 80 description: A descriptive name for this channel, like "ambient" or "psu". 81 82 required: 83 - reg 84 85 additionalProperties: false 86 87allOf: 88 - if: 89 properties: 90 compatible: 91 contains: 92 enum: 93 - smsc,emc1402 94 then: 95 patternProperties: 96 "^channel@([0-7])$": 97 properties: 98 reg: 99 items: 100 maximum: 1 101 102 - if: 103 properties: 104 compatible: 105 contains: 106 enum: 107 - smsc,emc1403 108 then: 109 patternProperties: 110 "^channel@([0-7])$": 111 properties: 112 reg: 113 items: 114 maximum: 2 115 116 - if: 117 properties: 118 compatible: 119 contains: 120 enum: 121 - smsc,emc1404 122 then: 123 patternProperties: 124 "^channel@([0-7])$": 125 properties: 126 reg: 127 items: 128 maximum: 3 129 130additionalProperties: false 131 132examples: 133 - | 134 #include <dt-bindings/interrupt-controller/irq.h> 135 136 i2c { 137 #address-cells = <1>; 138 #size-cells = <0>; 139 140 sensor@4c { 141 compatible = "smsc,emc1412", "smsc,emc1402"; 142 reg = <0x4c>; 143 144 interrupt-parent = <&gpio>; 145 interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 146 147 vdd-supply = <&vdd_3v3_sys>; 148 #thermal-sensor-cells = <1>; 149 }; 150 }; 151 - | 152 i2c { 153 #address-cells = <1>; 154 #size-cells = <0>; 155 156 sensor@29 { 157 compatible = "smsc,emc1428"; 158 reg = <0x29>; 159 160 #address-cells = <1>; 161 #size-cells = <0>; 162 163 channel@0 { 164 reg = <0x0>; 165 label = "local"; 166 }; 167 168 channel@1 { 169 reg = <0x1>; 170 label = "chan1"; 171 }; 172 173 channel@2 { 174 reg = <0x2>; 175 label = "chan2"; 176 }; 177 178 channel@3 { 179 reg = <0x3>; 180 label = "chan3"; 181 }; 182 183 channel@4 { 184 reg = <0x4>; 185 label = "chan4"; 186 }; 187 188 channel@5 { 189 reg = <0x5>; 190 label = "chan5"; 191 }; 192 193 channel@6 { 194 reg = <0x6>; 195 label = "chan6"; 196 }; 197 198 channel@7 { 199 reg = <0x7>; 200 label = "chan7"; 201 }; 202 }; 203 }; 204