summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
blob: 24a0d06acd1d3508a4b45d2df8dff0c9141018b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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

Optional Properties:
- clocks : clock phandles.
- clock-names: String, clock name.
- 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.

Example:

usbphy_0: usb-phy@f0470200 {
	reg = <0xf0470200 0xb8>,
		<0xf0471940 0x6c0>;
	compatible = "brcm,brcmstb-usb-phy";
	#phy-cells = <1>;
	dr_mode = "host"
	brcm,ioc = <1>;
	brcm,ipp = <1>;
	brcm,has-xhci;
	brcm,has-eohci;
	clocks = <&usb20>, <&usb30>;
	clock-names = "sw_usb", "sw_usb3";
};