diff gsm-fw/L1/tpudrv/tpudrv12.h @ 930:5a826938d005

gsm-fw: experimental support for Compal targets in tpudrv12.[ch]
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sat, 31 Oct 2015 02:09:48 +0000
parents 7f305eb3c530
children 4c80a6e6723f
line wrap: on
line diff
--- a/gsm-fw/L1/tpudrv/tpudrv12.h	Sat Oct 24 06:54:08 2015 +0000
+++ b/gsm-fw/L1/tpudrv/tpudrv12.h	Sat Oct 31 02:09:48 2015 +0000
@@ -235,7 +235,7 @@
 #define TEST_TX_ON    0
 #define TEST_RX_ON    0
 
-#if CONFIG_TARGET_GTAMODEM || CONFIG_TARGET_LEONARDO
+#if CONFIG_TARGET_LEONARDO || CONFIG_TARGET_ESAMPLE
 
   // 4-band config (E-sample, P2, Leonardo)
   #define FEM_7         BIT_2     // act2
@@ -255,49 +255,67 @@
   // This configuration is always inverted.
 
   // RX_UP/DOWN and TX_UP/DOWN
-  #if CONFIG_TARGET_GTAMODEM
-    // Openmoko's hobbled triband hardware
-    #define RU_900     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_900     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_900     ( PA_LO_BAND | FEM_PINS ^ FEM_9 )
-    #define TD_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RU_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_900     ( PA_LO_BAND | FEM_PINS ^ FEM_7 )
+  #define TD_900     ( PA_OFF     | FEM_PINS ^ 0     )
+
+  #define RU_850     ( PA_OFF     | FEM_PINS ^ FEM_9 )
+  #define RD_850     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_850     ( PA_LO_BAND | FEM_PINS ^ FEM_7 )
+  #define TD_850     ( PA_OFF     | FEM_PINS ^ 0     )
 
-    #define RU_850     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_850     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_850     ( PA_LO_BAND | FEM_PINS ^ FEM_9 )
-    #define TD_850     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RU_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_1800    ( PA_HI_BAND | FEM_PINS ^ FEM_8 )
+  #define TD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
 
-    #define RU_1800    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_1800    ( PA_HI_BAND | FEM_PINS ^ FEM_7 )
-    #define TD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RU_1900    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_1900    ( PA_HI_BAND | FEM_PINS ^ FEM_8 )
+  #define TD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
+
+#elif CONFIG_TARGET_GTAMODEM
+
+  // Openmoko's triband configuration is a bastardized version
+  // of TI's quadband one from Leonardo/E-Sample
+
+  #define FEM_7         BIT_2     // act2
+  #define FEM_8         BIT_1     // act1
+  #define FEM_9         BIT_4     // act4
 
-    #define RU_1900    ( PA_OFF     | FEM_PINS ^ FEM_8 )
-    #define RD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_1900    ( PA_HI_BAND | FEM_PINS ^ FEM_7 )
-    #define TD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
-  #else
-    // original quadband arrangement
-    #define RU_900     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_900     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_900     ( PA_LO_BAND | FEM_PINS ^ FEM_7 )
-    #define TD_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define PA_HI_BAND    BIT_3   // act3
+  #define PA_LO_BAND    0
+  #define PA_OFF        0
+
+  #define FEM_PINS (FEM_7 | FEM_8 | FEM_9)
+
+  #define FEM_OFF    ( FEM_PINS ^ 0 )
+
+  #define FEM_SLEEP  ( 0 )  
+
+  // This configuration is always inverted.
 
-    #define RU_850     ( PA_OFF     | FEM_PINS ^ FEM_9 )
-    #define RD_850     ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_850     ( PA_LO_BAND | FEM_PINS ^ FEM_7 )
-    #define TD_850     ( PA_OFF     | FEM_PINS ^ 0     )
+  // RX_UP/DOWN and TX_UP/DOWN
+  #define RU_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_900     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_900     ( PA_LO_BAND | FEM_PINS ^ FEM_9 )
+  #define TD_900     ( PA_OFF     | FEM_PINS ^ 0     )
 
