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