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

title: Broadcom BCM6362 pin controller

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

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

properties:
  compatible:
    const: brcm,bcm6362-pinctrl

  reg:
    maxItems: 2

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

    properties:
      function:
        enum: [ usb_device_led, sys_irq, serial_led_clk, serial_led_data,
                robosw_led_data, robosw_led_clk, robosw_led0, robosw_led1,
                inet_led, spi_cs2, spi_cs3, ntr_pulse, uart1_scts,
                uart1_srts, uart1_sdin, uart1_sdout, adsl_spi_miso,
                adsl_spi_mosi, adsl_spi_clk, adsl_spi_cs, ephy0_led,
                ephy1_led, ephy2_led, ephy3_led, ext_irq0, ext_irq1,
                ext_irq2, ext_irq3, nand ]

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

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

required:
  - compatible
  - reg

additionalProperties: false

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

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

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

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

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

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

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

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

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

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

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

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

      pinctrl_ntr_pulse: ntr_pulse-pins {
        function = "ntr_pulse";
        pins = "gpio11";
      };

      pinctrl_uart1_scts: uart1_scts-pins {
        function = "uart1_scts";
        pins = "gpio12";
      };

      pinctrl_uart1_srts: uart1_srts-pins {
        function = "uart1_srts";
        pins = "gpio13";
      };

      pinctrl_uart1: uart1-pins {
        pinctrl_uart1_sdin: uart1_sdin-pins {
          function = "uart1_sdin";
          pins = "gpio14";
        };

        pinctrl_uart1_sdout: uart1_sdout-pins {
          function = "uart1_sdout";
          pins = "gpio15";
        };
      };

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

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

        pinctrl_adsl_spi_clk: adsl_spi_clk-pins {
          function = "adsl_spi_clk";
          pins = "gpio18";
        };

        pinctrl_adsl_spi_cs: adsl_spi_cs-pins {
          function = "adsl_spi_cs";
          pins = "gpio19";
        };
      };

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

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

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

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

      pinctrl_ext_irq0: ext_irq0-pins {
        function = "ext_irq0";
        pins = "gpio24";
      };

      pinctrl_ext_irq1: ext_irq1-pins {
        function = "ext_irq1";
        pins = "gpio25";
      };

      pinctrl_ext_irq2: ext_irq2-pins {
        function = "ext_irq2";
        pins = "gpio26";
      };

      pinctrl_ext_irq3: ext_irq3-pins {
        function = "ext_irq3";
        pins = "gpio27";
      };

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