view src/gpf/tst/drv/stack1_Serial.h @ 280:82665effff30

keypad boot init overhaul: handle initially held-down keys This change fixes two previous behavioural defects: 1) On Compal phones, the PWR key had to be released before the boot sequence would proceed at all - it was stuck in an endless IRQ loop at the point of Nucleus enabling interrupts, before anything else. 2) On both Compal and sane platforms including Luna, if some regular non-PWR key was held down at boot time, the boot sequence would proceed and complete normally, but all non-PWR keypad buttons would be dead for the remainder of that boot cycle. The fix is a generic solution - no Compal-specific hack ended up being needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 24 Sep 2021 00:47:12 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/*=============================================================================
 *    Copyright 1996-2001 Texas Instruments Inc. All rights reserved.
 */
#ifndef STACK1_SERIAL_HEADER
#define STACK1_SERIAL_HEADER

//#include "puf_PrimHdr.h"

/*=============================================================================
 * Description:
 */
//typedef struct{
//    Puf_PrimHdr primHdr;
//}Stack1_Serial_RxInd;

typedef void (*SERIAL_CALLBACK_FUNC)(void);

/*===========================================================================
 * Description:
 *   Install the Uart interrupt handlers and initialize the Uart.
 */
int
stack1_Serial_PowerUp( SERIAL_CALLBACK_FUNC callback );

/*===========================================================================
 * Description:
 *   Copy the data from the Rx buffer into the passed in buffer. If there
 *   aren't dataLen bytes in the Rx buffer all the bytes currently in the rx
 *   buffer are returned.
 */
unsigned long
stack1_Serial_receiveData( unsigned char  *dataPtr,
                           unsigned long dataLen );

/*===========================================================================
 * Description:
 *   Copy the data to be transmitted into the Tx Buffer and enable the Uart Tx
 *   interrupt. If the Tx buffer is full, discard the data and return a buffer
 *   full indication.
 */
int
stack1_Serial_sendData( unsigned char  *dataPtr,
                        unsigned long dataLen );

#endif