diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-08-15 00:00:02 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-15 00:00:02 -0400 |
commit | 4b6b987969b076298485697bfb0d0e35502642a3 (patch) | |
tree | a8f5ebd6a0b9efbe30272012d759669b0c5ddc13 /arch/sh/boards/mach-se | |
parent | df47cd096c8f54a5242e3a2ffb4525c804567eda (diff) | |
parent | 60e0a4c7adc700f2d2929cdb2d0055e519a3eb3d (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.c | 63 |
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) */ |
251 | static struct sh_keysc_info keysc_info = { | 259 | static 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 | ||
265 | static struct resource keysc_resources[] = { | 273 | static 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; |