FreeCalypso > hg > fc-magnetite
view src/cs/services/atp/atp_spp_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_spp_api.h * * Definitions for the interface between ATP and SPP SW entity * * (C) Texas Instruments, all rights reserved * * Version number : 0.1 Date : 16-Marsh-2000 * * History : 0.1 - Created by E. Baissus * * * Author : Eric Baissus : e-baissus@ti.com * * (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved ******************************************************************************/ #ifndef ATP_SPP_API_H #define ATP_SPP_API_H #include "rv/rv_general.h" #include "rvf/rvf_api.h" #include "l2cap_gen.h" #include "spp_general.h" #include "atp/atp_api.h" #define SPP_ALL_THE_EVENTS (0xFF) #define SPP_RX_HEAD_SIZE (SPP_TX_OFFSET) #define SPP_RX_TRAIL_SIZE (SPP_TX_LENGTH-(SPP_TX_OFFSET)) /* Types and definition used between ATP and SPP */ typedef enum { ATP_IS_SERVER, ATP_IS_CLIENT } T_ATP_IS_SERVER; /* Custom information used during a new open port request to spp */ typedef enum { ATP_PAYLOAD_LENGTH_RENEG_ON, ATP_PAYLOAD_LENGTH_RENEG_OFF } T_ATP_PAYLOAD_LENTH_RENEG_EN; typedef enum { ATP_AUTOMATIC_FLOW_CTRL_ON, ATP_AUTOMATIC_FLOW_CTRL_OFF } T_ATP_SPP_FLOW_CONTROL_MODE; typedef struct { T_ATP_CUSTOM_TYPE custom_type; T_BD_ADDR bd_addr; UINT16 server_channel; UINT16 max_payload_length; // max = 32 KBytes T_ATP_PAYLOAD_LENTH_RENEG_EN max_payload_length_reneg_en; T_RVF_MB_ID rx_mb; T_ATP_SPP_FLOW_CONTROL_MODE flow_ctrl_mode; T_ATP_IS_SERVER is_server; } T_ATP_CUSTOM_TO_SPP_INFO; /* Custom information used during a new open port response by spp */ typedef struct { T_ATP_CUSTOM_TYPE custom_type; T_BD_ADDR bd_addr; UINT16 max_payload_length; } T_ATP_CUSTOM_FROM_SPP_INFO; /* Custom Commands exchanged with SPP : see atp_send_cmd and ATP_CMD_RDY definitions*/ #define ATP_FROM_SPP_MAX_PAYLOAD_IND_CMD (0) // custom info is the payload value (UINT32) #define ATP_FROM_SPP_REG_SERVER_ERROR (1) // No custom info extern T_RV_RET atp_spp_init(T_RVF_ADDR_ID addr_id, T_RVF_MB_ID mb_id); extern T_RV_RET atp_spp_start(void); #endif