changeset 286:840113655bbf

GTA0x target: mux DSR_MODEM/LPG signal to LPG in init.c to avoid floating
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 08 Aug 2017 02:50:13 +0000
parents 504c9dcbffb2
children d85305a74518
files src/cs/system/Main/init.c
diffstat 1 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/cs/system/Main/init.c	Tue Aug 08 01:28:52 2017 +0000
+++ b/src/cs/system/Main/init.c	Tue Aug 08 02:50:13 2017 +0000
@@ -354,8 +354,22 @@
         #else
           #if (BOARD==35)
             *((volatile SYS_UWORD16 *) ASIC_CONF) = 0x2000;
-          #elif defined(CONFIG_TARGET_PIRELLI)	/* from disasm of original fw */
+          #elif defined(CONFIG_TARGET_PIRELLI)
+            /*
+             * Pirelli's version of this Init_Target() function
+             * in their fw sets the ASIC_CONF register to 0x6050,
+             * which means PWL on the LT/PWL pin and LPG on the
+             * DSR_MODEM pin.
+             */
             *((volatile SYS_UWORD16 *) ASIC_CONF) = 0x6050;
+          #elif defined(CONFIG_TARGET_GTAMODEM)
+            /*
+             * The DSR_MODEM/LPG Calypso signal is unconnected on
+             * Openmoko's modem, so let's mux it as LPG (output)
+             * so it doesn't float, like Foxconn seem to have done
+             * on the Pirelli.
+             */
+            *((volatile SYS_UWORD16 *) ASIC_CONF) = 0x6040;
           #else
             *((volatile SYS_UWORD16 *) ASIC_CONF) = 0x6000;
           #endif   /* (BOARD == 35) */