高通linux 匯流排介紹

2021-08-27 20:49:01 字數 1545 閱讀 8235

i2c

概述驅動:

drivers/i2c/

高通平台的i2c:

drivers/i2c/busses/i2c-msm-v2.c

分析本產品用到i2c的地方有:camera。

以camera的i2c為例:

裝置樹內容內容:

i2c_3

:i2c@78b7000

;根據核心配置檔案和compatible = "qcom,i2c-msm-v2"; 很容易找到概述

drivers/i2c/busses/i2c-msm-v2.c。

摘取i2c-msm-v2.c中關鍵內容:

static

struct

of_device_id i2c_msm_dt_match

=,{}};

static

struct

platform_driver i2c_msm_driver =,

};static

inti2c_msm_init

(void

)結合linux i2c裝置驅動原理,熟悉上面出現的函式。

以下函式,可對應到裝置樹內容中很多資訊:

/** i2c_msm_rsrcs_process_dt: copy data from dt to platform data

* @return zero on success or negative error code

*/static

inti2c_msm_rsrcs_process_dt

(struct

i2c_msm_ctrl

*ctrl

,struct

platform_device

*pdev),

,,,,

,,,,

,};ret

=i2c_msm_dt_to_pdata_populate

(ctrl

,pdev

,map

);if

(ret

)return

ret;

/* set divider and noise reject values */

return

i2c_msm_set_mstr_clk_ctl

(ctrl

,fs_clk_div

,ht_clk_div

,noise_rjct_scl

,noise_rjct_sda);}

輸入輸出時鐘設定:

qcom,clk-freq-out = <100000>;

qcom,clk-freq-in = <19200000>;

i2c、spi、usb驅動架構的模擬

這幾個裝置用的架構是linux常用架構之一。從板級邏輯層看,usb具有匯流排熱拔插能力,這層對於usb裝置已無意義;假如usb裝置有這層**,說明板子上有這個裝置,但實際並沒有usb裝置,反而帶來了錯誤。熟悉模擬圖中出現的函式名。

高通開發者工具介紹

在高通平台上,為了幫助客戶優化功耗和效能,高通提供了一些開發工具包,包含了sdk包 分析工具等。如下圖所示,這些工具在不同開發階段的使用,可以在 裡整合sdk,使用工具編譯除錯,以及安裝使用。這些工具,方便我們對於產品的開發和除錯,打造出更好的產品。下面,我們簡要介紹四個主要的工具。一 驍龍功耗優化...

高通 低通濾波

一 關於影象高頻和低頻 1.1 對影象高頻訊號和低頻訊號的理解 影象中的低頻訊號和高頻訊號也叫做低頻分量和高頻分量。簡單一點說,影象中的高頻分量,指的是影象強度 亮度 灰度 變化劇烈的地方,也就是 我們常說的邊緣 輪廓 影象中的低頻分量,指的是影象強度 亮度 灰度 變換平緩的地方,也就是大片色塊的地...

AMBA匯流排介紹

the advanced microcontroller bus architecture amba specification defines an on chip communications standard for designing high performance embedded mi...