FreeCalypso > hg > fc-magnetite
view src/cs/drivers/drv_app/rtc/rtc_api.h @ 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 | 945cf7f506b2 |
| children |
line wrap: on
line source
/********************************************************************************/ /* */ /* File Name: rtc_functions.h */ /* */ /* Purpose: This file contains prototypes of RTC's internal functions. */ /* */ /* Note: None. */ /* */ /* Revision History: */ /* 03/20/01 Laurent Sollier Create. */ /* */ /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved */ /* */ /********************************************************************************/ #ifndef _RTC_FUNCTIONS_H_ #define _RTC_FUNCTIONS_H_ #include "rvf/rvf_api.h" /********************************************************************************/ /* */ /* Generic functions declarations. */ /* */ /********************************************************************************/ /* Structure containing date and time */ typedef struct { UINT8 second; /* seconds after the minute - [0,59] */ UINT8 minute; /* minutes after the hour - [0,59] */ UINT8 hour; /* hours after the midnight - [0,23] */ UINT8 day; /* day of the month - [1,31] */ UINT8 month; /* months - [01,12] */ UINT8 year; /* years - [00,99] */ UINT8 wday; /* days in a week - [0,6] */ BOOL mode_12_hour; /* TRUE->12 hour mode ; FALSE-> 24 hour mode */ BOOL PM_flag; /* if 12 hour flag = TRUE TRUE->PM ; FALSE->AM */ } T_RTC_DATE_TIME; /******************************************************************************* * * RTC_RtcReset * * Purpose : Indicate if aRTC reset occured. * * Arguments: In : none * Out: none * * Returns: TRUE if a RTC reset occurred * FALSE if RTC didn't reset. * * ******************************************************************************/ BOOL RTC_RtcReset(void); /******************************************************************************* * * RTC_GetDateTime * * Purpose : Get date and time information. * * Arguments: In : none. * Out: date_time : contain date and time data if return value is * RVF_OK * * Returns: RVF_OK if date and time available in date_time variable * RVF_NOT_READY if date and time is temporary not accessible for * 30 micro seconds * RVF_INTERNAL_ERROR else * ******************************************************************************/ T_RVF_RET RTC_GetDateTime(T_RTC_DATE_TIME* date_time); /******************************************************************************* * * RTC_SetDateTime * * Purpose : Set date and time in RTC module. * * Arguments: In : date_time : date and time to set in RTC module * Out: none * * Returns: RVF_OK if date and time have been set in RTC module * RVF_NOT_READY if date and time cannot be saved before * 30 micro seconds max * RVF_INVALID_PARAMETER if date or/and timeformat is incorrect * RVF_INTERNAL_ERROR else * * ******************************************************************************/ T_RVF_RET RTC_SetDateTime(T_RTC_DATE_TIME date_time); /******************************************************************************* * * RTC_GetAlarm * * Purpose : Get date and time alarm. * * Arguments: In : none * Out: date_time : contain date and time data if return value is * RVF_OK * * Returns: RVF_OK if date and time is available in date_time data * RVF_INTERNAL_ERROR else * * ******************************************************************************/ T_RVF_RET RTC_GetAlarm(T_RTC_DATE_TIME* date_time); /******************************************************************************* * * RTC_SetAlarm * * Purpose : Set date and time alarmin RTC module. * * Arguments: In : date_time : Date and time alarm to set in RTC module * return_path : return path used when date and time alarm is * reached. This path can be a callback function or both * task id and mailbox number * Out: none * * Returns: RVF_OK if date and time alarm have been set in RTC module * RVF_NOT_READY if date and time cannot be saved before * 30 micro seconds max * RVF_INVALID_PARAMETER if date or/and time format is incorrect * RVF_INTERNAL_ERROR else * * ******************************************************************************/ T_RVF_RET RTC_SetAlarm(T_RTC_DATE_TIME date_time, T_RV_RETURN return_path); /******************************************************************************* * * RTC_UnsetAlarm * * Purpose : Unset alarm function. * * Arguments: In : none * Out: none * * Returns: RVF_OK if date and time alarm have been set in RTC module * RVF_NOT_READY if date and time cannot be saved before * 30 micro seconds max * RVF_INVALID_PARAMETER if date or/and time format is incorrect * RVF_INTERNAL_ERROR else * * ******************************************************************************/ T_RVF_RET RTC_UnsetAlarm(void); /******************************************************************************* * * RTC_Rounding30s * * Purpose : Round time to the closest minute. * * Arguments: In : none * Out: none * * Returns: none * * ******************************************************************************/ void RTC_Rounding30s(void); /******************************************************************************* * * RTC_Set12HourMode * * Purpose : Set the 12 or 24 hour mode for time get by RTC_GetDateTime and * RTC_GetAlarm. * * Arguments: In : 12HourMode : TRUE if current time is on 12 hour mode * FALSE if current time is on 24 hour mode * Out: none * * Returns: none * * ******************************************************************************/ void RTC_Set12HourMode(BOOL Mode12Hour); /******************************************************************************* * * RTC_Is12HourMode * * Purpose : Define if the time given by RTC_GetAlarm and RTC_GetDateTime is in * the 12 or 24 hour mode * * Arguments: In : none * Out: none * * Returns: TRUE if current time is on 12 hour mode * FALSE if current time is on 24 hour mode * * ******************************************************************************/ BOOL RTC_Is12HourMode(void); #endif /* #ifndef _RTC_FUNCTIONS_H_ */
