273 lines
7.3 KiB
YAML
273 lines
7.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/hwmon/adi,ltc4283.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: LTC4283 Negative Voltage Hot Swap Controller
|
|
|
|
maintainers:
|
|
- Nuno Sá <nuno.sa@analog.com>
|
|
|
|
description: |
|
|
The LTC4283 negative voltage hot swap controller drives an external N-channel
|
|
MOSFET to allow a board to be safely inserted and removed from a live
|
|
backplane.
|
|
|
|
https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4283.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- adi,ltc4283
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
adi,rsense-nano-ohms:
|
|
description: Value of the sense resistor.
|
|
|
|
adi,current-limit-sense-microvolt:
|
|
description:
|
|
The current limit sense voltage of the chip is adjustable between
|
|
15mV and 30mV in 1mV steps. This effectively limits the current
|
|
on the load.
|
|
minimum: 15000
|
|
maximum: 30000
|
|
default: 15000
|
|
|
|
adi,current-limit-foldback-factor:
|
|
description:
|
|
Specifies the foldback factor for the current limit. The current limit
|
|
can be reduced (folded back) to one of four preset levels. The value
|
|
represents the percentage of the current limit sense voltage to use
|
|
during foldback. A value of 100 means no foldback.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [10, 20, 50, 100]
|
|
default: 100
|
|
|
|
adi,cooling-delay-ms:
|
|
description:
|
|
Cooling time to apply after an overcurrent fault, FET bad or
|
|
external fault.
|
|
enum: [512, 1002, 2005, 4100, 8190, 16400, 32800, 65600]
|
|
default: 512
|
|
|
|
adi,fet-bad-timer-delay-ms:
|
|
description:
|
|
FET bad timer delay. After a FET bad status condition is detected,
|
|
this timer is started. If the condition persists for the
|
|
specified time, the FET is turned off and a fault is logged.
|
|
enum: [256, 512, 1002, 2005]
|
|
default: 256
|
|
|
|
adi,power-good-reset-on-fet:
|
|
description:
|
|
If set, resets the power good status when the MOSFET is turned off.
|
|
Otherwise, it resets when a low output voltage is detected.
|
|
type: boolean
|
|
|
|
adi,fet-turn-off-disable:
|
|
description:
|
|
If set, the MOSFET is not turned off when a FET fault is detected.
|
|
type: boolean
|
|
|
|
adi,tmr-pull-down-disable:
|
|
description: Disables 2uA pull-down current on the TMR pin.
|
|
type: boolean
|
|
|
|
adi,dvdt-inrush-control-disable:
|
|
description:
|
|
Disables dV/dt inrush control during startup. In dV/dt mode, the inrush
|
|
current is limited by controlling a constant output voltage ramp rate.
|
|
When disabled, the inrush control mechanism is active current limiting.
|
|
type: boolean
|
|
|
|
adi,fault-log-enable:
|
|
description:
|
|
If set, enables logging fault registers and ADC data into EEPROM upon a
|
|
fault.
|
|
type: boolean
|
|
|
|
adi,vpower-drns-enable:
|
|
description:
|
|
If set, enables the attenuated MOSFET drain voltage to be monitored. This
|
|
effectively means that the MOSFET power is monitored. If not set, the
|
|
attenuated input voltage (and hence input power) is monitored.
|
|
type: boolean
|
|
|
|
adi,external-fault-fet-off-enable:
|
|
description: Turns MOSFET off following an external fault.
|
|
type: boolean
|
|
|
|
adi,undervoltage-retry-disable:
|
|
description: Do not retry to turn on the MOSFET after an undervoltage fault.
|
|
type: boolean
|
|
|
|
adi,overvoltage-retry-disable:
|
|
description: Do not retry to turn on the MOSFET after an overvoltage fault.
|
|
type: boolean
|
|
|
|
adi,external-fault-retry-enable:
|
|
description: Retry to turn on the MOSFET after an external fault.
|
|
type: boolean
|
|
|
|
adi,overcurrent-retries:
|
|
description: Configures auto-retry following an Overcurrent fault.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [latch-off, "1", "7", unlimited]
|
|
default: latch-off
|
|
|
|
adi,fet-bad-retries:
|
|
description:
|
|
Configures auto-retry following a FET bad fault and a consequent MOSFET
|
|
turn off.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [latch-off, "1", "7", unlimited]
|
|
default: latch-off
|
|
|
|
adi,pgio1-func:
|
|
description: Configures the function of the PGIO1 pin.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [inverted_power_good, power_good, gpio]
|
|
default: inverted_power_good
|
|
|
|
adi,pgio2-func:
|
|
description: Configures the function of the PGIO2 pin.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [inverted_power_good, power_good, gpio, active_current_limiting]
|
|
default: inverted_power_good
|
|
|
|
adi,pgio3-func:
|
|
description: Configures the function of the PGIO3 pin.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [inverted_power_good_input, power_good_input, gpio]
|
|
default: inverted_power_good_input
|
|
|
|
adi,pgio4-func:
|
|
description: Configures the function of the PGIO4 pin.
|
|
$ref: /schemas/types.yaml#/definitions/string
|
|
enum: [inverted_external_fault, external_fault, gpio]
|
|
default: inverted_external_fault
|
|
|
|
adi,gpio-on-adio1:
|
|
description: If set, the ADIO1 pin is used as a GPIO.
|
|
type: boolean
|
|
|
|
adi,gpio-on-adio2:
|
|
description: If set, the ADIO2 pin is used as a GPIO.
|
|
type: boolean
|
|
|
|
adi,gpio-on-adio3:
|
|
description: If set, the ADIO3 pin is used as a GPIO.
|
|
type: boolean
|
|
|
|
adi,gpio-on-adio4:
|
|
description: If set, the ADIO4 pin is used as a GPIO.
|
|
type: boolean
|
|
|
|
gpio-controller: true
|
|
|
|
'#gpio-cells':
|
|
const: 2
|
|
|
|
dependencies:
|
|
adi,gpio-on-adio1:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
adi,gpio-on-adio2:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
adi,gpio-on-adio3:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
adi,gpio-on-adio4:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
adi,external-fault-retry-enable:
|
|
- adi,pgio4-func
|
|
adi,external-fault-fet-off-enable:
|
|
- adi,pgio4-func
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- adi,rsense-nano-ohms
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
adi,pgio1-func:
|
|
const: gpio
|
|
required:
|
|
- adi,pgio1-func
|
|
then:
|
|
required:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
|
|
- if:
|
|
properties:
|
|
adi,pgio2-func:
|
|
const: gpio
|
|
required:
|
|
- adi,pgio2-func
|
|
then:
|
|
required:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
|
|
- if:
|
|
properties:
|
|
adi,pgio3-func:
|
|
const: gpio
|
|
required:
|
|
- adi,pgio3-func
|
|
then:
|
|
required:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
|
|
- if:
|
|
properties:
|
|
adi,pgio4-func:
|
|
const: gpio
|
|
required:
|
|
- adi,pgio4-func
|
|
then:
|
|
properties:
|
|
adi,external-fault-retry-enable: false
|
|
adi,external-fault-fet-off-enable: false
|
|
required:
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
swap-controller@15 {
|
|
compatible = "adi,ltc4283";
|
|
reg = <0x15>;
|
|
|
|
adi,rsense-nano-ohms = <500>;
|
|
adi,current-limit-sense-microvolt = <25000>;
|
|
adi,current-limit-foldback-factor = <10>;
|
|
adi,cooling-delay-ms = <8190>;
|
|
adi,fet-bad-timer-delay-ms = <512>;
|
|
|
|
adi,external-fault-fet-off-enable;
|
|
adi,pgio4-func = "external_fault";
|
|
|
|
adi,gpio-on-adio1;
|
|
adi,pgio1-func = "gpio";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
};
|
|
...
|