Commit b11df0c9 authored by Al Cooper's avatar Al Cooper Committed by Kishon Vijay Abraham I
Browse files

dt-bindings: Add Broadcom STB USB PHY binding document



Add support for bcm7216 and bcm7211

Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent 94583a41
Loading
Loading
Loading
Loading
+56 −13
Original line number Diff line number Diff line
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
- 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
@@ -15,16 +30,20 @@ Required properties:
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";
};