1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/hwmon/adt7475.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ADT7475 hwmon sensor 8 9maintainers: 10 - Jean Delvare <jdelvare@suse.com> 11 12description: | 13 The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal monitors and multiple 14 PWN fan controllers. 15 16 They support monitoring and controlling up to four fans (the ADT7490 can only 17 control up to three). They support reading a single on chip temperature 18 sensor and two off chip temperature sensors (the ADT7490 additionally 19 supports measuring up to three current external temperature sensors with 20 series resistance cancellation (SRC)). 21 22 Datasheets: 23 https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF 24 https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF 25 https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF 26 https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF 27 28 Description taken from onsemiconductors specification sheets, with minor 29 rephrasing. 30 31properties: 32 compatible: 33 enum: 34 - adi,adt7473 35 - adi,adt7475 36 - adi,adt7476 37 - adi,adt7490 38 39 reg: 40 maxItems: 1 41 42 adi,pwm-active-state: 43 description: | 44 Integer array, represents the active state of the pwm outputs If set to 0 45 the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm 46 uses a logic high output for 100% duty cycle. 47 $ref: /schemas/types.yaml#/definitions/uint32-array 48 deprecated: true 49 minItems: 3 50 maxItems: 3 51 items: 52 enum: [0, 1] 53 default: 1 54 55 "#pwm-cells": 56 const: 4 57 description: | 58 Number of cells in a PWM specifier. 59 - 0: The PWM channel 60 - 1: The PWM period in nanoseconds 61 - 90909091 (11 Hz) 62 - 71428571 (14 Hz) 63 - 45454545 (22 Hz) 64 - 34482759 (29 Hz) 65 - 28571429 (35 Hz) 66 - 22727273 (44 Hz) 67 - 17241379 (58 Hz) 68 - 11363636 (88 Hz) 69 - 44444 (22 kHz) 70 - 2: PWM flags 0 or PWM_POLARITY_INVERTED 71 - 3: The default PWM duty cycle in nanoseconds 72 73patternProperties: 74 "^adi,bypass-attenuator-in[0-4]$": 75 description: | 76 Configures bypassing the individual voltage input attenuator. If 77 set to 1 the attenuator is bypassed if set to 0 the attenuator is 78 not bypassed. If the property is absent then the attenuator 79 retains its configuration from the bios/bootloader. 80 $ref: /schemas/types.yaml#/definitions/uint32 81 enum: [0, 1] 82 83 "^adi,pin(5|10)-function$": 84 description: | 85 Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or 86 pin 10 on the adi,adt7476 and adi,adt7490. 87 $ref: /schemas/types.yaml#/definitions/string 88 enum: 89 - pwm2 90 - smbalert# 91 92 "^adi,pin(9|14)-function$": 93 description: | 94 Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or 95 pin 14 on the adi,adt7476 and adi,adt7490 96 $ref: /schemas/types.yaml#/definitions/string 97 enum: 98 - tach4 99 - therm# 100 - smbalert# 101 - gpio 102 103 "^fan-[0-9]+$": 104 $ref: fan-common.yaml# 105 unevaluatedProperties: false 106 107required: 108 - compatible 109 - reg 110 111additionalProperties: false 112 113examples: 114 - | 115 #include <dt-bindings/pwm/pwm.h> 116 i2c { 117 #address-cells = <1>; 118 #size-cells = <0>; 119 120 pwm: hwmon@2e { 121 compatible = "adi,adt7476"; 122 reg = <0x2e>; 123 adi,bypass-attenuator-in0 = <1>; 124 adi,bypass-attenuator-in1 = <0>; 125 adi,pin10-function = "smbalert#"; 126 adi,pin14-function = "tach4"; 127 #pwm-cells = <4>; 128 129 /* PWMs at 22.5 kHz frequency, 50% duty*/ 130 fan-0 { 131 pwms = <&pwm 0 44444 0 22222>; 132 }; 133 134 fan-1 { 135 pwms = <&pwm 2 44444 0 22222>; 136 }; 137 }; 138 }; 139