aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mach-ap325rxa/setup.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2009-10-30 02:22:03 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-11-02 00:19:28 -0500
commit8b431a7e662396c4f873d01a2be73500259e100b (patch)
tree8c5d224c1c2414453e4791c9185dd5c26619866a /arch/sh/boards/mach-ap325rxa/setup.c
parent1ce7b039b5029ab698f9d64c0ad603794bc31ae7 (diff)
sh: Add SDHI1 support to the AP325RXA board
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>
Diffstat (limited to 'arch/sh/boards/mach-ap325rxa/setup.c')
-rw-r--r--arch/sh/boards/mach-ap325rxa/setup.c36
1 files changed, 35 insertions, 1 deletions
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c
index be8da973f00f..cf9dc12dfeb1 100644
--- a/arch/sh/boards/mach-ap325rxa/setup.c
+++ b/arch/sh/boards/mach-ap325rxa/setup.c
@@ -423,6 +423,7 @@ static struct resource sdhi0_cn3_resources[] = {
423 423
424static struct platform_device sdhi0_cn3_device = { 424static struct platform_device sdhi0_cn3_device = {
425 .name = "sh_mobile_sdhi", 425 .name = "sh_mobile_sdhi",
426 .id = 0, /* "sdhi0" clock */
426 .num_resources = ARRAY_SIZE(sdhi0_cn3_resources), 427 .num_resources = ARRAY_SIZE(sdhi0_cn3_resources),
427 .resource = sdhi0_cn3_resources, 428 .resource = sdhi0_cn3_resources,
428 .archdata = { 429 .archdata = {
@@ -430,6 +431,29 @@ static struct platform_device sdhi0_cn3_device = {
430 }, 431 },
431}; 432};
432 433
434static struct resource sdhi1_cn7_resources[] = {
435 [0] = {
436 .name = "SDHI1",
437 .start = 0x04cf0000,
438 .end = 0x04cf01ff,
439 .flags = IORESOURCE_MEM,
440 },
441 [1] = {
442 .start = 24,
443 .flags = IORESOURCE_IRQ,
444 },
445};
446
447static struct platform_device sdhi1_cn7_device = {
448 .name = "sh_mobile_sdhi",
449 .id = 1, /* "sdhi1" clock */
450 .num_resources = ARRAY_SIZE(sdhi1_cn7_resources),
451 .resource = sdhi1_cn7_resources,
452 .archdata = {
453 .hwblk_id = HWBLK_SDHI1,
454 },
455};
456
433static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = { 457static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = {
434 { 458 {
435 I2C_BOARD_INFO("pcf8563", 0x51), 459 I2C_BOARD_INFO("pcf8563", 0x51),
@@ -478,6 +502,7 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
478 &ceu_device, 502 &ceu_device,
479 &nand_flash_device, 503 &nand_flash_device,
480 &sdhi0_cn3_device, 504 &sdhi0_cn3_device,
505 &sdhi1_cn7_device,
481 &ap325rxa_camera[0], 506 &ap325rxa_camera[0],
482 &ap325rxa_camera[1], 507 &ap325rxa_camera[1],
483}; 508};
@@ -588,7 +613,7 @@ static int __init ap325rxa_devices_setup(void)
588 613
589 platform_resource_setup_memory(&ceu_device, "ceu", 4 << 20); 614 platform_resource_setup_memory(&ceu_device, "ceu", 4 << 20);
590 615
591 /* SDHI0 */ 616 /* SDHI0 - CN3 - SD CARD */
592 gpio_request(GPIO_FN_SDHI0CD_PTD, NULL); 617 gpio_request(GPIO_FN_SDHI0CD_PTD, NULL);
593 gpio_request(GPIO_FN_SDHI0WP_PTD, NULL); 618 gpio_request(GPIO_FN_SDHI0WP_PTD, NULL);
594 gpio_request(GPIO_FN_SDHI0D3_PTD, NULL); 619 gpio_request(GPIO_FN_SDHI0D3_PTD, NULL);
@@ -598,6 +623,15 @@ static int __init ap325rxa_devices_setup(void)
598 gpio_request(GPIO_FN_SDHI0CMD_PTD, NULL); 623 gpio_request(GPIO_FN_SDHI0CMD_PTD, NULL);
599 gpio_request(GPIO_FN_SDHI0CLK_PTD, NULL); 624 gpio_request(GPIO_FN_SDHI0CLK_PTD, NULL);
600 625
626 /* SDHI1 - CN7 - MICRO SD CARD */
627 gpio_request(GPIO_FN_SDHI1CD, NULL);
628 gpio_request(GPIO_FN_SDHI1D3, NULL);
629 gpio_request(GPIO_FN_SDHI1D2, NULL);
630 gpio_request(GPIO_FN_SDHI1D1, NULL);
631 gpio_request(GPIO_FN_SDHI1D0, NULL);
632 gpio_request(GPIO_FN_SDHI1CMD, NULL);
633 gpio_request(GPIO_FN_SDHI1CLK, NULL);
634
601 i2c_register_board_info(0, ap325rxa_i2c_devices, 635 i2c_register_board_info(0, ap325rxa_i2c_devices,
602 ARRAY_SIZE(ap325rxa_i2c_devices)); 636 ARRAY_SIZE(ap325rxa_i2c_devices));
603 637