Commit 013db96d authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Lee Jones
Browse files

dt-bindings: mfd: maxim,max77686: Convert to dtschema



Convert the MFD part of Maxim MAX77686 PMIC to DT schema format.

Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20211125074826.7947-3-krzysztof.kozlowski@canonical.com
parent f8689195
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
Maxim MAX77686 multi-function device

MAX77686 is a Multifunction device with PMIC, RTC and Charger on chip. It is
interfaced to host controller using i2c interface. PMIC and Charger submodules
are addressed using same i2c slave address whereas RTC submodule uses
different i2c slave address,presently for which we are statically creating i2c
client while probing.This document describes the binding for mfd device and
PMIC submodule.

Bindings for the built-in 32k clock generator block and
regulators are defined in ../clk/maxim,max77686.txt and
../regulator/max77686.txt respectively.

Required properties:
- compatible : Must be "maxim,max77686";
- reg : Specifies the i2c slave address of PMIC block.
- interrupts : This i2c device has an IRQ line connected to the main SoC.

Example:

	max77686: pmic@9 {
		compatible = "maxim,max77686";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
		reg = <0x09>;
	};
+132 −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,max77686.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Maxim MAX77686 Power Management IC

maintainers:
  - Chanwoo Choi <cw00.choi@samsung.com>
  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

description: |
  This is a part of device tree bindings for Maxim MAX77686 Power Management
  Integrated Circuit (PMIC).

  The Maxim MAX77686 is a Power Management IC which includes voltage and
  current regulators, RTC and clock outputs.

  The MAX77686 provides three 32.768khz clock outputs that can be controlled
  (gated/ungated) over I2C.  The clock IDs are defined as preprocessor macros
  in dt-bindings/clock/maxim,max77686.h.

properties:
  compatible:
    const: maxim,max77686

  '#clock-cells':
    const: 1

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  voltage-regulators:
    $ref: ../regulator/maxim,max77686.yaml
    description:
      List of child nodes that specify the regulators.

  wakeup-source: true

required:
  - compatible
  - '#clock-cells'
  - reg

additionalProperties: false

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

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

        max77686: pmic@9 {
            compatible = "maxim,max77686";
            reg = <0x09>;

            interrupt-parent = <&gpx0>;
            interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
            pinctrl-0 = <&max77686_irq>;
            pinctrl-names = "default";
            wakeup-source;
            #clock-cells = <1>;

            voltage-regulators {
                LDO1 {
                    regulator-name = "VALIVE_1.0V_AP";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1000000>;
                    regulator-always-on;
                };

                LDO2 {
                    regulator-name = "VM1M2_1.2V_AP";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <1200000>;
                    regulator-always-on;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };

                // ...

                LDO22 {
                    regulator-name = "VMEM_VDD_2.8V";
                    regulator-min-microvolt = <2800000>;
                    regulator-max-microvolt = <2800000>;
                    maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
                };

                // ...

                BUCK1 {
                    regulator-name = "VDD_MIF";
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <1100000>;
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-off-in-suspend;
                    };
                };

                BUCK2 {
                    regulator-name = "VDD_ARM";
                    regulator-min-microvolt = <850000>;
                    regulator-max-microvolt = <1500000>;
                    regulator-always-on;
                    regulator-boot-on;
                    regulator-state-mem {
                        regulator-on-in-suspend;
                    };
                };

                // ...

                BUCK9 {
                    regulator-name = "CAM_ISP_CORE_1.2V";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1200000>;
                    maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
                };
            };
        };
    };
+0 −1
Original line number Diff line number Diff line
@@ -11594,7 +11594,6 @@ M: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
M:	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
L:	linux-kernel@vger.kernel.org
S:	Supported
F:	Documentation/devicetree/bindings/*/max77686.txt
F:	Documentation/devicetree/bindings/*/maxim,max77686.yaml
F:	Documentation/devicetree/bindings/clock/maxim,max77686.txt
F:	Documentation/devicetree/bindings/mfd/max14577.txt