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

title: Richtek RT4831 DSV and Backlight Integrated IC

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

description: |
  RT4831 is a multifunctional device that can provide power to the LCD display
  and LCD backlight.

  For Display Bias Voltage DSVP and DSVN, the output range is about 4V to 6.5V.
  It's sufficient to meet the current LCD power requirement.

  For the LCD backlight, it can provide four channel WLED driving capability.
  Each channel driving current is up to 30mA

  Datasheet is available at
  https://www.richtek.com/assets/product_file/RT4831A/DS4831A-05.pdf

properties:
  compatible:
    const: richtek,rt4831

  reg:
    description: I2C device address.
    maxItems: 1

  enable-gpios:
    description: |
      GPIO to enable/disable the chip. It is optional.
      Some usage directly tied this pin to follow VIO 1.8V power on sequence.
    maxItems: 1

  regulators:
    $ref: ../regulator/richtek,rt4831-regulator.yaml

  backlight:
    $ref: ../leds/backlight/richtek,rt4831-backlight.yaml

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/leds/rt4831-backlight.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rt4831@11 {
        compatible = "richtek,rt4831";
        reg = <0x11>;

        regulators {
          DSVLCM {
            regulator-min-microvolt = <4000000>;
            regulator-max-microvolt = <7150000>;
            regulator-allow-bypass;
          };
          DSVP {
            regulator-name = "rt4831-dsvp";
            regulator-min-microvolt = <4000000>;
            regulator-max-microvolt = <6500000>;
            regulator-boot-on;
          };
          DSVN {
            regulator-name = "rt4831-dsvn";
            regulator-min-microvolt = <4000000>;
            regulator-max-microvolt = <6500000>;
            regulator-boot-on;
          };
        };

        backlight {
          compatible = "richtek,rt4831-backlight";
          default-brightness = <1024>;
          max-brightness = <2048>;
          richtek,bled-ovp-sel = /bits/ 8 <RT4831_BLOVPLVL_21V>;
          richtek,channel-use = /bits/ 8 <RT4831_BLED_ALLCHEN>;
        };
      };
    };