sh: Add SDHI1 support to the AP325RXA board
authorMagnus Damm <damm@opensource.se>
Fri, 30 Oct 2009 06:22:03 +0000 (06:22 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 2 Nov 2009 05:19:28 +0000 (14:19 +0900)
Update the SDHI platform data for the AP325RXA board
to include support for the CN7 Micro SD Card slot.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/mach-ap325rxa/setup.c

index be8da97..cf9dc12 100644 (file)
@@ -423,6 +423,7 @@ static struct resource sdhi0_cn3_resources[] = {
 
 static struct platform_device sdhi0_cn3_device = {
        .name           = "sh_mobile_sdhi",
+       .id             = 0, /* "sdhi0" clock */
        .num_resources  = ARRAY_SIZE(sdhi0_cn3_resources),
        .resource       = sdhi0_cn3_resources,
        .archdata = {
@@ -430,6 +431,29 @@ static struct platform_device sdhi0_cn3_device = {
        },
 };
 
+static struct resource sdhi1_cn7_resources[] = {
+       [0] = {
+               .name   = "SDHI1",
+               .start  = 0x04cf0000,
+               .end    = 0x04cf01ff,
+               .flags  = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start  = 24,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device sdhi1_cn7_device = {
+       .name           = "sh_mobile_sdhi",
+       .id             = 1, /* "sdhi1" clock */
+       .num_resources  = ARRAY_SIZE(sdhi1_cn7_resources),
+       .resource       = sdhi1_cn7_resources,
+       .archdata = {
+               .hwblk_id = HWBLK_SDHI1,
+       },
+};
+
 static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = {
        {
                I2C_BOARD_INFO("pcf8563", 0x51),
@@ -478,6 +502,7 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
        &ceu_device,
        &nand_flash_device,
        &sdhi0_cn3_device,
+       &sdhi1_cn7_device,
        &ap325rxa_camera[0],
        &ap325rxa_camera[1],
 };
@@ -588,7 +613,7 @@ static int __init ap325rxa_devices_setup(void)
 
        platform_resource_setup_memory(&ceu_device, "ceu", 4 << 20);
 
-       /* SDHI0 */
+       /* SDHI0 - CN3 - SD CARD */
        gpio_request(GPIO_FN_SDHI0CD_PTD, NULL);
        gpio_request(GPIO_FN_SDHI0WP_PTD, NULL);
        gpio_request(GPIO_FN_SDHI0D3_PTD, NULL);
@@ -598,6 +623,15 @@ static int __init ap325rxa_devices_setup(void)
        gpio_request(GPIO_FN_SDHI0CMD_PTD, NULL);
        gpio_request(GPIO_FN_SDHI0CLK_PTD, NULL);
 
+       /* SDHI1 - CN7 - MICRO SD CARD */
+       gpio_request(GPIO_FN_SDHI1CD, NULL);
+       gpio_request(GPIO_FN_SDHI1D3, NULL);
+       gpio_request(GPIO_FN_SDHI1D2, NULL);
+       gpio_request(GPIO_FN_SDHI1D1, NULL);
+       gpio_request(GPIO_FN_SDHI1D0, NULL);
+       gpio_request(GPIO_FN_SDHI1CMD, NULL);
+       gpio_request(GPIO_FN_SDHI1CLK, NULL);
+
        i2c_register_board_info(0, ap325rxa_i2c_devices,
                                ARRAY_SIZE(ap325rxa_i2c_devices));