[ARM] tegra: olympus: Enable all SD busses
authorColin Cross <ccross@android.com>
Fri, 9 Apr 2010 21:38:44 +0000 (14:38 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:32:52 +0000 (16:32 -0700)
Change-Id: Ic747f83a4eb84a04f7439f520a815fbe1f6ae50d
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/board-olympus-pinmux.c
arch/arm/mach-tegra/board-olympus-sdhci.c

index 13698821b0d2892b00f36787bceaa6dd5119322e..893b0d3f2cdebe9a1fbfca2cb704279cb48af9ba 100644 (file)
@@ -34,10 +34,10 @@ static struct tegra_pingroup_config olympus_pinmux[] = {
        {TEGRA_PINGROUP_DAP3,  TEGRA_MUX_DAP3,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DAP4,  TEGRA_MUX_DAP4,          TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DDC,   TEGRA_MUX_I2C2,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_DTA,   TEGRA_MUX_SDIO2,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTA,   TEGRA_MUX_SDIO2,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_DTB,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DTC,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_DTD,   TEGRA_MUX_SDIO2,         TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_DTD,   TEGRA_MUX_SDIO2,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_DTE,   TEGRA_MUX_RSVD1,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_DTF,   TEGRA_MUX_I2C3,          TEGRA_PUPD_PULL_UP,   TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_GMA,   TEGRA_MUX_SDIO4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
@@ -102,10 +102,10 @@ static struct tegra_pingroup_config olympus_pinmux[] = {
        {TEGRA_PINGROUP_PMC,   TEGRA_MUX_PWR_ON,        TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_PTA,   TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_RM,    TEGRA_MUX_I2C,           TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_SDB,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SDC,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SDD,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_PULL_UP,   TEGRA_TRI_TRISTATE},
-       {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_SDB,   TEGRA_MUX_SDIO3,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SDC,   TEGRA_MUX_SDIO3,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SDD,   TEGRA_MUX_SDIO3,         TEGRA_TRI_NORMAL,     TEGRA_TRI_NORMAL},
+       {TEGRA_PINGROUP_SDIO1, TEGRA_MUX_SDIO1,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_SLXA,  TEGRA_MUX_PCIE,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SLXC,  TEGRA_MUX_SPI4,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_SLXD,  TEGRA_MUX_SPI4,          TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
index d194cfc8fe80b6210938d061a53eff6c89b59e96..2dbe68e2ee09f3594921bfc51a6969954ac4bf68 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "gpio-names.h"
 
-/*static struct resource sdhci_resource1[] = {
+static struct resource sdhci_resource1[] = {
        [0] = {
                .start  = INT_SDMMC1,
                .end    = INT_SDMMC1,
@@ -37,9 +37,9 @@
                .end    = TEGRA_SDMMC1_BASE + TEGRA_SDMMC1_SIZE-1,
                .flags  = IORESOURCE_MEM,
        },
-};*/
+};
 
-/*static struct resource sdhci_resource2[] = {
+static struct resource sdhci_resource2[] = {
        [0] = {
                .start  = INT_SDMMC2,
                .end    = INT_SDMMC2,
@@ -50,7 +50,7 @@
                .end    = TEGRA_SDMMC2_BASE + TEGRA_SDMMC2_SIZE-1,
                .flags  = IORESOURCE_MEM,
        },
-};*/
+};
 
 static struct resource sdhci_resource3[] = {
        [0] = {
@@ -78,18 +78,18 @@ static struct resource sdhci_resource4[] = {
        },
 };
 
-/*static struct tegra_sdhci_platform_data tegra_sdhci_platform_data1 = {
+static struct tegra_sdhci_platform_data tegra_sdhci_platform_data1 = {
        .clk_id = NULL,
        .force_hs = 0,
-};*/
-
-/*static struct tegra_sdhci_platform_data tegra_sdhci_platform_data2 = {
-       .clk_id = NULL,
-       .force_hs = 1,
        .cd_gpio = TEGRA_GPIO_PI5,
        .wp_gpio = TEGRA_GPIO_PH1,
        .power_gpio = TEGRA_GPIO_PT3,
-};*/
+};
+
+static struct tegra_sdhci_platform_data tegra_sdhci_platform_data2 = {
+       .clk_id = NULL,
+       .force_hs = 0,
+};
 
 static struct tegra_sdhci_platform_data tegra_sdhci_platform_data3 = {
        .clk_id = NULL,
@@ -99,12 +99,9 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data3 = {
 static struct tegra_sdhci_platform_data tegra_sdhci_platform_data4 = {
        .clk_id = NULL,
        .force_hs = 0,
-       .cd_gpio = TEGRA_GPIO_PH2,
-       .wp_gpio = TEGRA_GPIO_PH3,
-       .power_gpio = TEGRA_GPIO_PI6,
 };
 
-/*static struct platform_device tegra_sdhci_device1 = {
+static struct platform_device tegra_sdhci_device1 = {
        .name           = "sdhci-tegra",
        .id             = 0,
        .resource       = sdhci_resource1,
@@ -112,9 +109,9 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data4 = {
        .dev = {
                .platform_data = &tegra_sdhci_platform_data1,
        },
-};*/
+};
 
-/*static struct platform_device tegra_sdhci_device2 = {
+static struct platform_device tegra_sdhci_device2 = {
        .name           = "sdhci-tegra",
        .id             = 1,
        .resource       = sdhci_resource2,
@@ -122,7 +119,7 @@ static struct tegra_sdhci_platform_data tegra_sdhci_platform_data4 = {
        .dev = {
                .platform_data = &tegra_sdhci_platform_data2,
        },
-};*/
+};
 
 static struct platform_device tegra_sdhci_device3 = {
        .name           = "sdhci-tegra",
@@ -151,35 +148,8 @@ static int __init olympus_init_sdhci(void)
        if (!machine_is_olympus())
                return 0;
 
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_SDB, TEGRA_TRI_NORMAL);
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_SDC, TEGRA_TRI_NORMAL);
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_SDD, TEGRA_TRI_NORMAL);
-
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_ATB, TEGRA_TRI_NORMAL);
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_GMA, TEGRA_TRI_NORMAL);
-       tegra_pinmux_set_tristate(TEGRA_PINGROUP_GME, TEGRA_TRI_NORMAL);
-
-       /*gpio_request(tegra_sdhci_platform_data2.power_gpio, "sdhci2_power");
-       gpio_request(tegra_sdhci_platform_data2.cd_gpio, "sdhci2_cd");
-       gpio_request(tegra_sdhci_platform_data2.wp_gpio, "sdhci2_wp");
-
-       tegra_gpio_enable(tegra_sdhci_platform_data2.power_gpio);
-       tegra_gpio_enable(tegra_sdhci_platform_data2.cd_gpio);
-       tegra_gpio_enable(tegra_sdhci_platform_data2.wp_gpio);
-
-       gpio_request(tegra_sdhci_platform_data4.power_gpio, "sdhci4_power");
-       gpio_request(tegra_sdhci_platform_data4.cd_gpio, "sdhci4_cd");
-       gpio_request(tegra_sdhci_platform_data4.wp_gpio, "sdhci4_wp");
-
-       tegra_gpio_enable(tegra_sdhci_platform_data4.power_gpio);
-       tegra_gpio_enable(tegra_sdhci_platform_data4.cd_gpio);
-       tegra_gpio_enable(tegra_sdhci_platform_data4.wp_gpio);
-
-       gpio_direction_output(tegra_sdhci_platform_data2.power_gpio, 1);
-       gpio_direction_output(tegra_sdhci_platform_data4.power_gpio, 1);*/
-
-       /*ret = platform_device_register(&tegra_sdhci_device1);*/
-       /*ret = platform_device_register(&tegra_sdhci_device2);*/
+       ret = platform_device_register(&tegra_sdhci_device1);
+       ret = platform_device_register(&tegra_sdhci_device2);
        ret = platform_device_register(&tegra_sdhci_device3);
        ret = platform_device_register(&tegra_sdhci_device4);
        if (ret != 0)