# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/brcm,bcm63268-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM63268 pin controller

maintainers:
  - Álvaro Fernández Rojas <noltari@gmail.com>
  - Jonas Gorski <jonas.gorski@gmail.com>

description:
  Bindings for Broadcom's BCM63268 memory-mapped pin controller.

properties:
  compatible:
    const: brcm,bcm63268-pinctrl

  reg:
    maxItems: 3

patternProperties:
  '-pins$':
    type: object
    $ref: pinmux-node.yaml#
    unevaluatedProperties: false

    properties:
      function:
        enum: [ serial_led_clk, serial_led_data, hsspi_cs4, hsspi_cs5,
                hsspi_cs6, hsspi_cs7, adsl_spi_miso, adsl_spi_mosi,
                vreq_clk, pcie_clkreq_b, robosw_led_clk, robosw_led_data,
                nand, gpio35_alt, dectpd, vdsl_phy_override_0,
                vdsl_phy_override_1, vdsl_phy_override_2,
                vdsl_phy_override_3, dsl_gpio8, dsl_gpio9 ]

      pins:
        enum: [ gpio0, gpio1, gpio16, gpio17, gpio8, gpio9, gpio18, gpio19,
                gpio22, gpio23, gpio30, gpio31, nand_grp, gpio35,
                dectpd_grp, vdsl_phy_override_0_grp,
                vdsl_phy_override_1_grp, vdsl_phy_override_2_grp,
                vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ]

    patternProperties:
      '-pins$':
        $ref: '#/patternProperties/-pins$'

allOf:
  - $ref: pinctrl.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pinctrl@10 {
      compatible = "brcm,bcm63268-pinctrl";
      reg = <0x10 0x4>, <0x18 0x8>, <0x38 0x4>;

      pinctrl_serial_led: serial_led-pins {
        pinctrl_serial_led_clk: serial_led_clk-pins {
          function = "serial_led_clk";
          pins = "gpio0";
        };

        pinctrl_serial_led_data: serial_led_data-pins {
          function = "serial_led_data";
          pins = "gpio1";
        };
      };

      pinctrl_hsspi_cs4: hsspi_cs4-pins {
        function = "hsspi_cs4";
        pins = "gpio16";
      };

      pinctrl_hsspi_cs5: hsspi_cs5-pins {
        function = "hsspi_cs5";
        pins = "gpio17";
      };

      pinctrl_hsspi_cs6: hsspi_cs6-pins {
        function = "hsspi_cs6";
        pins = "gpio8";
      };

      pinctrl_hsspi_cs7: hsspi_cs7-pins {
        function = "hsspi_cs7";
        pins = "gpio9";
      };

      pinctrl_adsl_spi: adsl_spi-pins {
        pinctrl_adsl_spi_miso: adsl_spi_miso-pins {
          function = "adsl_spi_miso";
          pins = "gpio18";
        };

        pinctrl_adsl_spi_mosi: adsl_spi_mosi-pins {
          function = "adsl_spi_mosi";
          pins = "gpio19";
        };
      };

      pinctrl_vreq_clk: vreq_clk-pins {
        function = "vreq_clk";
        pins = "gpio22";
      };

      pinctrl_pcie_clkreq_b: pcie_clkreq_b-pins {
        function = "pcie_clkreq_b";
        pins = "gpio23";
      };

      pinctrl_robosw_led_clk: robosw_led_clk-pins {
        function = "robosw_led_clk";
        pins = "gpio30";
      };

      pinctrl_robosw_led_data: robosw_led_data-pins {
        function = "robosw_led_data";
        pins = "gpio31";
      };

      pinctrl_nand: nand-pins {
        function = "nand";
        pins = "nand_grp";
      };

      pinctrl_gpio35_alt: gpio35_alt-pins {
        function = "gpio35_alt";
        pins = "gpio35";
      };

      pinctrl_dectpd: dectpd-pins {
        function = "dectpd";
        pins = "dectpd_grp";
      };

      pinctrl_vdsl_phy_override_0: vdsl_phy_override_0-pins {
        function = "vdsl_phy_override_0";
        pins = "vdsl_phy_override_0_grp";
      };

      pinctrl_vdsl_phy_override_1: vdsl_phy_override_1-pins {
        function = "vdsl_phy_override_1";
        pins = "vdsl_phy_override_1_grp";
      };

      pinctrl_vdsl_phy_override_2: vdsl_phy_override_2-pins {
        function = "vdsl_phy_override_2";
        pins = "vdsl_phy_override_2_grp";
      };

      pinctrl_vdsl_phy_override_3: vdsl_phy_override_3-pins {
        function = "vdsl_phy_override_3";
        pins = "vdsl_phy_override_3_grp";
      };

      pinctrl_dsl_gpio8: dsl_gpio8-pins {
        function = "dsl_gpio8";
        pins = "dsl_gpio8";
      };

      pinctrl_dsl_gpio9: dsl_gpio9-pins {
        function = "dsl_gpio9";
        pins = "dsl_gpio9";
      };
    };
