view src/cs/services/audio/audio_ffs_i.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 838eeafb0051
children
line wrap: on
line source

/********************************************************************************/
/*                                                                              */
/*    File Name:   audio_ffs_i.h                                                */
/*                                                                              */
/*    Purpose:     This header contains the audio ffs constants related to      */
/*                 the ffs behavior.                                            */
/*                                                                              */
/*    Note:                                                                     */
/*        None.                                                                 */
/*                                                                              */
/*    Revision History:                                                         */
/*       11 May 01     Francois Mazard - Stephanie Gerthoux        Create       */
/*                                                                              */
/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved.   */
/*                                                                              */
/********************************************************************************/
  #ifndef _AUDIO_FFS_I_H_
    #define _AUDIO_FFS_I_H_

    #ifdef __cplusplus
      extern "C"
      {
    #endif

      #define AUDIO_MEM_MAX_CHANNEL            (1)
      #define AUDIO_VM_AMR_PLAY_SIZE           (500)// 16 bit unit
      #define AUDIO_VM_AMR_PLAY_NB_BUFFER      (2)
      #define AUDIO_VM_AMR_RECORD_SIZE         (500)// 16 bit unit
      #define AUDIO_VM_AMR_RECORD_NB_BUFFER    (2)      
      #define AUDIO_MIDI_SIZE                  (500) // 16 bit unit
      #define AUDIO_MIDI_NB_BUFFER             (2)

      #if (MELODY_E1) || (MELODY_E2) || (VOICE_MEMO)
        /* maximum number of FFS channel */
        #define AUDIO_FFS_MAX_CHANNEL             (2)

        /* list of the session_id depending on the audio features */
        /* session id of the melody E1 number 0 */
        #define AUDIO_FFS_SESSION_MELODY_E1_0     (0)
        /* session id of the melody E1 number 1 */
        #define AUDIO_FFS_SESSION_MELODY_E1_1     (1)
        /* session id of the melody E2 number 0 */
        #define AUDIO_FFS_SESSION_MELODY_E2_0     (2)
        /* session id of the melody E2 number 1 */
        #define AUDIO_FFS_SESSION_MELODY_E2_1     (3)

        /* session id of the voice memo play */
        #define AUDIO_FFS_SESSION_VM_PLAY         (4)
        /* session id ofthe voice memo record */
        #define AUDIO_FFS_SESSION_VM_RECORD       (5)
        /* size of the data to download to the RAM for each features */
        /* using the FLASH to RAM session*/
        #define AUDIO_MELODY_E1_SIZE              (512)
        #define AUDIO_MELODY_E2_SIZE              (512)
        #define AUDIO_VM_PLAY_SIZE                (1024)
        /* size to allocate in RAM for each features */
        /* using the RAM to FLASH session */
        #define AUDIO_VM_RECORD_INITIAL_SIZE      (1024)

        /* maximum number of buffer per session */
        #define AUDIO_MAX_FFS_BUFFER_PER_SESSION  (2)

        /* The audio FFS is activated: the audio task run with a time out */
        #ifndef _WINDOWS
          #define AUDIO_FFS_TIME_OUT                (RVF_MS_TO_TICKS(500))
        #else
          #define AUDIO_FFS_TIME_OUT                (RVF_MS_TO_TICKS(10))
        #endif


        /* The audio FFS manager need to be activate asap */
        #define AUDIO_FFS_ACTIVE_NOW              (0)

        /* The audio FFS timer is in one shot mode */
        #define AUDIO_FFS_ONE_SHOT_TIMER          (FALSE)

        /* The audio FFS timer is in continuous mode */
        #define AUDIO_FFS_CONTINUOUS_TIMER        (TRUE)

        /* state of the cust_get_pointer state machine */
        #define  AUDIO_CUST_GET_POINTER_INIT      (0)
        #define  AUDIO_CUST_GET_POINTER_NORMAL    (1)
        #define  AUDIO_CUST_GET_POINTER_LOOP      (2)
      #endif /* MELODY_E1 || MELODY_E2 || VOICE_MEMO */

    #ifdef __cplusplus
      }
    #endif
  #endif /* _AUDIO_FFS_I_ */