aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/boards/mach-se
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-15 00:00:02 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-08-15 00:00:02 -0400
commit4b6b987969b076298485697bfb0d0e35502642a3 (patch)
treea8f5ebd6a0b9efbe30272012d759669b0c5ddc13 /arch/sh/boards/mach-se
parentdf47cd096c8f54a5242e3a2ffb4525c804567eda (diff)
parent60e0a4c7adc700f2d2929cdb2d0055e519a3eb3d (diff)
Merge branch 'master' into sh/hwblk
Diffstat (limited to 'arch/sh/boards/mach-se')
-rw-r--r--arch/sh/boards/mach-se/7724/setup.c63
1 files changed, 49 insertions, 14 deletions
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
index 8de5ebc36b6..d922e1b7141 100644
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ b/arch/sh/boards/mach-se/7724/setup.c
@@ -39,7 +39,15 @@
39 * SW41 : abxx xxxx -> a = 0 : Analog monitor 39 * SW41 : abxx xxxx -> a = 0 : Analog monitor
40 * 1 : Digital monitor 40 * 1 : Digital monitor
41 * b = 0 : VGA 41 * b = 0 : VGA
42 * 1 : SVGA 42 * 1 : 720p
43 */
44
45/*
46 * about 720p
47 *
48 * When you use 1280 x 720 lcdc output,
49 * you should change OSC6 lcdc clock from 25.175MHz to 74.25MHz,
50 * and change SW41 to use 720p
43 */ 51 */
44 52
45/* Heartbeat */ 53/* Heartbeat */
@@ -247,7 +255,7 @@ static struct platform_device ceu1_device = {
247 }, 255 },
248}; 256};
249 257
250/* KEYSC */ 258/* KEYSC in SoC (Needs SW33-2 set to ON) */
251static struct sh_keysc_info keysc_info = { 259static struct sh_keysc_info keysc_info = {
252 .mode = SH_KEYSC_MODE_1, 260 .mode = SH_KEYSC_MODE_1,
253 .scan_timing = 10, 261 .scan_timing = 10,
@@ -264,12 +272,13 @@ static struct sh_keysc_info keysc_info = {
264 272
265static struct resource keysc_resources[] = { 273static struct resource keysc_resources[] = {
266 [0] = { 274 [0] = {
267 .start = 0x1a204000, 275 .name = "KEYSC",
268 .end = 0x1a20400f, 276 .start = 0x044b0000,
277 .end = 0x044b000f,
269 .flags = IORESOURCE_MEM, 278 .flags = IORESOURCE_MEM,
270 }, 279 },
271 [1] = { 280 [1] = {
272 .start = IRQ0_KEY, 281 .start = 79,
273 .flags = IORESOURCE_IRQ, 282 .flags = IORESOURCE_IRQ,
274 }, 283 },
275}; 284};
@@ -439,6 +448,32 @@ static int __init devices_setup(void)
439 /* turn on USB clocks, use external clock */ 448 /* turn on USB clocks, use external clock */
440 ctrl_outw((ctrl_inw(PORT_MSELCRB) & ~0xc000) | 0x8000, PORT_MSELCRB); 449 ctrl_outw((ctrl_inw(PORT_MSELCRB) & ~0xc000) | 0x8000, PORT_MSELCRB);
441 450
451#ifdef CONFIG_PM
452 /* Let LED9 show STATUS2 */
453 gpio_request(GPIO_FN_STATUS2, NULL);
454
455 /* Lit LED10 show STATUS0 */
456 gpio_request(GPIO_FN_STATUS0, NULL);
457
458 /* Lit LED11 show PDSTATUS */
459 gpio_request(GPIO_FN_PDSTATUS, NULL);
460#else
461 /* Lit LED9 */
462 gpio_request(GPIO_PTJ6, NULL);
463 gpio_direction_output(GPIO_PTJ6, 1);
464 gpio_export(GPIO_PTJ6, 0);
465
466 /* Lit LED10 */
467 gpio_request(GPIO_PTJ5, NULL);
468 gpio_direction_output(GPIO_PTJ5, 1);
469 gpio_export(GPIO_PTJ5, 0);
470
471 /* Lit LED11 */
472 gpio_request(GPIO_PTJ7, NULL);
473 gpio_direction_output(GPIO_PTJ7, 1);
474 gpio_export(GPIO_PTJ7, 0);
475#endif
476
442 /* enable USB0 port */ 477 /* enable USB0 port */
443 ctrl_outw(0x0600, 0xa40501d4); 478 ctrl_outw(0x0600, 0xa40501d4);
444 479
@@ -564,15 +599,15 @@ static int __init devices_setup(void)
564 sh_eth_init(); 599 sh_eth_init();
565 600
566 if (sw & SW41_B) { 601 if (sw & SW41_B) {
567 /* SVGA */ 602 /* 720p */
568 lcdc_info.ch[0].lcd_cfg.xres = 800; 603 lcdc_info.ch[0].lcd_cfg.xres = 1280;
569 lcdc_info.ch[0].lcd_cfg.yres = 600; 604 lcdc_info.ch[0].lcd_cfg.yres = 720;
570 lcdc_info.ch[0].lcd_cfg.left_margin = 142; 605 lcdc_info.ch[0].lcd_cfg.left_margin = 220;
571 lcdc_info.ch[0].lcd_cfg.right_margin = 52; 606 lcdc_info.ch[0].lcd_cfg.right_margin = 110;
572 lcdc_info.ch[0].lcd_cfg.hsync_len = 96; 607 lcdc_info.ch[0].lcd_cfg.hsync_len = 40;
573 lcdc_info.ch[0].lcd_cfg.upper_margin = 24; 608 lcdc_info.ch[0].lcd_cfg.upper_margin = 20;
574 lcdc_info.ch[0].lcd_cfg.lower_margin = 2; 609 lcdc_info.ch[0].lcd_cfg.lower_margin = 5;
575 lcdc_info.ch[0].lcd_cfg.vsync_len = 2; 610 lcdc_info.ch[0].lcd_cfg.vsync_len = 5;
576 } else { 611 } else {
577 /* VGA */ 612 /* VGA */
578 lcdc_info.ch[0].lcd_cfg.xres = 640; 613 lcdc_info.ch[0].lcd_cfg.xres = 640;