diff options
author | Jürgen Schindele <linux@schindele.name> | 2007-05-07 19:48:44 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-05-11 17:19:20 +0100 |
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 @@ #include <linux/delay.h> #include <linux/serial_8250.h> #include <linux/mtd/mtd.h> +#include <linux/mtd/physmap.h> #include <linux/mtd/partitions.h> #include <asm/types.h> @@ -55,23 +56,31 @@ static struct mtd_partition trizeps4_partitions[] = { { .name = "Bootloader", + .offset = 0x00000000, .size = 0x00040000, - .offset = 0, .mask_flags = MTD_WRITEABLE /* force read-only */ },{ - .name = "Kernel", - .size = 0x00400000, - .offset = 0x00040000 + .name = "Backup", + .offset = 0x00040000, + .size = 0x00040000, + },{ + .name = "Image", + .offset = 0x00080000, + .size = 0x01080000, + },{ + .name = "IPSM", + .offset = 0x01100000, + .size = 0x00e00000, },{ - .name = "Filesystem", + .name = "Registry", + .offset = 0x01f00000, .size = MTDPART_SIZ_FULL, - .offset = 0x00440000 } }; -static struct flash_platform_data trizeps4_flash_data[] = { +static struct physmap_flash_data trizeps4_flash_data[] = { { - .map_name = "cfi_probe", + .width = 4, /* bankwidth in bytes */ .parts = trizeps4_partitions, .nr_parts = ARRAY_SIZE(trizeps4_partitions) } @@ -79,15 +88,15 @@ static struct flash_platform_data trizeps4_flash_data[] = { static struct resource flash_resource = { .start = PXA_CS0_PHYS, - .end = PXA_CS0_PHYS + SZ_64M - 1, + .end = PXA_CS0_PHYS + SZ_32M - 1, .flags = IORESOURCE_MEM, }; static struct platform_device flash_device = { - .name = "pxa2xx-flash", + .name = "physmap-flash", .id = 0, .dev = { - .platform_data = &trizeps4_flash_data, + .platform_data = trizeps4_flash_data, }, .resource = &flash_resource, .num_resources = 1, @@ -393,11 +402,37 @@ static struct pxafb_mach_info sharp_lcd = { .pxafb_backlight_power = board_backlight_power, }; +static struct pxafb_mode_info toshiba_lcd_mode = { + .pixclock = 39720, + .xres = 640, + .yres = 480, + .bpp = 8, + .hsync_len = 63, + .left_margin = 12, + .right_margin = 12, + .vsync_len = 4, + .upper_margin = 32, + .lower_margin = 10, + .sync = 0, + .cmap_greyscale = 0, +}; + +static struct pxafb_mach_info toshiba_lcd = { + .modes = &toshiba_lcd_mode, + .num_modes = 1, + .cmap_inverse = 0, + .cmap_static = 0, + .lccr0 = LCCR0_Color | LCCR0_Act, + .lccr3 = 0x03400002, + .pxafb_backlight_power = board_backlight_power, +}; + static void __init trizeps4_init(void) { platform_add_devices(trizeps4_devices, ARRAY_SIZE(trizeps4_devices)); - set_pxa_fb_info(&sharp_lcd); +/* set_pxa_fb_info(&sharp_lcd); */ + set_pxa_fb_info(&toshiba_lcd); pxa_set_mci_info(&trizeps4_mci_platform_data); pxa_set_ficp_info(&trizeps4_ficp_platform_data); @@ -436,9 +471,10 @@ static void __init trizeps4_map_io(void) /* whats that for ??? */ pxa_gpio_mode(GPIO79_nCS_3_MD); +#ifdef CONFIG_LEDS pxa_gpio_mode( GPIO_SYS_BUSY_LED | GPIO_OUT); /* LED1 */ pxa_gpio_mode( GPIO_HEARTBEAT_LED | GPIO_OUT); /* LED2 */ - +#endif #ifdef CONFIG_MACH_TRIZEPS4_CONXS #ifdef CONFIG_IDE_PXA_CF /* if boot direct from compact flash dont disable power */ |