mtk RF配置步骤一

一.系统配置

1.使能clk
   custom/modem/mml1_rf/MT6735_MMRF_CUSTOM/mml1_custom_rf.h
 /*MT6735*/ #define MML1_CLK1_EN                         1 /* CLK1 is enabled for BB */
 /*MT6735*/ #define MML1_CLK2_EN                         1
 /*MT6735*/ #define MML1_CLK3_EN                         1
 /*MT6735*/ #define MML1_CLK4_EN                         1
 

2.修改USID

    custom/modem/mml1_rf/MT6735_MMRF_CUSTOM/mml1_custom_mipi.h
          
#define MIPI_USID_INIT0                 0x0000
#define MIPI_USID_ASM0                 0x000F //SKY77916 USID
#define MIPI_USID_ASM1                 0x000F //SKY77916 USID
#define MIPI_USID_PA0                    0x000E //SKY77643 USID
#define MIPI_USID_PA1                    0x000E //SKY77643 USID
#define MIPI_USID_ANT0                 0x0006
#define MIPI_USID_ET                      0x000C
      这里只有一个ASM,一个PA,所以ASM0和AMS1的USID一样,PA0与PA1的USID一样
 
     custom/modem/mml1_rf/MT6735_MMRF_CUSTOM/mml1_custom_mipi.c
         
