diff options
author | Hirokazu Takata <takata@linux-m32r.org> | 2005-07-07 20:59:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 21:24:11 -0400 |
commit | 316240f66a64c95e373d52dc401d882d77a594ee (patch) | |
tree | 1d04cba74cd2455bb6b886ed4b85b7bbb73b8544 /arch/m32r/kernel/setup_m32700ut.c | |
parent | e34ac862ee6644378bfe6ea65c2e0dda4545513d (diff) |
[PATCH] m32r: framebuffer device support
This patch is for supporting Epson s1d13xxx framebuffer device for m32r. #
Sorry, a little bigger.
The Epson s1d13806 is already supported by 2.6.12 kernel, and its driver is
placed as drivers/video/s1d13xxxfb.c.
For the m32r, a header file include/asm-m32r/s1d13806.h was prepared for
several m32r target platforms. It was originally generated by an Epson
tool S1D13806CFG.EXE, and modified manually for the m32r platforms.
Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/m32r/kernel/setup_m32700ut.c')
-rw-r--r-- | arch/m32r/kernel/setup_m32700ut.c | 55 |
1 files changed, 51 insertions, 4 deletions
diff --git a/arch/m32r/kernel/setup_m32700ut.c b/arch/m32r/kernel/setup_m32700ut.c index b014e2c1e524..a146b24a556b 100644 --- a/arch/m32r/kernel/setup_m32700ut.c +++ b/arch/m32r/kernel/setup_m32700ut.c | |||
@@ -3,8 +3,8 @@ | |||
3 | * | 3 | * |
4 | * Setup routines for Renesas M32700UT Board | 4 | * Setup routines for Renesas M32700UT Board |
5 | * | 5 | * |
6 | * Copyright (c) 2002 Hiroyuki Kondo, Hirokazu Takata, | 6 | * Copyright (c) 2002-2005 Hiroyuki Kondo, Hirokazu Takata, |
7 | * Hitoshi Yamamoto, Takeo Takahashi | 7 | * Hitoshi Yamamoto, Takeo Takahashi |
8 | * | 8 | * |
9 | * This file is subject to the terms and conditions of the GNU General | 9 | * This file is subject to the terms and conditions of the GNU General |
10 | * Public License. See the file "COPYING" in the main directory of this | 10 | * Public License. See the file "COPYING" in the main directory of this |
@@ -435,7 +435,7 @@ void __init init_IRQ(void) | |||
435 | icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; | 435 | icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01; |
436 | enable_m32700ut_irq(M32R_IRQ_INT2); | 436 | enable_m32700ut_irq(M32R_IRQ_INT2); |
437 | 437 | ||
438 | //#if defined(CONFIG_VIDEO_M32R_AR) | 438 | #if defined(CONFIG_VIDEO_M32R_AR) |
439 | /* | 439 | /* |
440 | * INT3# is used for AR | 440 | * INT3# is used for AR |
441 | */ | 441 | */ |
@@ -445,9 +445,11 @@ void __init init_IRQ(void) | |||
445 | irq_desc[M32R_IRQ_INT3].depth = 1; | 445 | irq_desc[M32R_IRQ_INT3].depth = 1; |
446 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; | 446 | icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10; |
447 | disable_m32700ut_irq(M32R_IRQ_INT3); | 447 | disable_m32700ut_irq(M32R_IRQ_INT3); |
448 | //#endif /* CONFIG_VIDEO_M32R_AR */ | 448 | #endif /* CONFIG_VIDEO_M32R_AR */ |
449 | } | 449 | } |
450 | 450 | ||
451 | #if defined(CONFIG_SMC91X) | ||
452 | |||
451 | #define LAN_IOSTART 0x300 | 453 | #define LAN_IOSTART 0x300 |
452 | #define LAN_IOEND 0x320 | 454 | #define LAN_IOEND 0x320 |
453 | static struct resource smc91x_resources[] = { | 455 | static struct resource smc91x_resources[] = { |
@@ -469,10 +471,55 @@ static struct platform_device smc91x_device = { | |||
469 | .num_resources = ARRAY_SIZE(smc91x_resources), | 471 | .num_resources = ARRAY_SIZE(smc91x_resources), |
470 | .resource = smc91x_resources, | 472 | .resource = smc91x_resources, |
471 | }; | 473 | }; |
474 | #endif | ||
475 | |||
476 | #if defined(CONFIG_FB_S1D13XXX) | ||
477 | |||
478 | #include <video/s1d13xxxfb.h> | ||
479 | #include <asm/s1d13806.h> | ||
480 | |||
481 | static struct s1d13xxxfb_pdata s1d13xxxfb_data = { | ||
482 | .initregs = s1d13xxxfb_initregs, | ||
483 | .initregssize = ARRAY_SIZE(s1d13xxxfb_initregs), | ||
484 | .platform_init_video = NULL, | ||
485 | #ifdef CONFIG_PM | ||
486 | .platform_suspend_video = NULL, | ||
487 | .platform_resume_video = NULL, | ||
488 | #endif | ||
489 | }; | ||
490 | |||
491 | static struct resource s1d13xxxfb_resources[] = { | ||
492 | [0] = { | ||
493 | .start = 0x10600000UL, | ||
494 | .end = 0x1073FFFFUL, | ||
495 | .flags = IORESOURCE_MEM, | ||
496 | }, | ||
497 | [1] = { | ||
498 | .start = 0x10400000UL, | ||
499 | .end = 0x104001FFUL, | ||
500 | .flags = IORESOURCE_MEM, | ||
501 | } | ||
502 | }; | ||
503 | |||
504 | static struct platform_device s1d13xxxfb_device = { | ||
505 | .name = S1D_DEVICENAME, | ||
506 | .id = 0, | ||
507 | .dev = { | ||
508 | .platform_data = &s1d13xxxfb_data, | ||
509 | }, | ||
510 | .num_resources = ARRAY_SIZE(s1d13xxxfb_resources), | ||
511 | .resource = s1d13xxxfb_resources, | ||
512 | }; | ||
513 | #endif | ||
472 | 514 | ||
473 | static int __init platform_init(void) | 515 | static int __init platform_init(void) |
474 | { | 516 | { |
517 | #if defined(CONFIG_SMC91X) | ||
475 | platform_device_register(&smc91x_device); | 518 | platform_device_register(&smc91x_device); |
519 | #endif | ||
520 | #if defined(CONFIG_FB_S1D13XXX) | ||
521 | platform_device_register(&s1d13xxxfb_device); | ||
522 | #endif | ||
476 | return 0; | 523 | return 0; |
477 | } | 524 | } |
478 | arch_initcall(platform_init); | 525 | arch_initcall(platform_init); |