[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240916-max20339-v1-1-b04ce8e8c471@linaro.org>
Date: Mon, 16 Sep 2024 17:48:52 +0100
From: André Draszik <andre.draszik@...aro.org>
To: Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Michael Walle <mwalle@...nel.org>
Cc: Peter Griffin <peter.griffin@...aro.org>,
Tudor Ambarus <tudor.ambarus@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
André Draszik <andre.draszik@...aro.org>
Subject: [PATCH 1/2] dt-bindings: regulator: add max20339 binding
Add device tree binding for Maxim MAX20339 overvoltage protector with
load switches.
Signed-off-by: André Draszik <andre.draszik@...aro.org>
---
.../bindings/regulator/maxim,max20339.yaml | 171 +++++++++++++++++++++
MAINTAINERS | 6 +
2 files changed, 177 insertions(+)
diff --git a/Documentation/devicetree/bindings/regulator/maxim,max20339.yaml b/Documentation/devicetree/bindings/regulator/maxim,max20339.yaml
new file mode 100644
index 000000000000..ef6490cf5a6b
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/maxim,max20339.yaml
@@ -0,0 +1,171 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/maxim,max20339.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim Integrated MAX20339 overvoltage protector with load switches
+
+maintainers:
+ - André Draszik <andre.draszik@...aro.org>
+
+description: |
+ The MAX20339 is an overvoltage protection (OVP) device with integrated load
+ switches and ESD Protection for USB Type-C applications. It protects low
+ voltage systems against voltage faults and surges. It also integrates two
+ load switches with current limiting, configurable by hard- and software.
+
+properties:
+ compatible:
+ enum:
+ - maxim,max20339
+
+ dig-supply:
+ description:
+ Input supply for the device itself (DIG pin, 1.7V to 1.9V). In absence of
+ Vdig, the IN pin will power the device.
+
+ gpio:
+ type: object
+
+ properties:
+ "#gpio-cells":
+ const: 2
+
+ gpio-controller: true
+
+ gpio-line-names:
+ description: Strings describing the names of each gpio line.
+ maxItems: 1
+
+ required:
+ - "#gpio-cells"
+ - gpio-controller
+
+ additionalProperties: false
+
+ insw-supply:
+ description:
+ Input supply for the outputs (IN pin, 3.9V to 28.0V). Also used as supply
+ for the device itself in case dig-supply is not wired up.
+
+ interrupts:
+ maxItems: 1
+
+ lsw1-supply:
+ description: Input supply for the outputs (LSW1IN pin, 4.0V to 10.0V)
+
+ lsw2-supply:
+ description: Input supply for the outputs (LSW2IN pin, 4.0V to 10.0V)
+
+ reg:
+ maxItems: 1
+
+ regulators:
+ type: object
+
+ properties:
+ insw:
+ type: object
+ $ref: regulator.yaml#
+ description: Represents the switch connecting IN to OUT, INSW.
+
+ properties:
+ regulator-ov-protection-microvolt:
+ enum: [5850000, 9700000, 14500000]
+
+ unevaluatedProperties: false
+
+ patternProperties:
+ "^lsw[12]$":
+ type: object
+ $ref: regulator.yaml#
+ description: Represents the load switches LSW1 and LSW2.
+
+ properties:
+ regulator-ov-protection-microvolt:
+ enum: [0, 1]
+
+ shunt-resistor-micro-ohms:
+ description:
+ Value in micro Ohm of the resistor connected between the SETx
+ pin and GND. This value is required to be able to calculate and
+ program the current limiting threshold register.
+
+ required:
+ - shunt-resistor-micro-ohms
+
+ unevaluatedProperties: false
+
+ required:
+ - lsw1
+ - lsw2
+
+ additionalProperties: false
+
+anyOf:
+ - oneOf:
+ - required:
+ - dig-supply
+ - required:
+ - insw-supply
+ - required:
+ - dig-supply
+ - insw-supply
+
+required:
+ - compatible
+ - reg
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ovp@35 {
+ compatible = "maxim,max20339";
+ reg = <0x35>;
+
+ dig-supply = <®_1v8>;
+ insw-supply = <®_5v3>;
+ lsw1-supply = <®_5v3>;
+ lsw2-supply = <®_5v3>;
+
+ interrupts-extended = <&gpa8 1 IRQ_TYPE_LEVEL_LOW>;
+
+ gpio {
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ regulators {
+ insw {
+ regulator-name = "PPVAR_VBUS_OVP";
+ regulator-active-discharge = <0>;
+ regulator-min-microvolt = <5850000>;
+ regulator-max-microvolt = <14500000>;
+ regulator-ov-protection-microvolt = <14500000>;
+ };
+ lsw1 {
+ regulator-name = "PPVAR_VBUS_OVP_LSW1";
+ regulator-oc-protection-microamp = <1460000>;
+ regulator-ov-protection-microvolt = <1>;
+ shunt-resistor-micro-ohms = <120000000>;
+ };
+ lsw2 {
+ regulator-name = "PPVAR_QI_VOUT_TX";
+ regulator-oc-protection-microamp = <1230000>;
+ regulator-ov-protection-microvolt = <1>;
+ shunt-resistor-micro-ohms = <147000000>;
+ };
+ };
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 2cdd7cacec86..ec871955e31c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13998,6 +13998,12 @@ S: Maintained
F: Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
F: drivers/regulator/max20086-regulator.c
+MAXIM MAX20339 OVERVOLTAGE PROTECTOR WITH LOAD SWITCHES DRIVER
+M: André Draszik <andre.draszik@...aro.org>
+L: linux-kernel@...r.kernel.org
+S: Maintained
+F: Documentation/devicetree/bindings/regulator/maxim,max20339.yaml
+
MAXIM MAX30208 TEMPERATURE SENSOR DRIVER
M: Rajat Khandelwal <rajat.khandelwal@...ux.intel.com>
L: linux-iio@...r.kernel.org
--
2.46.0.662.g92d0881bb0-goog
Powered by blists - more mailing lists