116ae49e2SEmmanuel VadotBroadcom STB USB PHY 216ae49e2SEmmanuel Vadot 316ae49e2SEmmanuel VadotRequired properties: 4937eaf8bSEmmanuel Vadot- compatible: should be one of 5937eaf8bSEmmanuel Vadot "brcm,brcmstb-usb-phy" 6937eaf8bSEmmanuel Vadot "brcm,bcm7216-usb-phy" 7937eaf8bSEmmanuel Vadot "brcm,bcm7211-usb-phy" 8937eaf8bSEmmanuel Vadot 9937eaf8bSEmmanuel Vadot- reg and reg-names properties requirements are specific to the 10937eaf8bSEmmanuel Vadot compatible string. 11937eaf8bSEmmanuel Vadot "brcm,brcmstb-usb-phy": 12937eaf8bSEmmanuel Vadot - reg: 1 or 2 offset and length pairs. One for the base CTRL registers 13937eaf8bSEmmanuel Vadot and an optional pair for systems with USB 3.x support 14937eaf8bSEmmanuel Vadot - reg-names: not specified 15937eaf8bSEmmanuel Vadot "brcm,bcm7216-usb-phy": 16937eaf8bSEmmanuel Vadot - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL 17937eaf8bSEmmanuel Vadot registers 18937eaf8bSEmmanuel Vadot - reg-names: "ctrl", "xhci_ec", "xhci_gbl" 19937eaf8bSEmmanuel Vadot "brcm,bcm7211-usb-phy": 20937eaf8bSEmmanuel Vadot - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL, 21937eaf8bSEmmanuel Vadot USB_PHY and USB_MDIO registers and an optional pair 22937eaf8bSEmmanuel Vadot for the BDC registers 23937eaf8bSEmmanuel Vadot - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec" 24937eaf8bSEmmanuel Vadot 2516ae49e2SEmmanuel Vadot- #phy-cells: Shall be 1 as it expects one argument for setting 2616ae49e2SEmmanuel Vadot the type of the PHY. Possible values are: 2716ae49e2SEmmanuel Vadot - PHY_TYPE_USB2 for USB1.1/2.0 PHY 2816ae49e2SEmmanuel Vadot - PHY_TYPE_USB3 for USB3.x PHY 2916ae49e2SEmmanuel Vadot 3016ae49e2SEmmanuel VadotOptional Properties: 3116ae49e2SEmmanuel Vadot- clocks : clock phandles. 3216ae49e2SEmmanuel Vadot- clock-names: String, clock name. 33937eaf8bSEmmanuel Vadot- interrupts: wakeup interrupt 34937eaf8bSEmmanuel Vadot- interrupt-names: "wakeup" 3516ae49e2SEmmanuel Vadot- brcm,ipp: Boolean, Invert Port Power. 3616ae49e2SEmmanuel Vadot Possible values are: 0 (Don't invert), 1 (Invert) 3716ae49e2SEmmanuel Vadot- brcm,ioc: Boolean, Invert Over Current detection. 3816ae49e2SEmmanuel Vadot Possible values are: 0 (Don't invert), 1 (Invert) 3916ae49e2SEmmanuel Vadot- dr_mode: String, PHY Device mode. 4016ae49e2SEmmanuel Vadot Possible values are: "host", "peripheral ", "drd" or "typec-pd" 4116ae49e2SEmmanuel Vadot If this property is not defined, the phy will default to "host" mode. 42937eaf8bSEmmanuel Vadot- brcm,syscon-piarbctl: phandle to syscon for handling config registers 43937eaf8bSEmmanuel VadotNOTE: one or both of the following two properties must be set 44937eaf8bSEmmanuel Vadot- brcm,has-xhci: Boolean indicating the phy has an XHCI phy. 45937eaf8bSEmmanuel Vadot- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. 46937eaf8bSEmmanuel Vadot 4716ae49e2SEmmanuel Vadot 4816ae49e2SEmmanuel VadotExample: 4916ae49e2SEmmanuel Vadot 5016ae49e2SEmmanuel Vadotusbphy_0: usb-phy@f0470200 { 5116ae49e2SEmmanuel Vadot reg = <0xf0470200 0xb8>, 5216ae49e2SEmmanuel Vadot <0xf0471940 0x6c0>; 5316ae49e2SEmmanuel Vadot compatible = "brcm,brcmstb-usb-phy"; 5416ae49e2SEmmanuel Vadot #phy-cells = <1>; 5516ae49e2SEmmanuel Vadot dr_mode = "host" 5616ae49e2SEmmanuel Vadot brcm,ioc = <1>; 5716ae49e2SEmmanuel Vadot brcm,ipp = <1>; 5816ae49e2SEmmanuel Vadot brcm,has-xhci; 5916ae49e2SEmmanuel Vadot brcm,has-eohci; 6016ae49e2SEmmanuel Vadot clocks = <&usb20>, <&usb30>; 6116ae49e2SEmmanuel Vadot clock-names = "sw_usb", "sw_usb3"; 6216ae49e2SEmmanuel Vadot}; 63937eaf8bSEmmanuel Vadot 64937eaf8bSEmmanuel Vadotusb-phy@29f0200 { 65937eaf8bSEmmanuel Vadot reg = <0x29f0200 0x200>, 66937eaf8bSEmmanuel Vadot <0x29c0880 0x30>, 67937eaf8bSEmmanuel Vadot <0x29cc100 0x534>, 68937eaf8bSEmmanuel Vadot <0x2808000 0x24>, 69937eaf8bSEmmanuel Vadot <0x2980080 0x8>; 70937eaf8bSEmmanuel Vadot reg-names = "ctrl", 71937eaf8bSEmmanuel Vadot "xhci_ec", 72937eaf8bSEmmanuel Vadot "xhci_gbl", 73937eaf8bSEmmanuel Vadot "usb_phy", 74937eaf8bSEmmanuel Vadot "usb_mdio"; 75937eaf8bSEmmanuel Vadot brcm,ioc = <0x0>; 76937eaf8bSEmmanuel Vadot brcm,ipp = <0x0>; 77937eaf8bSEmmanuel Vadot compatible = "brcm,bcm7211-usb-phy"; 78937eaf8bSEmmanuel Vadot interrupts = <0x30>; 79937eaf8bSEmmanuel Vadot interrupt-parent = <&vpu_intr1_nosec_intc>; 80937eaf8bSEmmanuel Vadot interrupt-names = "wake"; 81937eaf8bSEmmanuel Vadot #phy-cells = <0x1>; 82937eaf8bSEmmanuel Vadot brcm,has-xhci; 83937eaf8bSEmmanuel Vadot syscon-piarbctl = <&syscon_piarbctl>; 84937eaf8bSEmmanuel Vadot clocks = <&scmi_clk 256>; 85937eaf8bSEmmanuel Vadot clock-names = "sw_usb"; 86937eaf8bSEmmanuel Vadot}; 87