高通平臺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"

後面,我們將繼續分解其他表格填寫。


分享到:


相關文章: