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

title: Broadcom BCM6368 pin controller

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

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

properties:
  compatible:
    const: brcm,bcm6368-pinctrl

  reg:
    maxItems: 2

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

    properties:
      function:
        enum: [ analog_afe_0, analog_afe_1, sys_irq, serial_led_data,
                serial_led_clk, inet_led, ephy0_led, ephy1_led, ephy2_led,
                ephy3_led, robosw_led_data, robosw_led_clk, robosw_led0,
                robosw_led1, usb_device_led, pci_req1, pci_gnt1, pci_intb,
                pci_req0, pci_gnt0, pcmcia_cd1, pcmcia_cd2, pcmcia_vs1,
                pcmcia_vs2, ebi_cs2, ebi_cs3, spi_cs2, spi_cs3, spi_cs4,
                spi_cs5, uart1 ]

      pins:
        enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
                gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14,
                gpio16, gpio17, gpio18, gpio19, gpio20, gpio22, gpio23,
                gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
                gpio31, uart1_grp ]

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    pinctrl@18 {
      compatible = "brcm,bcm6368-pinctrl";
      reg = <0x18 0x4>, <0x38 0x4>;

      pinctrl_analog_afe_0: analog_afe_0-pins {
        function = "analog_afe_0";
        pins = "gpio0";
      };

      pinctrl_analog_afe_1: analog_afe_1-pins {
        function = "analog_afe_1";
        pins = "gpio1";
      };

      pinctrl_sys_irq: sys_irq-pins {
        function = "sys_irq";
        pins = "gpio2";
      };

      pinctrl_serial_led: serial_led-pins {
        pinctrl_serial_led_data: serial_led_data-pins {
          function = "serial_led_data";
          pins = "gpio3";
        };

        pinctrl_serial_led_clk: serial_led_clk-pins {
          function = "serial_led_clk";
          pins = "gpio4";
        };
      };

      pinctrl_inet_led: inet_led-pins {
        function = "inet_led";
        pins = "gpio5";
      };

      pinctrl_ephy0_led: ephy0_led-pins {
        function = "ephy0_led";
        pins = "gpio6";
      };

      pinctrl_ephy1_led: ephy1_led-pins {
        function = "ephy1_led";
        pins = "gpio7";
      };

      pinctrl_ephy2_led: ephy2_led-pins {
        function = "ephy2_led";
        pins = "gpio8";
      };

      pinctrl_ephy3_led: ephy3_led-pins {
        function = "ephy3_led";
        pins = "gpio9";
      };

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

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

      pinctrl_robosw_led0: robosw_led0-pins {
        function = "robosw_led0";
        pins = "gpio12";
      };

      pinctrl_robosw_led1: robosw_led1-pins {
        function = "robosw_led1";
        pins = "gpio13";
      };

      pinctrl_usb_device_led: usb_device_led-pins {
        function = "usb_device_led";
        pins = "gpio14";
      };

      pinctrl_pci: pci-pins {
        pinctrl_pci_req1: pci_req1-pins {
          function = "pci_req1";
          pins = "gpio16";
        };

        pinctrl_pci_gnt1: pci_gnt1-pins {
          function = "pci_gnt1";
          pins = "gpio17";
        };

        pinctrl_pci_intb: pci_intb-pins {
          function = "pci_intb";
          pins = "gpio18";
        };

        pinctrl_pci_req0: pci_req0-pins {
          function = "pci_req0";
          pins = "gpio19";
        };

        pinctrl_pci_gnt0: pci_gnt0-pins {
          function = "pci_gnt0";
          pins = "gpio20";
        };
      };

      pinctrl_pcmcia: pcmcia-pins {
        pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
          function = "pcmcia_cd1";
          pins = "gpio22";
        };

        pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
          function = "pcmcia_cd2";
          pins = "gpio23";
        };

        pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
          function = "pcmcia_vs1";
          pins = "gpio24";
        };

        pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
          function = "pcmcia_vs2";
          pins = "gpio25";
        };
      };

      pinctrl_ebi_cs2: ebi_cs2-pins {
        function = "ebi_cs2";
        pins = "gpio26";
      };

      pinctrl_ebi_cs3: ebi_cs3-pins {
        function = "ebi_cs3";
        pins = "gpio27";
      };

      pinctrl_spi_cs2: spi_cs2-pins {
        function = "spi_cs2";
        pins = "gpio28";
      };

      pinctrl_spi_cs3: spi_cs3-pins {
        function = "spi_cs3";
        pins = "gpio29";
      };

      pinctrl_spi_cs4: spi_cs4-pins {
        function = "spi_cs4";
        pins = "gpio30";
      };

      pinctrl_spi_cs5: spi_cs5-pins {
        function = "spi_cs5";
        pins = "gpio31";
      };

      pinctrl_uart1: uart1-pins {
        function = "uart1";
        group = "uart1_grp";
      };
    };
