1Broadcom STB USB PHY 2 3Required properties: 4- compatible: should be one of 5 "brcm,brcmstb-usb-phy" 6 "brcm,bcm7216-usb-phy" 7 "brcm,bcm7211-usb-phy" 8 9- reg and reg-names properties requirements are specific to the 10 compatible string. 11 "brcm,brcmstb-usb-phy": 12 - reg: 1 or 2 offset and length pairs. One for the base CTRL registers 13 and an optional pair for systems with USB 3.x support 14 - reg-names: not specified 15 "brcm,bcm7216-usb-phy": 16 - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL 17 registers 18 - reg-names: "ctrl", "xhci_ec", "xhci_gbl" 19 "brcm,bcm7211-usb-phy": 20 - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL, 21 USB_PHY and USB_MDIO registers and an optional pair 22 for the BDC registers 23 - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec" 24 25- #phy-cells: Shall be 1 as it expects one argument for setting 26 the type of the PHY. Possible values are: 27 - PHY_TYPE_USB2 for USB1.1/2.0 PHY 28 - PHY_TYPE_USB3 for USB3.x PHY 29 30Optional Properties: 31- clocks : clock phandles. 32- clock-names: String, clock name. 33- interrupts: wakeup interrupt 34- interrupt-names: "wakeup" 35- brcm,ipp: Boolean, Invert Port Power. 36 Possible values are: 0 (Don't invert), 1 (Invert) 37- brcm,ioc: Boolean, Invert Over Current detection. 38 Possible values are: 0 (Don't invert), 1 (Invert) 39- dr_mode: String, PHY Device mode. 40 Possible values are: "host", "peripheral ", "drd" or "typec-pd" 41 If this property is not defined, the phy will default to "host" mode. 42- brcm,syscon-piarbctl: phandle to syscon for handling config registers 43NOTE: one or both of the following two properties must be set 44- brcm,has-xhci: Boolean indicating the phy has an XHCI phy. 45- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. 46 47 48Example: 49 50usbphy_0: usb-phy@f0470200 { 51 reg = <0xf0470200 0xb8>, 52 <0xf0471940 0x6c0>; 53 compatible = "brcm,brcmstb-usb-phy"; 54 #phy-cells = <1>; 55 dr_mode = "host" 56 brcm,ioc = <1>; 57 brcm,ipp = <1>; 58 brcm,has-xhci; 59 brcm,has-eohci; 60 clocks = <&usb20>, <&usb30>; 61 clock-names = "sw_usb", "sw_usb3"; 62}; 63 64usb-phy@29f0200 { 65 reg = <0x29f0200 0x200>, 66 <0x29c0880 0x30>, 67 <0x29cc100 0x534>, 68 <0x2808000 0x24>, 69 <0x2980080 0x8>; 70 reg-names = "ctrl", 71 "xhci_ec", 72 "xhci_gbl", 73 "usb_phy", 74 "usb_mdio"; 75 brcm,ioc = <0x0>; 76 brcm,ipp = <0x0>; 77 compatible = "brcm,bcm7211-usb-phy"; 78 interrupts = <0x30>; 79 interrupt-parent = <&vpu_intr1_nosec_intc>; 80 interrupt-names = "wake"; 81 #phy-cells = <0x1>; 82 brcm,has-xhci; 83 syscon-piarbctl = <&syscon_piarbctl>; 84 clocks = <&scmi_clk 256>; 85 clock-names = "sw_usb"; 86}; 87