From: Rob Herring <robh@kernel.org>
To: "Nuno Sá" <nuno.sa@analog.com>
Cc: linux-hwmon@vger.kernel.org, linux-gpio@vger.kernel.org,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Jonathan Corbet <corbet@lwn.net>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v2 1/3] dt-binbings: hwmon: Document the LTC4283 Swap Controller
Date: Wed, 3 Sep 2025 16:48:50 -0500 [thread overview]
Message-ID: <20250903214850.GA2762411-robh@kernel.org> (raw)
In-Reply-To: <20250903-ltc4283-support-v2-1-6bce091510bf@analog.com>
On Wed, Sep 03, 2025 at 11:04:59AM +0100, Nuno Sá wrote:
> The LTC4283 is a negative voltage hot swap controller that drives an
> external N-channel MOSFET to allow a board to be safely inserted and
> removed from a live backplane.
>
> Special note for the "adi,vpower-drns-enable" property. It allows to choose
> between the attenuated MOSFET drain voltage or the attenuated input
> voltage at the RTNS pin (effectively choosing between input or output
> power). This is a system level decision not really intended to change at
> runtime and hence is being added as a Firmware property.
>
> Signed-off-by: Nuno Sá <nuno.sa@analog.com>
> ---
> .../devicetree/bindings/hwmon/adi,ltc4283.yaml | 280 +++++++++++++++++++++
> MAINTAINERS | 6 +
> 2 files changed, 286 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml b/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..ec7768467e66f18f06d8a5258b3b115f23ea996d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml
> @@ -0,0 +1,280 @@
> +# 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 turned off immediately 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:
> + Enables dV/dt inrush control during startup. In dV/dt mode, the inrush
> + current is limited by controlling a constant output voltage ramp rate.
> + If not set, 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 retry 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:
> + required:
> + - adi,pgio1-func
> + then:
> + if:
> + properties:
> + adi,pgio1-func:
> + const: gpio
> + then:
> + required:
> + - gpio-controller
> + - '#gpio-cells'
if:
properties:
adi,pgio1-func:
const: gpio
required:
- adi,pgio1-func
then:
required:
- gpio-controller
- '#gpio-cells'
With that and the following ones fixed,
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
next prev parent reply other threads:[~2025-09-03 21:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-03 10:04 [PATCH v2 0/3] hwmon: Add support for the LTC4283 Hot Swap Controller Nuno Sá
2025-09-03 10:04 ` Nuno Sá via B4 Relay
2025-09-03 10:04 ` [PATCH v2 1/3] dt-binbings: hwmon: Document the LTC4283 " Nuno Sá
2025-09-03 10:04 ` Nuno Sá via B4 Relay
2025-09-03 21:48 ` Rob Herring [this message]
2025-09-06 0:27 ` Guenter Roeck
2025-09-03 10:05 ` [PATCH v2 2/3] hwmon: ltc4283: Add support for " Nuno Sá
2025-09-03 10:05 ` Nuno Sá via B4 Relay
2025-09-04 21:30 ` kernel test robot
2025-09-06 1:24 ` Guenter Roeck
2025-09-12 14:00 ` Nuno Sá
2025-09-13 11:02 ` Guenter Roeck
2025-10-08 13:07 ` Nuno Sá
2025-10-08 14:11 ` Guenter Roeck
2025-10-08 14:45 ` Nuno Sá
2025-09-03 10:05 ` [PATCH v2 3/3] gpio: gpio-ltc4283: " Nuno Sá
2025-09-03 10:05 ` Nuno Sá via B4 Relay
2025-09-03 11:26 ` Andy Shevchenko
2025-09-09 10:27 ` Nuno Sá
2025-09-09 11:32 ` Andy Shevchenko
2025-09-04 2:42 ` Randy Dunlap
2025-09-04 19:57 ` Linus Walleij
2025-09-09 10:22 ` Nuno Sá
2025-09-09 10:25 ` Nuno Sá
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250903214850.GA2762411-robh@kernel.org \
--to=robh@kernel.org \
--cc=brgl@bgdev.pl \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=jdelvare@suse.com \
--cc=krzk+dt@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=nuno.sa@analog.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.