summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu.c
diff options
context:
space:
mode:
authorJay Agarwal <jagarwal@nvidia.com>2011-12-05 14:25:38 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-15 12:05:31 +0530
commiteba3b9a73807a14a11983d931883022834e7349e (patch)
tree1567f12ec0a5042bc826e293876855f70992d6c2 /arch/arm/mach-tegra/board-cardhu.c
parenta4f80ed45571d6d37589dcca1e2cadfb8f46df6e (diff)
arm: tegra: cardhu: pcie support for cardhu bsp
Enabling PCIE support in cardhu board. Fixes bug: 637871 Reviewed-on: http://git-master/r/34474 (cherry picked from commit bde3e58d998b6e76934152219b8803327cea2fad) Change-Id: I18c548b458ad3d17ec07d2ec5b16fd83897b44b1 Signed-off-by: Krishna Kishore <kthota@nvidia.com> Reviewed-on: http://git-master/r/62072 Reviewed-by: Lokesh Pathak <lpathak@nvidia.com> Tested-by: Lokesh Pathak <lpathak@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r--arch/arm/mach-tegra/board-cardhu.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c
index 0d69eb6165b7..62320839aca3 100644
--- a/arch/arm/mach-tegra/board-cardhu.c
+++ b/arch/arm/mach-tegra/board-cardhu.c
@@ -38,6 +38,7 @@
#include <linux/tegra_uart.h>
#include <linux/memblock.h>
#include <linux/spi-tegra.h>
+#include <linux/nfc/pn544.h>
#include <sound/wm8903.h>
@@ -52,8 +53,8 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <mach/usb_phy.h>
-#include <linux/nfc/pn544.h>
#include <mach/thermal.h>
+#include <mach/pci.h>
#include "board.h"
#include "clock.h"
@@ -860,6 +861,31 @@ static struct platform_device tegra_baseband_power2_device = {
},
};
+
+static struct tegra_pci_platform_data cardhu_pci_platform_data = {
+ .port_status[0] = 1,
+ .port_status[1] = 1,
+ .port_status[2] = 1,
+ .use_dock_detect = 0,
+ .gpio = 0,
+};
+
+static void cardhu_pci_init(void)
+{
+ struct board_info board_info;
+
+ tegra_get_board_info(&board_info);
+ if (board_info.board_id == BOARD_E1291) {
+ cardhu_pci_platform_data.port_status[0] = 0;
+ cardhu_pci_platform_data.port_status[1] = 0;
+ cardhu_pci_platform_data.port_status[2] = 1;
+ cardhu_pci_platform_data.use_dock_detect = 1;
+ cardhu_pci_platform_data.gpio = DOCK_DETECT_GPIO;
+ }
+ tegra_pci_device.dev.platform_data = &cardhu_pci_platform_data;
+ platform_device_register(&tegra_pci_device);
+}
+
static void cardhu_modem_init(void)
{
struct board_info board_info;
@@ -966,6 +992,7 @@ static void __init tegra_cardhu_init(void)
cardhu_emc_init();
tegra_release_bootloader_fb();
cardhu_nfc_init();
+ cardhu_pci_init();
}
static void __init cardhu_ramconsole_reserve(unsigned long size)