本人之前一直做的Linux,現在在學習安卓驅動。現在學習用的高通msm8953的芯片 看dtsi檔案中沒有找到對應的螢屏驅動
主要是一些專業的名詞不是很懂 網上找不到對應的資料。現在我把我在dtsi里看到的 貼出來 希望大神們能幫我理一下找螢屏驅動的流程
如果有相關的檔案推薦 不勝感激!
mdss_mdp: qcom,mdss_mdp@1a00000 {
compatible = "qcom,mdss_mdp";
reg = <0x01a00000 0x90000>,
<0x01ab0000 0x1040>;
reg-names = "mdp_phys", "vbif_phys";
interrupts = <0 72 0>;
vdd-supply = <&gdsc_mdss>;
/* Bus Scale Settings */
qcom,msm-bus,name = "mdss_mdp";
qcom,msm-bus,num-cases = <3>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<22 512 0 0>,
<22 512 0 6400000>,
<22 512 0 6400000>;
.......
}
mdss_dsi: qcom,mdss_dsi@0 {
compatible = "qcom,mdss-dsi";
hw-config = "single_dsi";
#address-cells = <1>;
#size-cells = <1>;
gdsc-supply = <&gdsc_mdss>;
vdda-supply = <&pm8953_s3>;
vcca-supply = <&pm8953_l3>;
/* Bus Scale Settings */
qcom,msm-bus,name = "mdss_dsi";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<22 512 0 0>,
<22 512 0 1000>;
.....
mdss_dsi0: qcom,mdss_dsi_ctrl0@1a94000 {
compatible = "qcom,mdss-dsi-ctrl";
label = "MDSS DSI CTRL->0";
cell-index = <0>;
reg = <0x1a94000 0x400>,
<0x1a94400 0x580>,
<0x193e000 0x30>;
reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";
qcom,timing-db-mode;
qcom,mdss-mdp = <&mdss_mdp>;
vdd-supply = <&pm8953_l17>;
vddio-supply = <&pm8953_l6>;
.......
}
......
qcom,mdss_wb_panel {
compatible = "qcom,mdss_wb";
qcom,mdss_pan_res = <640 640>;
qcom,mdss_pan_bpp = <24>;
qcom,mdss-fb-map = <&mdss_fb1>;
};
}
&mdss_dsi0 {
/delete-property/ lab-supply; //lab-supply = <&lcdb_ldo_vreg>;
/delete-property/ ibb-supply; //ibb-supply = <&lcdb_ncp_vreg>;
// /delete-property/ vdd-supply;
qcom,regulator-ldo-mode;/*zhuyifeng fixme*/
//update by zhushiqiang for bug23036 20190104 begin
qcom,dsi-pref-prim-pan = <&dsi_cpt_claa053wd41_3xb_ili9881_720p_video>;
//update by zhushiqiang for bug23036 20190104 end
/*qcom,platform-bklight-en-gpio = <&pm8953_gpios 4 0>;*/
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
qcom,platform-te-gpio = <&tlmm 24 0>;
qcom,platform-reset-gpio = <&tlmm 61 0>;
};
這是我在幾個dtsi里面分別找到的感覺相關的資訊
qcom,dsi-pref-prim-pan = <&dsi_cpt_claa053wd41_3xb_ili9881_720p_video>;
從這句話中可以看出這個螢屏的型號應該是ili9881 我也能找到對應9881的dtis(基本都是屏參就不發出來了)
但是我在內核中找不到對應ili9881的驅動,
請大神們 幫忙解釋一下這幾個名詞是什么意思以及對應的關系是啥
mdss_dsi mdss_dsi0 mdss_mdp mdss_wb_panel
順便 幫忙理一下找螢屏驅動的流程。
不勝感激!
uj5u.com熱心網友回復:
1、你找的dts是正確的,顯示驅動的代碼在mdss_dsi_panel.c,你可以看一下drivers/video/fbdev/msm/目錄下面的檔案,所有顯示相關的代碼都在這里2、mdss_dsi這是node指的是msm8953的dsi介面,8953平臺有兩個dsi介面,mdss_dsi0就表示其中一個dsi介面。
3、mdss_mdp指的是顯示處理器,你可以理解為處理顯示資料的CPU,實作影像旋轉、疊加等功能。
4、mdss_wb_panel針對fb1(相對于fb0)的配置,可以理解為第二個虛擬的屏
5、相關顯示驅動的流程你可以參考如下檔案:
80-NP925-1SC Android 顯示屏除錯指南
80-P3255-23 Display Quick Start
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/120168.html
標籤:驅動程序開發區
