# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 Linaro Ltd.
%YAML 1.2
---
$id: "http://devicetree.org/schemas/misc/hisilicon-hikey-usb.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: HiKey960 onboard USB GPIO Hub

maintainers:
  - John Stultz <john.stultz@linaro.org>

description: |
  Supports the onboard HiKey960 USB GPIO hub, which acts as a
  role-switch intermediary to detect the state of the USB-C
  port, to switch the hub into dual-role USB-C or host mode,
  which enables the onboard USB-A host ports.

  Schematics about the hub can be found here:
    https://github.com/96boards/documentation/raw/master/consumer/hikey/hikey960/hardware-docs/HiKey960_Schematics.pdf

properties:
  compatible:
    items:
      - const: hisilicon,gpio_hubv1

  typec-vbus-gpios:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: phandle to the typec-vbus gpio

  otg-switch-gpios:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: phandle to the otg-switch gpio

  hub-vdd33-en-gpios:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: phandle to the hub 3.3v power enablement gpio

  usb-role-switch:
    $ref: /schemas/types.yaml#/definitions/flag
    description: Support role switch.

  port:
    description: |
      any connector to the data bus of this controller should be modelled
      using the OF graph bindings specified, if the "usb-role-switch"
      property is used. Note for this driver, two ports are supported,
      the first being the endpoint that will be notified by this driver,
      and the second being the endpoint that notifies this driver of a
      role switch.


required:
  - compatible
  - typec-vbus-gpios
  - otg-switch-gpios
  - hub-vdd33-en-gpios
  - usb-role-switch
  - port

additionalProperties: false

examples:
  - |
    hisi_hikey_usb: hisi_hikey_usb {
        compatible = "hisilicon,gpio_hubv1";
        typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>;
        otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>;
        hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
        usb-role-switch;

        port {
            #address-cells = <1>;
            #size-cells = <0>;

            hikey_usb_ep0: endpoint@0 {
                reg = <0>;
                remote-endpoint = <&dwc3_role_switch>;
            };
            hikey_usb_ep1: endpoint@1 {
                reg = <1>;
                remote-endpoint = <&rt1711h_ep>;
            };
        };
    };
