SI4703API.h
上传用户:ledjyj
上传日期:2014-08-27
资源大小:2639k
文件大小:6k
源码类别:

驱动编程

开发平台:

Unix_Linux

  1. /***************************************************************************
  2.  * 
  3.  *                         QCI GSM/GPRS Phase 2 Software       
  4.  *                                                             
  5.  *                    Copyright (c) 2005 Quanta Computer Inc.
  6.  *
  7.  *****************************************************************************
  8.  * 
  9.  *  $Workfile:   l1alfmradio.h
  10.  *  $Revision:   1.0
  11.  *  $Author  :   Eric Yang
  12.  *  $Date    :   2005.08.19
  13.  *
  14.  *****************************************************************************
  15.  *
  16.  *  File Description : This file includes all the function about silicon FM module FM_SI47XX/01 
  17.  *
  18.  *  Definition by project
  19.  *
  20.  *****************************************************************************
  21.  *
  22.  * Revision Details
  23.  * ----------------
  24.  *   $Log: l1alfmradio.h,v $
  25.  *   Revision 1.3  2005/12/01 01:20:42  05063078
  26.  *   change the SI_BAND value
  27.  *
  28.  *   Revision 1.2  2005/11/11 03:43:26  QUANTA92101320
  29.  *   1.Modify DlAu6535OutputSelect() and L1FrSendPowerOnWolfsonCommand() to play soft midi
  30.  *   2.Add signal-base control of WM8976 I2S audio path
  31.  *   3.Open default audio path(Headphone) for FM
  32.  *   4.Add ReadST(),WaitSTC(),ReadRDS(),ReadRDSR(),ReadRDSE(),ReadRDS_Block(), FM_SI47XX_ReadRSSI(), FM_SI47XX_OpenRDS(), FM_SI47XX_SetSeekDepth() and FM_SI47XX_CloseRDS() for FM RDS/RBDS function
  33.  *   5.Add signal-base control of power down WM8976
  34.  *
  35.  *   Revision 1.1  2005/09/29 02:49:07  QUANTA91080103
  36.  *   no message
  37.  *
  38.  *
  39.  ***************************************************************************/
  40. /* This file is created and include in the serial number 20050922-00000100-01962-G80 */
  41. //#if !defined (L1AL_FM_RADIO_H)
  42. //#define       L1AL_FM_RADIO_H
  43. /***************************************************************************
  44.  * Include Files
  45.  ***************************************************************************/
  46. /***************************************************************************
  47.  * Manifest Constants
  48.  ***************************************************************************/
  49. /***************************************************************************
  50.  * Type Definitions
  51.  ***************************************************************************/
  52. typedef enum TAG_WRITE_REG_ADDR
  53. {
  54. WRITING,
  55. W02h,
  56. W03h,
  57. W04h,
  58. W05h
  59. }WRITE_REG_ADDR;
  60. typedef enum TAG_READ_REG_ADDR
  61. {
  62. READING,
  63. R0Ah,
  64. R0Bh,
  65. R0Ch,
  66. R0Dh,
  67. R0Eh,
  68. R0Fh,
  69. R00h,
  70. R01h,
  71. R02h,
  72. R03h,
  73. R04h,
  74. R05h
  75. }READ_REG_ADDR;
  76. typedef enum TAG_SEEKTH
  77. {
  78. SEEKTH25, SEEKTH26, SEEKTH27, SEEKTH28, 
  79. SEEKTH29, SEEKTH30, SEEKTH31, SEEKTH32 
  80. }SEEKTH;
  81. //typedef enum SEEK_DIRECTION_TAG
  82. //{
  83. //SEEKUP =0,
  84. //SEEKDOWN=1
  85. //}SEEK_DIRECTION;
  86. #define SEEKUP    0
  87. #define SEEKDOWN  1
  88. typedef enum VOL_DIRECTION_TAG
  89. {
  90. TURNUP,
  91. TURNDOWN
  92. }VOL_DIRECTION;
  93. typedef enum SEEK_STATUS_TAG
  94. {
  95. SEEKSUCCESS,
  96. SEEKFAILURE
  97. }SEEK_STATUS;
  98. #ifndef TRUE
  99. #define TRUE 1
  100. #endif
  101. #ifndef FALSE
  102. #define FALSE 0
  103. #endif
  104. /***************************************************************************
  105.  * Macros
  106.  ***************************************************************************/
  107. typedef enum RDS_STATUS_TAG
  108. {
  109. RDSA,
  110. RDSB,
  111. RDSC,
  112. RDSD
  113. }RDS_STATUS;
  114. #define SEEKUP    0
  115. #define SEEKDOWN  1
  116. void CfgGpio6As32KHZ(void); 
  117. /* End of modification by Brian 20051111-00001100-02083-G80 */ 
  118. void FM_SI47XX_WriteReg(WRITE_REG_ADDR,u16);
  119. u16 FM_SI47XX_ReadReg(READ_REG_ADDR);
  120. void CfgFM_SI47XXGpio2AsInput(void);
  121. u8 ReadSTC(void);
  122. u8 ReadSF(void);
  123. /* Quanta modify by Brian 20051111-00001100-02083-G80 */
  124. u8 ReadST(void);
  125. /* End of modification by Brian 20051111-00001100-02083-G80 */ 
  126. u8 ReadGpio2(void);
  127. /* Quanta modify by Brian 20051111-00001100-02083-G80 */
  128. void WaitGpio2(void);
  129. void WaitSTC(void);
  130. u8 ReadRDS(void);
  131. u8 ReadRDSR(void);
  132. u8 ReadRDSE(void);
  133. u16 ReadRDS_BLOCK(RDS_STATUS);
  134. u8 FM_SI47XX_ReadRSSI(void);
  135. /* End of modification by Brian 20051111-00001100-02083-G80 */ 
  136. void CfgFM_SI47XXRstAsOutput(void);
  137. void FM_SI47XX_RST_LOW(void);
  138. void FM_SI47XX_RST_HIGH(void);
  139. void FM_SI47XX_2Wire(void);
  140. void FM_SI47XX_Reset(void);
  141. void FM_SI47XX_Init(void); 
  142. /* Quanta modify by Jacky.Sun 20051202-00000100-*****-G80 */
  143. void FM_SI47XX_PowerUp(void);
  144. /* End of modification by Jacky.Sun 20051202-00000100-*****-G80 */
  145. /* Quanta modify by Brian 20051111-00001100-02083-G80 */
  146. void FM_SI47XX_OpenRDS(void);
  147. void FM_SI47XX_CloseRDS(void);
  148. void FM_SI47XX_SetBand(u8);
  149. void FM_SI47XX_SetSpacing(u8);
  150. void FM_SI47XX_SetSeekDepth(u8);
  151. /* End of modification by Brian 20051111-00001100-02083-G80 */ 
  152. void FM_SI47XX_PowerDown(void);
  153. void FM_SI47XX_Tune(u16);
  154. void FM_SI47XX_TuneNextChan(void);
  155. void FM_SI47XX_TunePrevChan(void);
  156. void
  157. FM_SI47XX_Seek(u16 SeekDirection, u16 *channel, u16 *scanok);
  158. SEEK_STATUS FM_SI47XX_SeekUp(void);
  159. SEEK_STATUS FM_SI47XX_SeekDown(void);
  160. u8 FM_SI47XX_AutoSeek(void);
  161. void FM_SI47XX_TuneUp(void);
  162. void FM_SI47XX_TuneDown(void);
  163. void FM_SI47XX_EraseAllSeekedChannels(void);
  164. u16 FM_SI47XX_ReadChannel(void);
  165. u16 FM_SI47XX_ChanToFreq(u16);
  166. u16 FM_SI47XX_FreqToChan(u16);
  167. void FM_SI47XX_Volume(u8);
  168. void FM_SI47XX_IncVolume(void);
  169. void FM_SI47XX_DecVolume(void);
  170. void FM_SI47XX_MuteVolume(void); 
  171. void FM_SI47XX_DMuteVolume(void);
  172. int SI4703_I2C_Write( u8 *value,u8 size);
  173. int SI4703_I2C_Read( u8 *pvalue, u8 size);
  174. /***************************************************************************
  175.  * Local Functions
  176.  ***************************************************************************/
  177. /***************************************************************************
  178.  * Global Functions
  179.  ***************************************************************************/
  180. //#endif   /*  #if defined (QCI_L1_UPGRADE_SILICON_FM_MODULE)   */
  181. //#endif