14 #include <linux/device.h>
25 #include <linux/input.h>
30 #include <linux/videodev2.h>
37 #include <asm/clock.h>
38 #include <asm/suspend.h>
70 static struct resource heartbeat_resource = {
80 .resource = &heartbeat_resource,
88 static struct resource smc91x_eth_resources[] = {
103 .num_resources =
ARRAY_SIZE(smc91x_eth_resources),
104 .resource = smc91x_eth_resources,
106 .platform_data = &smc91x_info,
115 .size = (1 * 1024 * 1024),
120 .size = (2 * 1024 * 1024),
130 .parts = nor_flash_partitions,
134 static struct resource nor_flash_resources[] = {
144 .name =
"physmap-flash",
145 .resource = nor_flash_resources,
146 .num_resources =
ARRAY_SIZE(nor_flash_resources),
148 .platform_data = &nor_flash_data,
196 static struct resource lcdc_resources[] = {
210 .name =
"sh_mobile_lcdc_fb",
212 .resource = lcdc_resources,
214 .platform_data = &lcdc_info,
223 static struct resource ceu0_resources[] = {
240 .name =
"sh_mobile_ceu",
243 .resource = ceu0_resources,
245 .platform_data = &sh_mobile_ceu0_info,
254 static struct resource ceu1_resources[] = {
271 .name =
"sh_mobile_ceu",
274 .resource = ceu1_resources,
276 .platform_data = &sh_mobile_ceu1_info,
288 static struct resource fsi_resources[] = {
305 .resource = fsi_resources,
307 .platform_data = &fsi_info,
320 .card =
"FSIA-AK4642",
321 .cpu_dai =
"fsia-dai",
322 .codec =
"ak4642-codec.0-0012",
323 .platform =
"sh_fsi.0",
324 .codec_dai =
"ak4642-hifi",
325 .init = &fsi2_ak4642_init_info,
329 .name =
"asoc-simple-card",
331 .platform_data = &fsi_ak4642_info,
350 static struct resource keysc_resources[] = {
367 .resource = keysc_resources,
369 .platform_data = &keysc_info,
374 static struct resource sh_eth_resources[] = {
395 .platform_data = &sh_eth_plat,
397 .num_resources =
ARRAY_SIZE(sh_eth_resources),
398 .resource = sh_eth_resources,
405 static struct resource sh7724_usb0_host_resources[] = {
408 .end = 0xa4d80124 - 1,
419 .name =
"r8a66597_hcd",
423 .coherent_dma_mask = 0xffffffff,
424 .platform_data = &sh7724_usb0_host_data,
426 .num_resources =
ARRAY_SIZE(sh7724_usb0_host_resources),
427 .resource = sh7724_usb0_host_resources,
434 static struct resource sh7724_usb1_gadget_resources[] = {
448 .name =
"r8a66597_udc",
452 .coherent_dma_mask = 0xffffffff,
453 .platform_data = &sh7724_usb1_gadget_data,
455 .num_resources =
ARRAY_SIZE(sh7724_usb1_gadget_resources),
456 .resource = sh7724_usb1_gadget_resources,
468 static struct resource sdhi0_cn7_resources[] = {
488 .name =
"sh_mobile_sdhi",
490 .num_resources =
ARRAY_SIZE(sdhi0_cn7_resources),
491 .resource = sdhi0_cn7_resources,
493 .platform_data = &sh7724_sdhi0_data,
497 static struct resource sdhi1_cn8_resources[] = {
517 .name =
"sh_mobile_sdhi",
519 .num_resources =
ARRAY_SIZE(sdhi1_cn8_resources),
520 .resource = sdhi1_cn8_resources,
522 .platform_data = &sh7724_sdhi1_data,
527 static struct resource irda_resources[] = {
543 .resource = irda_resources,
556 .platform_data = &ak881x_pdata,
562 .board_info = &ak8813,
566 static struct resource sh_vou_resources[] = {
581 .num_resources =
ARRAY_SIZE(sh_vou_resources),
582 .resource = sh_vou_resources,
584 .platform_data = &sh_vou_pdata,
597 &sh7724_usb0_host_device,
598 &sh7724_usb1_gadget_device,
614 #define EEPROM_OP 0xBA206000
615 #define EEPROM_ADR 0xBA206004
616 #define EEPROM_DATA 0xBA20600C
617 #define EEPROM_STAT 0xBA206010
618 #define EEPROM_STRT 0xBA206014
620 static int __init sh_eth_is_eeprom_ready(
void)
634 static void __init sh_eth_init(
void)
640 if (!sh_eth_is_eeprom_ready())
644 for (i = 0 ; i < 3 ; i++) {
648 if (!sh_eth_is_eeprom_ready())
652 sh_eth_plat.
mac_addr[i << 1] = mac & 0xff;
653 sh_eth_plat.
mac_addr[(i << 1) + 1] = mac >> 8;
657 #define SW4140 0xBA201000
658 #define FPGA_OUT 0xBA200400
659 #define PORT_HIZA 0xA4050158
660 #define PORT_MSELCRB 0xA4050182
662 #define SW41_A 0x0100
663 #define SW41_B 0x0200
664 #define SW41_C 0x0400
665 #define SW41_D 0x0800
666 #define SW41_E 0x1000
667 #define SW41_F 0x2000
668 #define SW41_G 0x4000
669 #define SW41_H 0x8000
676 static int __init arch_setup(
void)
685 static int __init devices_setup(
void)
694 &ms7724se_sdram_enter_start,
695 &ms7724se_sdram_enter_end,
696 &ms7724se_sdram_leave_start,
697 &ms7724se_sdram_leave_end);
700 ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
705 fpga_out &= ~((1 << 1) |
916 lcdc_info.
ch[0].lcd_modes = lcdc_720p_modes;
917 lcdc_info.
ch[0].num_modes =
ARRAY_SIZE(lcdc_720p_modes);
920 lcdc_info.
ch[0].lcd_modes = lcdc_vga_modes;
926 lcdc_info.
ch[0].interface_type =
RGB18;
927 lcdc_info.
ch[0].flags = 0;
930 lcdc_info.
ch[0].interface_type =
RGB24;
954 .mv_name =
"ms7724se",