diff options
author | Magnus Damm <damm@opensource.se> | 2009-10-30 02:22:03 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-11-02 00:19:28 -0500 |
commit | 8b431a7e662396c4f873d01a2be73500259e100b (patch) | |
tree | 8c5d224c1c2414453e4791c9185dd5c26619866a /arch/sh/boards/mach-ap325rxa/setup.c | |
parent | 1ce7b039b5029ab698f9d64c0ad603794bc31ae7 (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.c | 36 |
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 | ||
424 | static struct platform_device sdhi0_cn3_device = { | 424 | static 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 | ||
434 | static 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 | |||
447 | static 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 | |||
433 | static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = { | 457 | static 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 | ||