Skip to contentSkip to conversation

Add support for Richtek RT6190 36V 4-wwtich regulator

PATCH Superseded cy_huang 2 participants 4 messages Oct 20, 2022 – Oct 21, 2022

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

cy_huang

author
#0 lore raw

cover Add support for Richtek RT6190 36V 4-wwtich regulator

From: ChiYuan Huang <[email protected]>

The RT6190 is a 4-switch Buck-Boost controller designed for USB power delivery (USB PD). It operates with wide input voltage range from 4.5V to 36V, and the output voltage can be programmable between 3V and 36V. It implements peak current mode control mechanism to deliver up to 100W power with the programmable constant voltage and constant current output. It also has built-in charge pumps for driving external low-cost N-MOSFETs to control the power path.

ChiYuan Huang (2):
dt-bindings: regulator: Add bindings for Richtek RT6190 regulator
regulator: rt6190: Add support for Richtek RT6190 regulator

 .../regulator/richtek,rt6190-regulator.yaml        |  77 ++++
 drivers/regulator/Kconfig                          |  11 +
 drivers/regulator/Makefile                         |   1 +
 drivers/regulator/rt6190-regulator.c               | 495 +++++++++++++++++++++
 4 files changed, 584 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml
 create mode 100644 drivers/regulator/rt6190-regulator.c
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/2 dt-bindings: regulator: Add bindings for Richtek RT6190 regulator

From: ChiYuan Huang <[email protected]>

Add devicetree binding for Richtek RT6190 4-Switch buckboost controller.

---
 .../regulator/richtek,rt6190-regulator.yaml        | 77 ++++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml
Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml new file +77 -0
new file mode 100644
index 00000000..be0fa7f
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/richtek,rt6190-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Richtek RT6190 4-Switch BuckBoost controller
+
+maintainers:
+  - ChiYuan Huang <[email protected]>
+
+description: |
+  The RT6190 is 4-Switch BuckBoost controller designed for converting input
+  voltage to output voltage that can be equal to, higher or lower than input
+  voltage. It operates with wide input voltage range from 4.5V to 36V, and
+  the output voltage can be set from 3V to 36V by external FB pin. It's commonly
+  used for the application like as BuckBoost bus upply, docking station and USB
+  power delivery product.
+
+  Datasheet is available at
+  https://www.richtek.com/assets/product_file/RT6190/DS6190-02.pdf
+
+allOf:
+  - $ref: regulator.yaml#
+
+properties:
+  compatible:
+    enum:
+      - richtek,rt6190
+
+  reg:
+    maxItems: 1
+
+  enable-gpios: true
+
+  wakeup-source: true
+
+  interrupts:
+    maxItems: 1
+
+  regulator-allowed-modes:
+    description: |
+      buck allowed operating mode
+        0: PSM mode (light load Power Saving Mode)
+        1: FCCM mode (Forced-CCM mode)
+    items:
+      enum: [0, 1]
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      regulator@2c {
+        compatible = "richtek,rt6190";
+        reg = <0x2c>;
+        wakeup-source;
+        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
+        enable-gpios = <&gpio26 1 GPIO_ACTIVE_HIGH>;
+        regulator-name = "richtek,rt6190-buckboost";
+        regulator-min-microvolt = <3000000>;
+        regulator-max-microvolt = <32000000>;
+        regulator-min-microamp = <306000>;
+        regulator-max-microamp = <12114000>;
+        regulator-allowed-modes = <0 1>;
+      };
+    };
Signature · 1 line
2.7.4
#2 lore raw

Re: [PATCH 1/2] dt-bindings: regulator: Add bindings for Richtek RT6190 regulator

Quoted 16 lines · cy_huang

From: ChiYuan Huang <[email protected]>

Add devicetree binding for Richtek RT6190 4-Switch buckboost controller.

---
 .../regulator/richtek,rt6190-regulator.yaml        | 77 ++++++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml
Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml new file +0 -0
new file mode 100644
index 00000000..be0fa7f

Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml line 4

Quoted 4 lines
Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml new file +4 -0
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/richtek,rt6190-regulator.yaml#

Filename based on compatible, so just richtek,rt6190.yaml

Unless it is a part of some MFD-like device, but then compatibles needs fixes.

Quoted 15 lines
Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml new file +15 -0
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Richtek RT6190 4-Switch BuckBoost controller
+
+maintainers:
+  - ChiYuan Huang <[email protected]>
+
+description: |
+  The RT6190 is 4-Switch BuckBoost controller designed for converting input
+  voltage to output voltage that can be equal to, higher or lower than input
+  voltage. It operates with wide input voltage range from 4.5V to 36V, and
+  the output voltage can be set from 3V to 36V by external FB pin. It's commonly
+  used for the application like as BuckBoost bus upply, docking station and USB
+  power delivery product.
+

Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml line 29

Quoted 10 lines
Documentation/devicetree/bindings/regulator/richtek,rt6190-regulator.yaml new file +10 -0
+  Datasheet is available at
+  https://www.richtek.com/assets/product_file/RT6190/DS6190-02.pdf
+
+allOf:
+  - $ref: regulator.yaml#
+
+properties:
+  compatible:
+    enum:
+      - richtek,rt6190

Best regards,
Krzysztof

author
#3 lore raw

PATCH 2/2 regulator: rt6190: Add support for Richtek RT6190 regulator

In reply to cy_huang

From: ChiYuan Huang <[email protected]>

Add support for Richtek RT6190 4-Switch BuckBoost controller.

---
 drivers/regulator/Kconfig            |  11 +
 drivers/regulator/Makefile           |   1 +
 drivers/regulator/rt6190-regulator.c | 495 +++++++++++++++++++++++++++++++++++
 3 files changed, 507 insertions(+)
 create mode 100644 drivers/regulator/rt6190-regulator.c
drivers/regulator/Kconfig +11 -0
index 070e440..4e4614d 100644
@@ -1124,6 +1124,17 @@ config REGULATOR_RT6160
 	  The wide output range is from 2025mV to 5200mV and can be used on most
 	  common application scenario.
 
+config REGULATOR_RT6190
+	tristate "Richtek RT6190 4-Switch BuckBoost controller"
+	depends on I2C
+	select REGMAP_I2C
+	help
+	  The RT6190 is a 4-Switch BuckBoost controller designed for converting
+	  input voltage to output voltage that can be equal to, higher or lower
+	  than input voltage. It operates with wide input voltage range from
+	  4.5V to 36V, and the output voltage can be set from 3V to 36V by
+	  external FB pin.
+
 config REGULATOR_RT6245
 	tristate "Richtek RT6245 voltage regulator"
 	depends on I2C
drivers/regulator/Makefile +1 -0
index 5962307..c3b5cf6 100644
@@ -134,6 +134,7 @@ obj-$(CONFIG_REGULATOR_RT5120)	+= rt5120-regulator.o
 obj-$(CONFIG_REGULATOR_RT5190A) += rt5190a-regulator.o
 obj-$(CONFIG_REGULATOR_RT5759)	+= rt5759-regulator.o
 obj-$(CONFIG_REGULATOR_RT6160)	+= rt6160-regulator.o
+obj-$(CONFIG_REGULATOR_RT6190)	+= rt6190-regulator.o
 obj-$(CONFIG_REGULATOR_RT6245)	+= rt6245-regulator.o
 obj-$(CONFIG_REGULATOR_RTMV20)	+= rtmv20-regulator.o
 obj-$(CONFIG_REGULATOR_RTQ2134) += rtq2134-regulator.o
drivers/regulator/rt6190-regulator.c new file +495 -0

495 lines not on this page · raw message

Signature · 1 line
2.7.4