# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rt4803.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT4803 Boost Regulator

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

description: |
  RT4803 is a boost regulator that's designed to provide the minimum output
  voltage, even if the input voltage is lower than the required voltage. It
  supports boost and auto bypass mode that depends on the difference between the
  input and output voltage. If the input is lower than the output, mode will
  transform to boost mode. Otherwise, turn on bypass switch to enter bypass mode.

  Datasheet is available at
  https://www.richtek.com/assets/product_file/RT4803/DS4803-03.pdf
  https://www.richtek.com/assets/product_file/RT4803A/DS4803A-06.pdf

allOf:
  - $ref: regulator.yaml#

properties:
  compatible:
    enum:
      - richtek,rt4803

  reg:
    maxItems: 1

  richtek,vsel-active-high:
    type: boolean
    description: Specify the VSEL register group is using when system is active

  regulator-allowed-modes:
    description: |
      Available operating mode
        1: Auto PFM/PWM
        2: Force PWM
    items:
      enum: [1, 2]

required:
  - compatible
  - reg

unevaluatedProperties: false

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

      regulator@75 {
        compatible = "richtek,rt4803";
        reg = <0x75>;
        richtek,vsel-active-high;
        regulator-name = "rt4803-regulator";
        regulator-min-microvolt = <2850000>;
        regulator-max-microvolt = <4400000>;
        regulator-allowed-modes = <1 2>;
        regulator-always-on;
      };
    };