| From b11df0c9efbbe2b52c5133ca15030f01b43ec6ef Mon Sep 17 00:00:00 2001 |
| From: Al Cooper <alcooperx@gmail.com> |
| Date: Fri, 3 Jan 2020 13:18:04 -0500 |
| Subject: [PATCH] dt-bindings: Add Broadcom STB USB PHY binding document |
| |
| Add support for bcm7216 and bcm7211 |
| |
| Signed-off-by: Al Cooper <alcooperx@gmail.com> |
| Reviewed-by: Rob Herring <robh@kernel.org> |
| Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> |
| --- |
| .../bindings/phy/brcm,brcmstb-usb-phy.txt | 69 +++++++++++++++---- |
| 1 file changed, 56 insertions(+), 13 deletions(-) |
| |
| --- 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: wakeup interrupt |
| +- interrupt-names: "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. |
| +- brcm,syscon-piarbctl: phandle to syscon for handling config registers |
| +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"; |
| +}; |