On Thu, Nov 07, 2019 at 09:13:32AM -0500, Al Cooper wrote: > Add support for bcm7216 and bcm7211 > > Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> > --- > .../bindings/phy/brcm,brcmstb-usb-phy.txt | 69 +++++++++++++++---- > 1 file changed, 56 insertions(+), 13 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt > index 24a0d06acd1d..14184cec15dc 100644 > --- a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt > +++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt > @@ -1,30 +1,49 @@ > Broadcom STB USB PHY > > Required properties: > - - compatible: brcm,brcmstb-usb-phy > - - reg: two offset and length pairs. > - The first pair specifies a manditory set of memory mapped > - registers used for general control of the PHY. > - The second pair specifies optional registers used by some of > - the SoCs that support USB 3.x > - - #phy-cells: Shall be 1 as it expects one argument for setting > - the type of the PHY. Possible values are: > - - PHY_TYPE_USB2 for USB1.1/2.0 PHY > - - PHY_TYPE_USB3 for USB3.x PHY > +- compatible: should be one of > + "brcm,brcmstb-usb-phy" > + "brcm,bcm7216-usb-phy" > + "brcm,bcm7211-usb-phy" > + > +- reg and reg-names properties requirements are specific to the > + compatible string. > + "brcm,brcmstb-usb-phy": > + - reg: 1 or 2 offset and length pairs. One for the base CTRL registers > + and an optional pair for systems with USB 3.x support > + - reg-names: not specified > + "brcm,bcm7216-usb-phy": > + - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL > + registers > + - reg-names: "ctrl", "xhci_ec", "xhci_gbl" > + "brcm,bcm7211-usb-phy": > + - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL, > + USB_PHY and USB_MDIO registers and an optional pair > + for the BDC registers > + - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec" > + > +- #phy-cells: Shall be 1 as it expects one argument for setting > + the type of the PHY. Possible values are: > + - PHY_TYPE_USB2 for USB1.1/2.0 PHY > + - PHY_TYPE_USB3 for USB3.x PHY > > Optional Properties: > - clocks : clock phandles. > - clock-names: String, clock name. > +- interrupts: wake interrupt > +- interrupt-names: "wake" If a wakeup source, the standard name is 'wakeup'. > - brcm,ipp: Boolean, Invert Port Power. > Possible values are: 0 (Don't invert), 1 (Invert) > - brcm,ioc: Boolean, Invert Over Current detection. > Possible values are: 0 (Don't invert), 1 (Invert) > -NOTE: one or both of the following two properties must be set > -- brcm,has-xhci: Boolean indicating the phy has an XHCI phy. > -- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. > - dr_mode: String, PHY Device mode. > Possible values are: "host", "peripheral ", "drd" or "typec-pd" > If this property is not defined, the phy will default to "host" mode. > +- syscon-piarbctl: phandle to syscon for handling config registers Needs vendor prefix. > +NOTE: one or both of the following two properties must be set > +- brcm,has-xhci: Boolean indicating the phy has an XHCI phy. > +- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. > + > > Example: > > @@ -41,3 +60,27 @@ usbphy_0: usb-phy@f0470200 { > clocks = <&usb20>, <&usb30>; > clock-names = "sw_usb", "sw_usb3"; > }; > + > +usb-phy@29f0200 { > + reg = <0x29f0200 0x200>, > + <0x29c0880 0x30>, > + <0x29cc100 0x534>, > + <0x2808000 0x24>, > + <0x2980080 0x8>; > + reg-names = "ctrl", > + "xhci_ec", > + "xhci_gbl", > + "usb_phy", > + "usb_mdio"; > + brcm,ioc = <0x0>; > + brcm,ipp = <0x0>; > + compatible = "brcm,bcm7211-usb-phy"; > + interrupts = <0x30>; > + interrupt-parent = <&vpu_intr1_nosec_intc>; > + interrupt-names = "wake"; > + #phy-cells = <0x1>; > + brcm,has-xhci; > + syscon-piarbctl = <&syscon_piarbctl>; > + clocks = <&scmi_clk 256>; > + clock-names = "sw_usb"; > +}; > -- > 2.17.1 >