fw/board/gta0x: implement TX support for gta0x devices
authorSteve Markgraf <steve@steve-m.de>
Tue, 18 Jan 2011 15:27:56 +0000 (16:27 +0100)
committerSteve Markgraf <steve@steve-m.de>
Mon, 24 Jan 2011 15:50:21 +0000 (16:50 +0100)
Signed-off-by: Steve Markgraf <steve@steve-m.de>
src/target/firmware/board/common/rffe_gta0x_triband.c

index cbfccd1..ec42483 100644 (file)
@@ -33,7 +33,7 @@ void rffe_mode(enum gsm_band band, int tx)
 
        /* First we mask off all bits from the state cache */
        tspact &= ~PA_ENABLE;
-       tspact |=  GSM_TXEN;    /* low-active */
+       tspact &= ~GSM_TXEN;
        tspact |= ASM_VC1 | ASM_VC2 | ASM_VC3; /* low-active */
 
        switch (band) {
@@ -52,7 +52,21 @@ void rffe_mode(enum gsm_band band, int tx)
 #ifdef CONFIG_TX_ENABLE
        /* Then we selectively set the bits on, if required */
        if (tx) {
-               // TODO: Implement tx
+               switch (band) {
+               case GSM_BAND_850:
+               case GSM_BAND_900:
+                       tspact &= ~ASM_VC3;
+                       break;
+               case GSM_BAND_1800:
+               case GSM_BAND_1900:
+                       tspact &= ~ASM_VC1;
+                       tspact |= ASM_VC2;
+                       tspact |= GSM_TXEN;
+                       break;
+               default:
+                       break;
+               }
+               tspact |= PA_ENABLE;
        }
 #endif /* TRANSMIT_SUPPORT */