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