FreeCalypso > hg > fc-magnetite
view src/gpf3/ccd/mall @ 635:baa0a02bc676
niq32.c DTR handling restored for targets that have it
TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample
and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a
fixed pull-down resistor on this GPIO line), and the code in niq32.c called
UAF_DTRInterruptHandler() (implemented in uartfax.c) from the
IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official
fw this GPIO is a floating input, all of the DTR handling code in uartfax.c
including the interrupt logic is still there, but the hobbled TCS211-20070608
semi-src delivery which OM got from TI contained a change in niq32.c (which
had been kept in FC until now) that removed the call to
UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test"
hacks.
The present change fixes this bug at a long last: if we are building fw for a
target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and
gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c,
whereas if we are building fw for a target that does not use this classic GPIO
arrangement, the code in niq32.c goes back to what we got from OM and all
DTR & DCD code in uartfax.c is conditioned out. This change also removes the
very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 01:41:35 +0000 |
parents | c41a534f33c6 |
children |
line wrap: on
line source
#!/bin/sh help () { echo "Usage: $0 { -help|-gmake|-l <LABEL>|-clean|-exp|-unco}" exit 0 } error () { grep "error " $err_file echo "Errors occurred! See $err_file for details." exit 1 } if [ "$WINWORD" != "" ] ; then # Windows environment OSENV=windows if [ "$CLEARCASE_PRIMARY_GROUP" == "" ] ; then HAVE_CC=0 else cleartool lsview -cview >nul 2>&1 if [ $? == 0 ] ; then HAVE_CC=1 else HAVE_CC=0 fi fi else OSENV=`uname` cleartool lsview -cview >/dev/null 2>&1 if [ $? == 0 ] ; then HAVE_CC=1 else HAVE_CC=0 fi fi if [ $HAVE_CC == 1 ] ; then M="clearmake -V -C gnu" else if [ $OSENV == windows ] ; then M="gnumake -r" else M="make -r" fi fi name=CCD name_small=ccd err_file=../$name_small.err ver=0 maketarget="colibs all" if [ "$1" != "" ] ; then case "$1" in -clean) maketarget=clean ;; -gmake) if [ $OSENV == windows ] ; then M="gnumake -r" else M="make -r" fi ;; -test) echo testing not yet implemented exit 0 ;; -exp) maketarget="colibs all cilibs" ;; -l) echo labelling not yet implemented exit 0 ;; -help) help ;; *) echo Unknown option "$1" help ;; esac fi rm -f $err_file if [ "$maketarget" == clean ] ; then echo "*** cleaning $name ***" | tee -a $err_file elif [ "$maketarget" == "colibs all cilibs" ] ; then echo "*** making and checking in $name ***" | tee -a $err_file else echo "*** making $name ***" | tee -a $err_file fi case "$OSENV" in windows) echo "Use mall.bat to build under windows environments." >> $err_file error ;; Linux) echo $M $maketarget TARGET=linuxpc DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxpc DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=linuxpc DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxpc DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=linuxpc DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxpc DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=linuxarm DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxarm DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=linuxarm DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxarm DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=linuxarm DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file $M $maketarget TARGET=linuxarm DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi ;; Solaris) echo $M $maketarget TARGET=solsparc DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=solsparc DEBUG=0 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=solsparc DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file $M $maketarget TARGET=solsparc DEBUG=1 TRACE=0 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi echo $M $maketarget TARGET=solsparc DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file $M $maketarget TARGET=solsparc DEBUG=1 TRACE=1 MEMSUPER=0 >> $err_file 2>&1 if [ $? != 0 ] ; then error ; fi ;; esac exit 0