# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause

%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/socionext,uniphier-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: UniPhier SoCs pin controller

maintainers:
  - Masahiro Yamada <yamada.masahiro@socionext.com>

properties:
  compatible:
    enum:
      - socionext,uniphier-ld4-pinctrl
      - socionext,uniphier-pro4-pinctrl
      - socionext,uniphier-sld8-pinctrl
      - socionext,uniphier-pro5-pinctrl
      - socionext,uniphier-pxs2-pinctrl
      - socionext,uniphier-ld6b-pinctrl
      - socionext,uniphier-ld11-pinctrl
      - socionext,uniphier-ld20-pinctrl
      - socionext,uniphier-pxs3-pinctrl
      - socionext,uniphier-nx1-pinctrl

additionalProperties:
  type: object

  allOf:
    - $ref: pincfg-node.yaml#
    - $ref: pinmux-node.yaml#

  properties:
    phandle: true
    function: true
    groups: true
    pins: true
    bias-pull-up: true
    bias-pull-down: true
    bias-pull-pin-default: true
    drive-strength: true

  additionalProperties:
    type: object

    allOf:
      - $ref: pincfg-node.yaml#
      - $ref: pinmux-node.yaml#

    properties:
      phandle: true
      function: true
      groups: true
      pins: true
      bias-pull-up: true
      bias-pull-down: true
      bias-pull-pin-default: true
      drive-strength: true

    unevaluatedProperties: false

allOf:
  - $ref: "pinctrl.yaml#"

required:
  - compatible

examples:
  - |
    // The UniPhier pinctrl should be a subnode of a "syscon" compatible node.

    pinctrl {
        compatible = "socionext,uniphier-ld20-pinctrl";

        pinctrl_ether_rgmii: ether-rgmii {
            groups = "ether_rgmii";
            function = "ether_rgmii";

            tx {
                pins = "RGMII_TXCLK", "RGMII_TXD0", "RGMII_TXD1",
                       "RGMII_TXD2", "RGMII_TXD3", "RGMII_TXCTL";
                drive-strength = <9>;
            };
        };
    };
