diff options
author | Jay Agarwal <jagarwal@nvidia.com> | 2011-12-05 14:25:38 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-15 12:05:31 +0530 |
commit | eba3b9a73807a14a11983d931883022834e7349e (patch) | |
tree | 1567f12ec0a5042bc826e293876855f70992d6c2 /arch/arm/mach-tegra/board-cardhu.c | |
parent | a4f80ed45571d6d37589dcca1e2cadfb8f46df6e (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.c | 29 |
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) |