diff options
author | Jürgen Schindele <linux@schindele.name> | 2007-05-07 14:48:44 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-05-11 12:19:20 -0400 |
commit | c9184f58cac9efa5d7d90a0e979f398a99d91641 (patch) | |
tree | ca6cae2a0fcb322a2a79f4345b47d31827f71483 /arch/arm/mach-pxa/trizeps4.c | |
parent | f95637d2c68be5165d7de228374254c68561b387 (diff) |
[ARM] 4362/1: trizeps4 update
This update for trizeps4 SoM contains:
- support for new TFT on more recent ConXS evalboard
- correct partition of flash device
- update of "trizeps4_defconfig"
Signed-off-by: Jrgen Schindele (linux@schindele.name)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/trizeps4.c')
-rw-r--r-- | arch/arm/mach-pxa/trizeps4.c | 62 |
1 files changed, 49 insertions, 13 deletions
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c index 119c64b7223f..28c79bd0a3a0 100644 --- a/arch/arm/mach-pxa/trizeps4.c +++ b/arch/arm/mach-pxa/trizeps4.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/serial_8250.h> | 25 | #include <linux/serial_8250.h> |
26 | #include <linux/mtd/mtd.h> | 26 | #include <linux/mtd/mtd.h> |
27 | #include <linux/mtd/physmap.h> | ||
27 | #include <linux/mtd/partitions.h> | 28 | #include <linux/mtd/partitions.h> |
28 | 29 | ||
29 | #include <asm/types.h> | 30 | #include <asm/types.h> |
@@ -55,23 +56,31 @@ | |||
55 | static struct mtd_partition trizeps4_partitions[] = { | 56 | static struct mtd_partition trizeps4_partitions[] = { |
56 | { | 57 | { |
57 | .name = "Bootloader", | 58 | .name = "Bootloader", |
59 | .offset = 0x00000000, | ||
58 | .size = 0x00040000, | 60 | .size = 0x00040000, |
59 | .offset = 0, | ||
60 | .mask_flags = MTD_WRITEABLE /* force read-only */ | 61 | .mask_flags = MTD_WRITEABLE /* force read-only */ |
61 | },{ | 62 | },{ |
62 | .name = "Kernel", | 63 | .name = "Backup", |
63 | .size = 0x00400000, | 64 | .offset = 0x00040000, |
64 | .offset = 0x00040000 | 65 | .size = 0x00040000, |
66 | },{ | ||
67 | .name = "Image", | ||
68 | .offset = 0x00080000, | ||
69 | .size = 0x01080000, | ||
70 | },{ | ||
71 | .name = "IPSM", | ||
72 | .offset = 0x01100000, | ||
73 | .size = 0x00e00000, | ||
65 | },{ | 74 | },{ |
66 | .name = "Filesystem", | 75 | .name = "Registry", |
76 | .offset = 0x01f00000, | ||
67 | .size = MTDPART_SIZ_FULL, | 77 | .size = MTDPART_SIZ_FULL, |
68 | .offset = 0x00440000 | ||
69 | } | 78 | } |
70 | }; | 79 | }; |
71 | 80 | ||
72 | static struct flash_platform_data trizeps4_flash_data[] = { | 81 | static struct physmap_flash_data trizeps4_flash_data[] = { |
73 | { | 82 | { |
74 | .map_name = "cfi_probe", | 83 | .width = 4, /* bankwidth in bytes */ |
75 | .parts = trizeps4_partitions, | 84 | .parts = trizeps4_partitions, |
76 | .nr_parts = ARRAY_SIZE(trizeps4_partitions) | 85 | .nr_parts = ARRAY_SIZE(trizeps4_partitions) |
77 | } | 86 | } |
@@ -79,15 +88,15 @@ static struct flash_platform_data trizeps4_flash_data[] = { | |||
79 | 88 | ||
80 | static struct resource flash_resource = { | 89 | static struct resource flash_resource = { |
81 | .start = PXA_CS0_PHYS, | 90 | .start = PXA_CS0_PHYS, |
82 | .end = PXA_CS0_PHYS + SZ_64M - 1, | 91 | .end = PXA_CS0_PHYS + SZ_32M - 1, |
83 | .flags = IORESOURCE_MEM, | 92 | .flags = IORESOURCE_MEM, |
84 | }; | 93 | }; |
85 | 94 | ||
86 | static struct platform_device flash_device = { | 95 | static struct platform_device flash_device = { |
87 | .name = "pxa2xx-flash", | 96 | .name = "physmap-flash", |
88 | .id = 0, | 97 | .id = 0, |
89 | .dev = { | 98 | .dev = { |
90 | .platform_data = &trizeps4_flash_data, | 99 | .platform_data = trizeps4_flash_data, |
91 | }, | 100 | }, |
92 | .resource = &flash_resource, | 101 | .resource = &flash_resource, |
93 | .num_resources = 1, | 102 | .num_resources = 1, |
@@ -393,11 +402,37 @@ static struct pxafb_mach_info sharp_lcd = { | |||
393 | .pxafb_backlight_power = board_backlight_power, | 402 | .pxafb_backlight_power = board_backlight_power, |
394 | }; | 403 | }; |
395 | 404 | ||
405 | static struct pxafb_mode_info toshiba_lcd_mode = { | ||
406 | .pixclock = 39720, | ||
407 | .xres = 640, | ||
408 | .yres = 480, | ||
409 | .bpp = 8, | ||
410 | .hsync_len = 63, | ||
411 | .left_margin = 12, | ||
412 | .right_margin = 12, | ||
413 | .vsync_len = 4, | ||
414 | .upper_margin = 32, | ||
415 | .lower_margin = 10, | ||
416 | .sync = 0, | ||
417 | .cmap_greyscale = 0, | ||
418 | }; | ||
419 | |||
420 | static struct pxafb_mach_info toshiba_lcd = { | ||
421 | .modes = &toshiba_lcd_mode, | ||
422 | .num_modes = 1, | ||
423 | .cmap_inverse = 0, | ||
424 | .cmap_static = 0, | ||
425 | .lccr0 = LCCR0_Color | LCCR0_Act, | ||
426 | .lccr3 = 0x03400002, | ||
427 | .pxafb_backlight_power = board_backlight_power, | ||
428 | }; | ||
429 | |||
396 | static void __init trizeps4_init(void) | 430 | static void __init trizeps4_init(void) |
397 | { | 431 | { |
398 | platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); | 432 | platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); |
399 | 433 | ||
400 | set_pxa_fb_info(&sharp_lcd); | 434 | /* set_pxa_fb_info(&sharp_lcd); */ |
435 | set_pxa_fb_info(&toshiba_lcd); | ||
401 | 436 | ||
402 | pxa_set_mci_info(&trizeps4_mci_platform_data); | 437 | pxa_set_mci_info(&trizeps4_mci_platform_data); |
403 | pxa_set_ficp_info(&trizeps4_ficp_platform_data); | 438 | pxa_set_ficp_info(&trizeps4_ficp_platform_data); |
@@ -436,9 +471,10 @@ static void __init trizeps4_map_io(void) | |||
436 | /* whats that for ??? */ | 471 | /* whats that for ??? */ |
437 | pxa_gpio_mode(GPIO79_nCS_3_MD); | 472 | pxa_gpio_mode(GPIO79_nCS_3_MD); |
438 | 473 | ||
474 | #ifdef CONFIG_LEDS | ||
439 | pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */ | 475 | pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */ |
440 | pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */ | 476 | pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */ |
441 | 477 | #endif | |
442 | #ifdef CONFIG_MACH_TRIZEPS4_CONXS | 478 | #ifdef CONFIG_MACH_TRIZEPS4_CONXS |
443 | #ifdef CONFIG_IDE_PXA_CF | 479 | #ifdef CONFIG_IDE_PXA_CF |
444 | /* if boot direct from compact flash dont disable power */ | 480 | /* if boot direct from compact flash dont disable power */ |