FreeCalypso > hg > freecalypso-tools
changeset 11:21eec7569eb8
loadtools support for C139/140 target: -c 1004 compalstage variant
supercedes the previous -c 1003 version and supports the new C139 boot code
version found in the wild that expects "1004" or greater in the signature bytes
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 25 Jul 2016 21:09:33 +0000 |
parents | 56b1bab3e09b |
children | 869ce9f61a67 |
files | CHANGES doc/Compal-unlock loadtools/README target-utils/compalstage/Makefile target-utils/compalstage/compalstage.S target-utils/env/compalram.lds |
diffstat | 6 files changed, 35 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/CHANGES Mon Jul 25 20:15:41 2016 +0000 +++ b/CHANGES Mon Jul 25 21:09:33 2016 +0000 @@ -7,6 +7,14 @@ version 0300 found in the common Calypso devices, but also with the older version 0200 found in the older Calypso silicon on early D-Sample boards. +* loadtools support for C139/140 target: use -h compal -c 1004 command line + options instead of the previous -h compal -c 1003 to support the newer + versions of C139/140 boot code which expect "1004" instead of the more + familiar "1003" in the serially downloaded code image. The new -c 1004 + option ("1004" signature bytes) should work with all currently known + Mot/Compal boot code versions, thus -c 1003 is retained only for backward + compatibility with existing usage. + * tiffs: added -O option to parse FFS images from the ancient 20020917 firmware on the D-Sample.
--- a/doc/Compal-unlock Mon Jul 25 20:15:41 2016 +0000 +++ b/doc/Compal-unlock Mon Jul 25 21:09:33 2016 +0000 @@ -64,7 +64,7 @@ 2. On the host end, run fc-loadtool like this: C11x/123: fc-loadtool -h compal /dev/ttyXXX -C139/140: fc-loadtool -h compal -c 1003 /dev/ttyXXX +C139/140: fc-loadtool -h compal -c 1004 /dev/ttyXXX C155/156: fc-loadtool -h c155 /dev/ttyXXX 3. Press the power button on the phone. A momentary press is sufficient and
--- a/loadtools/README Mon Jul 25 20:15:41 2016 +0000 +++ b/loadtools/README Mon Jul 25 21:09:33 2016 +0000 @@ -77,7 +77,7 @@ Device Needed options ----------------------------------- Mot C11x/123 -h compal - Mot C139/140 -h compal -c 1003 + Mot C139/140 -h compal -c 1004 Mot C155/156 -h c155 Openmoko GTA02 -h gta02 Pirelli DP-L10 -h pirelli
--- a/target-utils/compalstage/Makefile Mon Jul 25 20:15:41 2016 +0000 +++ b/target-utils/compalstage/Makefile Mon Jul 25 21:09:33 2016 +0000 @@ -1,7 +1,8 @@ CC= arm-elf-gcc OBJCOPY=arm-elf-objcopy -TARGETS=compalstage-plain.bin compalstage-thumb.bin compalstage-1003.bin +TARGETS=compalstage-plain.bin compalstage-thumb.bin compalstage-1003.bin \ + compalstage-1004.bin INSTDIR=/usr/local/share/freecalypso all: ${TARGETS} @@ -14,6 +15,9 @@ compalstage-1003.o: compalstage.S ${CC} -DPAD_TO_1003 -c -o $@ $< +compalstage-1004.o: compalstage.S + ${CC} -DPAD_TO_1003 -DMAGIC_1004 -c -o $@ $< + compalstage-plain.o: compalstage.S ${CC} -c -o $@ $<
--- a/target-utils/compalstage/compalstage.S Mon Jul 25 20:15:41 2016 +0000 +++ b/target-utils/compalstage/compalstage.S Mon Jul 25 21:09:33 2016 +0000 @@ -22,6 +22,25 @@ .word 0xFFFFFB10 #if PAD_TO_1003 +/* + * The older and most familiar versions of C139/140 boot code expect the + * signature bytes to be "1003" or greater, but a recently encountered + * newer version expects them to be "1004" or greater instead. As the + * actual comparison check in all currently known boot code versions is + * an inequality (the signature bytes in the downloaded image need to be + * greater than or equal to the hard-coded reference values), always + * putting "1004" in our compalstage image instead of "1003" should satisfy + * all existing C1xx boot code versions, or at least all currently known + * ones. However, having an image named compalstage-1003.bin with the + * corresponding -c 1003 loadtools option that is actually "1004" inside + * feels a little "wrong" in some sense, while getting rid of the -c 1003 + * option would break old user instructions, hence let's go ahead and do the + * silly exercise of building both "1003" and "1004" versions. + */ .org 0x3be0 +#if MAGIC_1004 + .ascii "1004" +#else .ascii "1003" #endif +#endif