1*1df240f3SMarius Cristea# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*1df240f3SMarius Cristea%YAML 1.2 3*1df240f3SMarius Cristea--- 4*1df240f3SMarius Cristea$id: http://devicetree.org/schemas/hwmon/microchip,emc1812.yaml# 5*1df240f3SMarius Cristea$schema: http://devicetree.org/meta-schemas/core.yaml# 6*1df240f3SMarius Cristea 7*1df240f3SMarius Cristeatitle: Microchip EMC1812/13/14/15/33 multichannel temperature sensor 8*1df240f3SMarius Cristea 9*1df240f3SMarius Cristeamaintainers: 10*1df240f3SMarius Cristea - Marius Cristea <marius.cristea@microchip.com> 11*1df240f3SMarius Cristea 12*1df240f3SMarius Cristeadescription: | 13*1df240f3SMarius Cristea The Microchip EMC1812/13/14/15/33 is a high-accuracy 2-wire multichannel 14*1df240f3SMarius Cristea low-voltage remote diode temperature monitor. 15*1df240f3SMarius Cristea 16*1df240f3SMarius Cristea The datasheet can be found here: 17*1df240f3SMarius Cristea https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/EMC1812-3-4-5-33-Data-Sheet-DS20005751.pdf 18*1df240f3SMarius Cristea 19*1df240f3SMarius Cristea EMC1812 has one external remote temperature monitoring channel 20*1df240f3SMarius Cristea EMC1813 has two external remote temperature monitoring channels 21*1df240f3SMarius Cristea EMC1814 has three external remote temperature monitoring channels and 22*1df240f3SMarius Cristea channels 2 and 3 support anti parallel diode 23*1df240f3SMarius Cristea EMC1815 has four external remote temperature monitoring channels and 24*1df240f3SMarius Cristea channels 1/2 and 3/4 support anti parallel diode 25*1df240f3SMarius Cristea EMC1833 has two external remote temperature monitoring channels and 26*1df240f3SMarius Cristea channels 1 and 2 support anti parallel diode 27*1df240f3SMarius Cristea 28*1df240f3SMarius Cristeaproperties: 29*1df240f3SMarius Cristea compatible: 30*1df240f3SMarius Cristea enum: 31*1df240f3SMarius Cristea - microchip,emc1812 32*1df240f3SMarius Cristea - microchip,emc1813 33*1df240f3SMarius Cristea - microchip,emc1814 34*1df240f3SMarius Cristea - microchip,emc1815 35*1df240f3SMarius Cristea - microchip,emc1833 36*1df240f3SMarius Cristea 37*1df240f3SMarius Cristea reg: 38*1df240f3SMarius Cristea maxItems: 1 39*1df240f3SMarius Cristea 40*1df240f3SMarius Cristea interrupts: 41*1df240f3SMarius Cristea items: 42*1df240f3SMarius Cristea - description: alert-therm2 asserts when the ALERT limit is exceeded. 43*1df240f3SMarius Cristea - description: therm-addr asserts when the THERM limit is exceeded. 44*1df240f3SMarius Cristea minItems: 1 45*1df240f3SMarius Cristea 46*1df240f3SMarius Cristea interrupt-names: 47*1df240f3SMarius Cristea items: 48*1df240f3SMarius Cristea - const: alert-therm2 49*1df240f3SMarius Cristea - const: therm-addr 50*1df240f3SMarius Cristea minItems: 1 51*1df240f3SMarius Cristea 52*1df240f3SMarius Cristea "#address-cells": 53*1df240f3SMarius Cristea const: 1 54*1df240f3SMarius Cristea 55*1df240f3SMarius Cristea "#size-cells": 56*1df240f3SMarius Cristea const: 0 57*1df240f3SMarius Cristea 58*1df240f3SMarius Cristea microchip,enable-anti-parallel: 59*1df240f3SMarius Cristea description: 60*1df240f3SMarius Cristea Enable anti-parallel diode mode operation. EMC1814, EMC1815 and EMC1833 61*1df240f3SMarius Cristea support reading two external diodes in anti-parallel connection on the 62*1df240f3SMarius Cristea same set of pins. Disabling APD functionality to implement substrate 63*1df240f3SMarius Cristea diodes on devices that support APD eliminates the benefit of APD 64*1df240f3SMarius Cristea (two diodes on one channel). 65*1df240f3SMarius Cristea type: boolean 66*1df240f3SMarius Cristea 67*1df240f3SMarius Cristea microchip,parasitic-res-on-channel1-2: 68*1df240f3SMarius Cristea description: 69*1df240f3SMarius Cristea Indicates that the chip and the diodes/transistors are sufficiently 70*1df240f3SMarius Cristea far apart that a parasitic resistance is added to the wires, which can 71*1df240f3SMarius Cristea affect the measurements. Due to the availability of only a single 72*1df240f3SMarius Cristea configuration bit in hardware, channels 1 and 2 are affected together. 73*1df240f3SMarius Cristea If channel 2 is not available in hardware, this setting affects only 74*1df240f3SMarius Cristea channel 1. 75*1df240f3SMarius Cristea type: boolean 76*1df240f3SMarius Cristea 77*1df240f3SMarius Cristea microchip,parasitic-res-on-channel3-4: 78*1df240f3SMarius Cristea description: 79*1df240f3SMarius Cristea Indicates that the chip and the diodes/transistors are sufficiently 80*1df240f3SMarius Cristea far apart that a parasitic resistance is added to the wires, which can 81*1df240f3SMarius Cristea affect the measurements. Due to the availability of only a single 82*1df240f3SMarius Cristea configuration bit in hardware, channels 3 and 4 are affected together. 83*1df240f3SMarius Cristea If channel 4 is not available in hardware, this setting affects only 84*1df240f3SMarius Cristea channel 3. 85*1df240f3SMarius Cristea type: boolean 86*1df240f3SMarius Cristea 87*1df240f3SMarius Cristea vdd-supply: true 88*1df240f3SMarius Cristea 89*1df240f3SMarius CristeapatternProperties: 90*1df240f3SMarius Cristea "^channel@[0-4]$": 91*1df240f3SMarius Cristea description: | 92*1df240f3SMarius Cristea Represents the temperature channels. 93*1df240f3SMarius Cristea 0: Internal sensor 94*1df240f3SMarius Cristea 1-4: External remote diodes 95*1df240f3SMarius Cristea type: object 96*1df240f3SMarius Cristea 97*1df240f3SMarius Cristea properties: 98*1df240f3SMarius Cristea reg: 99*1df240f3SMarius Cristea maxItems: 1 100*1df240f3SMarius Cristea 101*1df240f3SMarius Cristea label: 102*1df240f3SMarius Cristea description: Unique name to identify which channel this is. 103*1df240f3SMarius Cristea 104*1df240f3SMarius Cristea required: 105*1df240f3SMarius Cristea - reg 106*1df240f3SMarius Cristea 107*1df240f3SMarius Cristea additionalProperties: false 108*1df240f3SMarius Cristea 109*1df240f3SMarius Cristearequired: 110*1df240f3SMarius Cristea - compatible 111*1df240f3SMarius Cristea - reg 112*1df240f3SMarius Cristea - vdd-supply 113*1df240f3SMarius Cristea 114*1df240f3SMarius CristeaallOf: 115*1df240f3SMarius Cristea # EMC1812: 1 Internal, 1 External Channels, No APD, 116*1df240f3SMarius Cristea # parasitic-res-on-channel1-2: for channel 1 117*1df240f3SMarius Cristea - if: 118*1df240f3SMarius Cristea properties: 119*1df240f3SMarius Cristea compatible: 120*1df240f3SMarius Cristea const: microchip,emc1812 121*1df240f3SMarius Cristea then: 122*1df240f3SMarius Cristea properties: 123*1df240f3SMarius Cristea microchip,enable-anti-parallel: false 124*1df240f3SMarius Cristea microchip,parasitic-res-on-channel3-4: false 125*1df240f3SMarius Cristea patternProperties: 126*1df240f3SMarius Cristea "^channel@[2-4]$": false 127*1df240f3SMarius Cristea 128*1df240f3SMarius Cristea # EMC1813: 1 Internal, 2 External Channels, No APD, 129*1df240f3SMarius Cristea # parasitic-res-on-channel1-2: on both channel 1 & 2 130*1df240f3SMarius Cristea - if: 131*1df240f3SMarius Cristea properties: 132*1df240f3SMarius Cristea compatible: 133*1df240f3SMarius Cristea const: microchip,emc1813 134*1df240f3SMarius Cristea then: 135*1df240f3SMarius Cristea properties: 136*1df240f3SMarius Cristea microchip,enable-anti-parallel: false 137*1df240f3SMarius Cristea microchip,parasitic-res-on-channel3-4: false 138*1df240f3SMarius Cristea patternProperties: 139*1df240f3SMarius Cristea "^channel@[3-4]$": false 140*1df240f3SMarius Cristea 141*1df240f3SMarius Cristea # EMC1833: 1 Internal, 2 External Channels, Supports APD, 142*1df240f3SMarius Cristea # parasitic-res-on-channel1-2: on both channel 1 & 2 143*1df240f3SMarius Cristea - if: 144*1df240f3SMarius Cristea properties: 145*1df240f3SMarius Cristea compatible: 146*1df240f3SMarius Cristea const: microchip,emc1833 147*1df240f3SMarius Cristea then: 148*1df240f3SMarius Cristea properties: 149*1df240f3SMarius Cristea microchip,parasitic-res-on-channel3-4: false 150*1df240f3SMarius Cristea patternProperties: 151*1df240f3SMarius Cristea "^channel@[3-4]$": false 152*1df240f3SMarius Cristea 153*1df240f3SMarius Cristea # EMC1814: 1 Internal, 3 External Channels, Supports APD, 154*1df240f3SMarius Cristea # parasitic-res-on-channel1-2: on both channel 1 & 2 155*1df240f3SMarius Cristea # parasitic-res-on-channel3-4: for channel 3 156*1df240f3SMarius Cristea - if: 157*1df240f3SMarius Cristea properties: 158*1df240f3SMarius Cristea compatible: 159*1df240f3SMarius Cristea const: microchip,emc1814 160*1df240f3SMarius Cristea then: 161*1df240f3SMarius Cristea properties: 162*1df240f3SMarius Cristea channel@4: false 163*1df240f3SMarius Cristea 164*1df240f3SMarius CristeaunevaluatedProperties: false 165*1df240f3SMarius Cristea 166*1df240f3SMarius Cristeaexamples: 167*1df240f3SMarius Cristea - | 168*1df240f3SMarius Cristea i2c { 169*1df240f3SMarius Cristea #address-cells = <1>; 170*1df240f3SMarius Cristea #size-cells = <0>; 171*1df240f3SMarius Cristea 172*1df240f3SMarius Cristea temperature-sensor@4c { 173*1df240f3SMarius Cristea compatible = "microchip,emc1813"; 174*1df240f3SMarius Cristea reg = <0x4c>; 175*1df240f3SMarius Cristea 176*1df240f3SMarius Cristea #address-cells = <1>; 177*1df240f3SMarius Cristea #size-cells = <0>; 178*1df240f3SMarius Cristea 179*1df240f3SMarius Cristea microchip,parasitic-res-on-channel1-2; 180*1df240f3SMarius Cristea 181*1df240f3SMarius Cristea vdd-supply = <&vdd>; 182*1df240f3SMarius Cristea 183*1df240f3SMarius Cristea channel@1 { 184*1df240f3SMarius Cristea reg = <1>; 185*1df240f3SMarius Cristea label = "External CH1 Temperature"; 186*1df240f3SMarius Cristea }; 187*1df240f3SMarius Cristea 188*1df240f3SMarius Cristea channel@2 { 189*1df240f3SMarius Cristea reg = <2>; 190*1df240f3SMarius Cristea label = "External CH2 Temperature"; 191*1df240f3SMarius Cristea }; 192*1df240f3SMarius Cristea }; 193*1df240f3SMarius Cristea }; 194