1*1bfaa49aSOskar Senft# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*1bfaa49aSOskar Senft%YAML 1.2 3*1bfaa49aSOskar Senft--- 4*1bfaa49aSOskar Senft 5*1bfaa49aSOskar Senft$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7802.yaml# 6*1bfaa49aSOskar Senft$schema: http://devicetree.org/meta-schemas/core.yaml# 7*1bfaa49aSOskar Senft 8*1bfaa49aSOskar Senfttitle: Nuvoton NCT7802Y Hardware Monitoring IC 9*1bfaa49aSOskar Senft 10*1bfaa49aSOskar Senftmaintainers: 11*1bfaa49aSOskar Senft - Guenter Roeck <linux@roeck-us.net> 12*1bfaa49aSOskar Senft 13*1bfaa49aSOskar Senftdescription: | 14*1bfaa49aSOskar Senft The NCT7802Y is a hardware monitor IC which supports one on-die and up to 15*1bfaa49aSOskar Senft 5 remote temperature sensors with SMBus interface. 16*1bfaa49aSOskar Senft 17*1bfaa49aSOskar Senft Datasheets: 18*1bfaa49aSOskar Senft https://www.nuvoton.com/export/resource-files/Nuvoton_NCT7802Y_Datasheet_V12.pdf 19*1bfaa49aSOskar Senft 20*1bfaa49aSOskar SenftadditionalProperties: false 21*1bfaa49aSOskar Senft 22*1bfaa49aSOskar Senftproperties: 23*1bfaa49aSOskar Senft compatible: 24*1bfaa49aSOskar Senft enum: 25*1bfaa49aSOskar Senft - nuvoton,nct7802 26*1bfaa49aSOskar Senft 27*1bfaa49aSOskar Senft reg: 28*1bfaa49aSOskar Senft maxItems: 1 29*1bfaa49aSOskar Senft 30*1bfaa49aSOskar Senft "#address-cells": 31*1bfaa49aSOskar Senft const: 1 32*1bfaa49aSOskar Senft 33*1bfaa49aSOskar Senft "#size-cells": 34*1bfaa49aSOskar Senft const: 0 35*1bfaa49aSOskar Senft 36*1bfaa49aSOskar SenftpatternProperties: 37*1bfaa49aSOskar Senft "^channel@[0-3]$": 38*1bfaa49aSOskar Senft type: object 39*1bfaa49aSOskar Senft 40*1bfaa49aSOskar Senft additionalProperties: false 41*1bfaa49aSOskar Senft 42*1bfaa49aSOskar Senft properties: 43*1bfaa49aSOskar Senft reg: 44*1bfaa49aSOskar Senft items: 45*1bfaa49aSOskar Senft - enum: 46*1bfaa49aSOskar Senft - 0 # Local Temperature Sensor ("LTD") 47*1bfaa49aSOskar Senft - 1 # Remote Temperature Sensor or Voltage Sensor 1 ("RTD1") 48*1bfaa49aSOskar Senft - 2 # Remote Temperature Sensor or Voltage Sensor 2 ("RTD2") 49*1bfaa49aSOskar Senft - 3 # Remote Temperature Sensor or Voltage Sensor 3 ("RTD3") 50*1bfaa49aSOskar Senft 51*1bfaa49aSOskar Senft sensor-type: 52*1bfaa49aSOskar Senft items: 53*1bfaa49aSOskar Senft - enum: 54*1bfaa49aSOskar Senft - temperature 55*1bfaa49aSOskar Senft - voltage 56*1bfaa49aSOskar Senft 57*1bfaa49aSOskar Senft temperature-mode: 58*1bfaa49aSOskar Senft items: 59*1bfaa49aSOskar Senft - enum: 60*1bfaa49aSOskar Senft - thermistor 61*1bfaa49aSOskar Senft - thermal-diode 62*1bfaa49aSOskar Senft 63*1bfaa49aSOskar Senft required: 64*1bfaa49aSOskar Senft - reg 65*1bfaa49aSOskar Senft 66*1bfaa49aSOskar Senft allOf: 67*1bfaa49aSOskar Senft # For channels RTD1, RTD2 and RTD3, require sensor-type to be set. 68*1bfaa49aSOskar Senft # Otherwise (for all other channels), do not allow temperature-mode to be 69*1bfaa49aSOskar Senft # set. 70*1bfaa49aSOskar Senft - if: 71*1bfaa49aSOskar Senft properties: 72*1bfaa49aSOskar Senft reg: 73*1bfaa49aSOskar Senft items: 74*1bfaa49aSOskar Senft - enum: 75*1bfaa49aSOskar Senft - 1 76*1bfaa49aSOskar Senft - 2 77*1bfaa49aSOskar Senft - 3 78*1bfaa49aSOskar Senft then: 79*1bfaa49aSOskar Senft required: 80*1bfaa49aSOskar Senft - sensor-type 81*1bfaa49aSOskar Senft else: 82*1bfaa49aSOskar Senft not: 83*1bfaa49aSOskar Senft required: 84*1bfaa49aSOskar Senft - sensor-type 85*1bfaa49aSOskar Senft 86*1bfaa49aSOskar Senft # For channels RTD1 and RTD2 and if sensor-type is "temperature", require 87*1bfaa49aSOskar Senft # temperature-mode to be set. Otherwise (for all other channels or 88*1bfaa49aSOskar Senft # sensor-type settings), do not allow temperature-mode to be set 89*1bfaa49aSOskar Senft - if: 90*1bfaa49aSOskar Senft properties: 91*1bfaa49aSOskar Senft reg: 92*1bfaa49aSOskar Senft items: 93*1bfaa49aSOskar Senft - enum: 94*1bfaa49aSOskar Senft - 1 95*1bfaa49aSOskar Senft - 2 96*1bfaa49aSOskar Senft sensor-type: 97*1bfaa49aSOskar Senft items: 98*1bfaa49aSOskar Senft - enum: 99*1bfaa49aSOskar Senft - temperature 100*1bfaa49aSOskar Senft then: 101*1bfaa49aSOskar Senft required: 102*1bfaa49aSOskar Senft - temperature-mode 103*1bfaa49aSOskar Senft else: 104*1bfaa49aSOskar Senft not: 105*1bfaa49aSOskar Senft required: 106*1bfaa49aSOskar Senft - temperature-mode 107*1bfaa49aSOskar Senft 108*1bfaa49aSOskar Senftrequired: 109*1bfaa49aSOskar Senft - compatible 110*1bfaa49aSOskar Senft - reg 111*1bfaa49aSOskar Senft 112*1bfaa49aSOskar Senftexamples: 113*1bfaa49aSOskar Senft - | 114*1bfaa49aSOskar Senft i2c { 115*1bfaa49aSOskar Senft #address-cells = <1>; 116*1bfaa49aSOskar Senft #size-cells = <0>; 117*1bfaa49aSOskar Senft 118*1bfaa49aSOskar Senft nct7802@28 { 119*1bfaa49aSOskar Senft compatible = "nuvoton,nct7802"; 120*1bfaa49aSOskar Senft reg = <0x28>; 121*1bfaa49aSOskar Senft 122*1bfaa49aSOskar Senft #address-cells = <1>; 123*1bfaa49aSOskar Senft #size-cells = <0>; 124*1bfaa49aSOskar Senft 125*1bfaa49aSOskar Senft channel@0 { /* LTD */ 126*1bfaa49aSOskar Senft reg = <0>; 127*1bfaa49aSOskar Senft }; 128*1bfaa49aSOskar Senft 129*1bfaa49aSOskar Senft channel@1 { /* RTD1 */ 130*1bfaa49aSOskar Senft reg = <1>; 131*1bfaa49aSOskar Senft sensor-type = "voltage"; 132*1bfaa49aSOskar Senft }; 133*1bfaa49aSOskar Senft 134*1bfaa49aSOskar Senft channel@2 { /* RTD2 */ 135*1bfaa49aSOskar Senft reg = <2>; 136*1bfaa49aSOskar Senft sensor-type = "temperature"; 137*1bfaa49aSOskar Senft temperature-mode = "thermal-diode"; 138*1bfaa49aSOskar Senft }; 139*1bfaa49aSOskar Senft 140*1bfaa49aSOskar Senft channel@3 { /* RTD3 */ 141*1bfaa49aSOskar Senft reg = <3>; 142*1bfaa49aSOskar Senft sensor-type = "temperature"; 143*1bfaa49aSOskar Senft }; 144*1bfaa49aSOskar Senft }; 145*1bfaa49aSOskar Senft }; 146