Unverified Commit 7aa6d700 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branch 'regulator/for-5.15' into regulator-next

parents c1ff8600 21e39809
Loading
Loading
Loading
Loading
+106 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rtq2134-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RTQ2134 SubPMIC Regulator

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  The RTQ2134 is a multi-phase, programmable power management IC that
  integrates with four high efficient, synchronous step-down converter cores.

  Datasheet is available at
  https://www.richtek.com/assets/product_file/RTQ2134-QA/DSQ2134-QA-01.pdf

properties:
  compatible:
    enum:
      - richtek,rtq2134

  reg:
    maxItems: 1

  regulators:
    type: object

    patternProperties:
      "^buck[1-3]$":
        type: object
        $ref: regulator.yaml#
        description: |
          regulator description for buck[1-3].

        properties:
          richtek,use-vsel-dvs:
            type: boolean
            description: |
              If specified, buck will listen to 'vsel' pin for dvs config.
              Else, use dvs0 voltage by default.

          richtek,uv-shutdown:
            type: boolean
            description: |
              If specified, use shutdown as UV action. Else, hiccup by default.

        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rtq2134@18 {
        compatible = "richtek,rtq2134";
        reg = <0x18>;

        regulators {
          buck1 {
            regulator-name = "rtq2134-buck1";
            regulator-min-microvolt = <300000>;
            regulator-max-microvolt = <1850000>;
            regulator-always-on;
            richtek,use-vsel-dvs;
            regulator-state-mem {
              regulator-suspend-min-microvolt = <550000>;
              regulator-suspend-max-microvolt = <550000>;
            };
          };
          buck2 {
            regulator-name = "rtq2134-buck2";
            regulator-min-microvolt = <1120000>;
            regulator-max-microvolt = <1120000>;
            regulator-always-on;
            richtek,use-vsel-dvs;
            regulator-state-mem {
              regulator-suspend-min-microvolt = <1120000>;
              regulator-suspend-max-microvolt = <1120000>;
            };
          };
          buck3 {
            regulator-name = "rtq2134-buck3";
            regulator-min-microvolt = <600000>;
            regulator-max-microvolt = <600000>;
            regulator-always-on;
            richtek,use-vsel-dvs;
            regulator-state-mem {
              regulator-suspend-min-microvolt = <600000>;
              regulator-suspend-max-microvolt = <600000>;
            };
          };
        };
      };
    };
+76 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rtq6752-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RTQ6752 TFT LCD Voltage Regulator

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  The RTQ6752 is an I2C interface pgorammable power management IC. It includes
  two synchronous boost converter for PAVDD, and one synchronous NAVDD
  buck-boost. The device is suitable for automotive TFT-LCD panel.

properties:
  compatible:
    enum:
      - richtek,rtq6752

  reg:
    maxItems: 1

  enable-gpios:
    description: |
      A connection of the chip 'enable' gpio line. If not provided, treat it as
      external pull up.
    maxItems: 1

  regulators:
    type: object

    patternProperties:
      "^(p|n)avdd$":
        type: object
        $ref: regulator.yaml#
        description: |
          regulator description for pavdd and navdd.

    additionalProperties: false

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rtq6752@6b {
        compatible = "richtek,rtq6752";
        reg = <0x6b>;
        enable-gpios = <&gpio26 2 0>;

        regulators {
          pavdd {
            regulator-name = "rtq6752-pavdd";
            regulator-min-microvolt = <5000000>;
            regulator-max-microvolt = <7300000>;
            regulator-boot-on;
          };
          navdd {
            regulator-name = "rtq6752-navdd";
            regulator-min-microvolt = <5000000>;
            regulator-max-microvolt = <7300000>;
            regulator-boot-on;
          };
        };
      };
    };
+85 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/socionext,uniphier-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext UniPhier regulator controller

description: |
  This regulator controls VBUS and belongs to USB3 glue layer. Before using
  the regulator, it is necessary to control the clocks and resets to enable
  this layer. These clocks and resets should be described in each property.

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

allOf:
  - $ref: "regulator.yaml#"

# USB3 Controller

properties:
  compatible:
    enum:
      - socionext,uniphier-pro4-usb3-regulator
      - socionext,uniphier-pro5-usb3-regulator
      - socionext,uniphier-pxs2-usb3-regulator
      - socionext,uniphier-ld20-usb3-regulator
      - socionext,uniphier-pxs3-usb3-regulator

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    oneOf:
      - items:          # for Pro4, Pro5
          - const: gio
          - const: link
      - items:          # for others
          - const: link

  resets:
    minItems: 1
    maxItems: 2

  reset-names:
    oneOf:
      - items:          # for Pro4, Pro5
          - const: gio
          - const: link
      - items:
          - const: link

additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - resets
  - reset-names

examples:
  - |
    usb-glue@65b00000 {
        compatible = "simple-mfd";
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0 0x65b00000 0x400>;

        usb_vbus0: regulators@100 {
            compatible = "socionext,uniphier-ld20-usb3-regulator";
            reg = <0x100 0x10>;
            clock-names = "link";
            clocks = <&sys_clk 14>;
            reset-names = "link";
            resets = <&sys_rst 14>;
        };
    };
+0 −58
Original line number Diff line number Diff line
Socionext UniPhier Regulator Controller

This describes the devicetree bindings for regulator controller implemented
on Socionext UniPhier SoCs.

USB3 Controller
---------------

This regulator controls VBUS and belongs to USB3 glue layer. Before using
the regulator, it is necessary to control the clocks and resets to enable
this layer. These clocks and resets should be described in each property.

Required properties:
- compatible: Should be
    "socionext,uniphier-pro4-usb3-regulator" - for Pro4 SoC
    "socionext,uniphier-pro5-usb3-regulator" - for Pro5 SoC
    "socionext,uniphier-pxs2-usb3-regulator" - for PXs2 SoC
    "socionext,uniphier-ld20-usb3-regulator" - for LD20 SoC
    "socionext,uniphier-pxs3-usb3-regulator" - for PXs3 SoC
- reg: Specifies offset and length of the register set for the device.
- clocks: A list of phandles to the clock gate for USB3 glue layer.
	According to the clock-names, appropriate clocks are required.
- clock-names: Should contain
    "gio", "link" - for Pro4 and Pro5 SoCs
    "link"        - for others
- resets: A list of phandles to the reset control for USB3 glue layer.
	According to the reset-names, appropriate resets are required.
- reset-names: Should contain
    "gio", "link" - for Pro4 and Pro5 SoCs
    "link"        - for others

See Documentation/devicetree/bindings/regulator/regulator.txt
for more details about the regulator properties.

Example:

	usb-glue@65b00000 {
		compatible = "socionext,uniphier-ld20-dwc3-glue",
			     "simple-mfd";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0x65b00000 0x400>;

		usb_vbus0: regulators@100 {
			compatible = "socionext,uniphier-ld20-usb3-regulator";
			reg = <0x100 0x10>;
			clock-names = "link";
			clocks = <&sys_clk 14>;
			reset-names = "link";
			resets = <&sys_rst 14>;
		};

		phy {
			...
			phy-supply = <&usb_vbus0>;
		};
		...
	};
+22 −2
Original line number Diff line number Diff line
@@ -1044,7 +1044,7 @@ config REGULATOR_RT6160
	help
	  This adds support for voltage regulator in Richtek RT6160.
	  This device automatically change voltage output mode from
	  Buck or Boost. The mode transistion depend on the input source voltage.
	  Buck or Boost. The mode transition depend on the input source voltage.
	  The wide output range is from 2025mV to 5200mV and can be used on most
	  common application scenario.

@@ -1053,10 +1053,21 @@ config REGULATOR_RT6245
	depends on I2C
	select REGMAP_I2C
	help
	  This adds supprot for Richtek RT6245 voltage regulator.
	  This adds support for Richtek RT6245 voltage regulator.
	  It can support up to 14A output current and adjustable output voltage
	  from 0.4375V to 1.3875V, per step 12.5mV.

config REGULATOR_RTQ2134
	tristate "Richtek RTQ2134 SubPMIC Regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  This driver adds support for RTQ2134 SubPMIC regulators.
	  The RTQ2134 is a multi-phase, programmable power management IC that
	  integrate with four high efficient, synchronous step-down converter
	  cores. It features wide output voltage range and the capability to
	  configure the corresponding power stages.

config REGULATOR_RTMV20
	tristate "Richtek RTMV20 Laser Diode Regulator"
	depends on I2C
@@ -1066,6 +1077,15 @@ config REGULATOR_RTMV20
	  the Richtek RTMV20. It can support the load current up to 6A and
	  integrate strobe/vsync/fsin signal to synchronize the IR camera.

config REGULATOR_RTQ6752
	tristate "Richtek RTQ6752 TFT LCD voltage regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  This driver adds support for Richtek RTQ6752. RTQ6752 includes two
	  synchronous boost converters for PAVDD, and one synchronous NAVDD
	  buck-boost. This device is suitable for automotive TFT-LCD panel.

config REGULATOR_S2MPA01
	tristate "Samsung S2MPA01 voltage regulator"
	depends on MFD_SEC_CORE || COMPILE_TEST
Loading