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