view src/cs/services/etm/etm_env.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

/********************************************************************************
 * Enhanced TestMode (ETM)
 * @file	etm_env.h 
 *
 * Declarations of the Riviera Generic Functions 
 * (except handle message and handle timer).
 *
 * @author	aurent Sollier (l-sollier@ti.com) and Kim T. Peteren (ktp@ti.com)
 * @version 0.1
 *

 *
 * History:
 *
 * 	Date       	Modification
 *  ------------------------------------
 *  10/24/2001	Creation
 *
 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
 *********************************************************************************/


#ifndef _ETM_ENV_H_
#define _ETM_ENV_H_

#include "rvm/rvm_gen.h"
#include "etm/etm_pool_size.h"	/* Stack & Memory Bank sizes definitions */

/**
 * Mailbox ID used by the SWE.
 */
#define ETM_MAILBOX    RVF_TASK_MBOX_0

/**
 * @name Mem bank
 * Memory bank size and watermark.
 */
/*@{*/
#define ETM_MB_PRIM_SIZE	        ETM_MB1_SIZE
#define ETM_MB_PRIM_WATERMARK       ETM_MB_PRIM_SIZE
/*@}*/


/** Define a structure used to store all the informations related to KPD's task
 *	& MBs identifiers.
 */
typedef struct ctrl_blk
{
    T_RVF_MB_ID		prim_id;
    T_RVF_ADDR_ID	addr_id;
    T_RVM_RETURN	(*error_ft)(T_RVM_NAME        swe_name, 
                                T_RVM_RETURN      error_cause,
                                T_RVM_ERROR_TYPE  error_type,
                                T_RVM_STRING      error_msg);
} T_ETM_ENV_CTRL_BLK;


/**
 * @name Generic functions
 * Generic functions declarations.
 */
/*@{*/

T_RVM_RETURN etm_get_info(T_RVM_INFO_SWE *infoSWE);

T_RVM_RETURN etm_set_info( T_RVF_ADDR_ID  addr_id,
                           T_RV_RETURN    return_path[],
                           T_RVF_MB_ID    bk_id[],
                           T_RVM_RETURN   (*rvm_error_ft)(T_RVM_NAME swe_name, 
                                                          T_RVM_RETURN error_cause, 
                                                          T_RVM_ERROR_TYPE error_type, 
                                                          T_RVM_STRING error_msg));

T_RVM_RETURN etm_init(void);
T_RVM_RETURN etm_start(void);
T_RVM_RETURN etm_stop(void);
T_RVM_RETURN etm_kill(void);

/*@}*/


#endif /* #ifndef _ETM_ENV_H_ */