Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Al Cooper and committed by
Kishon Vijay Abraham I
b11df0c9 94583a41

+56 -13
+56 -13
Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
··· 1 1 Broadcom STB USB PHY 2 2 3 3 Required properties: 4 - - compatible: brcm,brcmstb-usb-phy 5 - - reg: two offset and length pairs. 6 - The first pair specifies a manditory set of memory mapped 7 - registers used for general control of the PHY. 8 - The second pair specifies optional registers used by some of 9 - the SoCs that support USB 3.x 10 - - #phy-cells: Shall be 1 as it expects one argument for setting 11 - the type of the PHY. Possible values are: 12 - - PHY_TYPE_USB2 for USB1.1/2.0 PHY 13 - - PHY_TYPE_USB3 for USB3.x PHY 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 14 29 15 30 Optional Properties: 16 31 - clocks : clock phandles. 17 32 - clock-names: String, clock name. 33 + - interrupts: wakeup interrupt 34 + - interrupt-names: "wakeup" 18 35 - brcm,ipp: Boolean, Invert Port Power. 19 36 Possible values are: 0 (Don't invert), 1 (Invert) 20 37 - brcm,ioc: Boolean, Invert Over Current detection. 21 38 Possible values are: 0 (Don't invert), 1 (Invert) 22 - NOTE: one or both of the following two properties must be set 23 - - brcm,has-xhci: Boolean indicating the phy has an XHCI phy. 24 - - brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy. 25 39 - dr_mode: String, PHY Device mode. 26 40 Possible values are: "host", "peripheral ", "drd" or "typec-pd" 27 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 43 + NOTE: 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 + 28 47 29 48 Example: 30 49 ··· 59 40 brcm,has-eohci; 60 41 clocks = <&usb20>, <&usb30>; 61 42 clock-names = "sw_usb", "sw_usb3"; 43 + }; 44 + 45 + usb-phy@29f0200 { 46 + reg = <0x29f0200 0x200>, 47 + <0x29c0880 0x30>, 48 + <0x29cc100 0x534>, 49 + <0x2808000 0x24>, 50 + <0x2980080 0x8>; 51 + reg-names = "ctrl", 52 + "xhci_ec", 53 + "xhci_gbl", 54 + "usb_phy", 55 + "usb_mdio"; 56 + brcm,ioc = <0x0>; 57 + brcm,ipp = <0x0>; 58 + compatible = "brcm,bcm7211-usb-phy"; 59 + interrupts = <0x30>; 60 + interrupt-parent = <&vpu_intr1_nosec_intc>; 61 + interrupt-names = "wake"; 62 + #phy-cells = <0x1>; 63 + brcm,has-xhci; 64 + syscon-piarbctl = <&syscon_piarbctl>; 65 + clocks = <&scmi_clk 256>; 66 + clock-names = "sw_usb"; 62 67 };