Commit be847537 authored by Mark Brown's avatar Mark Brown

Add support for Richtek RT6190 36V 4-wwtich regulator

Merge series from cy_huang <u0084500@gmail.com>:

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.
parents 692fab08 e6999e7c
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rt6190.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Richtek RT6190 4-Switch BuckBoost controller
maintainers:
- ChiYuan Huang <cy_huang@richtek.com>
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 supply, 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:
maxItems: 1
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)
maxItems: 2
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>;
};
};
......@@ -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
......
......@@ -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
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment