dsk6x11_edma_ad535.h
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:3k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*
  2.  *  Copyright 2003 by Texas Instruments Incorporated.
  3.  *  All rights reserved. Property of Texas Instruments Incorporated.
  4.  *  Restricted rights to use, duplicate or disclose this code are
  5.  *  granted through contract.
  6.  *  
  7.  */
  8. /* "@(#) DDK 1.10.00.23 07-02-03 (ddk-b12)" */
  9. /* 
  10.  *  ======== dsk6x11_edma_ad535.h ========
  11.  */
  12. #ifndef DSK6X11_EDMA_AD535_
  13. #define DSK6X11_EDMA_AD535_
  14. #include <iom.h>
  15. #include <csl_edma.h>
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. /* Version number definition */
  20. #define DSK6X11_EDMA_AD535_VERSION_1 0xAB01
  21. #define DSK6X11_EDMA_AD535_NUMREGS 7
  22. #define DSK6X11_EDMA_AD535_INTR_MASK_DEFAULT 1
  23. /*
  24.  * Perform voice channel initialisation of TLC320AD535 Codec.
  25.  * AD535 has 2 serial port channels: data and voice.
  26.  * The data channel is controlled by registers 1,2 (Reg 0 = NOP).
  27.  * The voice channel is controlled by Registers 3,4,5,6.
  28.  * Only the voice channel is used on the 6x11.
  29.  */
  30. #define DSK6X11_AD535_DEFAULTPARAMS {                                    
  31.     0x0000, /* AD535 control register 0 default -- dummy read/write */   
  32.     0x0000, /* AD535 control register 1 default -- data chan not used */ 
  33.     0x0000, /* AD535 control register 2 default -- data chan not used */ 
  34.     0x0006, /* AD535 control register 3 default dB */                    
  35.     0x0000, /* AD535 control register 4 default */                       
  36.     0x0002, /* AD535 control register 5 default -- input gain 0 dB */    
  37.     0x0000  /* AD535 control register 6 default -- output gain 0 dB */   
  38. }
  39. /* Default IRQ number for EDMA is 8 */          
  40. #define DSK6X11_EDMA_AD535_EDMA_ID_DEFAULT  8
  41. #define DSK6X11_EDMA_AD535_DEFAULT_DEVPARAMS {                           
  42.     DSK6X11_EDMA_AD535_VERSION_1,     /* version number */               
  43.     TRUE,       /* Buffers are in external memory by default */          
  44.     DSK6X11_EDMA_AD535_EDMA_ID_DEFAULT,                                  
  45.     DSK6X11_AD535_DEFAULTPARAMS,                                         
  46.     DSK6X11_EDMA_AD535_INTR_MASK_DEFAULT,                                
  47.     EDMA_OPT_PRI_HIGH                                                    
  48. }
  49. /* Driver function table to be used by applications. */
  50. extern far IOM_Fxns DSK6X11_EDMA_AD535_FXNS;
  51. /* Device setup parameters */
  52. typedef struct DSK6X11_EDMA_AD535_DevParams {
  53.     Int versionId;   /* Set to the version number used by the application */
  54.     Bool cacheCalls; /* Set to TRUE if buffers are in external memory */
  55.     Int irqId;       /* IRQ number to use for EDMA interrupt */
  56.     Int reg[DSK6X11_EDMA_AD535_NUMREGS]; /* AD535 registers */
  57.     Uns intrMask;    /* Interrupt mask, set while executing EDMA int ISR */
  58.     Int edmaPriority;/* priority of EDMA transfers */
  59. } DSK6X11_EDMA_AD535_DevParams;
  60. #ifdef __cplusplus
  61. }
  62. #endif /* extern "C" */
  63. #endif /* DSK6X11_EDMA_AD535_ */