mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 13:22:57 +00:00
d07c41eb96
Add bindings for the LTC4282 High Current Hot Swap Controller with I2C Compatible Monitoring. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Nuno Sa <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20240129-b4-ltc4282-support-v4-1-fe75798164cc@analog.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
159 lines
4.9 KiB
YAML
159 lines
4.9 KiB
YAML
# 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 <nuno.sa@analog.com>
|
|
|
|
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";
|
|
};
|
|
};
|
|
...
|