From 4fa96fbc914ae8fd69aedafd73f4f1798679d29f Mon Sep 17 00:00:00 2001 From: Karl Kurbjun Date: Wed, 1 Apr 2009 03:21:18 +0000 Subject: M:Robe 500i: More LCD initialization, and beginnings of support for QVGA as well as VGA on the LCD. MPEGPlayer now works with reasonable performance on smaller videos, but YUV blitting persists after MPEGPlayer is left, some cleanup/changes to the initialization code. This should be functionally equivalent for the ZVM, but the #ifdef's may need to be added back for app.lds. Get the bootloader building again. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20598 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/tms320dm320/boot.lds | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'firmware/target/arm/tms320dm320/boot.lds') diff --git a/firmware/target/arm/tms320dm320/boot.lds b/firmware/target/arm/tms320dm320/boot.lds index 97274a2c04..e391526dc5 100644 --- a/firmware/target/arm/tms320dm320/boot.lds +++ b/firmware/target/arm/tms320dm320/boot.lds @@ -1,11 +1,17 @@ #include "config.h" ENTRY(start) + OUTPUT_FORMAT(elf32-littlearm) OUTPUT_ARCH(arm) STARTUP(target/arm/tms320dm320/crt0.o) -#define DRAMSIZE (MEMORYSIZE * 0x100000) +#define LCD_BUFFER_SIZE (LCD_WIDTH*LCD_HEIGHT*2) + +/* must be 16Kb (0x4000) aligned */ +#define TTB_SIZE (0x4000) + +#define DRAMSIZE (MEMORYSIZE * 0x100000) - TTB_SIZE - LCD_BUFFER_SIZE #define DRAMORIG 0x01900000 /* actually it's 0x00900000 */ #define IRAMORIG 0x00000000 @@ -13,6 +19,12 @@ STARTUP(target/arm/tms320dm320/crt0.o) #define FLASHORIG 0x00100000 #define FLASHSIZE 8M +/* Now we have the LCD buffer */ +#define LCDBEGIN (DRAMSIZE+0x00900000) + +/* Finally the TTB table */ +#define TTBBEGIN (LCDBEGIN + LCD_BUFFER_SIZE) + MEMORY { DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE @@ -28,6 +40,7 @@ SECTIONS loadaddress = .; _loadaddress = .; *(.init.text) + *(.icode) *(.text*) *(.glue_7) *(.glue_7t) @@ -40,6 +53,7 @@ SECTIONS *(.rodata*) *(.rodata.str1.1) *(.rodata.str1.4) + *(.irodata) . = ALIGN(0x4); /* Pseudo-allocate the copies of the data sections */ @@ -47,8 +61,6 @@ SECTIONS } > DRAM .data : { - *(.icode) - *(.irodata) *(.idata) *(.data*) . = ALIGN(0x4); @@ -84,4 +96,14 @@ SECTIONS _vectorsend = .; } AT > DRAM _vectorscopy = LOADADDR(.vectors); + + .lcdbuffer LCDBEGIN (NOLOAD) : + { + _lcdbuf = .; + } + + .ttbtable TTBBEGIN (NOLOAD) : + { + _ttbstart = .; + } } -- cgit v1.2.3