diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-10-26 10:47:44 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-10-26 10:47:44 +0900 |
commit | 15893fb565921507da80e500d85bb2575989bb57 (patch) | |
tree | 16473cd98b2b4dd43f55d4880a7b42973f2f6bd0 /arch/sh/boards/mach-kfr2r09 | |
parent | f32154c9b580f11017b01bf093514c900c09364e (diff) | |
parent | 96987d96f0058d8689a2b8ac288dbff2e6d85563 (diff) |
Merge branch 'sh/sdhi-mfd'
Conflicts:
arch/sh/boards/mach-ecovec24/setup.c
arch/sh/boards/mach-kfr2r09/setup.c
Diffstat (limited to 'arch/sh/boards/mach-kfr2r09')
-rw-r--r-- | arch/sh/boards/mach-kfr2r09/setup.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c index ce01d6a953b..43d75ee9335 100644 --- a/arch/sh/boards/mach-kfr2r09/setup.c +++ b/arch/sh/boards/mach-kfr2r09/setup.c @@ -332,6 +332,28 @@ static struct platform_device kfr2r09_camera = { }, }; +static struct resource kfr2r09_sh_sdhi0_resources[] = { + [0] = { + .name = "SDHI0", + .start = 0x04ce0000, + .end = 0x04ce01ff, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = 101, + .flags = IORESOURCE_IRQ, + }, +}; + +static struct platform_device kfr2r09_sh_sdhi0_device = { + .name = "sh_mobile_sdhi", + .num_resources = ARRAY_SIZE(kfr2r09_sh_sdhi0_resources), + .resource = kfr2r09_sh_sdhi0_resources, + .archdata = { + .hwblk_id = HWBLK_SDHI0, + }, +}; + static struct platform_device *kfr2r09_devices[] __initdata = { &kfr2r09_nor_flash_device, &kfr2r09_nand_flash_device, @@ -339,6 +361,7 @@ static struct platform_device *kfr2r09_devices[] __initdata = { &kfr2r09_sh_lcdc_device, &kfr2r09_ceu_device, &kfr2r09_camera, + &kfr2r09_sh_sdhi0_device, }; #define BSC_CS0BCR 0xfec10004 @@ -500,6 +523,16 @@ static int __init kfr2r09_devices_setup(void) platform_resource_setup_memory(&kfr2r09_ceu_device, "ceu", 4 << 20); + /* SDHI0 connected to yc304 */ + gpio_request(GPIO_FN_SDHI0CD, NULL); + gpio_request(GPIO_FN_SDHI0WP, NULL); + gpio_request(GPIO_FN_SDHI0D3, NULL); + gpio_request(GPIO_FN_SDHI0D2, NULL); + gpio_request(GPIO_FN_SDHI0D1, NULL); + gpio_request(GPIO_FN_SDHI0D0, NULL); + gpio_request(GPIO_FN_SDHI0CMD, NULL); + gpio_request(GPIO_FN_SDHI0CLK, NULL); + return platform_add_devices(kfr2r09_devices, ARRAY_SIZE(kfr2r09_devices)); } |