Commit 2ae4ffff authored by Dzmitry Sankouski's avatar Dzmitry Sankouski Committed by Lee Jones
Browse files

dt-bindings: mfd: Add maxim,max77705



Add maxim,max77705 binding part, containing leds controller and haptics.
Charger and fuel gauge are separate device, thus not included.

Signed-off-by: default avatarDzmitry Sankouski <dsankouski@gmail.com>
Reviewed-by: default avatar"Rob Herring (Arm)" <robh@kernel.org>
Link: https://lore.kernel.org/r/20250123-starqltechn_integration_upstream-v17-2-8b06685b6612@gmail.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent af280f29
Loading
Loading
Loading
Loading
+158 −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/mfd/maxim,max77705.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77705 Companion Power Management and USB Type-C interface

maintainers:
  - Dzmitry Sankouski <dsankouski@gmail.com>

description: |
  This is a part of device tree bindings for Maxim MAX77705.

  Maxim MAX77705 is a Companion Power Management and Type-C
  interface IC which includes charger, fuelgauge, LED, haptic motor driver and
  Type-C management.

properties:
  compatible:
    const: maxim,max77705

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  haptic:
    type: object
    additionalProperties: false

    properties:
      compatible:
        const: maxim,max77705-haptic

      haptic-supply: true

      pwms:
        maxItems: 1

    required:
      - compatible
      - haptic-supply
      - pwms

  leds:
    type: object
    additionalProperties: false
    description:
      Up to 4 LED channels supported.

    properties:
      compatible:
        const: maxim,max77705-rgb

      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

      multi-led:
        type: object
        $ref: /schemas/leds/leds-class-multicolor.yaml#
        unevaluatedProperties: false

        properties:
          "#address-cells":
            const: 1

          "#size-cells":
            const: 0

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

            properties:
              reg:
                maxItems: 1

            required:
              - reg

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

        properties:
          reg:
            maxItems: 1

        required:
          - reg

    required:
      - compatible

required:
  - compatible

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>

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

        pmic@66 {
            compatible = "maxim,max77705";
            reg = <0x66>;
            interrupt-parent = <&pm8998_gpios>;
            interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-0 = <&chg_int_default>;
            pinctrl-names = "default";

            leds {
                compatible = "maxim,max77705-rgb";

                multi-led {
                    color = <LED_COLOR_ID_RGB>;
                    function = LED_FUNCTION_STATUS;
                    #address-cells = <1>;
                    #size-cells = <0>;

                    led@1 {
                        reg = <1>;
                        color = <LED_COLOR_ID_RED>;
                    };

                    led@2 {
                        reg = <2>;
                        color = <LED_COLOR_ID_GREEN>;
                    };

                    led@3 {
                        reg = <3>;
                        color = <LED_COLOR_ID_BLUE>;
                    };
                };
            };

            haptic {
                compatible = "maxim,max77705-haptic";
                haptic-supply = <&vib_regulator>;
                pwms = <&vib_pwm 0 50000>;
            };
        };
    };
+1 −0
Original line number Diff line number Diff line
@@ -14313,6 +14313,7 @@ B: mailto:linux-samsung-soc@vger.kernel.org
F:	Documentation/devicetree/bindings/*/maxim,max14577.yaml
F:	Documentation/devicetree/bindings/*/maxim,max77686.yaml
F:	Documentation/devicetree/bindings/*/maxim,max77693.yaml
F:	Documentation/devicetree/bindings/*/maxim,max77705*.yaml
F:	Documentation/devicetree/bindings/*/maxim,max77843.yaml
F:	Documentation/devicetree/bindings/clock/maxim,max77686.txt
F:	drivers/*/*max77843.c