FreeCalypso > hg > fc-magnetite
view src/aci2/aci/dcm_state.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 | 93999a60b835 |
| children |
line wrap: on
line source
/* +----------------------------------------------------------------------------- | Project : GSM-F&D (8411) | Modul : ACI +----------------------------------------------------------------------------- | Copyright 2002 Texas Instruments Berlin, AG | All rights reserved. | | This file is confidential and a trade secret of Texas | Instruments Berlin, AG | The receipt of or possession of this file does not convey | any rights to reproduce or disclose its contents or to | manufacture, use, or sell anything it may describe, in | whole, or in part, without the specific written consent of | Texas Instruments Berlin, AG. +----------------------------------------------------------------------------- | Description : DCM instance is a state machine with several possible states. | Based on the current state, DCM handle different kind of messages/events. | States are listed in the order they should normally be sequenced. +----------------------------------------------------------------------------- */ #ifndef __DCMSTATE_H__ #define __DCMSTATE_H__ /** * DCM states. * * DCM instance is a state machine with several possible states. * Based on the current state, DCM handle different kind of messages/events. * States are listed in the order they should normally be sequenced. * * See the Readme file for a description of the state machine. */ typedef enum { DCM_OFF, DCM_IDLE, DCM_ACTIVATING_CONN, DCM_CONN_ACTIVATED, DCM_CLOSING_CONN } T_DCM_INTERNAL_STATE; /** * DCM substates. * * DCM instance is a state machine with several possible states. * Substates are included in some states. */ typedef enum { DCM_SUB_NO_ACTION = 0, /* ALL */ DCM_SUB_WAIT_CGATT_CNF, /* DCM_ACTIVATING_CONN */ DCM_SUB_WAIT_CGACT_CNF, /* DCM_ACTIVATING_CONN */ DCM_SUB_WAIT_SATDN_CNF, /* DCM_ACTIVATING_CONN */ DCM_SUB_WAIT_SATH_CNF, /* DCM_CLOSING_CONN */ DCM_SUB_WAIT_CGDEATT_CNF, /* DCM_CLOSING_CONN */ DCM_SUB_WAIT_CGDEACT_CNF /* DCM_CLOSING_CONN */ } T_DCM_INTERNAL_SUBSTATE; T_DCM_RET dcm_idle (T_DCM_HDR * msg_p); T_DCM_RET dcm_activating_conn(T_DCM_HDR * msg_p); T_DCM_RET dcm_conn_activated(T_DCM_HDR * msg_p); T_DCM_RET dcm_closing_conn(T_DCM_HDR * msg_p ); T_DCM_RET dcm_new_state(U8 state, U8 substate); T_DCM_RET dcm_save_state(void); T_DCM_RET dcm_restore_state(void); void dcm_dispay_state(U8 state, U8 substate); void dcm_dispay_sub_state(U8 substate_1, U8 substate_2); #endif
