[ARM] tegra: harmony: add sdhci0 controller (wlan)
Gary King [Thu, 15 Jul 2010 17:06:40 +0000 (10:06 -0700)]
Change-Id: I6000b1d34e35d9291cae80e4508518d0059397f8
Signed-off-by: Gary King <gking@nvidia.com>

arch/arm/mach-tegra/board-harmony-sdhci.c

index fb11cdf..9c4d1e0 100644 (file)
 
 #include "gpio-names.h"
 
+static struct resource sdhci_resource1[] = {
+       [0] = {
+               .start  = INT_SDMMC1,
+               .end    = INT_SDMMC1,
+               .flags  = IORESOURCE_IRQ,
+       },
+       [1] = {
+               .start  = TEGRA_SDMMC1_BASE,
+               .end    = TEGRA_SDMMC1_BASE + TEGRA_SDMMC1_SIZE-1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
 static struct resource sdhci_resource2[] = {
        [0] = {
                .start  = INT_SDMMC2,
@@ -53,6 +66,14 @@ static struct resource sdhci_resource4[] = {
        },
 };
 
+static struct tegra_sdhci_platform_data tegra_sdhci_platform_data1 = {
+       .clk_id = NULL,
+       .force_hs = 1,
+       .cd_gpio = -1,
+       .wp_gpio = -1,
+       .power_gpio = -1,
+};
+
 static struct tegra_sdhci_platform_data tegra_sdhci_platform_data2 = {
        .clk_id = NULL,
        .force_hs = 1,
@@ -69,6 +90,16 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data4 = {
        .power_gpio = TEGRA_GPIO_PI6,
 };
 
+static struct platform_device tegra_sdhci_device1 = {
+       .name           = "sdhci-tegra",
+       .id             = 0,
+       .resource       = sdhci_resource1,
+       .num_resources  = ARRAY_SIZE(sdhci_resource1),
+       .dev = {
+               .platform_data = &tegra_sdhci_platform_data1,
+       },
+};
+
 static struct platform_device tegra_sdhci_device2 = {
        .name           = "sdhci-tegra",
        .id             = 1,
@@ -110,6 +141,7 @@ int __init harmony_sdhci_init(void)
        gpio_direction_output(tegra_sdhci_platform_data2.power_gpio, 1);
        gpio_direction_output(tegra_sdhci_platform_data4.power_gpio, 1);
 
+       platform_device_register(&tegra_sdhci_device1);
        platform_device_register(&tegra_sdhci_device2);
        platform_device_register(&tegra_sdhci_device4);