Commit c43b91ee authored by Svyatoslav Ryhel's avatar Svyatoslav Ryhel Committed by Linus Walleij
Browse files

dt-bindings: pinctrl: pinctrl-max77620: convert to DT schema



Convert pinctrl-max77620 devicetree bindings for the MAX77620 PMIC from
TXT to YAML format. This patch does not change any functionality; the
bindings remain the same.

Signed-off-by: default avatarSvyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linusw@kernel.org>
parent 6ea71857
Loading
Loading
Loading
Loading
+98 −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/pinctrl/maxim,max77620-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Pinmux controller function for Maxim MAX77620 Power management IC

maintainers:
  - Svyatoslav Ryhel <clamor95@gmail.com>

description:
  Device has 8 GPIO pins which can be configured as GPIO as well as the
  special IO functions.

allOf:
  - $ref: /schemas/pinctrl/pincfg-node.yaml
  - $ref: /schemas/pinctrl/pinmux-node.yaml

patternProperties:
  "^(pin|gpio).":
    type: object
    additionalProperties: false

    properties:
      pins:
        items:
          enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7 ]

      function:
        items:
          enum: [ gpio, lpm-control-in, fps-out, 32k-out1, sd0-dvs-in, sd1-dvs-in,
                  reference-out ]

      drive-push-pull: true
      drive-open-drain: true
      bias-pull-up: true
      bias-pull-down: true

      maxim,active-fps-source:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: |
          FPS source for the GPIOs to get enabled/disabled when system is in
          active state. Valid values are:
          - MAX77620_FPS_SRC_0: FPS source is FPS0.
          - MAX77620_FPS_SRC_1: FPS source is FPS1
          - MAX77620_FPS_SRC_2: FPS source is FPS2
          - MAX77620_FPS_SRC_NONE: GPIO is not controlled by FPS events and
                                   it gets enabled/disabled by register access.
          Absence of this property will leave the FPS configuration register
          for that GPIO to default configuration.

      maxim,active-fps-power-up-slot:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Sequencing event slot number on which the GPIO get enabled when
          master FPS input event set to HIGH. This is applicable if FPS source
          is selected as FPS0, FPS1 or FPS2.
        enum: [0, 1, 2, 3, 4, 5, 6, 7]

      maxim,active-fps-power-down-slot:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Sequencing event slot number on which the GPIO get disabled when
          master FPS input event set to LOW. This is applicable if FPS source
          is selected as FPS0, FPS1 or FPS2.
        enum: [0, 1, 2, 3, 4, 5, 6, 7]

      maxim,suspend-fps-source:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          This is same as property "maxim,active-fps-source" but value get
          configured when system enters in to suspend state.

      maxim,suspend-fps-power-up-slot:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          This is same as property "maxim,active-fps-power-up-slot" but this
          value get configured into FPS configuration register when system
          enters into suspend. This is applicable if suspend state FPS source
          is selected as FPS0, FPS1 or FPS2.
        enum: [0, 1, 2, 3, 4, 5, 6, 7]

      maxim,suspend-fps-power-down-slot:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          This is same as property "maxim,active-fps-power-down-slot" but this
          value get configured into FPS configuration register when system
          enters into suspend. This is applicable if suspend state FPS source
          is selected as FPS0, FPS1 or FPS2.
        enum: [0, 1, 2, 3, 4, 5, 6, 7]

    required:
      - pins

additionalProperties: false

# see maxim,max77620.yaml for an example
+0 −127
Original line number Diff line number Diff line
Pincontrol driver for MAX77620 Power management IC from Maxim Semiconductor.

Device has 8 GPIO pins which can be configured as GPIO as well as the
special IO functions.

Please refer file <devicetree/bindings/pinctrl/pinctrl-bindings.txt>
for details of the common pinctrl bindings used by client devices,
including the meaning of the phrase "pin configuration node".

Optional Pinmux properties:
--------------------------
Following properties are required if default setting of pins are required
at boot.
- pinctrl-names: A pinctrl state named per <pinctrl-bindings.txt>.
- pinctrl[0...n]: Properties to contain the phandle for pinctrl states per
		<pinctrl-bindings.txt>.

The pin configurations are defined as child of the pinctrl states node. Each
sub-node have following properties:

Required properties:
------------------
- pins: List of pins. Valid values of pins properties are:
		      gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7.

Optional properties:
-------------------
Following are optional properties defined as pinmux DT binding document
<pinctrl-bindings.txt>. Absence of properties will leave the configuration
on default.
	function,
	drive-push-pull,
	drive-open-drain,
	bias-pull-up,
	bias-pull-down.

Valid values for function properties are:
	gpio, lpm-control-in, fps-out, 32k-out, sd0-dvs-in, sd1-dvs-in,
	reference-out

There are also customised properties for the GPIO1, GPIO2 and GPIO3. These
customised properties are required to configure FPS configuration parameters
of these GPIOs. Please refer <devicetree/bindings/mfd/max77620.txt> for more
detail of Flexible Power Sequence (FPS).

- maxim,active-fps-source:		FPS source for the GPIOs to get
					enabled/disabled when system is in
					active state.  Valid values are:
					- MAX77620_FPS_SRC_0,
						FPS source is FPS0.
					- MAX77620_FPS_SRC_1,
						FPS source is FPS1
					- MAX77620_FPS_SRC_2 and
						FPS source is FPS2
					- MAX77620_FPS_SRC_NONE.
						GPIO is not controlled
						by FPS events and it gets
						enabled/disabled by register
						access.
					Absence of this property will leave
					the FPS configuration register for that
					GPIO to default configuration.

- maxim,active-fps-power-up-slot:	Sequencing event slot number on which
					the GPIO get enabled when
					master FPS input event set to HIGH.
					Valid values are 0 to 7.
					This is applicable if FPS source is
					selected as FPS0, FPS1 or FPS2.

- maxim,active-fps-power-down-slot:	Sequencing event slot number on which
					the GPIO get disabled when master
					FPS input event set to LOW.
					Valid values are 0 to 7.
					This is applicable if FPS source is
					selected as FPS0, FPS1 or FPS2.

- maxim,suspend-fps-source:		This is same as property
					"maxim,active-fps-source" but value
					get configured when system enters in
					to suspend state.

- maxim,suspend-fps-power-up-slot:	This is same as property
					"maxim,active-fps-power-up-slot" but
					this value get configured into FPS
					configuration register when system
					enters into suspend.
					This is applicable if suspend state
					FPS source is selected as FPS0, FPS1 or

- maxim,suspend-fps-power-down-slot:	This is same as property
					"maxim,active-fps-power-down-slot" but
					this value get configured into FPS
					configuration register when system
					enters into suspend.
					This is applicable if suspend state
					FPS source is selected as FPS0, FPS1 or
					FPS2.

Example:
--------
#include <dt-bindings/mfd/max77620.h>
...
max77620@3c {

	pinctrl-names = "default";
	pinctrl-0 = <&spmic_default>;

	spmic_default: pinmux@0 {
		pin_gpio0 {
			pins = "gpio0";
			function = "gpio";
		};

		pin_gpio1 {
			pins = "gpio1";
			function = "fps-out";
			maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
		};

		pin_gpio2 {
			pins = "gpio2";
			function = "fps-out";
			maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
		};
	};
};