# HG changeset patch # User Mychaela Falconia # Date 1590724536 0 # Node ID 62a5285e014a63327fac61a9a59cbb308d378594 # Parent 3e4f212e5d49eb397cfd9f35d9b0a7d875529cdb Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango Back in 2015 the Mother's idea was to produce a FreeCalypso development board that would be a clone of TI Leonardo, including the original quadband RFFE; one major additional stipulation was that this board needed to be able to run original unmodified TCS211-20070608 firmware with all blobs intact, with only minimal binary patches to main.lib and tpudrv.lib. The necessary patched libs were produced at that time in the tcs211-patches repository. That plan was changed and we produced FCDEV3B instead, with Openmoko's triband RFFE instead of Leonardo quadband, but when FC Magnetite started in 2016, a TPUDRV_blob= provision was still made, allowing the possibility of patching OM's tpudrv.lib for a restored Leonardo RFFE. Now in 2020 we have FC Tango which is essentially a verbatim clone of Leonardo core, including the original quadband RFFE. We have also deblobbed our firmware so much that we have absolutely no real need for a blob version of tpudrv.lib - but I thought it would be neat to put the ancient TPUDRV_blob= mechanism (classic config) to its originally intended use, just for the heck of it. diff -r 3e4f212e5d49 -r 62a5285e014a blobs/patches/tpudrv-leonardo.lib Binary file blobs/patches/tpudrv-leonardo.lib has changed diff -r 3e4f212e5d49 -r 62a5285e014a blobs/patches/tpudrv-leonardo.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/blobs/patches/tpudrv-leonardo.patch Fri May 29 03:55:36 2020 +0000 @@ -0,0 +1,24 @@ +# Our version of TCS211 binary libs has been compiled for a triband +# configuration that is a bastardized version of Leonardo quadband: +# while the same 3 TSPACT lines are used for antenna switch control, +# the correct line to be driven low for each band Rx & Tx operation +# is different in every case. +# +# This change in band Rx & Tx signal assignments was made in tpudrv12.h +# and got compiled into the tpudrv12 module in tpudrv.lib; the present +# patch restores the original quadband configuration. + +[tpudrv12.obj] + +# Tx high or low band select + +.cinit 8A 12 +.cinit 92 1C +.cinit 9A 1C +.cinit A2 12 +.cinit AA 12 + +# Bring back GSM850 Rx switch instead of PCS Rx + +.cinit 98 16 +.cinit A0 06 diff -r 3e4f212e5d49 -r 62a5285e014a targets/leonardo.conf --- a/targets/leonardo.conf Fri May 29 03:11:16 2020 +0000 +++ b/targets/leonardo.conf Fri May 29 03:55:36 2020 +0000 @@ -1,5 +1,5 @@ LINK_SCRIPT_SRC=src/cs/system/template/gsm_ds_amd8_compact.template MAIN_blob=blobs/patches/main-fchw.lib -TPUDRV_blob= +TPUDRV_blob=blobs/patches/tpudrv-leonardo.lib FLASH_BASE_ADDR=0 FLASH_SECTOR_SIZE=0x10000 diff -r 3e4f212e5d49 -r 62a5285e014a targets/luna.conf --- a/targets/luna.conf Fri May 29 03:11:16 2020 +0000 +++ b/targets/luna.conf Fri May 29 03:55:36 2020 +0000 @@ -1,3 +1,4 @@ LINK_SCRIPT_SRC=src/cs/system/template/gsm_ds_amd8_compact.template +TPUDRV_blob=blobs/patches/tpudrv-leonardo.lib FLASH_BASE_ADDR=0 FLASH_SECTOR_SIZE=0x10000 diff -r 3e4f212e5d49 -r 62a5285e014a targets/tangomdm.conf --- a/targets/tangomdm.conf Fri May 29 03:11:16 2020 +0000 +++ b/targets/tangomdm.conf Fri May 29 03:55:36 2020 +0000 @@ -1,5 +1,5 @@ LINK_SCRIPT_SRC=src/cs/system/template/gsm_ds_amd8_compact.template MAIN_blob=blobs/patches/main-fchw.lib -TPUDRV_blob= +TPUDRV_blob=blobs/patches/tpudrv-leonardo.lib FLASH_BASE_ADDR=0 FLASH_SECTOR_SIZE=0x10000