ARM: tegra: xusb: fix compile errors for T12x_SoC
Ajay Gupta [Tue, 11 Jun 2013 23:49:01 +0000 (16:49 -0700)]
Bug 1301052

Change-Id: I1c3858ae3212b0894285b68db80dba527806669f
Signed-off-by: Ajay Gupta <ajayg@nvidia.com>
Reviewed-on: http://git-master/r/242034
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>

arch/arm/mach-tegra/devices.c
arch/arm/mach-tegra/include/mach/irqs.h
arch/arm/mach-tegra/iomap.h
arch/arm/mach-tegra/xusb.c

index f01618f..8a89223 100644 (file)
@@ -1223,7 +1223,7 @@ static struct resource tegra_usb3_resources[] = {
        },
 };
 
-#ifdef CONFIG_ARCH_TEGRA_11x_SOC
+#if defined(CONFIG_ARCH_TEGRA_11x_SOC) || defined(CONFIG_ARCH_TEGRA_12x_SOC)
 static struct resource tegra_xusb_resources[] = {
        [0] = DEFINE_RES_MEM_NAMED(TEGRA_XUSB_HOST_BASE, TEGRA_XUSB_HOST_SIZE,
                        "host"),
index 69949f3..e946dc1 100644 (file)
 #define INT_UARTA                      (INT_SEC_BASE + 4)
 #define INT_UARTB                      (INT_SEC_BASE + 5)
 #define INT_I2C                                (INT_SEC_BASE + 6)
-#define INT_USB3_HOST_INT              (INT_SEC_BASE + 7)
-#define INT_USB3_NOT_SMI               (INT_SEC_BASE + 8)
+#define INT_XUSB_HOST_INT              (INT_SEC_BASE + 7)
+#define INT_XUSB_HOST_SMI              (INT_SEC_BASE + 8)
 #define INT_TMR3                       (INT_SEC_BASE + 9)
 #define INT_TMR4                       (INT_SEC_BASE + 10)
 #define INT_USB3_HOST_PME              (INT_SEC_BASE + 11)
 #ifdef CONFIG_TEGRA_PRE_SILICON_SUPPORT
 #define IRQ_ETH                                (INT_SEC_BASE + 16)
 #endif
-/* unused                              (INT_SEC_BASE + 17) */
+#define INT_XUSB_PADCTL                        (INT_SEC_BASE + 17)
 #define INT_TSEC                       (INT_SEC_BASE + 18)
 #define INT_EDP                                (INT_SEC_BASE + 19)
 #define INT_VFIR                       (INT_SEC_BASE + 20)
index 0444df1..1493360 100644 (file)
@@ -638,6 +638,20 @@ defined(CONFIG_ARCH_TEGRA_12x_SOC))
 #define TEGRA_EMC_BASE                 0x7000F400
 #define TEGRA_EMC_SIZE                 SZ_1K
 
+#define TEGRA_XUSB_HOST_BASE           0x70090000
+#define TEGRA_XUSB_HOST_SIZE           SZ_32K
+#define TEGRA_XUSB_FPCI_BASE           0x70098000
+#define TEGRA_XUSB_FPCI_SIZE           SZ_4K
+#define TEGRA_XUSB_IPFS_BASE           0x70099000
+#define TEGRA_XUSB_IPFS_SIZE           SZ_4K
+
+
+#define TEGRA_XUSB_PADCTL_BASE         0x7009F000
+#define TEGRA_XUSB_PADCTL_SIZE         SZ_4K
+
+#define TEGRA_XUSB_DEV_BASE            0x700D0000
+#define TEGRA_XUSB_DEV_SIZE            (SZ_32K + SZ_4K)
+
 #else
 
 #define TEGRA_MC_BASE                  0x70019000
index cab24c0..7d1e8e1 100644 (file)
@@ -21,7 +21,7 @@
 #include "devices.h"
 #include "fuse.h"
 
-#ifdef CONFIG_ARCH_TEGRA_11x_SOC
+#if defined(CONFIG_ARCH_TEGRA_11x_SOC) || defined(CONFIG_ARCH_TEGRA_12x_SOC)
 static struct tegra_xusb_platform_data tegra_xusb_plat_data = {};
 
 static void tegra_xusb_read_usb_calib(void)
@@ -56,6 +56,14 @@ void tegra_xusb_init(struct tegra_xusb_board_data *bdata)
        tegra_xusb_plat_data.hs_slew = (0xE << 6);
        tegra_xusb_plat_data.ls_rslew = (0x3 << 14);
        tegra_xusb_plat_data.hs_disc_lvl = (0x5 << 2);
+#elif defined(CONFIG_ARCH_TEGRA_12x_SOC)
+       tegra_xusb_plat_data.rx_wander = (0xf << 4);
+       tegra_xusb_plat_data.rx_eq = (0x3070 << 8);
+       tegra_xusb_plat_data.cdr_cntl = (0x26 << 24);
+       tegra_xusb_plat_data.dfe_cntl = 0x002008EE;
+       tegra_xusb_plat_data.hs_slew = (0xE << 6);
+       tegra_xusb_plat_data.ls_rslew = (0x3 << 14);
+       tegra_xusb_plat_data.hs_disc_lvl = (0x5 << 2);
 #endif
        tegra_xusb_read_usb_calib();
        tegra_xusb_plat_data.bdata = bdata;