aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/trizeps4.c
diff options
context:
space:
mode:
authorJürgen Schindele <linux@schindele.name>2007-05-07 14:48:44 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-05-11 12:19:20 -0400
commitc9184f58cac9efa5d7d90a0e979f398a99d91641 (patch)
treeca6cae2a0fcb322a2a79f4345b47d31827f71483 /arch/arm/mach-pxa/trizeps4.c
parentf95637d2c68be5165d7de228374254c68561b387 (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.c62
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 @@
55static struct mtd_partition trizeps4_partitions[] = { 56static 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
72static struct flash_platform_data trizeps4_flash_data[] = { 81static 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
80static struct resource flash_resource = { 89static 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
86static struct platform_device flash_device = { 95static 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
405static 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
420static 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
396static void __init trizeps4_init(void) 430static 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 */