view src/cs/services/atp/atp_uart_api.h @ 673:62a5285e014a

Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango Back in 2015 the Mother's idea was to produce a FreeCalypso development board that would be a clone of TI Leonardo, including the original quadband RFFE; one major additional stipulation was that this board needed to be able to run original unmodified TCS211-20070608 firmware with all blobs intact, with only minimal binary patches to main.lib and tpudrv.lib. The necessary patched libs were produced at that time in the tcs211-patches repository. That plan was changed and we produced FCDEV3B instead, with Openmoko's triband RFFE instead of Leonardo quadband, but when FC Magnetite started in 2016, a TPUDRV_blob= provision was still made, allowing the possibility of patching OM's tpudrv.lib for a restored Leonardo RFFE. Now in 2020 we have FC Tango which is essentially a verbatim clone of Leonardo core, including the original quadband RFFE. We have also deblobbed our firmware so much that we have absolutely no real need for a blob version of tpudrv.lib - but I thought it would be neat to put the ancient TPUDRV_blob= mechanism (classic config) to its originally intended use, just for the heck of it.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 29 May 2020 03:55:36 +0000
parents 945cf7f506b2
children
line wrap: on
line source

/********************************************************************************/
/*                                                                              */
/*    File Name:         atp_uart_api.h                                         */
/*                                                                              */
/*    Purpose:           This header file contains the external constants and   */
/*                       prototypes related to the ATP-UART interface.          */
/*                                                                              */
/*    Note:              None.                                                  */
/*                                                                              */
/*    Revision History:                                                         */
/*       10/04/01        Pascal Pompei                                          */
/*                          - Create.                                           */
/*                                                                              */
/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved.   */
/*                                                                              */
/********************************************************************************/
#ifndef _ATP_UART_API_
#define _ATP_UART_API_

#include "rv/rv_general.h"

#ifdef __cplusplus
extern "C"
{
#endif


/**************************** ATP-UART INTERFACE NAME ***************************/
/*                                                                              */
/* Define the name assigned to the ATP-UART interface.                          */
#define ATP_UART_NAME                                 ("ATP-UART")

	
/***************************** INTERNAL ERROR CODES *****************************/
/*                                                                              */
/* Define the internal error codes.                                             */
typedef T_RV_RET  T_ATP_UART_ERROR_CODES;


/********************************** EVENTS MASK *********************************/
/*                                                                              */
/* Define a mask used to uniquely identify the events associated with the       */
/* ATP-UART interface.                                                          */
#define ATP_UART_EVENTS_MASK                          (0x8000)


/******************************* COM PORT SETTINGS ******************************/
/*                                                                              */
/* Define the COM port number.                                                  */
typedef enum
{
	ATP_UART_COM_PORT_1 = 0x00000001,
	ATP_UART_COM_PORT_2,
	ATP_UART_COM_PORT_3,
	ATP_UART_COM_PORT_4
} T_ATP_UART_COM_PORT;

/* Define the baud rate (in bits per second).                                   */
typedef enum
{
	ATP_UART_BAUD_RATE_9600   = 9600,
	ATP_UART_BAUD_RATE_19200  = 19200,
	ATP_UART_BAUD_RATE_38400  = 38400,
	ATP_UART_BAUD_RATE_57600  = 57600,
	ATP_UART_BAUD_RATE_115200 = 115200
} T_ATP_UART_BAUD_RATE;


/****************************** COM PORT ACTIVATION *****************************/
/*                                                                              */
/* Define a structure used to instruct the ATP-UART interface to open the COM   */
/* port.                                                                        */
/*                                                                              */
/* Opcode: ATP_UART_OPEN_COM_PORT.                                              */
#define ATP_UART_OPEN_COM_PORT                        (0x001C | ATP_UART_EVENTS_MASK)

typedef struct
{
	T_RV_HDR              os_header;
	T_ATP_UART_COM_PORT   com_port;
	T_ATP_UART_BAUD_RATE  baud_rate;
} T_ATP_UART_OPEN_COM_PORT;


/******************************** GSM ACTIVATION ********************************/
/*                                                                              */
/* Define a structure used to instruct the ATP-UART interface to initiate using */
/* the GSM protocol stack.                                                      */
/*                                                                              */
/* Opcode: ATP_UART_START_GSM.                                                  */
#define ATP_UART_START_GSM                            (0x002C | ATP_UART_EVENTS_MASK)

typedef struct
{
	T_RV_HDR  os_header;
} T_ATP_UART_START_GSM;


/*************************** LOCAL FUNCTION PROTOTYPES **************************/
/*                                                                              */
/* Define the local fonction prototypes.                                        */
T_ATP_UART_ERROR_CODES atp_uart_open_com_port (T_ATP_UART_COM_PORT   com_port,
											   T_ATP_UART_BAUD_RATE  baud_rate);

T_ATP_UART_ERROR_CODES atp_uart_start_gsm (void);

#ifdef __cplusplus
}
#endif

#endif