13 #include <linux/input.h>
19 #include <linux/i2c.h>
26 #include <linux/videodev2.h>
33 #include <asm/clock.h>
34 #include <asm/machvec.h>
36 #include <asm/suspend.h>
52 static struct resource smc91x_eth_resources[] = {
67 .num_resources =
ARRAY_SIZE(smc91x_eth_resources),
68 .resource = smc91x_eth_resources,
70 .platform_data = &smc91x_info,
87 static struct resource sh_keysc_resources[] = {
102 .num_resources =
ARRAY_SIZE(sh_keysc_resources),
103 .resource = sh_keysc_resources,
105 .platform_data = &sh_keysc_info,
114 .size = (1 * 1024 * 1024),
120 .size = (15 * 1024 * 1024),
131 .parts = migor_nor_flash_partitions,
132 .nr_parts =
ARRAY_SIZE(migor_nor_flash_partitions),
135 static struct resource migor_nor_flash_resources[] = {
145 .name =
"physmap-flash",
146 .resource = migor_nor_flash_resources,
147 .num_resources =
ARRAY_SIZE(migor_nor_flash_resources),
149 .platform_data = &migor_nor_flash_data,
153 static struct mtd_partition migor_nand_flash_partitions[] = {
157 .size = 512 * 1024 * 1024,
162 .size = 512 * 1024 * 1024,
166 static void migor_nand_flash_cmd_ctl(
struct mtd_info *mtd,
int cmd,
182 static int migor_nand_flash_ready(
struct mtd_info *mtd)
190 .partitions = migor_nand_flash_partitions,
191 .nr_partitions =
ARRAY_SIZE(migor_nand_flash_partitions),
195 .dev_ready = migor_nand_flash_ready,
196 .cmd_ctrl = migor_nand_flash_cmd_ctl,
200 static struct resource migor_nand_flash_resources[] = {
202 .name =
"NAND Flash",
211 .resource = migor_nand_flash_resources,
212 .num_resources =
ARRAY_SIZE(migor_nand_flash_resources),
214 .platform_data = &migor_nand_flash_data,
220 #if defined(CONFIG_SH_MIGOR_RTA_WVGA)
228 #elif defined(CONFIG_SH_MIGOR_QVGA)
244 #if defined(CONFIG_SH_MIGOR_RTA_WVGA)
249 .interface_type =
RGB16,
251 .lcd_modes = migor_lcd_modes,
258 #elif defined(CONFIG_SH_MIGOR_QVGA)
265 .lcd_modes = migor_lcd_modes,
273 .ldmt2r = 0x06000a09,
274 .ldmt3r = 0x180e3418,
276 .deferred_io_msec = 1000,
282 static struct resource migor_lcdc_resources[] = {
296 .name =
"sh_mobile_lcdc_fb",
297 .num_resources =
ARRAY_SIZE(migor_lcdc_resources),
298 .resource = migor_lcdc_resources,
300 .platform_data = &sh_mobile_lcdc_info,
304 static struct clk *camera_clk;
307 static void camera_power_on(
int is_tw)
332 static void camera_power_off(
void)
351 static int tw9910_power(
struct device *dev,
int mode)
365 static struct resource migor_ceu_resources[] = {
382 .name =
"sh_mobile_ceu",
384 .num_resources =
ARRAY_SIZE(migor_ceu_resources),
385 .resource = migor_ceu_resources,
387 .platform_data = &sh_mobile_ceu_info,
398 static struct resource sdhi_cn9_resources[] = {
418 .name =
"sh_mobile_sdhi",
419 .num_resources =
ARRAY_SIZE(sdhi_cn9_resources),
420 .resource = sdhi_cn9_resources,
422 .platform_data = &sh7724_sdhi_data,
451 .power = ov7725_power,
452 .board_info = &migor_i2c_camera[0],
454 .priv = &ov7725_info,
463 .power = tw9910_power,
464 .board_info = &migor_i2c_camera[1],
466 .priv = &tw9910_info,
471 .name =
"soc-camera-pdrv",
474 .platform_data = &ov7725_link,
477 .name =
"soc-camera-pdrv",
480 .platform_data = &tw9910_link,
490 &migor_nor_flash_device,
491 &migor_nand_flash_device,
502 static int __init migor_devices_setup(
void)
506 &migor_sdram_enter_start,
507 &migor_sdram_enter_end,
508 &migor_sdram_leave_start,
509 &migor_sdram_leave_end);
512 ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
557 #ifdef CONFIG_SH_MIGOR_QVGA
581 #ifdef CONFIG_SH_MIGOR_RTA_WVGA
628 #ifdef CONFIG_SH_MIGOR_RTA_WVGA
658 static int migor_mode_pins(
void)
673 .mv_mode_pins = migor_mode_pins,