changeset 673:62a5285e014a

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.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 29 May 2020 03:55:36 +0000
parents 3e4f212e5d49
children 0ccda9c065bc
files blobs/patches/tpudrv-leonardo.lib blobs/patches/tpudrv-leonardo.patch targets/leonardo.conf targets/luna.conf targets/tangomdm.conf
diffstat 5 files changed, 27 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
Binary file blobs/patches/tpudrv-leonardo.lib has changed
--- /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
--- 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
--- 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
--- 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