From 412f8560ef600b531b0668bda45c926a1ceaed88 Mon Sep 17 00:00:00 2001 From: Colin Cross <ccross@android.com> Date: Fri, 9 Apr 2010 14:38:44 -0700 Subject: [PATCH] [ARM] tegra: olympus: Enable all SD busses Change-Id: Ic747f83a4eb84a04f7439f520a815fbe1f6ae50d Signed-off-by: Colin Cross <ccross@android.com> --- arch/arm/mach-tegra/board-olympus-pinmux.c | 12 ++-- arch/arm/mach-tegra/board-olympus-sdhci.c | 64 ++++++---------------- 2 files changed, 23 insertions(+), 53 deletions(-) diff --git a/arch/arm/mach-tegra/board-olympus-pinmux.c b/arch/arm/mach-tegra/board-olympus-pinmux.c index 13698821b0d2..893b0d3f2cde 100644 --- a/arch/arm/mach-tegra/board-olympus-pinmux.c +++ b/arch/arm/mach-tegra/board-olympus-pinmux.c @@ -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}, diff --git a/arch/arm/mach-tegra/board-olympus-sdhci.c b/arch/arm/mach-tegra/board-olympus-sdhci.c index d194cfc8fe80..2dbe68e2ee09 100644 --- a/arch/arm/mach-tegra/board-olympus-sdhci.c +++ b/arch/arm/mach-tegra/board-olympus-sdhci.c @@ -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) -- 2.34.1