summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-keystone/xhci-keystone.h
diff options
context:
space:
mode:
authorWingMan Kwok <w-kwok2@ti.com>2014-09-05 22:26:23 +0300
committerTom Rini <trini@ti.com>2014-10-23 11:27:04 -0400
commitbc0e8d7c5d189c1566a73affad0087ccbe511bc9 (patch)
treeb1f734642d85a6bc024a005abc69de0101ab9ed2 /arch/arm/include/asm/arch-keystone/xhci-keystone.h
parent9ea9021ac466f5ccc8b6238cbce37428bb58f887 (diff)
downloadu-boot-imx-bc0e8d7c5d189c1566a73affad0087ccbe511bc9.zip
u-boot-imx-bc0e8d7c5d189c1566a73affad0087ccbe511bc9.tar.gz
u-boot-imx-bc0e8d7c5d189c1566a73affad0087ccbe511bc9.tar.bz2
keystone: usb: add support of usb xhci
Add support of usb xhci. xHCI controls all USB speeds of the Host mode, that is, the SS through the SS PHY, as well as the HS, FS, and LS through the USB2 PHY. xHCI replaces and supersedes all previous host HCIs (HS-only EHCI, FS/LS OHCI and UHCI), and is therefore not backwards compatible with any of them. The USB3SS’s USB Controller is fully compliant with xHC. Acked-by: Vitaly Andrianov <vitalya@ti.com> Signed-off-by: WingMan Kwok <w-kwok2@ti.com> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
Diffstat (limited to 'arch/arm/include/asm/arch-keystone/xhci-keystone.h')
-rw-r--r--arch/arm/include/asm/arch-keystone/xhci-keystone.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-keystone/xhci-keystone.h b/arch/arm/include/asm/arch-keystone/xhci-keystone.h
new file mode 100644
index 0000000..3aab4e0
--- /dev/null
+++ b/arch/arm/include/asm/arch-keystone/xhci-keystone.h
@@ -0,0 +1,21 @@
+/*
+ * USB 3.0 DRD Controller
+ *
+ * (C) Copyright 2012-2014
+ * Texas Instruments Incorporated, <www.ti.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#define USB3_PHY_REF_SSP_EN BIT(29)
+#define USB3_PHY_OTG_VBUSVLDECTSEL BIT(16)
+
+/* KEYSTONE2 XHCI PHY register structure */
+struct keystone_xhci_phy {
+ unsigned int phy_utmi; /* ctl0 */
+ unsigned int phy_pipe; /* ctl1 */
+ unsigned int phy_param_ctrl_1; /* ctl2 */
+ unsigned int phy_param_ctrl_2; /* ctl3 */
+ unsigned int phy_clock; /* ctl4 */
+ unsigned int phy_pll; /* ctl5 */
+};