Commit 4368f410 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by James Toy

Allow tmio_mmc driver to be used on SuperH systems and add platform bindngs to

the SH7722 Migo-R platform.
Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Magnus Damm <damm@opensource.se>
Cc: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Philip Langdale <philipl@overt.org>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: pHilipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent e173b47b
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#include <asm/sh_keysc.h> #include <asm/sh_keysc.h>
#include <mach/migor.h> #include <mach/migor.h>
#include <cpu/sh7722.h> #include <cpu/sh7722.h>
#include <linux/mfd/core.h>
#include <linux/mfd/tmio.h>
/* Address IRQ Size Bus Description /* Address IRQ Size Bus Description
* 0x00000000 64MB 16 NOR Flash (SP29PL256N) * 0x00000000 64MB 16 NOR Flash (SP29PL256N)
...@@ -390,17 +392,35 @@ static struct platform_device migor_ceu_device = { ...@@ -390,17 +392,35 @@ static struct platform_device migor_ceu_device = {
}, },
}; };
struct spi_gpio_platform_data sdcard_cn9_platform_data = { static struct resource sdhi_cn9_resources[] = {
.sck = GPIO_PTD0, [0] = {
.mosi = GPIO_PTD1, .name = "MMC",
.miso = GPIO_PTD2, .start = 0x04ce0000,
.num_chipselect = 1, .end = 0x04ce01ff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 101,
.end = 101,
.flags = IORESOURCE_IRQ,
},
}; };
static struct platform_device sdcard_cn9_device = { static struct tmio_mmc_data sdhi_cn9_driver_data = {
.name = "spi_gpio", .hclk = 24000000,
.clk_name = "sdhi0",
};
struct mfd_cell sdhi_cn9_platform_data = {
.driver_data = &sdhi_cn9_driver_data,
};
static struct platform_device sdhi_cn9_device = {
.name = "tmio-mmc",
.num_resources = ARRAY_SIZE(sdhi_cn9_resources),
.resource = sdhi_cn9_resources,
.dev = { .dev = {
.platform_data = &sdcard_cn9_platform_data, .platform_data = &sdhi_cn9_platform_data,
}, },
}; };
...@@ -467,7 +487,7 @@ static struct platform_device *migor_devices[] __initdata = { ...@@ -467,7 +487,7 @@ static struct platform_device *migor_devices[] __initdata = {
&migor_ceu_device, &migor_ceu_device,
&migor_nor_flash_device, &migor_nor_flash_device,
&migor_nand_flash_device, &migor_nand_flash_device,
&sdcard_cn9_device, &sdhi_cn9_device,
&migor_camera[0], &migor_camera[0],
&migor_camera[1], &migor_camera[1],
}; };
...@@ -525,6 +545,16 @@ static int __init migor_devices_setup(void) ...@@ -525,6 +545,16 @@ static int __init migor_devices_setup(void)
gpio_request(GPIO_PTA1, NULL); gpio_request(GPIO_PTA1, NULL);
gpio_direction_input(GPIO_PTA1); gpio_direction_input(GPIO_PTA1);
/* SDHI */
gpio_request(GPIO_FN_SDHICD, NULL);
gpio_request(GPIO_FN_SDHIWP, NULL);
gpio_request(GPIO_FN_SDHID3, NULL);
gpio_request(GPIO_FN_SDHID2, NULL);
gpio_request(GPIO_FN_SDHID1, NULL);
gpio_request(GPIO_FN_SDHID0, NULL);
gpio_request(GPIO_FN_SDHICMD, NULL);
gpio_request(GPIO_FN_SDHICLK, NULL);
/* Touch Panel */ /* Touch Panel */
gpio_request(GPIO_FN_IRQ6, NULL); gpio_request(GPIO_FN_IRQ6, NULL);
......
...@@ -280,10 +280,10 @@ config MMC_SDRICOH_CS ...@@ -280,10 +280,10 @@ config MMC_SDRICOH_CS
config MMC_TMIO config MMC_TMIO
tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
depends on MFD_TMIO || MFD_ASIC3 depends on MFD_TMIO || MFD_ASIC3 || SUPERH
help help
This provides support for the SD/MMC cell found in TC6393XB, This provides support for the SD/MMC cell found in TC6393XB,
T7L66XB and also HTC ASIC3 T7L66XB, HTC ASIC3 and also SuperH
config MMC_CB710 config MMC_CB710
tristate "ENE CB710 MMC/SD Interface support" tristate "ENE CB710 MMC/SD Interface support"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment