# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (c) 2020 MediaTek
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/mediatek,mtk-xhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek USB3 xHCI Device Tree Bindings

maintainers:
  - Chunfeng Yun <chunfeng.yun@mediatek.com>

allOf:
  - $ref: "usb-xhci.yaml"

description: |
  There are two scenarios:
  case 1: only supports xHCI driver;
  case 2: supports dual-role mode, and the host is based on xHCI driver.

properties:
  # common properties for both case 1 and case 2
  compatible:
    items:
      - enum:
          - mediatek,mt2701-xhci
          - mediatek,mt2712-xhci
          - mediatek,mt7622-xhci
          - mediatek,mt7623-xhci
          - mediatek,mt7629-xhci
          - mediatek,mt8173-xhci
          - mediatek,mt8183-xhci
      - const: mediatek,mtk-xhci

  reg:
    minItems: 1
    items:
      - description: the registers of xHCI MAC
      - description: the registers of IP Port Control

  reg-names:
    minItems: 1
    items:
      - const: mac
      - const: ippc  # optional, only needed for case 1.

  interrupts:
    maxItems: 1

  power-domains:
    description: A phandle to USB power domain node to control USB's MTCMOS
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: Controller clock used by normal mode
      - description: Reference clock used by low power mode etc
      - description: Mcu bus clock for register access
      - description: DMA bus clock for data transfer
      - description: controller clock

  clock-names:
    minItems: 1
    items:
      - const: sys_ck  # required, the following ones are optional
      - const: ref_ck
      - const: mcu_ck
      - const: dma_ck
      - const: xhci_ck

  assigned-clocks:
    minItems: 1
    maxItems: 5

  assigned-clock-parents:
    minItems: 1
    maxItems: 5

  phys:
    description:
      List of all PHYs used on this HCD, it's better to keep PHYs in order
      as the hardware layout
    minItems: 1
    items:
      - description: USB2/HS PHY    # required, others are optional
      - description: USB3/SS(P) PHY
      - description: USB2/HS PHY
      - description: USB3/SS(P) PHY
      - description: USB2/HS PHY
      - description: USB3/SS(P) PHY
      - description: USB2/HS PHY
      - description: USB3/SS(P) PHY
      - description: USB2/HS PHY

  vusb33-supply:
    description: Regulator of USB AVDD3.3v

  vbus-supply:
    description: Regulator of USB VBUS5v

  usb3-lpm-capable:
    description: supports USB3.0 LPM
    type: boolean

  imod-interval-ns:
    description:
      Interrupt moderation interval value, it is 8 times as much as that
      defined in the xHCI spec on MTK's controller.
    default: 5000

  # the following properties are only used for case 1
  wakeup-source:
    description: enable USB remote wakeup, see power/wakeup-source.txt
    type: boolean

  mediatek,syscon-wakeup:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    maxItems: 1
    description:
      A phandle to syscon used to access the register of the USB wakeup glue
      layer between xHCI and SPM, the field should always be 3 cells long.
    items:
      items:
        - description:
            The first cell represents a phandle to syscon
        - description:
            The second cell represents the register base address of the glue
            layer in syscon
        - description:
            The third cell represents the hardware version of the glue layer,
            1 is used by mt8173 etc, 2 is used by mt2712 etc
          enum: [1, 2]

  mediatek,u3p-dis-msk:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: The mask to disable u3ports, bit0 for u3port0,
      bit1 for u3port1, ... etc

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "@[0-9a-f]{1}$":
    type: object
    description: The hard wired USB devices.

dependencies:
  wakeup-source: [ 'mediatek,syscon-wakeup' ]

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt8173-clk.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/phy/phy.h>
    #include <dt-bindings/power/mt8173-power.h>

    usb@11270000 {
        compatible = "mediatek,mt8173-xhci", "mediatek,mtk-xhci";
        reg = <0x11270000 0x1000>, <0x11280700 0x0100>;
        reg-names = "mac", "ippc";
        interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
        power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
        clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;
        clock-names = "sys_ck", "ref_ck";
        phys = <&u3port0 PHY_TYPE_USB3>, <&u2port1 PHY_TYPE_USB2>;
        vusb33-supply = <&mt6397_vusb_reg>;
        vbus-supply = <&usb_p1_vbus>;
        imod-interval-ns = <10000>;
        mediatek,syscon-wakeup = <&pericfg 0x400 1>;
        wakeup-source;
        usb3-lpm-capable;
    };
...
