diff options
author | Thierry Reding <treding@nvidia.com> | 2016-02-11 12:10:22 -0500 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2016-04-29 10:48:57 -0400 |
commit | 5053dcb75bbb4293e9c8b07140bcb43ea8075dde (patch) | |
tree | 73711485323c65df2de23295a07826d6a618ea41 | |
parent | 11adbfa0b9a3922ee66ee69d3b969a0f389acbd6 (diff) |
dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding
Add device-tree binding documentation for the XUSB controller present
on Tegra124 and later SoCs. This controller supports USB 3.0 via an xHCI
compliant interface.
Based on work by Andrew Bresticker <abrestic@chromium.org>.
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Mathias Nyman <mathias.nyman@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt new file mode 100644 index 000000000000..79616f9268d8 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra124-xusb.txt | |||
@@ -0,0 +1,108 @@ | |||
1 | NVIDIA Tegra xHCI controller | ||
2 | ============================ | ||
3 | |||
4 | The Tegra xHCI controller supports both USB2 and USB3 interfaces exposed by | ||
5 | the Tegra XUSB pad controller. | ||
6 | |||
7 | Required properties: | ||
8 | -------------------- | ||
9 | - compatible: Must be: | ||
10 | - Tegra124: "nvidia,tegra124-xusb" | ||
11 | - Tegra132: "nvidia,tegra132-xusb", "nvidia,tegra124-xusb" | ||
12 | - reg: Must contain the base and length of the xHCI host registers, XUSB FPCI | ||
13 | registers and XUSB IPFS registers. | ||
14 | - reg-names: Must contain the following entries: | ||
15 | - "hcd" | ||
16 | - "fpci" | ||
17 | - "ipfs" | ||
18 | - interrupts: Must contain the xHCI host interrupt and the mailbox interrupt. | ||
19 | - clocks: Must contain an entry for each entry in clock-names. | ||
20 | See ../clock/clock-bindings.txt for details. | ||
21 | - clock-names: Must include the following entries: | ||
22 | - xusb_host | ||
23 | - xusb_host_src | ||
24 | - xusb_falcon_src | ||
25 | - xusb_ss | ||
26 | - xusb_ss_src | ||
27 | - xusb_ss_div2 | ||
28 | - xusb_hs_src | ||
29 | - xusb_fs_src | ||
30 | - pll_u_480m | ||
31 | - clk_m | ||
32 | - pll_e | ||
33 | - resets: Must contain an entry for each entry in reset-names. | ||
34 | See ../reset/reset.txt for details. | ||
35 | - reset-names: Must include the following entries: | ||
36 | - xusb_host | ||
37 | - xusb_ss | ||
38 | - xusb_src | ||
39 | Note that xusb_src is the shared reset for xusb_{ss,hs,fs,falcon,host}_src. | ||
40 | - nvidia,xusb-padctl: phandle to the XUSB pad controller that is used to | ||
41 | configure the USB pads used by the XHCI controller | ||
42 | |||
43 | For Tegra124 and Tegra132: | ||
44 | - avddio-pex-supply: PCIe/USB3 analog logic power supply. Must supply 1.05 V. | ||
45 | - dvddio-pex-supply: PCIe/USB3 digital logic power supply. Must supply 1.05 V. | ||
46 | - avdd-usb-supply: USB controller power supply. Must supply 3.3 V. | ||
47 | - avdd-pll-utmip-supply: UTMI PLL power supply. Must supply 1.8 V. | ||
48 | - avdd-pll-erefe-supply: PLLE reference PLL power supply. Must supply 1.05 V. | ||
49 | - avdd-usb-ss-pll-supply: PCIe/USB3 PLL power supply. Must supply 1.05 V. | ||
50 | - hvdd-usb-ss-supply: High-voltage PCIe/USB3 power supply. Must supply 3.3 V. | ||
51 | - hvdd-usb-ss-pll-e-supply: High-voltage PLLE power supply. Must supply 3.3 V. | ||
52 | |||
53 | Optional properties: | ||
54 | -------------------- | ||
55 | - phys: Must contain an entry for each entry in phy-names. | ||
56 | See ../phy/phy-bindings.txt for details. | ||
57 | - phy-names: Should include an entry for each PHY used by the controller. The | ||
58 | following PHYs are available: | ||
59 | - Tegra124: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1 | ||
60 | - Tegra132: usb2-0, usb2-1, usb2-2, hsic-0, hsic-1, usb3-0, usb3-1 | ||
61 | |||
62 | Example: | ||
63 | -------- | ||
64 | |||
65 | usb@0,70090000 { | ||
66 | compatible = "nvidia,tegra124-xusb"; | ||
67 | reg = <0x0 0x70090000 0x0 0x8000>, | ||
68 | <0x0 0x70098000 0x0 0x1000>, | ||
69 | <0x0 0x70099000 0x0 0x1000>; | ||
70 | reg-names = "hcd", "fpci", "ipfs"; | ||
71 | |||
72 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, | ||
73 | <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; | ||
74 | |||
75 | clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>, | ||
76 | <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>, | ||
77 | <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>, | ||
78 | <&tegra_car TEGRA124_CLK_XUSB_SS>, | ||
79 | <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>, | ||
80 | <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>, | ||
81 | <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>, | ||
82 | <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>, | ||
83 | <&tegra_car TEGRA124_CLK_PLL_U_480M>, | ||
84 | <&tegra_car TEGRA124_CLK_CLK_M>, | ||
85 | <&tegra_car TEGRA124_CLK_PLL_E>; | ||
86 | clock-names = "xusb_host", "xusb_host_src", "xusb_falcon_src", | ||
87 | "xusb_ss", "xusb_ss_div2", "xusb_ss_src", | ||
88 | "xusb_hs_src", "xusb_fs_src", "pll_u_480m", | ||
89 | "clk_m", "pll_e"; | ||
90 | resets = <&tegra_car 89>, <&tegra_car 156>, <&tegra_car 143>; | ||
91 | reset-names = "xusb_host", "xusb_ss", "xusb_src"; | ||
92 | |||
93 | nvidia,xusb-padctl = <&padctl>; | ||
94 | |||
95 | phys = <&{/padctl@0,7009f000/pads/usb2/usb2-1}>, /* mini-PCIe USB */ | ||
96 | <&{/padctl@0,7009f000/pads/usb2/usb2-2}>, /* USB A */ | ||
97 | <&{/padctl@0,7009f000/pads/pcie/pcie-0}>; /* USB A */ | ||
98 | phy-names = "utmi-1", "utmi-2", "usb3-0"; | ||
99 | |||
100 | avddio-pex-supply = <&vdd_1v05_run>; | ||
101 | dvddio-pex-supply = <&vdd_1v05_run>; | ||
102 | avdd-usb-supply = <&vdd_3v3_lp0>; | ||
103 | avdd-pll-utmip-supply = <&vddio_1v8>; | ||
104 | avdd-pll-erefe-supply = <&avdd_1v05_run>; | ||
105 | avdd-usb-ss-pll-supply = <&vdd_1v05_run>; | ||
106 | hvdd-usb-ss-supply = <&vdd_3v3_lp0>; | ||
107 | hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>; | ||
108 | }; | ||