-    #define RU_1800    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_1800    ( PA_HI_BAND | FEM_PINS ^ FEM_8 )
-    #define TD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RU_850     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_850     ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_850     ( PA_LO_BAND | FEM_PINS ^ FEM_9 )
+  #define TD_850     ( PA_OFF     | FEM_PINS ^ 0     )
 
-    #define RU_1900    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define RD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
-    #define TU_1900    ( PA_HI_BAND | FEM_PINS ^ FEM_8 )
-    #define TD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
-  #endif
+  #define RU_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define RD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_1800    ( PA_HI_BAND | FEM_PINS ^ FEM_7 )
+  #define TD_1800    ( PA_OFF     | FEM_PINS ^ 0     )
+
+  #define RU_1900    ( PA_OFF     | FEM_PINS ^ FEM_8 )
+  #define RD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
+  #define TU_1900    ( PA_HI_BAND | FEM_PINS ^ FEM_7 )
+  #define TD_1900    ( PA_OFF     | FEM_PINS ^ 0     )
 
 #elif CONFIG_TARGET_PIRELLI
 
@@ -338,6 +356,49 @@
   #define TU_1900    ( PA_HI_BAND | ANTSW_TX_HIGH )
   #define TD_1900    ( PA_OFF     | 0             )
 
+#elif CONFIG_TARGET_COMPAL
+
+  #define PA_HI_BAND    BIT_8   // act8
+  #define PA_LO_BAND    0
+  #define PA_OFF        0
+
+  #define PA_ENABLE	BIT_1
+
+  // FEM control signals are active low
+  #define FEM_PINS (BIT_6 | BIT_2)
+
+  #define FEM_OFF    ( FEM_PINS ^ 0 )
+
+  #define FEM_SLEEP  ( 0 )  
+
+  #define FEM_TX_HIGH	BIT_6
+  #if USE_TSPACT2_FOR_TXLOW
+    #define FEM_TX_LOW	BIT_2
+  #else
+    #define FEM_TX_LOW	BIT_6
+  #endif
+
+  // RX_UP/DOWN and TX_UP/DOWN
+  #define RU_900     ( PA_OFF     | FEM_PINS ^ 0           )
+  #define RD_900     ( PA_OFF     | FEM_PINS ^ 0           )
+  #define TU_900     ( PA_LO_BAND | FEM_PINS ^ FEM_TX_LOW  )
+  #define TD_900     ( PA_OFF     | FEM_PINS ^ 0           )
+
+  #define RU_850     ( PA_OFF     | FEM_PINS ^ 0           )
+  #define RD_850     ( PA_OFF     | FEM_PINS ^ 0           )
+  #define TU_850     ( PA_LO_BAND | FEM_PINS ^ FEM_TX_LOW  )
+  #define TD_850     ( PA_OFF     | FEM_PINS ^ 0           )
+
+  #define RU_1800    ( PA_OFF     | FEM_PINS ^ 0           )
+  #define RD_1800    ( PA_OFF     | FEM_PINS ^ 0           )
+  #define TU_1800    ( PA_HI_BAND | FEM_PINS ^ FEM_TX_HIGH )
+  #define TD_1800    ( PA_OFF     | FEM_PINS ^ 0           )
+
+  #define RU_1900    ( PA_OFF     | FEM_PINS ^ 0           )
+  #define RD_1900    ( PA_OFF     | FEM_PINS ^ 0           )
+  #define TU_1900    ( PA_HI_BAND | FEM_PINS ^ FEM_TX_HIGH )
+  #define TD_1900    ( PA_OFF     | FEM_PINS ^ 0           )
+
 #endif  // FreeCalypso target selection
 
 #define TC1_DEVICE_ABB     TC1_DEVICE0  // TSPEN0