Loading arch/arm64/boot/dts/qcom/apq8053-camera-sensor-mtp.dtsi 0 → 100644 +143 −0 Original line number Diff line number Diff line /* * Copyright (c) 2016, 2018 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &soc{ led_ir0: qcom,ir-led { cell-index = <0>; compatible = "qcom,ir-led"; label = "led-ir-label"; pwms = <&pm8953_pwm 0 0>; }; ir_cut0: qcom,ir-cut { cell-index = <0>; compatible = "qcom,ir-cut"; label = "ir-cut-label"; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_ir_cut_default>; pinctrl-1 = <&cam_sensor_ir_cut_sleep>; gpios = <&tlmm 38 0>, <&tlmm 39 0>; qcom,gpio-ir-p = <0>; qcom,gpio-ir-m = <1>; qcom,gpio-req-tbl-num = <0 1>; qcom,gpio-req-tbl-flags = <0 0>; qcom,gpio-req-tbl-label = "IR_CUT_FILTER_P", "IR_CUT_FILTER_M"; }; }; &pm8953_pwm { status = "okay"; qcom,dtest-line = <2>; /* DTEST2 */ qcom,dtest-output = <2>; /* OUTPUT PWM */ }; &pm8953_mpps { mpp@a300 { qcom,mode = <1>; /* DIG_OUT */ qcom,output-type = <0>; /* CMOS */ qcom,vin-sel = <3>; /* L5 @ 1.8V */ qcom,src-sel = <5>; /* DTEST2 */ qcom,master-en = <1>; /* Enable MPP */ qcom,invert = <0>; /* Enable MPP */ status = "okay"; }; }; &cci { 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_vdig-supply = <&pm8953_l2>; cam_vio-supply = <&pm8953_l6>; cam_vana-supply = <&pm8953_l22>; qcom,ir-led-src = <&led_ir0>; qcom,ir-cut-src = <&ir_cut0>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <1100000 0 2850000>; qcom,cam-vreg-max-voltage = <1100000 0 2850000>; qcom,cam-vreg-op-mode = <0 105000 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 46 0>, <&tlmm 134 0>; qcom,gpio-reset = <1>; qcom,gpio-vdig = <2>; qcom,gpio-vana = <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_VDIG", "CAM_VANA"; 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>; }; qcom,camera@1 { cell-index = <1>; compatible = "qcom,camera"; reg = <0x1>; qcom,csiphy-sd-index = <1>; qcom,csid-sd-index = <1>; qcom,mount-angle = <270>; cam_vdig-supply = <&pm8953_l1>; cam_vio-supply = <&pm8953_l6>; cam_vana-supply = <&pm8953_l17>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <1100000 0 2850000>; qcom,cam-vreg-max-voltage = <1100000 0 2850000>; qcom,cam-vreg-op-mode = <105000 0 80000>; qcom,gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_default &cam_sensor_front1_default>; pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_front1_sleep>; gpios = <&tlmm 26 0>, <&tlmm 129 0>, <&tlmm 130 0>; qcom,gpio-reset = <1>; qcom,gpio-standby = <2>; qcom,gpio-req-tbl-num = <0 1 2>; qcom,gpio-req-tbl-flags = <1 0 0>; qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET2", "CAM_STANDBY2"; qcom,sensor-position = <1>; qcom,sensor-mode = <1>; qcom,cci-master = <1>; 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>; }; }; arch/arm64/boot/dts/qcom/apq8053-iot-mtp.dts +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include "pmi8950.dtsi" #include "msm8953-mtp.dtsi" #include "msm8953-pmi8950.dtsi" #include "apq8053-camera-sensor-mtp.dtsi" / { model = "Qualcomm Technologies, Inc. APQ8053 + PMI8950 IOT MTP"; Loading arch/arm64/boot/dts/qcom/msm8953-camera.dtsi +7 −8 Original line number Diff line number Diff line Loading @@ -408,21 +408,21 @@ interrupt-names = "cpp"; vdd-supply = <&gdsc_cpp>; qcom,vdd-names = "vdd"; clocks = <&clock_gcc clk_gcc_camss_top_ahb_clk>, clocks = <&clock_gcc clk_camss_top_ahb_clk_src>, <&clock_gcc clk_gcc_camss_top_ahb_clk>, <&clock_gcc clk_cpp_clk_src>, <&clock_gcc clk_gcc_camss_cpp_ahb_clk>, <&clock_gcc clk_gcc_camss_cpp_axi_clk>, <&clock_gcc clk_gcc_camss_cpp_clk>, <&clock_gcc clk_gcc_camss_micro_ahb_clk>, <&clock_gcc clk_gcc_camss_ahb_clk>; clock-names = "camss_top_ahb_clk", "cpp_core_clk", "camss_vfe_cpp_ahb_clk", "camss_vfe_cpp_axi_clk", "camss_vfe_cpp_clk","micro_iface_clk", "camss_ahb_clk"; qcom,clock-rates = <0 180000000 0 0 180000000 0 0>; clock-names = "camss_ahb_src", "camss_top_ahb_clk", "cpp_core_clk", "camss_vfe_cpp_ahb_clk", "camss_vfe_cpp_axi_clk", "camss_vfe_cpp_clk", "micro_iface_clk", "camss_ahb_clk"; qcom,clock-rates = <80000000 0 180000000 0 0 180000000 0 0>; qcom,min-clock-rate = <100000000>; qcom,bus-master = <1>; resets = <&clock_gcc GCC_CAMSS_MICRO_BCR>; reset-names = "micro_iface_reset"; qcom,msm-bus,name = "msm_camera_cpp"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; Loading @@ -430,7 +430,6 @@ <106 512 0 0>, <106 512 0 0>; qcom,msm-bus-vector-dyn-vote; qcom,micro-reset; qcom,cpp-fw-payload-info { qcom,stripe-base = <156>; qcom,plane-base = <141>; Loading arch/arm64/boot/dts/qcom/msm8953-pinctrl.dtsi +28 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,34 @@ }; }; cam_sensor_ir_cut_default: cam_sensor_ir_cut_default { /* RESET, STANDBY */ mux { pins = "gpio38", "gpio39"; function = "gpio"; }; config { pins = "gpio38","gpio39"; bias-pull-up; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_ir_cut_sleep: cam_sensor_ir_cut_sleep { /* RESET, STANDBY */ mux { pins = "gpio38","gpio39"; function = "gpio"; }; config { pins = "gpio38","gpio39"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear_vana: cam_sensor_rear_vdig { /* VDIG */ mux { Loading Loading
arch/arm64/boot/dts/qcom/apq8053-camera-sensor-mtp.dtsi 0 → 100644 +143 −0 Original line number Diff line number Diff line /* * Copyright (c) 2016, 2018 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &soc{ led_ir0: qcom,ir-led { cell-index = <0>; compatible = "qcom,ir-led"; label = "led-ir-label"; pwms = <&pm8953_pwm 0 0>; }; ir_cut0: qcom,ir-cut { cell-index = <0>; compatible = "qcom,ir-cut"; label = "ir-cut-label"; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_ir_cut_default>; pinctrl-1 = <&cam_sensor_ir_cut_sleep>; gpios = <&tlmm 38 0>, <&tlmm 39 0>; qcom,gpio-ir-p = <0>; qcom,gpio-ir-m = <1>; qcom,gpio-req-tbl-num = <0 1>; qcom,gpio-req-tbl-flags = <0 0>; qcom,gpio-req-tbl-label = "IR_CUT_FILTER_P", "IR_CUT_FILTER_M"; }; }; &pm8953_pwm { status = "okay"; qcom,dtest-line = <2>; /* DTEST2 */ qcom,dtest-output = <2>; /* OUTPUT PWM */ }; &pm8953_mpps { mpp@a300 { qcom,mode = <1>; /* DIG_OUT */ qcom,output-type = <0>; /* CMOS */ qcom,vin-sel = <3>; /* L5 @ 1.8V */ qcom,src-sel = <5>; /* DTEST2 */ qcom,master-en = <1>; /* Enable MPP */ qcom,invert = <0>; /* Enable MPP */ status = "okay"; }; }; &cci { 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_vdig-supply = <&pm8953_l2>; cam_vio-supply = <&pm8953_l6>; cam_vana-supply = <&pm8953_l22>; qcom,ir-led-src = <&led_ir0>; qcom,ir-cut-src = <&ir_cut0>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <1100000 0 2850000>; qcom,cam-vreg-max-voltage = <1100000 0 2850000>; qcom,cam-vreg-op-mode = <0 105000 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 46 0>, <&tlmm 134 0>; qcom,gpio-reset = <1>; qcom,gpio-vdig = <2>; qcom,gpio-vana = <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_VDIG", "CAM_VANA"; 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>; }; qcom,camera@1 { cell-index = <1>; compatible = "qcom,camera"; reg = <0x1>; qcom,csiphy-sd-index = <1>; qcom,csid-sd-index = <1>; qcom,mount-angle = <270>; cam_vdig-supply = <&pm8953_l1>; cam_vio-supply = <&pm8953_l6>; cam_vana-supply = <&pm8953_l17>; qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana"; qcom,cam-vreg-min-voltage = <1100000 0 2850000>; qcom,cam-vreg-max-voltage = <1100000 0 2850000>; qcom,cam-vreg-op-mode = <105000 0 80000>; qcom,gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_default &cam_sensor_front1_default>; pinctrl-1 = <&cam_sensor_mclk0_sleep &cam_sensor_front1_sleep>; gpios = <&tlmm 26 0>, <&tlmm 129 0>, <&tlmm 130 0>; qcom,gpio-reset = <1>; qcom,gpio-standby = <2>; qcom,gpio-req-tbl-num = <0 1 2>; qcom,gpio-req-tbl-flags = <1 0 0>; qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET2", "CAM_STANDBY2"; qcom,sensor-position = <1>; qcom,sensor-mode = <1>; qcom,cci-master = <1>; 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>; }; };
arch/arm64/boot/dts/qcom/apq8053-iot-mtp.dts +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #include "pmi8950.dtsi" #include "msm8953-mtp.dtsi" #include "msm8953-pmi8950.dtsi" #include "apq8053-camera-sensor-mtp.dtsi" / { model = "Qualcomm Technologies, Inc. APQ8053 + PMI8950 IOT MTP"; Loading
arch/arm64/boot/dts/qcom/msm8953-camera.dtsi +7 −8 Original line number Diff line number Diff line Loading @@ -408,21 +408,21 @@ interrupt-names = "cpp"; vdd-supply = <&gdsc_cpp>; qcom,vdd-names = "vdd"; clocks = <&clock_gcc clk_gcc_camss_top_ahb_clk>, clocks = <&clock_gcc clk_camss_top_ahb_clk_src>, <&clock_gcc clk_gcc_camss_top_ahb_clk>, <&clock_gcc clk_cpp_clk_src>, <&clock_gcc clk_gcc_camss_cpp_ahb_clk>, <&clock_gcc clk_gcc_camss_cpp_axi_clk>, <&clock_gcc clk_gcc_camss_cpp_clk>, <&clock_gcc clk_gcc_camss_micro_ahb_clk>, <&clock_gcc clk_gcc_camss_ahb_clk>; clock-names = "camss_top_ahb_clk", "cpp_core_clk", "camss_vfe_cpp_ahb_clk", "camss_vfe_cpp_axi_clk", "camss_vfe_cpp_clk","micro_iface_clk", "camss_ahb_clk"; qcom,clock-rates = <0 180000000 0 0 180000000 0 0>; clock-names = "camss_ahb_src", "camss_top_ahb_clk", "cpp_core_clk", "camss_vfe_cpp_ahb_clk", "camss_vfe_cpp_axi_clk", "camss_vfe_cpp_clk", "micro_iface_clk", "camss_ahb_clk"; qcom,clock-rates = <80000000 0 180000000 0 0 180000000 0 0>; qcom,min-clock-rate = <100000000>; qcom,bus-master = <1>; resets = <&clock_gcc GCC_CAMSS_MICRO_BCR>; reset-names = "micro_iface_reset"; qcom,msm-bus,name = "msm_camera_cpp"; qcom,msm-bus,num-cases = <2>; qcom,msm-bus,num-paths = <1>; Loading @@ -430,7 +430,6 @@ <106 512 0 0>, <106 512 0 0>; qcom,msm-bus-vector-dyn-vote; qcom,micro-reset; qcom,cpp-fw-payload-info { qcom,stripe-base = <156>; qcom,plane-base = <141>; Loading
arch/arm64/boot/dts/qcom/msm8953-pinctrl.dtsi +28 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,34 @@ }; }; cam_sensor_ir_cut_default: cam_sensor_ir_cut_default { /* RESET, STANDBY */ mux { pins = "gpio38", "gpio39"; function = "gpio"; }; config { pins = "gpio38","gpio39"; bias-pull-up; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_ir_cut_sleep: cam_sensor_ir_cut_sleep { /* RESET, STANDBY */ mux { pins = "gpio38","gpio39"; function = "gpio"; }; config { pins = "gpio38","gpio39"; bias-disable; /* No PULL */ drive-strength = <2>; /* 2 MA */ }; }; cam_sensor_rear_vana: cam_sensor_rear_vdig { /* VDIG */ mux { Loading