Commit bc3aca53 authored by Grygorii Strashko's avatar Grygorii Strashko Committed by Bartosz Golaszewski
Browse files

dt-bindings: gpio: omap: Convert to json-schema



Convert the OMAP GPIO Device Tree binding documentation to json-schema.
The GPIO hogs node names defined to end with a 'hog' suffix.

Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
parent 05332606
Loading
Loading
Loading
Loading
+0 −45
Original line number Diff line number Diff line
OMAP GPIO controller bindings

Required properties:
- compatible:
  - "ti,omap2-gpio" for OMAP2 controllers
  - "ti,omap3-gpio" for OMAP3 controllers
  - "ti,omap4-gpio" for OMAP4 controllers
- reg : Physical base address of the controller and length of memory mapped
  region.
- gpio-controller : Marks the device node as a GPIO controller.
- #gpio-cells : Should be two.
  - first cell is the pin number
  - second cell is used to specify optional parameters (unused)
- interrupt-controller: Mark the device node as an interrupt controller.
- #interrupt-cells : Should be 2.
  The first cell is the GPIO number.
  The second cell is used to specify flags:
    bits[3:0] trigger type and level flags:
      1 = low-to-high edge triggered.
      2 = high-to-low edge triggered.
      4 = active high level-sensitive.
      8 = active low level-sensitive.
- interrupts : The interrupt the controller is rising as output when an
  interrupt occures

OMAP specific properties:
- ti,hwmods:		Name of the hwmod associated to the GPIO:
			"gpio<X>", <X> being the 1-based instance number
			from the HW spec.
- ti,gpio-always-on: 	Indicates if a GPIO bank is always powered and
			so will never lose its logic state.


Example:

gpio0: gpio@44e07000 {
    compatible = "ti,omap4-gpio";
    reg = <0x44e07000 0x1000>;
    ti,hwmods = "gpio1";
    gpio-controller;
    #gpio-cells = <2>;
    interrupt-controller;
    #interrupt-cells = <2>;
    interrupts = <96>;
};
+108 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/gpio/ti,omap-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: OMAP GPIO controller bindings

maintainers:
  - Grygorii Strashko <grygorii.strashko@ti.com>

description: |
  The general-purpose interface combines general-purpose input/output (GPIO) banks.
  Each GPIO banks provides up to 32 dedicated general-purpose pins with input
  and output capabilities; interrupt generation in active mode and wake-up
  request generation in idle mode upon the detection of external events.

properties:
  compatible:
    oneOf:
      - enum:
          - ti,omap2-gpio
          - ti,omap3-gpio
          - ti,omap4-gpio
      - items:
          - const: ti,am4372-gpio
          - const: ti,omap4-gpio

  reg:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    const: 2

  interrupt-controller: true

  '#interrupt-cells':
    const: 2

  interrupts:
    maxItems: 1

  gpio-ranges: true

  gpio-line-names:
    minItems: 1
    maxItems: 32

  ti,gpio-always-on:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Indicates if a GPIO bank is always powered and will never lose its logic state.

  ti,hwmods:
    $ref: /schemas/types.yaml#/definitions/string
    deprecated: true
    description:
      Name of the hwmod associated with the GPIO. Needed on some legacy OMAP
      SoCs which have not been converted to the ti,sysc interconnect hierarachy.

  ti,no-reset-on-init:
    $ref: /schemas/types.yaml#/definitions/flag
    deprecated: true
    description:
      Do not reset on init. Used with ti,hwmods on some legacy OMAP SoCs which
      have not been converted to the ti,sysc interconnect hierarachy.

patternProperties:
  "^(.+-hog(-[0-9]+)?)$":
    type: object

    required:
      - gpio-hog

required:
  - compatible
  - reg
  - gpio-controller
  - "#gpio-cells"
  - interrupt-controller
  - "#interrupt-cells"
  - interrupts

additionalProperties: false

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

    gpio0: gpio@0 {
        compatible = "ti,omap4-gpio";
        reg = <0x0 0x1000>;
        gpio-controller;
        #gpio-cells = <2>;
        interrupt-controller;
        #interrupt-cells = <2>;
        interrupts = <96>;
        ti,gpio-always-on;

        ls-buf-en-hog {
            gpio-hog;
            gpios = <10 GPIO_ACTIVE_HIGH>;
            output-high;
            line-name = "LS_BUF_EN";
        };
    };