高通平台RF driver调试(三)——RF driver揭秘

高通平台RF driver调试(三)——RF driver揭秘

高通平台RF driver调试(三)----RF driver揭秘

项目是基于Q厂智能手机平台

前面两篇《Q厂平台RF driver调试(一)----代码编译》和《Q厂平台RF driver调试(二)----环境准备》都是介绍一些准备工作,从本文开始将会介绍真正的RF driver的配置和调试细节。

阅读Q厂的RF driver相关的文档,可以知道HE平台基线的RF code变化非常大。

首先,需要说的就是如何编写代码部分。以往RF driver工程师一般工作流程就是需要把MIPI器件的信息收集对,然后copy一份RF driver,接着一行一行的修改代码,代码量基本是数以万计,一个小小的疏忽将会导致编译不过,即使编译通过,测试结果也是事与愿违,debug时间相对长。HE平台开始,Q厂强推QRCT4来编辑RF器件的参数,以XML文件格式保存,再通过此工具将XML文件转化成code,此变化的好处:

I、 将RF器件参数与代码分开,RF软硬件都可以编辑

II、 用QRCT工具编译RF器件参数,更加直观方便,方便debug

III、 避免手动敲代码带来的笔误

QRCT4功能非常强大,具体使用可以参考Q厂众多文档,这里只介绍RF driver配置过程中需要填写的地方。

A、 Card Variants

这里是填写RF card ID的地方,随便写一个值,但是要注意两点:

I、 要跟NV28967->hardware_id保持一致

II、 要跟现有HW ID区分开,不能冲突

B、 Physical devices

C、 Signal path

D、 Card Properities

E、 Concurrency Restrictions

F、 FBRx Path

G、 Antenna Switch Path

H、 Antenna Switch Path Restrictions

I、 Code Generation

其次,RF driver的架构的变化。HE以前的平台都是按照RAT和Band为标准来配置RF driver,从HE平台开始,Q厂觉得这样需要改善,将相同band使用相同signal path的不同RAT的RF driver合并,从而减少代码量。而作为最高优先级的signal path将会包含如下元素:

I、 Band

II、 Physical devices

III、 GRFC devices

IV、 Timing

实际在RF driver配置过程中,我们还是以band为标准一个一个去配置。

后面的章节,将会重点介绍physical device表、signal path表、Antenna Switch Path表和Antenna Switch Path Restrictions表配置方法和细节。

一、Physical device表

由于元器件的集成度越来越高,往往一个器件会包含多个逻辑功能,例如QPM4650器件,它不光有PA和ASM功能,还有LNA功能。QRCT4的Physical device表将会把器件硬件信息和逻辑功能都包含进来,在RF driver初始化的时候,手机会把所有的逻辑器件全部罗列出来,注意不要添加无用的物理器件和逻辑器件到Physical device表。

1、 确认IC的硬件版本

研发初始阶段,很多器件并不是只用CS芯片,而是使用ES、EP阶段的物料,如果物料HW version没有,将会填入错误的参数,会导致RF初始化失败,导致整机无法开机。例如QPM4621:

高通平台RF driver调试(三)——RF driver揭秘

高通平台RF driver调试(三)——RF driver揭秘

从上图的对照来看,硬件版本不同,PID、USID和Chip Rev都不相同,所以如果在配置RF driver之前,没有确认RF器件的硬件版本,对于调试过程将是噩梦。

2、 填写Excel版本的physical list

高通平台RF driver调试(三)——RF driver揭秘

这个表将包含,硬件器件名、逻辑器件名、物理器件ID、逻辑器件功能、逻辑器件名、BUS、MID、PID、product version、Default USID、Assigned USID。其中大部分可以按照IC的规范去填写,只有BUS和Assigned USID需要特别注意。

3、 BUS

这里说的BUS和QRCT里面的channel是一个东西,需要结合RF原理图来定。

如下图是QRCT4

高通平台RF driver调试(三)——RF driver揭秘

在原理图里面,可以找到SDR_RFFE0_DATA、 SDR_RFFE0_CLK和SDR_RFFE1_DATA、 SDR_RFFE1_CLK。

高通平台RF driver调试(三)——RF driver揭秘

每个物理器件包含的多个逻辑器需要用哪条BUS,就要在再看这个器件的规格书了。比如:RPA4621的功能是PA,肯定就是用于TX的,在规格书里面可以找到下图,并且对应的管脚编号与SDR_RFFE0_DATA、 SDR_RFFE0_CLK一致,所以RPA4621的BUS就应该为0.

高通平台RF driver调试(三)——RF driver揭秘

4、 Assigned USID

按照规定,每条BUS上面如果有相同的USID,将是不被允许的,这里需要重新分配一个值,如果没有重复的,Default USDI和Assigned USID保持一致即可。

5、 逻辑器件specifier

逻辑器件specifier的写法,个人觉得A和B可能是QRCT的bug

A、 PA、ET、Tunner不能写specifier

B、 ASM、LNA、Coupler要写

C、 多个LNA要标注1,2,3,4

D、 ASM和LAN的器件需要把ASM勾上"ASM in between ELAN and WTR"

后面,我们将继续分解其他表格填写。


分享到:


相關文章: