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

title: LED driver for MT6360 PMIC from MediaTek Integrated.

maintainers:
  - Gene Chen <gene_chen@richtek.com>

description: |
  This module is part of the MT6360 MFD device.
  see Documentation/devicetree/bindings/mfd/mediatek,mt6360.yaml
  Add MT6360 LED driver include 2-channel Flash LED with torch/strobe mode,
  and 4-channel RGB LED support Register/Flash/Breath Mode

properties:
  compatible:
    const: mediatek,mt6360-led

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^multi-led@[0-5]$":
    type: object
    $ref: leds-class-multicolor.yaml#
    unevaluatedProperties: false

    properties:
      reg:
        description: Index of the LED.
        enum:
          - 0 # LED output ISINK1
          - 1 # LED output ISINK2
          - 2 # LED output ISINK3
          - 3 # LED output ISINKML
          - 4 # LED output FLASH1
          - 5 # LED output FLASH2

      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

    patternProperties:
      "^led@[0-2]$":
        type: object
        $ref: common.yaml#
        unevaluatedProperties: false

        properties:
          reg:
            enum: [0, 1, 2]

        required:
          - reg
          - color

    required:
      - reg
      - "#address-cells"
      - "#size-cells"

  "^led@[0-5]$":
    type: object
    $ref: common.yaml#
    unevaluatedProperties: false
    description:
      Properties for a single LED.

    properties:
      reg:
        enum: [0, 1, 2, 3, 4, 5]

required:
  - compatible
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

examples:
  - |
   #include <dt-bindings/leds/common.h>
   led-controller {
     compatible = "mediatek,mt6360-led";
     #address-cells = <1>;
     #size-cells = <0>;

     multi-led@0 {
       reg = <0>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_RGB>;
       led-max-microamp = <24000>;
       #address-cells = <1>;
       #size-cells = <0>;
       led@0 {
         reg = <0>;
         color = <LED_COLOR_ID_RED>;
       };
       led@1 {
         reg = <1>;
         color = <LED_COLOR_ID_GREEN>;
       };
       led@2 {
         reg = <2>;
         color = <LED_COLOR_ID_BLUE>;
       };
     };
     led@3 {
       reg = <3>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_WHITE>;
       led-max-microamp = <150000>;
     };
     led@4 {
       reg = <4>;
       function = LED_FUNCTION_FLASH;
       color = <LED_COLOR_ID_WHITE>;
       function-enumerator = <1>;
       led-max-microamp = <200000>;
       flash-max-microamp = <500000>;
       flash-max-timeout-us = <1024000>;
     };
     led@5 {
       reg = <5>;
       function = LED_FUNCTION_FLASH;
       color = <LED_COLOR_ID_WHITE>;
       function-enumerator = <2>;
       led-max-microamp = <200000>;
       flash-max-microamp = <500000>;
       flash-max-timeout-us = <1024000>;
     };
   };

  - |

   led-controller {
     compatible = "mediatek,mt6360-led";
     #address-cells = <1>;
     #size-cells = <0>;

     led@0 {
       reg = <0>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_RED>;
       led-max-microamp = <24000>;
     };
     led@1 {
       reg = <1>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_GREEN>;
       led-max-microamp = <24000>;
     };
     led@2 {
       reg = <2>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_BLUE>;
       led-max-microamp = <24000>;
     };
     led@3 {
       reg = <3>;
       function = LED_FUNCTION_INDICATOR;
       color = <LED_COLOR_ID_WHITE>;
       led-max-microamp = <150000>;
     };
     led@4 {
       reg = <4>;
       function = LED_FUNCTION_FLASH;
       color = <LED_COLOR_ID_WHITE>;
       function-enumerator = <1>;
       led-max-microamp = <200000>;
       flash-max-microamp = <500000>;
       flash-max-timeout-us = <1024000>;
     };
     led@5 {
       reg = <5>;
       function = LED_FUNCTION_FLASH;
       color = <LED_COLOR_ID_WHITE>;
       function-enumerator = <2>;
       led-max-microamp = <200000>;
       flash-max-microamp = <500000>;
       flash-max-timeout-us = <1024000>;
     };
   };
...
