# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/brcm,bcm6318-gpio-sysctl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM6318 GPIO System Controller Device Tree Bindings

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

description:
  Broadcom BCM6318 SoC GPIO system controller which provides a register map
  for controlling the GPIO and pins of the SoC.

properties:
  "#address-cells": true

  "#size-cells": true

  compatible:
    items:
      - const: brcm,bcm6318-gpio-sysctl
      - const: syscon
      - const: simple-mfd

  ranges:
    maxItems: 1

  reg:
    maxItems: 1

patternProperties:
  "^gpio@[0-9a-f]+$":
    # Child node
    type: object
    $ref: "../gpio/brcm,bcm6345-gpio.yaml"
    description:
      GPIO controller for the SoC GPIOs. This child node definition
      should follow the bindings specified in
      Documentation/devicetree/bindings/gpio/brcm,bcm6345-gpio.yaml.

  "^pinctrl@[0-9a-f]+$":
    # Child node
    type: object
    $ref: "../pinctrl/brcm,bcm6318-pinctrl.yaml"
    description:
      Pin controller for the SoC pins. This child node definition
      should follow the bindings specified in
      Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml.

required:
  - "#address-cells"
  - compatible
  - ranges
  - reg
  - "#size-cells"

additionalProperties: false

examples:
  - |
    syscon@10000080 {
      #address-cells = <1>;
      #size-cells = <1>;
      compatible = "brcm,bcm6318-gpio-sysctl", "syscon", "simple-mfd";
      reg = <0x10000080 0x80>;
      ranges = <0 0x10000080 0x80>;

      gpio@0 {
        compatible = "brcm,bcm6318-gpio";
        reg-names = "dirout", "dat";
        reg = <0x0 0x8>, <0x8 0x8>;

        gpio-controller;
        gpio-ranges = <&pinctrl 0 0 50>;
        #gpio-cells = <2>;
      };

      pinctrl: pinctrl@10 {
        compatible = "brcm,bcm6318-pinctrl";
        reg = <0x18 0x10>, <0x54 0x18>;

        pinctrl_ephy0_spd_led: ephy0_spd_led-pins {
          function = "ephy0_spd_led";
          pins = "gpio0";
        };

        pinctrl_ephy1_spd_led: ephy1_spd_led-pins {
          function = "ephy1_spd_led";
          pins = "gpio1";
        };

        pinctrl_ephy2_spd_led: ephy2_spd_led-pins {
          function = "ephy2_spd_led";
          pins = "gpio2";
        };

        pinctrl_ephy3_spd_led: ephy3_spd_led-pins {
          function = "ephy3_spd_led";
          pins = "gpio3";
        };

        pinctrl_ephy0_act_led: ephy0_act_led-pins {
          function = "ephy0_act_led";
          pins = "gpio4";
        };

        pinctrl_ephy1_act_led: ephy1_act_led-pins {
          function = "ephy1_act_led";
          pins = "gpio5";
        };

        pinctrl_ephy2_act_led: ephy2_act_led-pins {
          function = "ephy2_act_led";
          pins = "gpio6";
        };

        pinctrl_ephy3_act_led: ephy3_act_led-pins {
          function = "ephy3_act_led";
          pins = "gpio7";
        };

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

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

        pinctrl_inet_act_led: inet_act_led-pins {
          function = "inet_act_led";
          pins = "gpio8";
        };

        pinctrl_inet_fail_led: inet_fail_led-pins {
          function = "inet_fail_led";
          pins = "gpio9";
        };

        pinctrl_dsl_led: dsl_led-pins {
          function = "dsl_led";
          pins = "gpio10";
        };

        pinctrl_post_fail_led: post_fail_led-pins {
          function = "post_fail_led";
          pins = "gpio11";
        };

        pinctrl_wlan_wps_led: wlan_wps_led-pins {
          function = "wlan_wps_led";
          pins = "gpio12";
        };

        pinctrl_usb_pwron: usb_pwron-pins {
          function = "usb_pwron";
          pins = "gpio13";
        };

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

        pinctrl_usb_active: usb_active-pins {
          function = "usb_active";
          pins = "gpio40";
        };
      };
    };
