需要的资料:
1、各个器件的datasheet
2、原理图
3、逻辑表(内容包含支持哪些制式、band,各个band用到哪些器件,需要哪些GPIO,GPIO配高还是配低等)
上述由RF同事提供
下面从几个方面介绍RF驱动modem部分的配置工作:
1、物理,逻辑列表的配置
2、PA ASM 文件的添加
3、各制式下的RX TX 配置
4、GPIO开关控制
一、物理,逻辑列表的配置
在配置物理逻辑列表前,首先需要确定几个问题。
rf_card的选择:和RF工程师一起确定选用那个RF_card,这需要根据是否支持CA,支持哪些band来做初步确定,当问题无法确定时,可以提case到高通请求协助确定。
相关器件的功能确定:有些器件的作用是即可作为PA又能作为ASM的,这时需要RF工程师提供相关器件的datasheet以便确定这些问题。
确定过上述问题后就可以配置物理逻辑列表了,下面以MSM8937平台为例,具体展示配置过程:
首先根据RF工程师和相关资料确定使用的rf_card为rfc_wtr2965_qrd_non_ca_4373_1,明显是不支持CA的,打开common\src\rfc_wtr2965_qrd_non_ca_4373_1_cmn_ag.cpp文件开始配置物理逻辑列表:
rfc_phy_device_info_type rfc_wtr2965_qrd_non_ca_4373_1_phy_devices_list[]=
{
{ /*Device: WTR2965 */
WTR2965, /* PHY_DEVICE_NAME */
0, /* PHY_DEVICE_INSTANCES */
RFC_NO_ALTERNATE_PART, /* PHY_DEVICE_ALT_PART_NUM_OF_INSTANCE */
RFDEVICE_COMM_PROTO_RFFE, /* PHY_DEVICE_COMM_PROTOCOL */
{ 4,0 /* 0 not specified */,}, /* PHY_DEVICE_COMM_BUS */
0x217, /* PHY_DEVICE_MANUFACTURER_ID */
0xCA, /* PHY_DEVICE_PRODUCT_ID */
0, /* PHY_DEVICE_PRODUCT_REV */
0x01, /* DEFAULT USID RANGE START */
0x01, /* DEFAULT USID RANGE END */
0x01, /* PHY_DEVICE_ASSIGNED_USID */
0 /*Warning: Not specified*/, /* RFFE_GROUP_ID */
FALSE, /* INIT */
RFC_TX_MODEM_CHAIN_0, /* ASSOCIATED_DAC */
}, /* END - Device: WTR2965 */
{ /*Device: QFE2101 */
QFE2101, /* PHY_DEVICE_NAME */
1, /* PHY_DEVICE_INSTANCES */
RFC_NO_ALTERNATE_PART, /* PHY_DEVICE_ALT_PART_NUM_OF_INSTANCE */
RFDEVICE_COMM_PROTO_RFFE, /* PHY_DEVICE_COMM_PROTOCOL */
{ 0,0 /* 0 not specified */,}, /* PHY_DEVICE_COMM_BUS */
0x217, /* PHY_DEVICE_MANUFACTURER_ID */
0x31, /* PHY_DEVICE_PRODUCT_ID */
0, /* PHY_DEVICE_PRODUCT_REV */
0x4, /* DEFAULT USID RANGE START */
0x4, /* DEFAULT USID RANGE END */
0x4, /* PHY_DEVICE_ASSIGNED_USID */
0 /*Warning: Not specified*/, /* RFFE_GROUP_ID */
TRUE, /* INIT */
RFC_INVALID_PARAM, /* ASSOCIATED_DAC */
}, /* END - Device: QFE2101 */
{ /*Device: AP6716M for PA and ASM */
GEN_DEVICE , /* PHY_DEVI