.. | .. |
---|
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 | |
---|
.. | .. |
---|
41 | 60 | clocks = <&usb20>, <&usb30>; |
---|
42 | 61 | clock-names = "sw_usb", "sw_usb3"; |
---|
43 | 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 | +}; |
---|