Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2217132/?format=api
{ "id": 2217132, "url": "http://patchwork.ozlabs.org/api/patches/2217132/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327-ltc4283-support-v8-1-471de255d728@analog.com/", "project": { "id": 42, "url": "http://patchwork.ozlabs.org/api/projects/42/?format=api", "name": "Linux GPIO development", "link_name": "linux-gpio", "list_id": "linux-gpio.vger.kernel.org", "list_email": "linux-gpio@vger.kernel.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260327-ltc4283-support-v8-1-471de255d728@analog.com>", "list_archive_url": null, "date": "2026-03-27T17:26:14", "name": "[v8,1/3] dt-bindings: hwmon: Document the LTC4283 Swap Controller", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "affa0a7b13a6fd0aacfd65a27a1a1d86b4118201", "submitter": { "id": 87565, "url": "http://patchwork.ozlabs.org/api/people/87565/?format=api", "name": "Nuno Sá via B4 Relay", "email": "devnull+nuno.sa.analog.com@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260327-ltc4283-support-v8-1-471de255d728@analog.com/mbox/", "series": [ { "id": 497805, "url": "http://patchwork.ozlabs.org/api/series/497805/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=497805", "date": "2026-03-27T17:26:14", "name": "hwmon: Add support for the LTC4283 Hot Swap Controller", "version": 8, "mbox": "http://patchwork.ozlabs.org/series/497805/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2217132/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2217132/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-gpio+bounces-34288-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-gpio@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=GAMtYUPf;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34288-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"GAMtYUPf\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fj6x52NNKz1y1x\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 28 Mar 2026 04:25:45 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id EDCDB303F41A\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 17:25:32 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 7D5273ED123;\n\tFri, 27 Mar 2026 17:25:29 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 373C5396B8B;\n\tFri, 27 Mar 2026 17:25:29 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPS id 0AB44C2BCB0;\n\tFri, 27 Mar 2026 17:25:29 +0000 (UTC)", "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id EA9F610F285E;\n\tFri, 27 Mar 2026 17:25:28 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774632329; cv=none;\n b=TaE1M3x1xSXdiCU7uM4+En1sYZvefHPWnXEsTCjNkknlx3XMt/TFnsnYxV9iLcSy9pp8u+JBIbaaEFln8jpMvPQjoaBJYU4GvmJQSTJL26kEF8fC3VmPa0A14lrkgqXNIgjBknbQPAUw+NkUIHgHFThgBd192PsOiFrTYQQDhwc=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774632329; c=relaxed/simple;\n\tbh=kauSUkL5DWH2NieedbIhMMj0WM+ZhJkZ3VUzClxG8Pc=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=ihiMqkmvl41Bp2H6dHJxeooAWGRWIVnrYl2duMsmVKpuBioke5h2ytbrX27h1/3HBDTC4aDM1gs3flmXrEmi24TcwPTw0FV7LjnVG2ZDyN0OiFxe5z/gtt2oHUoxsQ4Tp5t+FrLQncIFRS/2yBsB8IF3bHTGUmx93FXmx7MgtEg=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=GAMtYUPf; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1774632329;\n\tbh=kauSUkL5DWH2NieedbIhMMj0WM+ZhJkZ3VUzClxG8Pc=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=GAMtYUPfZFkDDiM9dmxRkdLpbCSIO7W9eTimy8BGeREZqWcLSze4sEta8fxjo/97x\n\t YFmewNIglGNXJAA5YKxukrxQ3uHcR71ot68ctAT31lX2hvKLHVP6tA4062tU6bOaf8\n\t YhdQshb3bdf6WUB1nasEdnVV9kmjH5uCkmAzfWfXoLUmlrzSqXkxxis9jfTS4SXkex\n\t RS709NzZr4QRi7kFX5AhYBsQdWpy+j7bslUcOlQcFv5mm/oLzzVGPPpWbBY1FXmeoY\n\t z/y+ghEXovYFLZHgpu2Yzqu4PvqJ8ESpJh7EnqCj+bK8fjIMc0Pmpdzr8DeEQEaueo\n\t 16PxIKSH8bGRA==", "From": "=?utf-8?q?Nuno_S=C3=A1_via_B4_Relay?=\n <devnull+nuno.sa.analog.com@kernel.org>", "Date": "Fri, 27 Mar 2026 17:26:14 +0000", "Subject": "[PATCH v8 1/3] dt-bindings: hwmon: Document the LTC4283 Swap\n Controller", "Precedence": "bulk", "X-Mailing-List": "linux-gpio@vger.kernel.org", "List-Id": "<linux-gpio.vger.kernel.org>", "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "8bit", "Message-Id": "<20260327-ltc4283-support-v8-1-471de255d728@analog.com>", "References": "<20260327-ltc4283-support-v8-0-471de255d728@analog.com>", "In-Reply-To": "<20260327-ltc4283-support-v8-0-471de255d728@analog.com>", "To": "linux-gpio@vger.kernel.org, linux-hwmon@vger.kernel.org,\n devicetree@vger.kernel.org, linux-doc@vger.kernel.org", "Cc": "Guenter Roeck <linux@roeck-us.net>, Rob Herring <robh@kernel.org>,\n Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>, Jonathan Corbet <corbet@lwn.net>,\n Linus Walleij <linusw@kernel.org>, Bartosz Golaszewski <brgl@kernel.org>", "X-Mailer": "b4 0.15.0", "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1774632374; l=9689;\n i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id;\n bh=nUG3fQSB6RK0XKrQQTpaOauUpPjj3stWPtiJ5PLIzaM=;\n b=q5A2JHUIFVyhg5uS0Ct6IAgsPqAIrbtdlAf/LbQxVYFiXIQo4ysqOaQWZtMMUJbu1lYGY8kvO\n EQlnTjX8b8HCGdwQNgT8SmuAANGEyjuMQqwQbQOi28GIW6asp2vGxGQ", "X-Developer-Key": "i=nuno.sa@analog.com; a=ed25519;\n pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E=", "X-Endpoint-Received": "by B4 Relay for nuno.sa@analog.com/20231116 with\n auth_id=100", "X-Original-From": "=?utf-8?q?Nuno_S=C3=A1?= <nuno.sa@analog.com>", "Reply-To": "nuno.sa@analog.com" }, "content": "From: Nuno Sá <nuno.sa@analog.com>\n\nThe LTC4283 is a negative voltage hot swap controller that drives an\nexternal N-channel MOSFET to allow a board to be safely inserted and\nremoved from a live backplane.\n\nSpecial note for the \"adi,vpower-drns-enable\" property. It allows to choose\nbetween the attenuated MOSFET drain voltage or the attenuated input\nvoltage at the RTNS pin (effectively choosing between input or output\npower). This is a system level decision not really intended to change at\nruntime and hence is being added as a Firmware property.\n\nReviewed-by: Rob Herring (Arm) <robh@kernel.org>\nSigned-off-by: Nuno Sá <nuno.sa@analog.com>\n---\n .../devicetree/bindings/hwmon/adi,ltc4283.yaml | 272 +++++++++++++++++++++\n MAINTAINERS | 6 +\n 2 files changed, 278 insertions(+)", "diff": "diff --git a/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml b/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml\nnew file mode 100644\nindex 000000000000..05e2132ad4d8\n--- /dev/null\n+++ b/Documentation/devicetree/bindings/hwmon/adi,ltc4283.yaml\n@@ -0,0 +1,272 @@\n+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)\n+%YAML 1.2\n+---\n+$id: http://devicetree.org/schemas/hwmon/adi,ltc4283.yaml#\n+$schema: http://devicetree.org/meta-schemas/core.yaml#\n+\n+title: LTC4283 Negative Voltage Hot Swap Controller\n+\n+maintainers:\n+ - Nuno Sá <nuno.sa@analog.com>\n+\n+description: |\n+ The LTC4283 negative voltage hot swap controller drives an external N-channel\n+ MOSFET to allow a board to be safely inserted and removed from a live\n+ backplane.\n+\n+ https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4283.pdf\n+\n+properties:\n+ compatible:\n+ enum:\n+ - adi,ltc4283\n+\n+ reg:\n+ maxItems: 1\n+\n+ adi,rsense-nano-ohms:\n+ description: Value of the sense resistor.\n+\n+ adi,current-limit-sense-microvolt:\n+ description:\n+ The current limit sense voltage of the chip is adjustable between\n+ 15mV and 30mV in 1mV steps. This effectively limits the current\n+ on the load.\n+ minimum: 15000\n+ maximum: 30000\n+ default: 15000\n+\n+ adi,current-limit-foldback-factor:\n+ description:\n+ Specifies the foldback factor for the current limit. The current limit\n+ can be reduced (folded back) to one of four preset levels. The value\n+ represents the percentage of the current limit sense voltage to use\n+ during foldback. A value of 100 means no foldback.\n+ $ref: /schemas/types.yaml#/definitions/uint32\n+ enum: [10, 20, 50, 100]\n+ default: 100\n+\n+ adi,cooling-delay-ms:\n+ description:\n+ Cooling time to apply after an overcurrent fault, FET bad or\n+ external fault.\n+ enum: [512, 1002, 2005, 4100, 8190, 16400, 32800, 65600]\n+ default: 512\n+\n+ adi,fet-bad-timer-delay-ms:\n+ description:\n+ FET bad timer delay. After a FET bad status condition is detected,\n+ this timer is started. If the condition persists for the\n+ specified time, the FET is turned off and a fault is logged.\n+ enum: [256, 512, 1002, 2005]\n+ default: 256\n+\n+ adi,power-good-reset-on-fet:\n+ description:\n+ If set, resets the power good status when the MOSFET is turned off.\n+ Otherwise, it resets when a low output voltage is detected.\n+ type: boolean\n+\n+ adi,fet-turn-off-disable:\n+ description:\n+ If set, the MOSFET is not turned off when a FET fault is detected.\n+ type: boolean\n+\n+ adi,tmr-pull-down-disable:\n+ description: Disables 2uA pull-down current on the TMR pin.\n+ type: boolean\n+\n+ adi,dvdt-inrush-control-disable:\n+ description:\n+ Disables dV/dt inrush control during startup. In dV/dt mode, the inrush\n+ current is limited by controlling a constant output voltage ramp rate.\n+ When disabled, the inrush control mechanism is active current limiting.\n+ type: boolean\n+\n+ adi,fault-log-enable:\n+ description:\n+ If set, enables logging fault registers and ADC data into EEPROM upon a\n+ fault.\n+ type: boolean\n+\n+ adi,vpower-drns-enable:\n+ description:\n+ If set, enables the attenuated MOSFET drain voltage to be monitored. This\n+ effectively means that the MOSFET power is monitored. If not set, the\n+ attenuated input voltage (and hence input power) is monitored.\n+ type: boolean\n+\n+ adi,external-fault-fet-off-enable:\n+ description: Turns MOSFET off following an external fault.\n+ type: boolean\n+\n+ adi,undervoltage-retry-disable:\n+ description: Do not retry to turn on the MOSFET after an undervoltage fault.\n+ type: boolean\n+\n+ adi,overvoltage-retry-disable:\n+ description: Do not retry to turn on the MOSFET after an overvoltage fault.\n+ type: boolean\n+\n+ adi,external-fault-retry-enable:\n+ description: Retry to turn on the MOSFET after an external fault.\n+ type: boolean\n+\n+ adi,overcurrent-retries:\n+ description: Configures auto-retry following an Overcurrent fault.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [latch-off, \"1\", \"7\", unlimited]\n+ default: latch-off\n+\n+ adi,fet-bad-retries:\n+ description:\n+ Configures auto-retry following a FET bad fault and a consequent MOSFET\n+ turn off.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [latch-off, \"1\", \"7\", unlimited]\n+ default: latch-off\n+\n+ adi,pgio1-func:\n+ description: Configures the function of the PGIO1 pin.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [inverted_power_good, power_good, gpio]\n+ default: inverted_power_good\n+\n+ adi,pgio2-func:\n+ description: Configures the function of the PGIO2 pin.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [inverted_power_good, power_good, gpio, active_current_limiting]\n+ default: inverted_power_good\n+\n+ adi,pgio3-func:\n+ description: Configures the function of the PGIO3 pin.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [inverted_power_good_input, power_good_input, gpio]\n+ default: inverted_power_good_input\n+\n+ adi,pgio4-func:\n+ description: Configures the function of the PGIO4 pin.\n+ $ref: /schemas/types.yaml#/definitions/string\n+ enum: [inverted_external_fault, external_fault, gpio]\n+ default: inverted_external_fault\n+\n+ adi,gpio-on-adio1:\n+ description: If set, the ADIO1 pin is used as a GPIO.\n+ type: boolean\n+\n+ adi,gpio-on-adio2:\n+ description: If set, the ADIO2 pin is used as a GPIO.\n+ type: boolean\n+\n+ adi,gpio-on-adio3:\n+ description: If set, the ADIO3 pin is used as a GPIO.\n+ type: boolean\n+\n+ adi,gpio-on-adio4:\n+ description: If set, the ADIO4 pin is used as a GPIO.\n+ type: boolean\n+\n+ gpio-controller: true\n+\n+ '#gpio-cells':\n+ const: 2\n+\n+dependencies:\n+ adi,gpio-on-adio1:\n+ - gpio-controller\n+ - '#gpio-cells'\n+ adi,gpio-on-adio2:\n+ - gpio-controller\n+ - '#gpio-cells'\n+ adi,gpio-on-adio3:\n+ - gpio-controller\n+ - '#gpio-cells'\n+ adi,gpio-on-adio4:\n+ - gpio-controller\n+ - '#gpio-cells'\n+ adi,external-fault-retry-enable:\n+ - adi,pgio4-func\n+ adi,external-fault-fet-off-enable:\n+ - adi,pgio4-func\n+\n+required:\n+ - compatible\n+ - reg\n+ - adi,rsense-nano-ohms\n+\n+allOf:\n+ - if:\n+ properties:\n+ adi,pgio1-func:\n+ const: gpio\n+ required:\n+ - adi,pgio1-func\n+ then:\n+ required:\n+ - gpio-controller\n+ - '#gpio-cells'\n+\n+ - if:\n+ properties:\n+ adi,pgio2-func:\n+ const: gpio\n+ required:\n+ - adi,pgio2-func\n+ then:\n+ required:\n+ - gpio-controller\n+ - '#gpio-cells'\n+\n+ - if:\n+ properties:\n+ adi,pgio3-func:\n+ const: gpio\n+ required:\n+ - adi,pgio3-func\n+ then:\n+ required:\n+ - gpio-controller\n+ - '#gpio-cells'\n+\n+ - if:\n+ properties:\n+ adi,pgio4-func:\n+ const: gpio\n+ required:\n+ - adi,pgio4-func\n+ then:\n+ properties:\n+ adi,external-fault-retry-enable: false\n+ adi,external-fault-fet-off-enable: false\n+ required:\n+ - gpio-controller\n+ - '#gpio-cells'\n+\n+additionalProperties: false\n+\n+examples:\n+ - |\n+ i2c {\n+ #address-cells = <1>;\n+ #size-cells = <0>;\n+\n+ swap-controller@15 {\n+ compatible = \"adi,ltc4283\";\n+ reg = <0x15>;\n+\n+ adi,rsense-nano-ohms = <500>;\n+ adi,current-limit-sense-microvolt = <25000>;\n+ adi,current-limit-foldback-factor = <10>;\n+ adi,cooling-delay-ms = <8190>;\n+ adi,fet-bad-timer-delay-ms = <512>;\n+\n+ adi,external-fault-fet-off-enable;\n+ adi,pgio4-func = \"external_fault\";\n+\n+ adi,gpio-on-adio1;\n+ adi,pgio1-func = \"gpio\";\n+ gpio-controller;\n+ #gpio-cells = <2>;\n+ };\n+ };\n+...\ndiff --git a/MAINTAINERS b/MAINTAINERS\nindex 830c6f076b00..13ae2f3db449 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -15141,6 +15141,12 @@ F:\tDocumentation/devicetree/bindings/hwmon/adi,ltc4282.yaml\n F:\tDocumentation/hwmon/ltc4282.rst\n F:\tdrivers/hwmon/ltc4282.c\n \n+LTC4283 HARDWARE MONITOR AND GPIO DRIVER\n+M:\tNuno Sá <nuno.sa@analog.com>\n+L:\tlinux-hwmon@vger.kernel.org\n+S:\tSupported\n+F:\tDocumentation/devicetree/bindings/hwmon/adi,ltc4283.yaml\n+\n LTC4286 HARDWARE MONITOR DRIVER\n M:\tDelphine CC Chiu <Delphine_CC_Chiu@Wiwynn.com>\n L:\tlinux-hwmon@vger.kernel.org\n", "prefixes": [ "v8", "1/3" ] }