summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-harmony-pcie.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-harmony-pcie.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-harmony-pcie.c')
-rw-r--r--arch/arm/mach-tegra/board-harmony-pcie.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/arch/arm/mach-tegra/board-harmony-pcie.c b/arch/arm/mach-tegra/board-harmony-pcie.c
index 9c27b95b8d86..f3db0eeba2c9 100644
--- a/arch/arm/mach-tegra/board-harmony-pcie.c
+++ b/arch/arm/mach-tegra/board-harmony-pcie.c
@@ -23,6 +23,8 @@
#include <asm/mach-types.h>
#include <mach/pinmux.h>
+#include <mach/pci.h>
+#include "devices.h"
#include "board.h"
#ifdef CONFIG_TEGRA_PCI
@@ -30,7 +32,14 @@
/* GPIO 3 of the PMIC */
#define EN_VDD_1V05_GPIO (TEGRA_NR_GPIOS + 2)
-static int __init harmony_pcie_init(void)
+static struct tegra_pci_platform_data harmony_pci_platform_data = {
+ .port_status[0] = 1,
+ .port_status[1] = 1,
+ .use_dock_detect = 0,
+ .gpio = 0,
+};
+
+int __init harmony_pcie_init(void)
{
struct regulator *regulator = NULL;
int err;
@@ -54,9 +63,8 @@ static int __init harmony_pcie_init(void)
tegra_pinmux_set_tristate(TEGRA_PINGROUP_SLXA, TEGRA_TRI_NORMAL);
tegra_pinmux_set_tristate(TEGRA_PINGROUP_SLXK, TEGRA_TRI_NORMAL);
- err = tegra_pcie_init(true, true);
- if (err)
- goto err_pcie;
+ tegra_pci_device.dev.platform_data = &harmony_pci_platform_data;
+ platform_device_register(&tegra_pci_device);
return 0;
@@ -73,7 +81,4 @@ err_reg:
return err;
}
-/* PCI should be initialized after I2C, mfd and regulators */
-subsys_initcall_sync(harmony_pcie_init);
-
#endif