diff options
author | Krishna Kishore <kthota@nvidia.com> | 2011-09-05 12:14:35 +0530 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2011-09-07 05:05:11 -0700 |
commit | bde3e58d998b6e76934152219b8803327cea2fad (patch) | |
tree | 79a704fbef2fa93fd4d2d8a90d144649efc5b078 /arch/arm/mach-tegra/board-cardhu.c | |
parent | 8d9e6bbe59ab68f44a4713f5d1bcc7877baf8180 (diff) |
arm: tegra: cardhu: pcie support for cardhu bsp
Enabling PCIE support in cardhu board.
Fixes bug: 637871
Change-Id: Ia49e076515aa0c3b8f45c2b053530b2ad32c0fed
Reviewed-on: http://git-master/r/34474
Tested-by: Krishna Thota <kthota@nvidia.com>
Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c index c9e6e2b350ea..bf7e4d13d004 100644 --- a/arch/arm/mach-tegra/board-cardhu.c +++ b/arch/arm/mach-tegra/board-cardhu.c @@ -39,6 +39,7 @@ #include <linux/tegra_uart.h> #include <linux/memblock.h> #include <linux/spi-tegra.h> + #include <mach/clk.h> #include <mach/iomap.h> #include <mach/irqs.h> @@ -54,6 +55,7 @@ #include <mach/usb_phy.h> #include <sound/wm8903.h> #include <mach/suspend.h> +#include <mach/pci.h> #include "board.h" #include "clock.h" @@ -959,6 +961,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; @@ -1069,6 +1096,7 @@ static void __init tegra_cardhu_init(void) cardhu_pins_state_init(); cardhu_emc_init(); tegra_release_bootloader_fb(); + cardhu_pci_init(); } static void __init tegra_cardhu_reserve(void) |