|
@@ -212,11 +212,34 @@ static struct platform_device kfr2r09_usb0_gadget_device = {
|
|
|
.resource = kfr2r09_usb0_gadget_resources,
|
|
|
};
|
|
|
|
|
|
+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,
|
|
|
&kfr2r09_sh_keysc_device,
|
|
|
&kfr2r09_sh_lcdc_device,
|
|
|
+ &kfr2r09_sh_sdhi0_device,
|
|
|
};
|
|
|
|
|
|
#define BSC_CS0BCR 0xfec10004
|
|
@@ -361,6 +384,16 @@ static int __init kfr2r09_devices_setup(void)
|
|
|
if (kfr2r09_usb0_gadget_setup() == 0)
|
|
|
platform_device_register(&kfr2r09_usb0_gadget_device);
|
|
|
|
|
|
+ /* 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));
|
|
|
}
|