我們的sensor配置如下
qcom,camera@0 {
cell-index = <0>;
compatible = "qcom,camera";
reg = <0x0>;
qcom,csiphy-sd-index = <0>;
qcom,csid-sd-index = <0>;
qcom,mount-angle = <270>;
cam_vio-supply = <&pm8953_l6>;
cam_vdig-supply = <&pm8953_l2>;
cam_vaf-supply = <&pm8953_l17>;
cam_vana-supply = <&pm8953_l22>;
qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vaf",
"cam_vana";
qcom,cam-vreg-min-voltage = <0 1100000 2850000 2800000>;
qcom,cam-vreg-max-voltage = <0 1100000 2850000 2800000>;
qcom,cam-vreg-op-mode = <0 105000 100000 80000>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_default
&cam_sensor_rear_default
&cam_sensor_rear_vana>;
pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_rear_sleep
&cam_sensor_rear_vana_sleep>;
gpios = <&tlmm 26 0>,
<&tlmm 40 0>,
<&tlmm 39 0>,
<&tlmm 300 0>;
qcom,gpio-reset = <1>;
qcom,gpio-standby = <2>;
qcom,gpio-vdig = <3>;
qcom,gpio-req-tbl-num = <0 1 2 3>;
qcom,gpio-req-tbl-flags = <1 0 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0",
"CAM_STANDBY0",
"CAM_VDIG";
qcom,sensor-position = <0>;
qcom,sensor-mode = <0>;
qcom,cci-master = <0>;
status = "ok";
clocks = <&clock_gcc clk_mclk0_clk_src>,
<&clock_gcc clk_gcc_camss_mclk0_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
在代碼中我如何獲取 &tlmm 39 0 以用作控制,請大俠百忙中指導一下思路,感謝
uj5u.com熱心網友回復:
gpios = <&tlmm 26 0>,<&tlmm 40 0>,
<&tlmm 39 0>,
<&tlmm 300 0>;
這個怎么獲取gpios中的 tlmm 39
uj5u.com熱心網友回復:
不是有專門的函式通過節點去讀取dts嗎uj5u.com熱心網友回復:
您 是說的 nine_zero_det_gpio = of_get_named_gpio(node, "ailiving,nine-zero-det", 0); 但是我不知道怎樣關聯起來,如果對于任意一個平臺,比如RK mtk msm 平臺,我直接使用 gpio號,可以不,比如 ,直接申請gpio_request(39);
gpio_direction_output(39,1);
有沒有大問題
uj5u.com熱心網友回復:
感謝回復與支持uj5u.com熱心網友回復:
每個平臺gpio號的命名規則不一樣,獲取方式也不盡一樣,我們不一定說一定要從dts獲取,像你之前說的那種應該也是可以的,直接從代碼里面寫,怕有問題你可以寫個代碼簡單測驗下uj5u.com熱心網友回復:
好的。感謝感謝轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/9277.html
標籤:驅動開發/核心開發