MML1_MIPI_USID_CHANGE_T MML1_MIPI_USID_CHANGE_TABLE[MML1_MIPI_MAX_USID_CHANGE_NUM] =
 {
    // USID change type   , port_sel        , current USID , PRODUCT_ID , MANUFACTORY_ID   new USID
-   {USID_REG_W           , MML1_MIPI_PORT0 , 0xF          , 0x85        , 0x1A5        , 0xE     },
+  {USID_REG_W           , MML1_MIPI_PORT0 , 0xF          , 0x1B        , 0x1A5        , 0xE     },
    {USID_NULL,0,0,0,0,0},
    {USID_NULL,0,0,0,0,0},
    {USID_NULL,0,0,0,0,0},
     这里改mipi的USID,与.h的要一致。包括改一些ID号。这里只是PA的USID改动。
 
 
 
 
 
二.4G配置之
PRX/DRX 配置好BPI, PRx/DRx/Tx ports,Band indicator
custom/modem/el1_rf/MT6735_LTE_MT6169_CUSTOM/lte_custom_rf.h
 
1.BPI :
        由于可能存在共用RF通路的情况,可能需要用BPI来控制,所以l1d_custom_rf.h要配置好BPI参数。
   如图6所示,Band2/Band3共用RF RX通路,用了开关了切换,需要配置好BPI,因为Band2用BUS10,所以:

 

    

 

                      /#define    PDATA_LTE_Band2_PR1      0x00000400
/*MT6169*/#define    PDATA_LTE_Band1_PR2      0x00000400
/*MT6169*/#define    PDATA_LTE_Band1_PR3      LTE_PDATA_OFF
/*MT6169*/
/*MT6169*/#define    PDATA_LTE_Band1_PT1      0x00000000
/*MT6169*/#define    PDATA_LTE_Band1_PT2      0x00000000
/*MT6169*/#define    PDATA_LTE_Band1_PT3      LTE_PDATA_OFF
一般只需要配置PDATA_LTE_Band1_PR1 ,也就是收到信息的部分;
因为4g有主接收和副接受之分,所以要是(主接收 | 副接受)的BPI值来配置,每个bus0代表一位,就是说BUS0和BUS2拉高就是 0x00000005   
   PDATA_LTE_Band1_PR1      0x00000005   (主接收 | 副接受)
   PDATA_LTE_Band1_PR2      0x00000005   (主接收 | 副接受)
   PDATA_LTE_Band1_PR3      LTE_PDATA_OFF
 
注意:
   1.B38/B40/B41比较特殊,一般只需要配置副接受的BPI就可以了;
   2.BAND4的频段在BAND1之内,所以一般不用配置BAND4。
   3.BPI的设置要综合PRX和DRX,两者的BPI值求合,再写到lte_custom_rf.h里;硬件上涉及RF1614A、SKY13418两部分电路。    另外,硬件上Band41的频率包含了Band38,B38必须与B41采用相同的RF配置,所以两者的相关配置(PA/ASM/SEL/PORT)都一样

 

 
2.PRx/DRx/Tx ports:
 
  
PRx:主接收端口的band在MT6169上的端口
   
      #define    LTE_Band1_RX_IO_SEL          RX_IO_HB3
 
 DRx:副
接收端口的band在MT6169上的端口
    
       #define    LTE_Band5_RXD_IO_SEL         RXD_IO_LB3
 
  
Tx ports:各个
band在MT6169上的发射端口
         /*MT6169*/#define    LTE_Band1_TX_IO_SEL          TX_IO_MB2
/*MT6169*/#define    LTE_Band2_TX_IO_SEL          TX_IO_MB2
/*MT6169*/#define    LTE_Band3_TX_IO_SEL          TX_IO_MB2
/*MT6169*/#define    LTE_Band4_TX_IO_SEL          TX_IO_MB2
/*MT6169*/#define    LTE_Band5_TX_IO_SEL          TX_IO_LB4
/*MT6169*/#define    LTE_Band7_TX_IO_SEL          TX_IO_HB1
/*MT6169*/#define    LTE_Band8_TX_IO_SEL          TX_IO_LB4
/*MT6169*/#define    LTE_Band17_TX_IO_SEL         TX_IO_LB4
/*MT6169*/#define    LTE_Band20_TX_IO_SEL         TX_IO_LB4
/*MT6169*/#define    LTE_Band28_TX_IO_SEL         TX_IO_LB4
/*MT6169*/#define    LTE_Band28_2_TX_IO_SEL       TX_IO_LB4
///*MT6169*/#define    LTE_Band34_TX_IO_SEL         TX_IO_MB1   
/*MT6169*/#define    LTE_Band38_TX_IO_SEL         TX_IO_HB1
/*MT6169*/#define    LTE_Band39_TX_IO_SEL         TX_IO_MB2
/*MT6169*/#define    LTE_Band40_TX_IO_SEL         TX_IO_HB1
/*MT6169*/#define    LTE_Band41_TX_IO_SEL         TX_IO_HB1
/*MT6169*/#define    LTE_Band41_2_TX_IO_SEL       TX_IO_HB1
     由这里可以得到:
     HB有:BAND7, BAND38,BAND40,BAND41
     MB有:BAND1--BAND4,BAND34,BAND39
     LB有: BAND5,BAND8,BAND20,BAND28
   根据全球的频段划分的表格,然后1400M---2100是MB,1400M以下是LB,2100M以上是HB;
   如果BAND在LB和MB之间,既可以配LB也可以配MB;
   如果在MB和HB之间,既可以配HB也可以配MB;
 
3.Band indicator: 支持的4Gband
     
/*MT6169*/#define    BAND_INDICATOR1              LTE_Band1
/*MT6169*/#define    BAND_INDICATOR2              LTE_Band3
/*MT6169*/#define    BAND_INDICATOR3              LTE_Band5
/*MT6169*/#define    BAND_INDICATOR4              LTE_Band7
/*MT6169*/#define    BAND_INDICATOR5              LTE_Band8
/*MT6169*/#define    BAND_INDICATOR6              LTE_BandNone
/*MT6169*/#define    BAND_INDICATOR7              LTE_Band38
/*MT6169*/#define    BAND_INDICATOR8              LTE_Band39
/*MT6169*/#define    BAND_INDICATOR9              LTE_Band40
/*MT6169*/#define    BAND_INDICATOR10             LTE_Band41
/*MT6169*/#define    BAND_INDICATOR11             LTE_Band17
/*MT6169*/#define    BAND_INDICATOR12             LTE_Band20
/*MT6169*/#define    BAND_INDICATOR13             LTE_BandNone
/*MT6169*/#define    BAND_INDICATOR14             LTE_BandNone
 
 
 
 
三.4G配置之
设置initial和sleep模式
custom/modem/el1_rf/MT6735_LTE_MT6169_CUSTOM/lte_custom_mipi.c
 
 
 1.设置
INITIAL 
mode,需要看芯片手册
    
LTE_MIPI_IMM_DATA_TABLE_T LTE_MIPI_INITIAL_CW[] =
  {
   // elm type   , port_sel      , data_seq ,    USID          , addr , data  , wait_time(us)
   {LTE_MIPI_PA , LTE_MIPI_PORT0, LTE_REG_W, MIPI_USID_INIT0  , {0x1C, 0x38} , WAITUSCNT(0) }, // Broadcast ID, Standard MIPI, PM_TRIG = normal mode
   {LTE_MIPI_ASM , LTE_MIPI_PORT1, LTE_REG_W, MIPI_USID_INIT0  , {0x1C, 0x38} , WAITUSCNT(0) }, // Broadcast ID, Standard MIPI, PM_TRIG = normal mode
   {LTE_MIPI_END_PATTERN,0,0,0,{0,0},0},
  };
    
   
 2.设置sleep mode,需要看芯片手册
LTE_MIPI_IMM_DATA_TABLE_T LTE_MIPI_SLEEP_CW[] =
{
   // elm type   , port_sel      , data_seq ,    USID          , addr , data  , wait_time(us)
   {LTE_MIPI_PA , LTE_MIPI_PORT0, LTE_REG_W, MIPI_USID_INIT0  , {0x1C, 0x80} , WAITUSCNT(0) }, // Broadcast ID, Standard MIPI, PM_TRIG = low power mode
   {LTE_MIPI_ASM , LTE_MIPI_PORT1, LTE_REG_W, MIPI_USID_INIT0  , {0x1C, 0xB8} , WAITUSCNT(0) }, // Broadcast ID, Standard MIPI, PM_TRIG = low power mode
   {LTE_MIPI_END_PATTERN,0,0,0,{0,0},0},
};
 
 
 
四.4G配置之
RX设置
 
 
 
1.配置RX EVENT
  LTE_MIPI_EVENT_TABLE_T LTE_Band1_MIPI_RX_EVENT[] =
{
   /* No.     elm type     , data idx       , evt_type           , evt_offset     */
   /*                        { start, stop },                      ( us )         */
   { /* 0  */ LTE_MIPI_ASM , { 0    , 1    }, LTE_MIPI_TRX_ON    , LTE_FDD_MIPI_ASM_RX_ON0 },
   { /* 1  */ LTE_MIPI_ASM , { 2    , 3    }, LTE_MIPI_TRX_OFF   , LTE_FDD_MIPI_ASM_RX_OFF0},
   { /* 2  */ LTE_MIPI_NULL, { 0    , 0    }, LTE_MIPI_EVENT_NULL, 0              },
}
 注意:因为我们这里只有主集上有ASM设备,所以只需要配置0--1
              3因为是LTE_MIPI_TRX_OFF,所以要配成ASM的休眠模式,0XB8
 
LTE_MIPI_EVENT_TABLE_T LTE_Band40_MIPI_RX_EVENT[] =
{
   /* No.     elm type     , data idx       , evt_type           , evt_offset     */
   /*                        { start, stop },                      ( us )         */
   { /* 0  */ LTE_MIPI_ASM , { 0    , 1    }, LTE_MIPI_TRX_ON    , LTE_TDD_MIPI_ASM_RX_ON0 },
   { /* 1  */ LTE_MIPI_PA , { 2    , 3    }, LTE_MIPI_TRX_ON    , LTE_TDD_MIPI_PA_TX_ON0 },  //3P4T TRX Port On
   { /* 2  */ LTE_MIPI_ASM , { 4    , 5    }, LTE_MIPI_TRX_OFF   , LTE_TDD_MIPI_ASM_RX_OFF0},
   { /* 3  */ LTE_MIPI_PA , { 6    , 7    }, LTE_MIPI_TRX_OFF   , LTE_TDD_MIPI_PA_TX_OFF0},
   { /* 4  */ LTE_MIPI_NULL, { 0    , 0    }, LTE_MIPI_EVENT_NULL, 0              },
};
注意:因为band38,band40,和band41比较特殊,有bypass mode,所以要配置PA
 
 
2.配置RX DATA
根据理解sky77916的原理图和sky77916的芯片手册配置接收端口


 注意:第0行是初始化状态的值,就是initial mode的值;
               第1行是需要切换到sky77916的的哪个端口的值,0x00是寄存器,0x19的看芯片手册得到切换到哪个端口输出;
               第3行要设置成ASM的休眠模式,也就是0x1c寄存器写0XB8;
               要向硬件确认band1几个频道的是否正确,如果没有的band需要添加
 
注意:因为BAND38,39,40,41是TDD-LTE,所以要把0x00第五位置1,所以这里是29
 

 

  
  注意:一般RX只需要配置ASM SKY77916,但Band38/40/41有Bypass模式,Bypass模式的RX在SKY77643里0X02寄存器配置
            这里0--1行是ASM配置,和前面一样;
               这里2--3行是PA配置,也就是SKY77643,看B40和BAND41连接在SKY77643上哪个口,然后配置0x02到相应的寄存器;
               这里4--5行需要配置成ASM的休眠模式,也就是0XB8,和sleep mode里面一样;
               这里6--7行需要配置成PA的休眠模式,也就是0X80,和sleep mode里面一样;
 
 
 
五.4G配置之T
X设置
   
 
1.TX Event配置
  LTE_MIPI_EVENT_TABLE_T LTE_Band1_MIPI_TX_EVENT[] =
{
   /* No.     elm type     , data idx       , evt_type           , evt_offset     */
   /*                        { start, stop },                      ( us )         */
   { /* 0  */ LTE_MIPI_PA  , { 0    , 4    }, LTE_MIPI_TRX_ON    , LTE_FDD_MIPI_PA_TX_ON0 },//PA On
   { /* 1  */ LTE_MIPI_PA  , { 5    , 5    }, LTE_MIPI_TRX_OFF   , LTE_FDD_MIPI_PA_TX_OFF0},//PA Off
   { /* 2  */ LTE_MIPI_ASM , { 6    , 7    }, LTE_MIPI_TRX_ON    , LTE_FDD_MIPI_ASM_TX_ON0},
   { /* 3  */ LTE_MIPI_NULL, { 0    , 0    }, LTE_MIPI_EVENT_NULL, 0              },   
};
注意:这里做上面表哥里面的0--4步和6--7步
 
2.TX Data配置
    功率表(厂家提供)
     
     注意: 这里每个BAND有32组不同dB的数据,mipi up里面就寄存器的值,  
0X0F5C0038:0x0F40005C:0x0F410078:0x0F4200C0:0x0F430089
  以0X0F5C0038示例分解:
     USID      = 0XF;
     Format   =  0x2;
     Address = 0x1C;
     Date       = 0x38;
     就说向usid为0xF的MIPI器件的0X1C地址写入0X38,格式是两个字节
    后面四个数据,是写0x00--0x03写入数据

  
注意: 第0步是PA初始化状态;
               第1步是根据PA的0x00寄存器和原理图来填充,切换到相应的BAND;
               第2步根据PA的0x01寄存器,写入厂家提供的功率表里面的最高功率值,这里是0x78(MIPI UP里面第一行的第3个值);
               第3步根据PA的0x02寄存器和原理图来填充切换到相应的BAND并打开PA;
            第4步根据PA的0x03寄存器,写入厂家提供的功率表里面的最高功率值,这里是0x89(MIPI UP里面第一行的第5个值);
               第6--7步是根据ASM的原理图和芯片手册来填写0x00寄存器的值;
               这里BAND39的输入和输出ASM的脚不一样。;
  
 
 
六.4G配置之TPC(功率)
设置
  
 
注意:这里第1列与上面TX DATA 一致,就是将PA切换到相应的band上;
             0x02这个寄存器根据功率表,从低到高填写,我们这里是隔三个取一个值,因为功率表有32个功率;
             band1有5个频率,我们这里都一样,所以这五个数组是完全一样的;
             
 
 
七.4G配置之Isolation
设置
  
 
 
 
七.4G配置之bypass mode设置(只有TX才有bypass)
  1
.TX Event配置与普通BAND一样
   2.
TX Data配置也和普通的一样,bypass是单独的一路发射
   3.
TPC(功率)
设置也与普通band一样
 
 
 
八.4G配置之关闭bypass

 

    
硬件工程师用META工具调试射频时,调试B38/B40/B41正常模式下,需要先把Bypass的RF配置关闭,否则信号一直从Bypass出来,影响调试。(可把Indicator配为BandNone)

 

         custom/modem/el1_rf/MT6735_LTE_MT6169_CUSTOM/lte_custom_mipi.h
         /*** MIPI BYPASS Feature ***/
#define  LTE_MIPI_BYPASS_BAND_INDICATOR1          LTE_Band38
#define  LTE_MIPI_BYPASS_BAND_INDICATOR2          LTE_Band40
#define  LTE_MIPI_BYPASS_BAND_INDICATOR3          LTE_Band41
#define  LTE_MIPI_BYPASS_BAND_INDICATOR4          LTE_BandNone
#define  LTE_MIPI_BYPASS_BAND_INDICATOR5          LTE_BandNone
   把相应的band设置为LTE_BandNone,就可以关闭bypass模式
 
 
 
九.WCDMA配置之
PRX配置好BPI, PRx/DRx/Tx ports,Band indicator
1.BPI设置:
    
#define    PDATA_BAND1_PR1      0x00000000     
#define    PDATA_BAND1_PR2      0x00000000     
#define    PDATA_BAND1_PR2B     PDATA_BAND1_PR2
#define    PDATA_BAND1_PR3      0x00000000     
#define    PDATA_BAND1_PT1      PDATA_BAND1_PR1
#define    PDATA_BAND1_PT2      0x00000000     
#define    PDATA_BAND1_PT2B     PDATA_BAND1_PT2
#define    PDATA_BAND1_PT3      0x00000000
   注意:与4G类似,看用了什么bus, 这里没有DRX, 只有主天线PRX;
              发射的时候BPI用了什么BUS,我们这里没有用。
 
2.
PRx 
ports
          /*MT6169*/ #define    BAND1_CHANNEL_SEL    LNA_HB_3
/*MT6169*/ #define    BAND2_CHANNEL_SEL    LNA_MB_2
/*MT6169*/ #define    BAND3_CHANNEL_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND4_CHANNEL_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND5_CHANNEL_SEL    LNA_LB_2
/*MT6169*/ #define    BAND6_CHANNEL_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND8_CHANNEL_SEL    LNA_LB_1
/*MT6169*/ #define    BAND9_CHANNEL_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND10_CHANNEL_SEL   NON_USED_BAND
/*MT6169*/ #define    BAND11_CHANNEL_SEL   NON_USED_BAND
/*MT6169*/ #define    BAND19_CHANNEL_SEL   NON_USED_BAND
  注意:这里是选择3G band在MT6169上接收的端口;
                
3..D
Rx 
ports
 
   
 
/*MT6169*/ #define    BAND1_CHANNEL2_SEL    LNA_RXD_MB_1
/*MT6169*/ #define    BAND2_CHANNEL2_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND3_CHANNEL2_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND4_CHANNEL2_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND5_CHANNEL2_SEL    LNA_RXD_LB_3
/*MT6169*/ #define    BAND6_CHANNEL2_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND8_CHANNEL2_SEL    LNA_RXD_LB_2
/*MT6169*/ #define    BAND9_CHANNEL2_SEL    NON_USED_BAND
/*MT6169*/ #define    BAND10_CHANNEL2_SEL   NON_USED_BAND
/*MT6169*/ #define    BAND11_CHANNEL2_SEL   NON_USED_BAND
/*MT6169*/ #define    BAND19_CHANNEL2_SEL   NON_USED_BAND
    注意:其实我们这里没有副接收,所以本来不需要配置,但是为了保险还是配置一下
 
 4.
Tx ports
          /*MT6169*/ #define    BAND1_OUTPUT_SEL     TX_MB_1
/*MT6169*/ #define    BAND2_OUTPUT_SEL     TX_MB_1
/*MT6169*/ #define    BAND3_OUTPUT_SEL     TX_NULL_BAND
/*MT6169*/ #define    BAND4_OUTPUT_SEL     TX_NULL_BAND
/*MT6169*/ #define    BAND5_OUTPUT_SEL     TX_LB_4
/*MT6169*/ #define    BAND6_OUTPUT_SEL     TX_NULL_BAND
/*MT6169*/ #define    BAND8_OUTPUT_SEL     TX_LB_4
/*MT6169*/ #define    BAND9_OUTPUT_SEL     TX_NULL_BAND
/*MT6169*/ #define    BAND10_OUTPUT_SEL    TX_NULL_BAND
/*MT6169*/ #define    BAND11_OUTPUT_SEL    TX_NULL_BAND
/*MT6169*/ #define    BAND19_OUTPUT_SEL    TX_NULL_BAND

   注意:3G band的Band_Output_sel的配置根据MT6169 TX连接到SKY77643的端口来设置

 

 
 5.
Band indicator
          /*MT6169*/ #define    RX_HIGHBAND1_INDICATOR UMTSBand1
/*MT6169*/ #define    RX_HIGHBAND2_INDICATOR UMTSBand2
/*MT6169*/ #define    RX_HIGHBAND3_INDICATOR UMTSBandNone
/*MT6169*/ #define    RX_LOWBAND1_INDICATOR UMTSBand5
/*MT6169*/ #define    RX_LOWBAND2_INDICATOR UMTSBand8
注意:这里是写我们支持的band
 
6.NVRAM BPI setting overwrite the GPIO BPI setting(nvram里面的数据覆盖setting里面的)
            /*MT6169*/ /************************************************************/
/*MT6169*/ /* For Single SW vs. multiple HW feature                    */
/*MT6169*/ /* Let the NVRAN BPI setting overwrite the GPIO BPI setting,*/
/*MT6169*/ /* If they are not the same (wrong config. by customer)     */
/*MT6169*/ /************************************************************/
/*MT6169*/ #define    RF_SETTING_BY_NVRAM   KAL_TRUE
   NVRAM 非易失性随机访问存储器 (Non-Volatile Random Access Memory),是指断电后仍能保持数据的一种RAM。
 
 
 
十.WCDMA配置之MIPI配置
 1.使能MIPI
  custom/modem/ul1_rf/MT6735_UMTS_FDD_MT6169_CUSTOM/ul1d_custom_mipi.h
   #if (IS_3G_MIPI_SUPPORT)^M
 /*Enable/Disable 3G FDD MIPI function*/^M
  #define IS_3G_MIPI_ENABLE  1^M  //使能
 
2.initia和sleep配置
  暂时不用配置
 
3.RX设置
  
  注意:因为没有副接受,所以只设置0--1;
             第1行就SKY7716切换到相应band;
             后面的set0或者set0不用设置.
 
3.TX设置
    
             UL1_MIPI_EVENT_TABLE_T UMTS_MIPI_TX_EVENT_UMTSBand1[UL1_MIPI_TX_EVENT_NUM] =
{
               /* No.     elm type , data idx       , evt_type       , evt_offset     */
   /*                     { start, stop },                  ( us )         */
   { /* 0  */ MIPI_PA,   { 0    , 2   }, MIPI_TRX_ON,     US2CHIPCNT(200) },  //打开PA
   { /* 1  */ MIPI_PA,   { 3    , 4   }, MIPI_TRX_OFF,    US2CHIPCNT(10)  },   //关闭PA,也就是休眠
   { /* 2  */ MIPI_ASM,  { 5    , 6   }, MIPI_TRX_ON,     US2CHIPCNT(200) },  //打开ASM
   { /* 3  */ MIPI_NULL, { 0    , 0    }, MIPI_EVENT_NULL, 0              },
}
根据上面的event填写寄存器:
  注意: 这里第1--2行PA只需要填入0x00和0x02寄存器,也就是切换band的部分;
                 这里第5--6行ASM只需要0x00填入band的切换部分.
不能填的原因:

 
 4.TPC设置

 

    
    注意: 一共32行,没4行一个单元,每行4个数据,每行的4个数据一样,和4G一样,隔三个取一个
               0x00---0x03都是PA sky77643的寄存器值,前面有配置0x00,0x02, 0x01和0X03是电流值,根据厂家功率表
 
5.isolation设置
  暂时不需要设置,写0;
 
 
 
十一.GSM配置之
PRX配置好BPI, PRx/Tx ports

1.BPI设置
    GSM不存在分级接收,主接收都是通过MIPI器件SKY77916来控制的,但由于可能存在共用RF通路的情况,可能需要用BPI来控制
     /*MT6169*/ #define  PDATA_8PSK              0x00000000                              /*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM850_PR1       (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM850_PR2       (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM850_PR3       (0x00000000                             )/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM_PR1          (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM_PR2          (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_GSM_PR3          (0x00000000                             )/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_DCS_PR1          (0x00000400           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_DCS_PR2          (0x00000400           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_DCS_PR3          (0x00000000                             )/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_PCS_PR1          (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_PCS_PR2          (0x00000000           |PDATA_GSM_ERR_DET)/*MIPI ENABLE*/
/*MT6169*/ #define  PDATA_PCS_PR3          (0x00000000                             )/*MIPI ENABLE*/
注意:这里    PDATA_GSM850_PR1是band5     
                    PDATA_GSM_PR1      是band8
                         PDATA_DCS_PR1       是band3      
                    PDATA_PCS_PR1       是band2     

  

 2.RX设置
          /*MT6169*/ #define GSM850_PATH_SEL IORX_LB2/*MIPI ENABLE*/
/*MT6169*/ #define GSM_PATH_SEL    IORX_LB1/*MIPI ENABLE*/
/*MT6169*/ #define DCS_PATH_SEL    IORX_MB2/*MIPI ENABLE*/
/*MT6169*/ #define PCS_PATH_SEL    IORX_MB2/*MIPI ENABLE*

   注意:配置各个band在mt6169的端口

 
 2.TX设置
    GSM的TX信号是从MT6169出来后直接通过SKY77916的LB_IN/HB_IN(B5与B8为LB_IN,B2与B3为HB_IN),然后就送到天线端的,没有经过PA SKY77643,这点与3G/4G有区别
          
/*MT6169*/ #if IS_2G_MIPI_ENABLE
/*MT6169*/ #define GSM850_PORT_SEL IOTX_LB3/*MIPI ENABLE*/
/*MT6169*/ #define GSM_PORT_SEL    IOTX_LB3/*MIPI ENABLE*/
/*MT6169*/ #define DCS_PORT_SEL    IOTX_MB2/*MIPI ENABLE*/
/*MT6169*/ #define PCS_PORT_SEL    IOTX_MB2/*MIPI ENABLE*/
 
    
  
十二.GSM配置之MIPI配置
 1.MIPI enable
  
#define IS_2G_MIPI_ENABLE                1
      #if IS_2G_MIPI_ENABLE
 
 2.RX register配置
  
  这里就是配置ASM SKY7716切换band,只要要配置这4项就行,后面和下面的都不用配置。
 
 3.TX register配置
  
  
  注意:因为2G是从mt6169直接到ASM sky77916,通过的sky7916的B5与B8为LB_IN,B2与B3为HB_IN
进入;
                       所以根据ASM的芯片手册得到B5和B8为0x0A,B2和B3为0x0E.
 
 4.GSMK和8PSK的配置
  
   
  
  注意: 因为有GSMK和8PSK两种,无法存储在DATA里面,所以需要存储在mipi_txctrl_pa_data里面
                     根据SKY77916的芯片手册上面的band1的
GSMK的值是0X0A;
                     
根据SKY77916的芯片手册上面的band1的
8PSK
的值是0X0B;
 
 
 
十三.TDSCDMA配置
 
  custom/modem/tl1_rf/MT6735_MT6169_UMTS_TDD_CUSTOM/tl1d_custom_rf.h
 
   1.相关宏设置

   由于TD-SCDMA也是由MIPI所控制,使能 MIPI_SUPPORT_ENABLE . 

   TD-SCDMA走的是sky77916,需要将Vramp电压关闭,定义 #define INTERNAL_SW 0

   

 

  2.配置PA gain

     根据供应商Sky提供的“sky77916E2.0  LUT Version2.0a 010115.xlsx”得知SKY77916对应于TDS band34/39的PA有两个功率等级,因此修改“tl1d_custom_mipi.h”的gain mode定义。

       

    

      因为我们有L和H,所以配置为:

       

    

  3.收发BPI设置

   

   猜测第1列数据就是BPI的位移

 

 4.TX和RX设置

   根据硬件原理图,配置好TD-SCDMA 的 TX/RX信号来源 RF_PORT_SEL

   

 

 

 

十四.TDSCDMA MIPI配置

   custom/modem/tl1_rf/MT6735_MT6169_UMTS_TDD_CUSTOM/tl1d_custom_mipi.h

   修改tl1d_custom_mipi.h 配置mipi参数,TDS的TX/RX都走SKY77916,故ASM/PA都为SKY77916 ,其MIPI数据格式与GSM/LET都不一样,但细心计算便没问题。

  需要注意的是Tx on data的数据是在另外的PA mode setting 中定义的,PA_REG_NUM_B34即为 PA mode setting的数据长度。

          

   注意:这里也设置发射和接收的时候需要写的寄存器。

    

     这里就是我们需要设置的event: 分别是RX ON, RX OFF , TX ON ,TX OFF

 

     对应EVENT的DATA

     

          

       

     注意:这里也算比较直观了,第1,2,4也就是RX ON, RX OFF ,Tx off都是同一种形式;

                    修改的数据段分别是BAND34,band39的高16BIT和低16BIT;

       数据的含义如下图所示:

       

 

      然后解释下TX ON DATA的含义:

          /*MT6169*/   #define  PA_SEL_FLAG        0xf000      //PA mode selection ±í??PA MODE?¨???è?¨

/*MT6169*/   #define  PA_REG_NUM_B34         3           //RegNum

/*MT6169*/   #define  PA_REG_NUM_B39         3           //RegNum

         

          PA_REG_NUM_B34和PA_REG_NUM_B39 表示setting里面有几列数据      
             
     我们这里要设置高低中3中状态的值,每种状态3行数据也就是上面设置的 :#define  PA_REG_NUM_B34         3           //RegNum
      PA mode setting的PA值,需参考供应商SKY提供的功率表“sky77916E2.0  LUT Version2.0a 010115.xlsx”
  
   这里只有中低两种状态,所以中状态也是填低状态值。
 

 

posted @ 2020-11-26 15:10  luoyuna  阅读(2779)  评论(0编辑  收藏  举报