mt6139_common.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:10k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *   mt6139_common.h
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   MT6139 chip common header
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  * 
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. #ifndef  _MT6139_COMMON_H_
  66. #define  _MT6139_COMMON_H_
  67. #ifndef META_DLL_H
  68. #include "meta.h"
  69. #endif
  70. /*---------------------------------------------------------------------------*/
  71. // rxamcalmode
  72. #define  RXAMCALMODE_MT6139B_READ_ACODE   0
  73. #define  RXAMCALMODE_MT6139B_READ_BCCODE  1
  74. #define  RXAMCALMODE_MT6139B_NORMAL       2
  75. #define  RXAMCALMODE_MT6139C_READ_ACODE   0
  76. #define  RXAMCALMODE_MT6139C_HOLD_BCCODE  1
  77. #define  RXAMCALMODE_MT6139C_NORMAL       2
  78. // register read
  79. #define  ADDR_MT6139_AUXOUT_CW0        0x0000010F
  80. #define  ADDR_MT6139_AUXOUT_CW1        0x0000011F
  81. #define  ADDR_MT6139_AUXOUT_CW2        0x0000012F  // Acode
  82. #define  ADDR_MT6139_AUXOUT_CW3        0x0000013F
  83. #define  ADDR_MT6139_AUXOUT_CW4        0x0000014F
  84. #define  ADDR_MT6139_AUXOUT_CW5        0x0000015F
  85. #define  ADDR_MT6139_AUXOUT_CW6        0x0000016F
  86. #define  ADDR_MT6139_AUXOUT_CW7        0x0000017F // AUTO_CAL
  87. #define  ADDR_MT6139_AUXOUT_CW8        0x0000018F  // BCCODEI
  88. #define  ADDR_MT6139_AUXOUT_CW9        0x0000019F  // BCCODEQ
  89. #define  ADDR_MT6139_AUXOUT_CW10       0x000001AF
  90. #define  ADDR_MT6139_AUXOUT_CW11       0x000001BF
  91. #define  ADDR_MT6139_AUXOUT_CW15       0x000001FF
  92. // register write
  93. #define  ADDR_MT6139_CW0               0x00
  94. #define  ADDR_MT6139_CW1               0x01
  95. #define  ADDR_MT6139_CW2               0x02  // Acode
  96. #define  ADDR_MT6139_CW3               0x03
  97. #define  ADDR_MT6139_CW4               0x04
  98. #define  ADDR_MT6139_CW5               0x05
  99. #define  ADDR_MT6139_CW6               0x06
  100. #define  ADDR_MT6139_CW7               0x07   // AUTO_CAL
  101. #define  ADDR_MT6139_CW8               0x08   // BCCODEI
  102. #define  ADDR_MT6139_CW9               0x09   // BCCODEQ
  103. #define  ADDR_MT6139_CW10              0x0A
  104. #define  ADDR_MT6139_CW11              0x0B
  105. #define  ADDR_MT6139_CW15              0x0C
  106. #define  MT6139_CW0_AFC_LEN               6
  107. #define  MT6139_CW0_SYNCP_LEN             2
  108. #define  MT6139_CW1_BAND_LEN              2
  109. #define  MT6139_CW1_N_INTEGER_LEN         7
  110. #define  MT6139_CW1_N_FRACTION_LEN        8
  111. #define  MT6139_CW2_DC_DAC_AI_LEN         6
  112. #define  MT6139_CW2_DC_DAC_AQ_LEN         6
  113. #define  MT6139_CW2_MODE_LEN              3
  114. #define  MT6139_CW2_GAIN_TABLE_LEN        6
  115. #define  MT6139_CW4_CAL_DELAY_LEN         2
  116. #define  MT6139_CW4_VCO_VSET_LEN          2
  117. #define  MT6139_CW4_CAL_MODE_LEN          2
  118. #define  MT6139_CW4_SYN_PFD_LEN           2
  119. #define  MT6139_CW5_RESB_LEN              5
  120. #define  MT6139_CW5_RES_LEN               5
  121. #define  MT6139_CW6_VCO_SCA_LEN           7
  122. #define  MT6139_CW7_RX_GAIN_LEN           8
  123. #define  MT6139_CW8_RX_CTRL_SW_LEN        5
  124. #define  MT6139_CW8_DC_DAC_BI_LEN         7
  125. #define  MT6139_CW8_DC_DAC_CI_LEN         7
  126. #define  MT6139_CW9_DC_DAC_BQ_LEN         7
  127. #define  MT6139_CW9_DC_DAC_CQ_LEN         7
  128. #define  MT6139_CW10_AM_DACI_LEN          7
  129. #define  MT6139_CW10_AM_DACQ_LEN          7
  130. #define  MT6139_CW11_TXBIAST_LEN          2
  131. #define  MT6139_CW11_TX_PW_LEN            2
  132. #define  MT6139_CW11_TXVAPC_LEN           2
  133. #define  MT6139_CW11_TXFLT_LEN            4
  134. #define  MT6139_CW11_TXMODGAIN_LEN        3
  135. #define  MT6139_CW15_AUXOUT_SELECTION_LEN 7
  136. #define  MT6139_CW15_ADDRESS_DATA_OUT_LEN 4
  137. // CW2 mode
  138. #define  MODE_MT6139_CW2_STAND_BY      0x02
  139. #define  MODE_MT6139_CW2_RX            0x03
  140. #define  MODE_MT6139_CW2_RX_AM_CAL     0x06
  141. // way of trigger to set MT6139 to register
  142. #define  SET_MT6139_TO_COEF_REG_BY_GET_ACCODE  0
  143. #define  SET_MT6139_TO_COEF_REG_BY_PM_START    1
  144. #define  SET_MT6139_TO_COEF_REG_BY_GET_BCCCODE 2
  145. // way of trigger to set MT6139 CW2 to register
  146. #define  SET_MT6139_CW2_TO_REG_BY_GET_ACODE    0
  147. #define  SET_MT6139_CW2_TO_REG_BY_GET_BCCODE   1
  148. /*---------------------------------------------------------------------------*/
  149. typedef struct
  150. {
  151.     unsigned char uc_por;
  152.     unsigned char uc_gpo;
  153.     unsigned char uc_vcosel;
  154.     unsigned char uc_afc;
  155.     unsigned char uc_flt;
  156.     unsigned char uc_dien;
  157.     unsigned char uc_synpw;
  158.     unsigned char uc_syncp;
  159. }S_MT6139_CW0;
  160. typedef struct
  161. {
  162.     unsigned char uc_trx;
  163.     unsigned char uc_band;
  164.     unsigned char uc_bufmode;
  165.     unsigned char uc_n_integer;
  166.     unsigned char uc_n_fraction;
  167. }S_MT6139_CW1;
  168. typedef struct
  169. {
  170.     unsigned char uc_dc_dac_ai;
  171.     unsigned char uc_dc_dac_aq;
  172.     unsigned char uc_auto_cal;   // only for MT6139C above
  173.     unsigned char uc_mode;
  174.     unsigned char uc_gain_table;
  175. }S_MT6139_CW2;
  176. typedef struct
  177. {
  178.     unsigned char uc_txdivil;
  179.     unsigned char uc_rfmixpi;
  180.     unsigned char uc_rfmixpq;
  181.     unsigned char uc_rfmixp;
  182.     unsigned char uc_rflnap;
  183.     unsigned char uc_syndivp;
  184.     unsigned char uc_synpfdp;
  185.     unsigned char uc_rxdivp;
  186.     unsigned char uc_ifpgap2;
  187.     unsigned char uc_ifpgap1;
  188.     unsigned char uc_ifpolp;
  189. }S_MT6139_CW3;
  190. typedef struct
  191. {
  192.     unsigned char uc_otaen;
  193.     unsigned char uc_fldis;
  194.     unsigned char uc_cal_delay;
  195.     unsigned char uc_vco_vset;
  196.     unsigned char uc_dread;
  197.     unsigned char uc_calmode;
  198.     unsigned char uc_lgac;
  199.     unsigned char uc_modreg;
  200.     unsigned char uc_c_fra_in;
  201.     unsigned char uc_sxrstdiv;
  202.     unsigned char uc_syntyp;
  203.     unsigned char uc_synpfd;
  204.     unsigned char uc_sca_cr_fi;
  205. }S_MT6139_CW4;
  206. typedef struct
  207. {
  208.     unsigned char uc_rx_lna_mid;
  209.     unsigned char uc_rx_ft0;
  210.     unsigned char uc_rx_ft1;
  211.     unsigned char uc_rx_qt0;
  212.     unsigned char uc_rx_qt1;
  213.     unsigned char uc_rx_resb;
  214.     unsigned char uc_resb;
  215.     unsigned char uc_res;
  216. }S_MT6139_CW5;
  217. typedef struct
  218. {
  219.     unsigned char uc_t_clk;
  220.     unsigned char uc_t_latch;
  221.     unsigned char uc_vco_bufp;
  222.     unsigned char uc_monitor;
  223.     unsigned char uc_sio5;
  224.     unsigned char uc_vco_sca;
  225.     unsigned char uc_vcoset;
  226. }S_MT6139_CW6;
  227. typedef struct
  228. {
  229.     unsigned char uc_reserved;
  230.     unsigned char uc_lo_vsw;
  231.     unsigned char uc_lpf_corner;
  232.     unsigned char uc_auto_cal;
  233.     unsigned char uc_man_cal; // MT6139E above
  234.     unsigned char uc_auto_gain_select;
  235.     unsigned char uc_rx_gain;
  236. }S_MT6139_CW7;
  237. typedef struct
  238. {
  239.     unsigned char uc_reserved;
  240.     unsigned char uc_rx_ctrl_sw;   // MT6139E above
  241.     unsigned char uc_rx_ctrl_swen; // MT6139E above
  242.     unsigned char uc_dc_dac_bi;
  243.     unsigned char uc_dc_dac_ci;
  244. }S_MT6139_CW8;
  245. typedef struct
  246. {
  247.     unsigned char uc_reserved;
  248.     unsigned char uc_pwr_dac_am; // MT6139E above
  249.     unsigned char uc_pwr_dac_a;  // MT6139E above
  250.     unsigned char uc_pwr_dac_b;  // MT6139E above
  251.     unsigned char uc_pwr_dac_c;  // MT6139E above
  252.     unsigned char uc_dc_dac_bq;
  253.     unsigned char uc_dc_dac_cq;
  254. }S_MT6139_CW9;
  255. typedef struct
  256. {
  257.     unsigned char uc_reserved;
  258.     unsigned char uc_am_daci;
  259.     unsigned char uc_am_dacq;
  260. }S_MT6139_CW10;
  261. typedef struct
  262. {
  263.     unsigned char uc_txdiv_gc1;
  264.     unsigned char uc_txdiv_gc0;
  265.     unsigned char uc_txbiast;
  266.     unsigned char uc_tx_pw;
  267.     unsigned char uc_txvapc;
  268.     unsigned char uc_txflt;
  269.     unsigned char uc_txmodgain;
  270.     unsigned char uc_txdbuf;
  271.     unsigned char uc_txgbuf;
  272.     unsigned char uc_txdiv4;
  273.     unsigned char uc_txdiv2;
  274.     unsigned char uc_txdiqm;
  275.     unsigned char uc_txgiqm;
  276.     unsigned char uc_txctl;
  277. }S_MT6139_CW11;
  278. typedef struct
  279. {
  280.     unsigned char uc_auxout_selection;
  281.     unsigned char uc_address_data_out;
  282. }S_MT6139_CW15;
  283. #endif