18c2ecf20Sopenharmony_ciMediaTek musb DRD/OTG controller
28c2ecf20Sopenharmony_ci-------------------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciRequired properties:
58c2ecf20Sopenharmony_ci - compatible      : should be one of:
68c2ecf20Sopenharmony_ci                     "mediatek,mt2701-musb"
78c2ecf20Sopenharmony_ci                     ...
88c2ecf20Sopenharmony_ci                     followed by "mediatek,mtk-musb"
98c2ecf20Sopenharmony_ci - reg             : specifies physical base address and size of
108c2ecf20Sopenharmony_ci                     the registers
118c2ecf20Sopenharmony_ci - interrupts      : interrupt used by musb controller
128c2ecf20Sopenharmony_ci - interrupt-names : must be "mc"
138c2ecf20Sopenharmony_ci - phys            : PHY specifier for the OTG phy
148c2ecf20Sopenharmony_ci - dr_mode         : should be one of "host", "peripheral" or "otg",
158c2ecf20Sopenharmony_ci                     refer to usb/generic.txt
168c2ecf20Sopenharmony_ci - clocks          : a list of phandle + clock-specifier pairs, one for
178c2ecf20Sopenharmony_ci                     each entry in clock-names
188c2ecf20Sopenharmony_ci - clock-names     : must contain "main", "mcu", "univpll"
198c2ecf20Sopenharmony_ci                     for clocks of controller
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciOptional properties:
228c2ecf20Sopenharmony_ci - power-domains   : a phandle to USB power domain node to control USB's
238c2ecf20Sopenharmony_ci                     MTCMOS
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciRequired child nodes:
268c2ecf20Sopenharmony_ci usb connector node as defined in bindings/connector/usb-connector.yaml
278c2ecf20Sopenharmony_ciOptional properties:
288c2ecf20Sopenharmony_ci - id-gpios        : input GPIO for USB ID pin.
298c2ecf20Sopenharmony_ci - vbus-gpios      : input GPIO for USB VBUS pin.
308c2ecf20Sopenharmony_ci - vbus-supply     : reference to the VBUS regulator, needed when supports
318c2ecf20Sopenharmony_ci                     dual-role mode
328c2ecf20Sopenharmony_ci - usb-role-switch : use USB Role Switch to support dual-role switch, see
338c2ecf20Sopenharmony_ci                     usb/generic.txt.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciExample:
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciusb2: usb@11200000 {
388c2ecf20Sopenharmony_ci	compatible = "mediatek,mt2701-musb",
398c2ecf20Sopenharmony_ci		     "mediatek,mtk-musb";
408c2ecf20Sopenharmony_ci	reg = <0 0x11200000 0 0x1000>;
418c2ecf20Sopenharmony_ci	interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
428c2ecf20Sopenharmony_ci	interrupt-names = "mc";
438c2ecf20Sopenharmony_ci	phys = <&u2port2 PHY_TYPE_USB2>;
448c2ecf20Sopenharmony_ci	dr_mode = "otg";
458c2ecf20Sopenharmony_ci	clocks = <&pericfg CLK_PERI_USB0>,
468c2ecf20Sopenharmony_ci		 <&pericfg CLK_PERI_USB0_MCU>,
478c2ecf20Sopenharmony_ci		 <&pericfg CLK_PERI_USB_SLV>;
488c2ecf20Sopenharmony_ci	clock-names = "main","mcu","univpll";
498c2ecf20Sopenharmony_ci	power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
508c2ecf20Sopenharmony_ci	usb-role-switch;
518c2ecf20Sopenharmony_ci	connector{
528c2ecf20Sopenharmony_ci		compatible = "gpio-usb-b-connector", "usb-b-connector";
538c2ecf20Sopenharmony_ci		type = "micro";
548c2ecf20Sopenharmony_ci		id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>;
558c2ecf20Sopenharmony_ci		vbus-supply = <&usb_vbus>;
568c2ecf20Sopenharmony_ci	};
578c2ecf20Sopenharmony_ci};
58