|
@@ -20,8 +20,6 @@
|
|
|
#include <linux/i2c.h>
|
|
|
#include <linux/smsc911x.h>
|
|
|
#include <linux/gpio.h>
|
|
|
-#include <linux/spi/spi.h>
|
|
|
-#include <linux/spi/spi_gpio.h>
|
|
|
#include <media/ov772x.h>
|
|
|
#include <media/soc_camera.h>
|
|
|
#include <media/soc_camera_platform.h>
|
|
@@ -409,17 +407,25 @@ static struct platform_device ceu_device = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
-struct spi_gpio_platform_data sdcard_cn3_platform_data = {
|
|
|
- .sck = GPIO_PTD0,
|
|
|
- .mosi = GPIO_PTD1,
|
|
|
- .miso = GPIO_PTD2,
|
|
|
- .num_chipselect = 1,
|
|
|
+static struct resource sdhi0_cn3_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .name = "SDHI0",
|
|
|
+ .start = 0x04ce0000,
|
|
|
+ .end = 0x04ce01ff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .start = 101,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
-static struct platform_device sdcard_cn3_device = {
|
|
|
- .name = "spi_gpio",
|
|
|
- .dev = {
|
|
|
- .platform_data = &sdcard_cn3_platform_data,
|
|
|
+static struct platform_device sdhi0_cn3_device = {
|
|
|
+ .name = "sh_mobile_sdhi",
|
|
|
+ .num_resources = ARRAY_SIZE(sdhi0_cn3_resources),
|
|
|
+ .resource = sdhi0_cn3_resources,
|
|
|
+ .archdata = {
|
|
|
+ .hwblk_id = HWBLK_SDHI0,
|
|
|
},
|
|
|
};
|
|
|
|
|
@@ -470,20 +476,11 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
|
|
|
&lcdc_device,
|
|
|
&ceu_device,
|
|
|
&nand_flash_device,
|
|
|
- &sdcard_cn3_device,
|
|
|
+ &sdhi0_cn3_device,
|
|
|
&ap325rxa_camera[0],
|
|
|
&ap325rxa_camera[1],
|
|
|
};
|
|
|
|
|
|
-static struct spi_board_info ap325rxa_spi_devices[] = {
|
|
|
- {
|
|
|
- .modalias = "mmc_spi",
|
|
|
- .max_speed_hz = 5000000,
|
|
|
- .chip_select = 0,
|
|
|
- .controller_data = (void *) GPIO_PTD5,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
static int __init ap325rxa_devices_setup(void)
|
|
|
{
|
|
|
/* LD3 and LD4 LEDs */
|
|
@@ -578,12 +575,19 @@ static int __init ap325rxa_devices_setup(void)
|
|
|
|
|
|
platform_resource_setup_memory(&ceu_device, "ceu", 4 << 20);
|
|
|
|
|
|
+ /* SDHI0 */
|
|
|
+ gpio_request(GPIO_FN_SDHI0CD_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0WP_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0D3_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0D2_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0D1_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0D0_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0CMD_PTD, NULL);
|
|
|
+ gpio_request(GPIO_FN_SDHI0CLK_PTD, NULL);
|
|
|
+
|
|
|
i2c_register_board_info(0, ap325rxa_i2c_devices,
|
|
|
ARRAY_SIZE(ap325rxa_i2c_devices));
|
|
|
|
|
|
- spi_register_board_info(ap325rxa_spi_devices,
|
|
|
- ARRAY_SIZE(ap325rxa_spi_devices));
|
|
|
-
|
|
|
return platform_add_devices(ap325rxa_devices,
|
|
|
ARRAY_SIZE(ap325rxa_devices));
|
|
|
}
|