# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/hwmon/adi,ltc4282.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices LTC4282 I2C High Current Hot Swap Controller over I2C maintainers: - Nuno Sa description: | Analog Devices LTC4282 I2C High Current Hot Swap Controller over I2C. https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4282.pdf properties: compatible: enum: - adi,ltc4282 reg: maxItems: 1 vdd-supply: true clocks: maxItems: 1 '#clock-cells': const: 0 adi,rsense-nano-ohms: description: Value of the sense resistor. adi,vin-mode-microvolt: description: Selects operating range for the Undervoltage, Overvoltage and Foldback pins. Also for the ADC. Should be set to the nominal input voltage. enum: [3300000, 5000000, 12000000, 24000000] default: 12000000 adi,fet-bad-timeout-ms: description: From the moment a FET bad conditions is present, this property selects the wait time/timeout for a FET-bad fault to be signaled. Setting this to 0, disables FET bad faults to be reported. default: 255 maximum: 255 adi,overvoltage-dividers: description: | Select which dividers to use for VDD Overvoltage detection. Note that when the internal dividers are used the threshold is referenced to VDD. The percentages in the datasheet are misleading since the actual values to look for are in the "Absolute Maximum Ratings" table in the "Comparator Inputs" section. In there there's a line for each of the 5%, 10% and 15% settings with the actual min, typical and max tolerances. $ref: /schemas/types.yaml#/definitions/string enum: [external, vdd_5_percent, vdd_10_percent, vdd_15_percent] default: external adi,undervoltage-dividers: description: | Select which dividers to use for VDD Overvoltage detection. Note that when the internal dividers are used the threshold is referenced to VDD. The percentages in the datasheet are misleading since the actual values to look for are in the "Absolute Maximum Ratings" table in the "Comparator Inputs" section. In there there's a line for each of the 5%, 10% and 15% settings with the actual min, typical and max tolerances. $ref: /schemas/types.yaml#/definitions/string enum: [external, vdd_5_percent, vdd_10_percent, vdd_15_percent] default: external adi,current-limit-sense-microvolt: description: The current limit sense voltage of the chip is adjustable between 12.5mV and 34.4mV in 3.1mV steps. This effectively limits the current on the load. enum: [12500, 15625, 18750, 21875, 25000, 28125, 31250, 34375] default: 25000 adi,overcurrent-retry: description: If set, enables the chip to auto-retry 256 timer cycles after an Overcurrent fault. type: boolean adi,overvoltage-retry-disable: description: If set, disables the chip to auto-retry 50ms after an Overvoltage fault. It's enabled by default. type: boolean adi,undervoltage-retry-disable: description: If set, disables the chip to auto-retry 50ms after an Undervoltage fault. It's enabled by default. type: boolean adi,fault-log-enable: description: If set, enables the FAULT_LOG and ADC_ALERT_LOG registers to be written to the EEPROM when a fault bit transitions high and hence, will be available after a power cycle (the chip loads the contents of the EE_FAULT_LOG register - the one in EEPROM - into FAULT_LOG at boot). type: boolean adi,gpio1-mode: description: Defines the function of the Pin. It can indicate that power is good (PULL the pin low when power is not good) or that power is bad (Go into high-z when power is not good). $ref: /schemas/types.yaml#/definitions/string enum: [power_bad, power_good] default: power_good adi,gpio2-mode: description: Defines the function of the Pin. It can be set as the input for the ADC or indicating that the MOSFET is in stress (dissipating power). $ref: /schemas/types.yaml#/definitions/string enum: [adc_input, stress_fet] default: adc_input adi,gpio3-monitor-enable: description: If set, gpio3 is set as input for the ADC instead of gpio2. type: boolean allOf: - if: required: - adi,gpio3-monitor-enable then: properties: adi,gpio2-mode: const: stress_fet required: - compatible - reg - adi,rsense-nano-ohms additionalProperties: false examples: - | i2c { #address-cells = <1>; #size-cells = <0>; hwmon@50 { compatible = "adi,ltc4282"; reg = <0x50>; adi,rsense-nano-ohms = <500>; adi,gpio1-mode = "power_good"; adi,gpio2-mode = "adc_input"; }; }; ...