# 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,musb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek MUSB DRD/OTG Controller Device Tree Bindings

maintainers:
  - Min Guo <min.guo@mediatek.com>

properties:
  $nodename:
    pattern: '^usb@[0-9a-f]+$'

  compatible:
    items:
      - enum:
          - mediatek,mt8516-musb
          - mediatek,mt2701-musb
          - mediatek,mt7623-musb
      - const: mediatek,mtk-musb

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-names:
    items:
      - const: mc

  clocks:
    items:
      - description: The main/core clock
      - description: The system bus clock
      - description: The 48Mhz clock

  clock-names:
    items:
      - const: main
      - const: mcu
      - const: univpll

  phys:
    maxItems: 1

  usb-role-switch:
    $ref: /schemas/types.yaml#/definitions/flag
    description: Support role switch. See usb/generic.txt
    type: boolean

  dr_mode:
    enum:
      - host
      - otg
      - peripheral

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

  connector:
    $ref: /connector/usb-connector.yaml#
    description: Connector for dual role switch
    type: object

dependencies:
  usb-role-switch: [ 'connector' ]
  connector: [ 'usb-role-switch' ]

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

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt2701-clk.h>
    #include <dt-bindings/gpio/gpio.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/mt2701-power.h>

    usb@11200000 {
        compatible = "mediatek,mt2701-musb", "mediatek,mtk-musb";
        reg = <0x11200000 0x1000>;
        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
        interrupt-names = "mc";
        phys = <&u2port2 PHY_TYPE_USB2>;
        dr_mode = "otg";
        clocks = <&pericfg CLK_PERI_USB0>,
                 <&pericfg CLK_PERI_USB0_MCU>,
                 <&pericfg CLK_PERI_USB_SLV>;
        clock-names = "main","mcu","univpll";
        power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
        usb-role-switch;

        connector {
            compatible = "gpio-usb-b-connector", "usb-b-connector";
            type = "micro";
            id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>;
            vbus-supply = <&usb_vbus>;
        };
    };
...
