Merge tag 'microblaze-v5.6-rc1' of git://git.monstr.eu/linux-2.6-microblaze
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / phy / brcm,brcmstb-usb-phy.txt
1 Broadcom STB USB PHY
2
3 Required properties:
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
29
30 Optional Properties:
31 - clocks : clock phandles.
32 - clock-names: String, clock name.
33 - interrupts: wakeup interrupt
34 - interrupt-names: "wakeup"
35 - brcm,ipp: Boolean, Invert Port Power.
36   Possible values are: 0 (Don't invert), 1 (Invert)
37 - brcm,ioc: Boolean, Invert Over Current detection.
38   Possible values are: 0 (Don't invert), 1 (Invert)
39 - dr_mode: String, PHY Device mode.
40   Possible values are: "host", "peripheral ", "drd" or "typec-pd"
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
47
48 Example:
49
50 usbphy_0: usb-phy@f0470200 {
51         reg = <0xf0470200 0xb8>,
52                 <0xf0471940 0x6c0>;
53         compatible = "brcm,brcmstb-usb-phy";
54         #phy-cells = <1>;
55         dr_mode = "host"
56         brcm,ioc = <1>;
57         brcm,ipp = <1>;
58         brcm,has-xhci;
59         brcm,has-eohci;
60         clocks = <&usb20>, <&usb30>;
61         clock-names = "sw_usb", "sw_usb3";
62 };
63
64 usb-phy@29f0200 {
65         reg = <0x29f0200 0x200>,
66                 <0x29c0880 0x30>,
67                 <0x29cc100 0x534>,
68                 <0x2808000 0x24>,
69                 <0x2980080 0x8>;
70         reg-names = "ctrl",
71                 "xhci_ec",
72                 "xhci_gbl",
73                 "usb_phy",
74                 "usb_mdio";
75         brcm,ioc = <0x0>;
76         brcm,ipp = <0x0>;
77         compatible = "brcm,bcm7211-usb-phy";
78         interrupts = <0x30>;
79         interrupt-parent = <&vpu_intr1_nosec_intc>;
80         interrupt-names = "wake";
81         #phy-cells = <0x1>;
82         brcm,has-xhci;
83         syscon-piarbctl = <&syscon_piarbctl>;
84         clocks = <&scmi_clk 256>;
85         clock-names = "sw_usb";
86 };