18c2ecf20Sopenharmony_ciBroadcom STB USB PHY 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: should be one of 58c2ecf20Sopenharmony_ci "brcm,brcmstb-usb-phy" 68c2ecf20Sopenharmony_ci "brcm,bcm7216-usb-phy" 78c2ecf20Sopenharmony_ci "brcm,bcm7211-usb-phy" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci- reg and reg-names properties requirements are specific to the 108c2ecf20Sopenharmony_ci compatible string. 118c2ecf20Sopenharmony_ci "brcm,brcmstb-usb-phy": 128c2ecf20Sopenharmony_ci - reg: 1 or 2 offset and length pairs. One for the base CTRL registers 138c2ecf20Sopenharmony_ci and an optional pair for systems with USB 3.x support 148c2ecf20Sopenharmony_ci - reg-names: not specified 158c2ecf20Sopenharmony_ci "brcm,bcm7216-usb-phy": 168c2ecf20Sopenharmony_ci - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL 178c2ecf20Sopenharmony_ci registers 188c2ecf20Sopenharmony_ci - reg-names: "ctrl", "xhci_ec", "xhci_gbl" 198c2ecf20Sopenharmony_ci "brcm,bcm7211-usb-phy": 208c2ecf20Sopenharmony_ci - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL, 218c2ecf20Sopenharmony_ci USB_PHY and USB_MDIO registers and an optional pair 228c2ecf20Sopenharmony_ci for the BDC registers 238c2ecf20Sopenharmony_ci - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec" 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci- #phy-cells: Shall be 1 as it expects one argument for setting 268c2ecf20Sopenharmony_ci the type of the PHY. Possible values are: 278c2ecf20Sopenharmony_ci - PHY_TYPE_USB2 for USB1.1/2.0 PHY 288c2ecf20Sopenharmony_ci - PHY_TYPE_USB3 for USB3.x PHY 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciOptional Properties: 318c2ecf20Sopenharmony_ci- clocks : clock phandles. 328c2ecf20Sopenharmony_ci- clock-names: String, clock name. 338c2ecf20Sopenharmony_ci- interrupts: wakeup interrupt 348c2ecf20Sopenharmony_ci- interrupt-names: "wakeup" 358c2ecf20Sopenharmony_ci- brcm,ipp: Boolean, Invert Port Power. 368c2ecf20Sopenharmony_ci Possible values are: 0 (Don't invert), 1 (Invert) 378c2ecf20Sopenharmony_ci- brcm,ioc: Boolean, Invert Over Current detection. 388c2ecf20Sopenharmony_ci Possible values are: 0 (Don't invert), 1 (Invert) 398c2ecf20Sopenharmony_ci- dr_mode: String, PHY Device mode. 408c2ecf20Sopenharmony_ci Possible values are: "host", "peripheral ", "drd" or "typec-pd" 418c2ecf20Sopenharmony_ci If this property is not defined, the phy will default to "host" mode. 428c2ecf20Sopenharmony_ci- brcm,syscon-piarbctl: phandle to syscon for handling config registers 438c2ecf20Sopenharmony_ciNOTE: one or both of the following two properties must be set 448c2ecf20Sopenharmony_ci- brcm,has-xhci: Boolean indicating the phy has an XHCI phy. 458c2ecf20Sopenharmony_ci- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciExample: 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciusbphy_0: usb-phy@f0470200 { 518c2ecf20Sopenharmony_ci reg = <0xf0470200 0xb8>, 528c2ecf20Sopenharmony_ci <0xf0471940 0x6c0>; 538c2ecf20Sopenharmony_ci compatible = "brcm,brcmstb-usb-phy"; 548c2ecf20Sopenharmony_ci #phy-cells = <1>; 558c2ecf20Sopenharmony_ci dr_mode = "host" 568c2ecf20Sopenharmony_ci brcm,ioc = <1>; 578c2ecf20Sopenharmony_ci brcm,ipp = <1>; 588c2ecf20Sopenharmony_ci brcm,has-xhci; 598c2ecf20Sopenharmony_ci brcm,has-eohci; 608c2ecf20Sopenharmony_ci clocks = <&usb20>, <&usb30>; 618c2ecf20Sopenharmony_ci clock-names = "sw_usb", "sw_usb3"; 628c2ecf20Sopenharmony_ci}; 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciusb-phy@29f0200 { 658c2ecf20Sopenharmony_ci reg = <0x29f0200 0x200>, 668c2ecf20Sopenharmony_ci <0x29c0880 0x30>, 678c2ecf20Sopenharmony_ci <0x29cc100 0x534>, 688c2ecf20Sopenharmony_ci <0x2808000 0x24>, 698c2ecf20Sopenharmony_ci <0x2980080 0x8>; 708c2ecf20Sopenharmony_ci reg-names = "ctrl", 718c2ecf20Sopenharmony_ci "xhci_ec", 728c2ecf20Sopenharmony_ci "xhci_gbl", 738c2ecf20Sopenharmony_ci "usb_phy", 748c2ecf20Sopenharmony_ci "usb_mdio"; 758c2ecf20Sopenharmony_ci brcm,ioc = <0x0>; 768c2ecf20Sopenharmony_ci brcm,ipp = <0x0>; 778c2ecf20Sopenharmony_ci compatible = "brcm,bcm7211-usb-phy"; 788c2ecf20Sopenharmony_ci interrupts = <0x30>; 798c2ecf20Sopenharmony_ci interrupt-parent = <&vpu_intr1_nosec_intc>; 808c2ecf20Sopenharmony_ci interrupt-names = "wake"; 818c2ecf20Sopenharmony_ci #phy-cells = <0x1>; 828c2ecf20Sopenharmony_ci brcm,has-xhci; 838c2ecf20Sopenharmony_ci syscon-piarbctl = <&syscon_piarbctl>; 848c2ecf20Sopenharmony_ci clocks = <&scmi_clk 256>; 858c2ecf20Sopenharmony_ci clock-names = "sw_usb"; 868c2ecf20Sopenharmony_ci}; 87