Commit 361104b0 authored by Conor Dooley's avatar Conor Dooley Committed by Lee Jones
Browse files

dt-bindings: mfd: Convert da9063 to yaml



Convert the dt binding for the da9063/da9063l to yaml.

Signed-off-by: default avatarConor Dooley <conor.dooley@microchip.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/20220606201343.514391-4-mail@conchuod.ie
parent 62fa5c98
Loading
Loading
Loading
Loading
+0 −114
Original line number Diff line number Diff line
* Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)

DA9063 consists of a large and varied group of sub-devices (I2C Only):

Device                   Supply Names    Description
------                   ------------    -----------
da9063-regulator        :               : LDOs & BUCKs
da9063-onkey            :               : On Key
da9063-rtc              :               : Real-Time Clock (DA9063 only)
da9063-watchdog         :               : Watchdog

======

Required properties:

- compatible : Should be "dlg,da9063" or "dlg,da9063l"
- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
  modified to match the chip's OTP settings).
- interrupts : IRQ line information.
- interrupt-controller

Sub-nodes:

- regulators : This node defines the settings for the LDOs and BUCKs.
  The DA9063(L) regulators are bound using their names listed below:

    bcore1    : BUCK CORE1
    bcore2    : BUCK CORE2
    bpro      : BUCK PRO
    bmem      : BUCK MEM
    bio       : BUCK IO
    bperi     : BUCK PERI
    ldo1      : LDO_1	(DA9063 only)
    ldo2      : LDO_2	(DA9063 only)
    ldo3      : LDO_3
    ldo4      : LDO_4	(DA9063 only)
    ldo5      : LDO_5	(DA9063 only)
    ldo6      : LDO_6	(DA9063 only)
    ldo7      : LDO_7
    ldo8      : LDO_8
    ldo9      : LDO_9
    ldo10     : LDO_10	(DA9063 only)
    ldo11     : LDO_11

  The component follows the standard regulator framework and the bindings
  details of individual regulator device can be found in:
  Documentation/devicetree/bindings/regulator/regulator.txt

- rtc : This node defines settings for the Real-Time Clock associated with
  the DA9063 only. The RTC is not present in DA9063L. There are currently
  no entries in this binding, however compatible = "dlg,da9063-rtc" should
  be added if a node is created.

- onkey : This node defines the OnKey settings for controlling the key
  functionality of the device. The node should contain the compatible property
  with the value "dlg,da9063-onkey".

  Optional onkey properties:

  - dlg,disable-key-power : Disable power-down using a long key-press. If this
    entry exists the OnKey driver will remove support for the KEY_POWER key
    press. If this entry does not exist then by default the key-press
    triggered power down is enabled and the OnKey will support both KEY_POWER
    and KEY_SLEEP.

- watchdog : This node defines settings for the Watchdog timer associated
  with the DA9063 and DA9063L. The node should contain the compatible property
  with the value "dlg,da9063-watchdog".

  Optional watchdog properties:
  - dlg,use-sw-pm: Add this property to disable the watchdog during suspend.
  Only use this option if you can't use the watchdog automatic suspend
  function during a suspend (see register CONTROL_B).

Example:

	pmic0: da9063@58 {
		compatible = "dlg,da9063"
		reg = <0x58>;
		interrupt-parent = <&gpio6>;
		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;

		rtc {
			compatible = "dlg,da9063-rtc";
		};

		wdt {
			compatible = "dlg,da9063-watchdog";
		};

		onkey {
			compatible = "dlg,da9063-onkey";
			dlg,disable-key-power;
		};

		regulators {
			DA9063_BCORE1: bcore1 {
				regulator-name = "BCORE1";
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp = <500000>;
				regulator-max-microamp = <2000000>;
				regulator-boot-on;
			};
			DA9063_LDO11: ldo11 {
				regulator-name = "LDO_11";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <3600000>;
				regulator-boot-on;
			};
		};
	};
+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/dlg,da9063.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Dialog DA9063/DA9063L Power Management Integrated Circuit (PMIC)

maintainers:
  - Steve Twiss <stwiss.opensource@diasemi.com>

description: |
  For device-tree bindings of other sub-modules refer to the binding documents
  under the respective sub-system directories.

properties:
  compatible:
    enum:
      - dlg,da9063
      - dlg,da9063l

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  dlg,use-sw-pm:
    type: boolean
    description:
      Disable the watchdog during suspend.
      Only use this option if you can't use the watchdog automatic suspend
      function during a suspend (see register CONTROL_B).

  watchdog:
    type: object
    $ref: /schemas/watchdog/watchdog.yaml#
    unevaluatedProperties: false
    properties:
      compatible:
        const: dlg,da9063-watchdog

  rtc:
    type: object
    $ref: /schemas/rtc/rtc.yaml#
    unevaluatedProperties: false
    properties:
      compatible:
        const: dlg,da9063-rtc

  onkey:
    type: object
    $ref: /schemas/input/input.yaml#
    unevaluatedProperties: false
    properties:
      compatible:
        const: dlg,da9063-onkey

      dlg,disable-key-power:
        type: boolean
        description: |
          Disable power-down using a long key-press.
          If this entry does not exist then by default the key-press triggered
          power down is enabled and the OnKey will support both KEY_POWER and
          KEY_SLEEP.

  regulators:
    type: object
    patternProperties:
      "^(ldo[1-11]|bcore[1-2]|bpro|bmem|bio|bperi)$":
        $ref: /schemas/regulator/regulator.yaml
        unevaluatedProperties: false

required:
  - compatible
  - reg
  - interrupts
  - interrupt-controller

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      pmic@58 {
        compatible = "dlg,da9063";
        reg = <0x58>;
        #interrupt-cells = <2>;
        interrupt-parent = <&gpio6>;
        interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
        interrupt-controller;

        rtc {
          compatible = "dlg,da9063-rtc";
        };

        watchdog {
          compatible = "dlg,da9063-watchdog";
        };

        onkey {
          compatible = "dlg,da9063-onkey";
          dlg,disable-key-power;
        };

        regulators {
          regulator-bcore1 {
            regulator-name = "BCORE1";
            regulator-min-microvolt = <300000>;
            regulator-max-microvolt = <1570000>;
            regulator-min-microamp = <500000>;
            regulator-max-microamp = <2000000>;
            regulator-boot-on;
          };
          regulator-ldo11 {
            regulator-name = "LDO_11";
            regulator-min-microvolt = <900000>;
            regulator-max-microvolt = <3600000>;
            regulator-boot-on;
          };
        };
      };
    };
...
+0 −2
Original line number Diff line number Diff line
@@ -93,8 +93,6 @@ properties:
          - dh,dhcom-board
            # DA9053: flexible system level PMIC with multicore support
          - dlg,da9053
            # DA9063: system PMIC for quad-core application processors
          - dlg,da9063
            # DMARD05: 3-axis I2C Accelerometer
          - domintech,dmard05
            # DMARD06: 3-axis I2C Accelerometer
+1 −0
Original line number Diff line number Diff line
@@ -5831,6 +5831,7 @@ W: http://www.dialog-semiconductor.com/products
F:	Documentation/devicetree/bindings/input/da90??-onkey.txt
F:	Documentation/devicetree/bindings/input/dlg,da72??.txt
F:	Documentation/devicetree/bindings/mfd/da90*.txt
F:	Documentation/devicetree/bindings/mfd/da90*.yaml
F:	Documentation/devicetree/bindings/regulator/dlg,da9*.yaml
F:	Documentation/devicetree/bindings/regulator/da92*.txt
F:	Documentation/devicetree/bindings/regulator/slg51000.txt