modem——高通QC 4G RFcard配置之ASM器件配置

1.创建包含所有文件的ASM驱动程序rfdevice_fem/asm/src/:
a. Create the rfdevice_asm_XYZ_data_ag.h file
b. Create the rfdevice_asm_XYZ_data.ag.cpp file
c. Modify the rfdevice_asm_factory.cpp file

2.Set ASM_ENABLE_REG/DATA

ASM ENABLE REG/DATA保存射频操作中打开ASM时的寄存器地址和软件写入的内容。ASM驱动中的端口是现代软件中的一个逻辑概念。软件使用一个端口来恢复每个ASM操作状态的寄存器设置。

3.Bus_idx in ASM driver

idx总线是为将来的发展而保留的

所有场景都设置为0x00

4.Set ASM_ENABLE_REG/DATA

在每个ASM结构中增加新的RFFE写掩码字段

每个寄存器地址都有一个数据项和写mask item。

5.Set ASM_SLEEP_REG/DATA

为了节省电流,当ASM不活动时,将其置于休眠状态。

寄存器0x1C位[7:6]在MIPI RFFE规范中被定义为PM TRIG。

在默认的ASM实现中,使用寄存器0x1C = 0x80作为sleep命令。

如果在进入休眠前需要将寄存器0x00放置到特殊状态,则展开寄存器如下所示。

0x1C写在中间需要登记寄存器0x00写。

6.Set ASM_TRIGGER

ASM触发器用于在单个RFFE总线上同时执行多个MIPI命令。

调制解调器按顺序发送下一个模式的ASM寄存器设置,但是直到收到触发器后才执行命令。当ASM接收到触发器命令时,它根据之前接收到的命令重写MIPI寄存器。详细信息请参见RFFE厂商规格(80-N7876-1)。

7.ASM Device_flags_get

ASM驱动程序中必须设置两个标志:

asm_sleep_self_trigger
ca_register_merge

8.Set MIPI Parameters for ASM

  1. mfg_id and prd_id匹配ASM数据表中的值。
  2. Prd_rev是由QTI软件中使用的逻辑概念定义的,而不是ASM供应商。它允许软件用相同的mfg id和prd id为两个不同的ASM部件填充不同的ASM驱动程序。
  3. 在某些情况下,两个ASM部件可能具有相同的mfg id和prd id,但不同的寄存器设置需要不同的ASM驱动程序。软件通过在ASM驱动和rfdevice_asm_factory_ag.cpp中分配一个不同的prd rev来支持这个场景

9.修改rfdevice_asm_factory_ag.cpp

    a.Add the header file of rfdevice_asm_XYZ_data.h

    b.Add the if-else condition for the new ASM.

注意:else if条件中的prd rev必须与rfdevice asm XYZ data ag.cpp中的prd rev相同

10.MIPI Device Setting in cmn_devices_list

File:\modem_proc\rfc_atlas\rf_card\rfc_wtr5975_gsku\src\rfc_wtr5975_gsku_cmn_ag.cpp

11.在 Each Band中的设置

你可能感兴趣的:(modem_QC,射频工程,驱动开发)