# HG changeset patch # User Mychaela Falconia # Date 1541520143 0 # Node ID 2cd705c8116ed179389500de19c217aaea0ec756 # Parent d43e7444f4584c0cee70dc55b41ba5a0908ce03c loadtools: Mot C155 turns out to have the same flash partition quirks as the flash chip on TI's D-Sample c155.config changed to use the fixed 28f640w30b config instead of CFI, and a bit of C code in fc-loadtool had to be changed too so that flash erase-program-boot still works. diff -r d43e7444f458 -r 2cd705c8116e loadtools/flcmplboot.c --- a/loadtools/flcmplboot.c Mon Nov 05 03:20:34 2018 +0000 +++ b/loadtools/flcmplboot.c Tue Nov 06 16:02:23 2018 +0000 @@ -15,6 +15,7 @@ extern struct flash_bank_info flash_bank_info[2]; extern struct flash_cmdset flash_cmdset_intel; +extern struct flash_cmdset flash_cmdset_intel_w30; extern uint32_t crc32_table[]; @@ -147,7 +148,8 @@ "error: detected flash boot sector size differs from config\n"); return(-1); } - if (flash_bank_info[0].ops != &flash_cmdset_intel) { + if (flash_bank_info[0].ops != &flash_cmdset_intel && + flash_bank_info[0].ops != &flash_cmdset_intel_w30) { fprintf(stderr, "error: operation implemented for Intel flash only\n"); return(-1); diff -r d43e7444f458 -r 2cd705c8116e loadtools/scripts/c155.config --- a/loadtools/scripts/c155.config Mon Nov 05 03:20:34 2018 +0000 +++ b/loadtools/scripts/c155.config Tue Nov 06 16:02:23 2018 +0000 @@ -12,9 +12,14 @@ # The remaining settings are carried out via loadagent commands init-script c155.init -# Flash: use CFI autodetection, 8 MiB max -# Unlike C139, C155 and C156 phones do have working flash mapping at 0x03000000 -flash cfi-8M 0x03000000 +# 8 MiB flash, accessible at 0x03000000 without the strange issue +# seen on the lower C1xx models, but the flash chip turns out to have +# partition quirks like the one on the D-Sample, so we need to +# tell fc-loadtool about it explicitly instead of using CFI. +# The actual chip in these phones is a flash+RAM MCP, but the flash part +# is exactly the same as the 28F640W30B on the D-Sample (same geometry, +# same ID codes), so we just tell fc-loadtool that it's a 28F640W30B. +flash 28f640w30b 0x03000000 # bottom boot flash, sector 0 is only 8 KiB boot-reflash-hack 0x820000 0x2000