# 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#

    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 ]

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";
        group = "nand_grp";
      };

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

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

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

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

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

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

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

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