高通平台RF配置流程
**注:**本文参考项目路径和代码为SIM7600 LE20分支
1 准备工作
需要的资料:
- 各个器件的datasheet
- 原理图
- 逻辑表(内容包含支持哪些制式、band,各个band用到哪些器件,需要哪些GPIO,GPIO配高还是配低等)
上诉由RF同事提供
RF驱动modem的配置工作有:
- 物理、逻辑列表的配置
- PA、ASM文件的添加
- 各制式下的TX、RX配置
- GPIO开关控制
2 物理、逻辑列表的配置
2.1 rf_card类型选择
RF卡有许多类型,不同的RF卡对应不同的device list
rf_card文件夹路径AMSS_LE20/modem_proc/rfc_jolokia/rf_card
,该路径下包含了所有用到的RF卡类型:

在代码编译时,所有的RF cards文件都会被编译,modem使用NV:1878
来决定实际使用哪个卡。NV1878数值与RF card类型的对应关系表在文件Rfc_hwid.h。


在AMSS_LE20项目中,读取NV1878值为250,所以RF卡类型应为RF_HW_WTR2965_NON_CA2_4320_SIM_0
,对应源文件路径AMSS_LE20/modem_proc/rfc_jolokia/api/rfc_hwid.h
。
**注:**NA是北美、EU是欧洲。
/* -------------------------------------------------------
** The RF Card Id used in the target
** Note: The Id needs to be sequential
** ------------------------------------------------------- */
typedef enum {
RF_HW_UNDEFINED = (uint8)0,
RF_TARGET_NONE = RF_HW_UNDEFINED,
......
RF_HW_WTR2965_NON_CA2_4320_SAW = (uint8)219,
RF_HW_WTR2965_DUAL_WTR_4320_GPS = (uint8)223,
RF_HW_WTR2965_NON_CA2_4320_SIM_0 = (uint8)250, //Add by sim
RF_HW_WTR2965_NON_CA2_4320_SIM = (uint8)241, //Add by sim
......
} rf_hw_type;
rf_card的选择:和RF工程师一起确定选用那个RF_card,这需要根据是否支持CA,支持哪些band来做初步确定,当问题无法确定时,可以提case到高通请求协助确定。
2.2 配置物理逻辑列表
在RFC common文件中,为ASM和PA设备更新信息,比如:在modem_proc/rfc_jolokia/rf_card/rfc_wtr2965_non_ca2_4320_sim_0/common/src/rfc_wtr2965_non_ca2_4320_sim_0_cmn_ag.cpp
中:
1、WTR2965是原本就存在的,需要注意的是wtr2965总线的确定
{ 4,0 /* 0 not specified */,}, /* PHY_DEVICE_COMM_BUS */
{
/*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 */
RFDEVICE_COMM_PROTO_VERSION_DEFAULT, /* PHY_DEVICE_COMM_PROTOCOL_VERSION */
{
4,0 /* 0 not specified */,}, /* PHY_DEVICE_COMM_BUS */
0x217, /* PHY_DEVICE_MANUFACTURER_ID */
0xCA, /* PHY_DEVICE_PRODUCT_ID */
0, /* PHY_DEVICE_PRODUCT_REV */
0x1, /* DEFAULT USID RANGE START */
0x1, /* DEFAULT USID RANGE END */
0x1, /* PHY_DEVICE_ASSIGNED_USID */
0 /*Warning: Not specified*/, /* RFFE_GROUP_ID */
FALSE, /* INIT */
RFC_TX_MODEM_CHAIN_0, /* ASSOCIATED_DAC */
}, /* END - Device: WTR2965 */
2、配置新增的器件信息,这里以S5643-52为例
{
/*Device: S5643-52 */
GEN_DEVICE, /* PHY_DEVICE_NAME */
1, /* PHY_DEVICE_INSTANCE */
2, /* PHY_DEVICE_ALT_PART_NUM_OF_INSTANCE */
RFDEVICE_COMM_PROTO_RFFE, /* PHY_DEVICE_COMM_PROTOCOL */
RFDEVICE_COMM_PROTO_VERSION_DEFAULT, /* PHY_DEVICE_COMM_PROTOCOL_VERSION */
{
0,