From be8512aab452e724cec6a80f726d20394f5c0d47 Mon Sep 17 00:00:00 2001 From: Zhenlin Lian Date: Mon, 14 Feb 2022 22:50:20 +0800 Subject: [PATCH 1/8] ARM: dts: msm: Add camera sensor for qcs610 opk Add camera sensor IMX577, IMX415 for Turbox C610 openkit. Change-Id: I817f13f07465387f8f839dc4a9dc293a806fc1b1 --- qcs610-camera-sensor-opk.dtsi | 207 +++++++++++++++ sm6150-camera.dtsi | 461 +++++++++++++--------------------- 2 files changed, 375 insertions(+), 293 deletions(-) create mode 100644 qcs610-camera-sensor-opk.dtsi diff --git a/qcs610-camera-sensor-opk.dtsi b/qcs610-camera-sensor-opk.dtsi new file mode 100644 index 000000000000..0e1b1aa292d3 --- /dev/null +++ b/qcs610-camera-sensor-opk.dtsi @@ -0,0 +1,207 @@ + +&soc { + camera0_dvig_ldo: gpio-regulator@0 { + compatible = "regulator-fixed"; + reg = <0x00 0x00>; + regulator-name = "camera0_dvig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 73 0>; + vin-supply = <&pm6150l_s8>; + }; + + camera0_vana_ldo: gpio-regulator@1 { + compatible = "regulator-fixed"; + reg = <0x01 0x00>; + regulator-name = "camera0_vana_ldo"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&pm6150l_gpios 9 0>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_sensor_0_vana_default>; + vin-supply = <&pm6150l_bob>; + }; + + camera1_dvig_ldo: gpio-regulator@2 { + compatible = "regulator-fixed"; + reg = <0x02 0x00>; + regulator-name = "camera1_dvig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 74 0>; + vin-supply = <&pm6150l_s8>; + }; + + camera1_vana_ldo: gpio-regulator@3 { + compatible = "regulator-fixed"; + reg = <0x03 0x00>; + regulator-name = "camera1_vana_ldo"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&pm6150l_gpios 8 0>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_sensor_1_vana_default>; + vin-supply = <&pm6150l_bob>; + }; + + camera2_vdig_ldo: gpio-regulator@4 { + compatible = "regulator-fixed"; + reg = <0x04 0x00>; + regulator-name = "camera2_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 73 0>; + vin-supply = <&pm6150l_s8>; + }; + + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + status = "ok"; + }; +}; + +&cam_cci { + actuator_rear2: actuator@2 { + cell-index = <2>; + reg = <0x2>; + compatible = "qcom,actuator"; + cci-master = <0>; + regulator-names = "cam_vaf"; + rgltr-min-voltage = <3800000>; + rgltr-max-voltage = <3800000>; + rgltr-load-current = <100000>; + vin-supply = <&pm6150l_bob>; + status = "ok"; + }; + + qcom,cam-sensor@0 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + reg = <0x0>; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera0_vana_ldo>; + cam_vdig-supply = <&camera0_dvig_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1050000 0>; + rgltr-max-voltage = <1800000 2850000 1050000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + reg = <0x1>; + csiphy-sd-index = <1>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera1_vana_ldo>; + cam_vdig-supply = <&camera1_dvig_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1050000 0>; + rgltr-max-voltage = <1800000 2850000 1050000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear2_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear2_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 45 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@2 { + cell-index = <2>; + compatible = "qcom,cam-sensor"; + reg = <0x2>; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + actuator-src = <&actuator_rear2>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera0_vana_ldo>; + cam_vdig-supply = <&camera2_vdig_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1050000 0>; + rgltr-max-voltage = <1800000 2850000 1050000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; +}; diff --git a/sm6150-camera.dtsi b/sm6150-camera.dtsi index 1866e20060a2..acb5329225c1 100644 --- a/sm6150-camera.dtsi +++ b/sm6150-camera.dtsi @@ -7,6 +7,11 @@ status = "ok"; }; + qcom,cam-sync { + compatible = "qcom,cam-sync"; + status = "ok"; + }; + cam_csiphy0: qcom,csiphy@ac65000 { cell-index = <0>; compatible = "qcom,csiphy-v2.0", "qcom,csiphy"; @@ -118,7 +123,7 @@ cam_cci: qcom,cci@ac4a000 { cell-index = <0>; - compatible = "qcom,cci"; + compatible = "qcom,cci", "simple-bus"; #address-cells = <1>; #size-cells = <0>; reg = <0xac4a000 0x4000>; @@ -129,21 +134,19 @@ status = "ok"; gdscr-supply = <&titan_top_gdsc>; regulator-names = "gdscr"; - clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>, - <&camcc CAM_CC_SOC_AHB_CLK>, + clocks =<&camcc CAM_CC_SOC_AHB_CLK>, <&camcc CAM_CC_SLOW_AHB_CLK_SRC>, <&camcc CAM_CC_CPAS_AHB_CLK>, <&camcc CAM_CC_CCI_CLK>, <&camcc CAM_CC_CCI_CLK_SRC>; - clock-names = "camnoc_axi_clk", - "soc_ahb_clk", + clock-names ="soc_ahb_clk", "slow_ahb_src_clk", "cpas_ahb_clk", "cci_clk", "cci_clk_src"; src-clock-name = "cci_clk_src"; clock-cntl-level = "lowsvs"; - clock-rates = <0 0 0 0 0 37500000>; + clock-rates = <0 0 0 0 37500000>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cci0_active &cci1_active>; pinctrl-1 = <&cci0_suspend &cci1_suspend>; @@ -220,7 +223,7 @@ }; qcom,cam_smmu { - compatible = "qcom,msm-cam-smmu"; + compatible = "qcom,msm-cam-smmu", "simple-bus" ; status = "ok"; msm_cam_smmu_ife { @@ -228,7 +231,7 @@ iommus = <&apps_smmu 0x820 0x0>, <&apps_smmu 0x840 0x0>, <&apps_smmu 0x860 0x0>; - label = "ife"; + cam-smmu-label = "ife"; ife_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { @@ -245,7 +248,7 @@ compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x0cc0 0x0>, <&apps_smmu 0x0d40 0x0>; - label = "lrme"; + cam-smmu-label = "lrme"; lrme_iova_mem_map: iova-mem-map { iova-mem-region-shared { /* Shared region is 100MB long */ @@ -270,7 +273,7 @@ compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0xd80 0x20>, <&apps_smmu 0xda0 0x20>; - label = "jpeg"; + cam-smmu-label = "jpeg"; jpeg_iova_mem_map: iova-mem-map { /* IO region is approximately 3.4 GB */ iova-mem-region-io { @@ -285,7 +288,7 @@ msm_cam_icp_fw { compatible = "qcom,msm-cam-smmu-fw-dev"; - label="icp"; + cam-smmu-label="icp"; memory-region = <&pil_camera_mem>; }; @@ -296,7 +299,8 @@ <&apps_smmu 0x0ca0 0x0>, <&apps_smmu 0x0d00 0x0>, <&apps_smmu 0x0d20 0x0>; - label = "icp"; + cam-smmu-label = "icp"; + qcom,iommu-dma-addr-pool = <0x10C00000 0xCF300000>; icp_iova_mem_map: iova-mem-map { iova-mem-region-firmware { /* Firmware region is 5MB */ @@ -349,9 +353,8 @@ msm_cam_smmu_cpas_cdm { compatible = "qcom,msm-cam-smmu-cb"; - iommus = <&apps_smmu 0x0c00 0x0>, - <&apps_smmu 0x0c01 0x0>; - label = "cpas-cdm0"; + iommus = <&apps_smmu 0x0c00 0x0>; + cam-smmu-label = "cpas-cdm"; cpas_cdm_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 3.4 GB */ @@ -366,14 +369,14 @@ msm_cam_smmu_secure { compatible = "qcom,msm-cam-smmu-cb"; - label = "cam-secure"; + cam-smmu-label = "cam-secure"; qcom,secure-cb; }; }; - qcom,cam-cpas@ac40000 { + cam_cpas:qcom,cam-cpas@ac40000 { cell-index = <0>; - compatible = "qcom,cam-cpas"; + compatible = "qcom,cam-cpas", "simple-bus"; label = "cpas"; arch-compat = "cpas_top"; status = "ok"; @@ -410,13 +413,18 @@ clock-cntl-level = "suspend", "minsvs", "lowsvs", "svs", "svs_l1", "nominal", "turbo"; qcom,cam-cx-ipeak = <&cx_ipeak_lm 2>; + + control-camnoc-axi-clk; + camnoc-bus-width = <32>; + camnoc-axi-clk-bw-margin-perc = <20>; interconnect-names = "cam_ahb"; - cam-ahb-num-cases = <7>; interconnects =<&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_CAMERA_CFG>; + rpmh-bcm-info = <12 0x4 0x800 0 4>; + cam-ahb-num-cases = <8>; cam-ahb-bw-KBps = <0 0>, <0 76500>, <0 76500>, <0 150000>, <0 150000>, - <0 300000>, <0 300000>; + <0 300000>, <0 300000>, <0 300000>; vdd-corners = ; - level3_rt0_rd_wr_sum: level3-rt0-rd-wr-sum { + level2-nodes { + level-index = <2>; + level2_rt0_rd_wr_sum: level2-rt0-rd-wr-sum { cell-index = <0>; - node-name = "level3-rt0-rd-wr-sum"; + node-name = "level2-rt0-rd-wr-sum"; traffic-merge-type = ; ib-bw-voting-needed; qcom,axi-port-mnoc { - interconnect-names = "cam_hf_0"; + interconnect-names = "cam_hf_0_mnoc"; interconnects = <&mmss_noc MASTER_CAMNOC_HF0 &mc_virt SLAVE_EBI1>; }; }; - - level3_nrt0_rd_wr_sum: level3-nrt0-rd-wr-sum { + level2_rt1_rd_wr_sum: level2-rt1-rd-wr-sum { cell-index = <1>; - node-name = "level3-nrt0-rd-wr-sum"; + node-name = "level2-rt1-rd-wr-sum"; + traffic-merge-type = + ; + ib-bw-voting-needed; + qcom,axi-port-mnoc { + interconnect-names = "cam_hf_1_mnoc"; + interconnects = + <&mmss_noc MASTER_CAMNOC_HF1 + &mc_virt SLAVE_EBI1>; + }; + }; + + level2_nrt0_rd_wr_sum: level2-nrt0-rd-wr-sum { + cell-index = <2>; + node-name = "level2-nrt0-rd-wr-sum"; traffic-merge-type = ; qcom,axi-port-mnoc { @@ -474,140 +488,40 @@ &mc_virt SLAVE_EBI1>; }; }; - - }; - - level2-nodes { - level-index = <2>; - camnoc-max-needed; - level2_rt0_wr: level2-rt0-wr { - cell-index = <2>; - node-name = "level2-rt0-wr"; - parent-node = <&level3_rt0_rd_wr_sum>; - traffic-merge-type = - ; - }; - - level2_rt0_rd: level2-rt0-rd { - cell-index = <3>; - node-name = "level2-rt0-rd"; - parent-node = <&level3_rt0_rd_wr_sum>; - traffic-merge-type = - ; - }; - - level2_nrt0_wr: level2-nrt0-wr { - cell-index = <4>; - node-name = "level2-nrt0-wr"; - parent-node = <&level3_nrt0_rd_wr_sum>; - traffic-merge-type = - ; - }; - - level2_nrt0_rd: level2-nrt0-rd { - cell-index = <5>; - node-name = "level2-nrt0-rd"; - parent-node = <&level3_nrt0_rd_wr_sum>; - traffic-merge-type = - ; - }; }; level1-nodes { level-index = <1>; camnoc-max-needed; - level1_rt0_wr0: level1-rt0-wr0 { - cell-index = <6>; - node-name = "level1-rt0-wr0"; - parent-node = <&level2_rt0_wr>; + level1_rt0_rd_wr0: level1-rt0-rd-wr0 { + cell-index = <3>; + node-name = "level1-rt0-rd-wr0"; + parent-node = <&level2_rt0_rd_wr_sum>; traffic-merge-type = - ; + ; }; - level1_rt0_wr1: level1-rt0-wr1 { - cell-index = <7>; - node-name = "level1-rt0-wr1"; - parent-node = <&level2_rt0_wr>; + level1_rt1_rd_wr0: level1-rt1-rd-wr0 { + cell-index = <4>; + node-name = "level1-rt1-rd-wr1"; + parent-node = <&level2_rt1_rd_wr_sum>; traffic-merge-type = - ; + ; }; - level1_rt0_rd0: level1-rt0-rd0 { - cell-index = <8>; - node-name = "level1-rt0-rd0"; - parent-node = <&level2_rt0_rd>; + level1_nrt0_rd_wr0: level1-nrt0-rd-wr0 { + cell-index = <5>; + node-name = "level1-nrt0-rd-wr0"; + parent-node = <&level2_nrt0_rd_wr_sum>; traffic-merge-type = - ; - }; - - level1_rt0_wr2: level1-rt0-wr2 { - cell-index = <9>; - node-name = "level1-rt0-wr2"; - parent-node = <&level2_rt0_wr>; - traffic-merge-type = - ; - }; - - level1_rt0_wr3: level1-rt0-wr3 { - cell-index = <10>; - node-name = "level1-rt0-wr3"; - parent-node = <&level2_rt0_wr>; - traffic-merge-type = - ; - }; - - level1_nrt0_wr0: level1-nrt0-wr0 { - cell-index = <11>; - node-name = "level1-nrt0-wr0"; - parent-node = <&level2_nrt0_wr>; - traffic-merge-type = - ; - }; - - level1_nrt0_rd0: level1-nrt0-rd0 { - cell-index = <12>; - node-name = "level1-nrt0-rd0"; - parent-node = <&level2_nrt0_rd>; - traffic-merge-type = - ; - }; - - level1_nrt0_wr1: level1-nrt0-wr1 { - cell-index = <13>; - node-name = "level1-nrt0-wr1"; - parent-node = <&level2_nrt0_wr>; - traffic-merge-type = - ; - }; - - level1_nrt0_rd1: level1-nrt0-rd1 { - cell-index = <14>; - node-name = "level1-nrt0-rd2"; - parent-node = <&level2_nrt0_rd>; - traffic-merge-type = - ; + ; }; }; level0-nodes { level-index = <0>; - ife2_ubwc_stats_wr: ife2-ubwc-stats-wr { - cell-index = <15>; - node-name = "ife2-ubwc-stats-wr"; - client-name = "ife2"; - traffic-data = - ; - traffic-transaction-type = - ; - constituent-paths = - ; - parent-node = <&level2_rt0_wr>; - }; - ife0_ubwc_stats_wr: ife0-ubwc-stats-wr { - cell-index = <16>; + cell-index = <6>; node-name = "ife0-ubwc-stats-wr"; client-name = "ife0"; traffic-data = @@ -618,11 +532,11 @@ ; - parent-node = <&level1_rt0_wr0>; + parent-node = <&level1_rt0_rd_wr0>; }; ife1_ubwc_stats_wr: ife1-ubwc-stats-wr { - cell-index = <17>; + cell-index = <7>; node-name = "ife1-ubwc-stats-wr"; client-name = "ife1"; traffic-data = @@ -633,11 +547,11 @@ ; - parent-node = <&level1_rt0_wr0>; + parent-node = <&level1_rt1_rd_wr0>; }; ife0_linear_pdaf_wr: ife0-linear-pdaf-wr { - cell-index = <18>; + cell-index = <8>; node-name = "ife0-linear-pdaf-wr"; client-name = "ife0"; traffic-data = @@ -647,11 +561,11 @@ constituent-paths = ; - parent-node = <&level1_rt0_wr1>; + parent-node = <&level1_rt0_rd_wr0>; }; ife1_linear_pdaf_wr: ife1-linear-pdaf-wr { - cell-index = <19>; + cell-index = <9>; node-name = "ife1-linear-pdaf-wr"; client-name = "ife1"; traffic-data = @@ -661,25 +575,28 @@ constituent-paths = ; - parent-node = <&level1_rt0_wr1>; + parent-node = <&level1_rt1_rd_wr0>; }; - ife2_linear_pdaf_wr: ife2-linear-pdaf-wr { - cell-index = <20>; - node-name = "ife2-linear-pdaf-wr"; + ife2_rdi_all_wr: ife2-rdi-all-wr { + cell-index = <10>; + node-name = "ife2-rdi-all-wr"; client-name = "ife2"; traffic-data = - ; + ; traffic-transaction-type = ; constituent-paths = - ; - parent-node = <&level1_rt0_wr1>; + ; + parent-node = <&level2_rt1_rd_wr_sum>; + }; ife0_rdi_all_rd: ife0-rdi-all-rd { - cell-index = <21>; + cell-index = <11>; node-name = "ife0-rdi-all-rd"; client-name = "ife0"; traffic-data = @@ -691,11 +608,11 @@ CAM_CPAS_PATH_DATA_IFE_RDI1 CAM_CPAS_PATH_DATA_IFE_RDI2 CAM_CPAS_PATH_DATA_IFE_RDI3>; - parent-node = <&level1_rt0_rd0>; + parent-node = <&level1_rt0_rd_wr0>; }; ife1_rdi_all_rd: ife1-rdi-all-rd { - cell-index = <22>; + cell-index = <12>; node-name = "ife1-rdi-all-rd"; client-name = "ife1"; traffic-data = @@ -707,91 +624,11 @@ CAM_CPAS_PATH_DATA_IFE_RDI1 CAM_CPAS_PATH_DATA_IFE_RDI2 CAM_CPAS_PATH_DATA_IFE_RDI3>; - parent-node = <&level1_rt0_rd0>; - }; - - ife2_rdi_all_rd: ife2-rdi-all-rd { - cell-index = <23>; - node-name = "ife2-rdi-all-rd"; - client-name = "ife2"; - traffic-data = - ; - traffic-transaction-type = - ; - constituent-paths = - ; - parent-node = <&level1_rt0_rd0>; - }; - - custom0_rd: custom0-rd { - cell-index = <24>; - node-name = "custom0-rd"; - client-name = "custom0"; - traffic-data = - ; - traffic-transaction-type = - ; - parent-node = <&level1_rt0_rd0>; - }; - - custom1_rd: custom1-rd { - cell-index = <25>; - node-name = "custom1-rd"; - client-name = "custom1"; - traffic-data = - ; - traffic-transaction-type = - ; - parent-node = <&level1_rt0_rd0>; - }; - - ife2_rdi_pixel_raw_wr: ife2-rdi-pixel-raw-wr { - cell-index = <26>; - node-name = "ife2-rdi-pixel-raw-wr"; - client-name = "ife2"; - traffic-data = - ; - traffic-transaction-type = - ; - constituent-paths = - ; - parent-node = <&level1_rt0_wr2>; - }; - - ife4_rdi_all_wr: ife4-rdi-all-wr { - cell-index = <27>; - node-name = "ife4-rdi-all-wr"; - client-name = "ife4"; - traffic-data = - ; - traffic-transaction-type = - ; - constituent-paths = - ; - parent-node = <&level1_rt0_wr2>; - }; - - custom1_wr: custom1-wr { - cell-index = <28>; - node-name = "custom1-wr"; - client-name = "custom1"; - traffic-data = ; - traffic-transaction-type = - ; - parent-node = <&level1_rt0_wr2>; + parent-node = <&level1_rt1_rd_wr0>; }; ife0_rdi_pixel_raw_wr: ife0-rdi-pixel-raw-wr { - cell-index = <29>; + cell-index = <13>; node-name = "ife0-rdi-pixel-raw-wr"; client-name = "ife0"; traffic-data = @@ -803,11 +640,11 @@ CAM_CPAS_PATH_DATA_IFE_RDI1 CAM_CPAS_PATH_DATA_IFE_RDI2 CAM_CPAS_PATH_DATA_IFE_PIXEL_RAW>; - parent-node = <&level1_rt0_wr3>; + parent-node = <&level1_rt0_rd_wr0>; }; ife1_rdi_pixel_raw_wr: ife1-rdi-pixel-raw-wr { - cell-index = <30>; + cell-index = <14>; node-name = "ife1-rdi-pixel-raw-wr"; client-name = "ife1"; traffic-data = @@ -819,21 +656,11 @@ CAM_CPAS_PATH_DATA_IFE_RDI1 CAM_CPAS_PATH_DATA_IFE_RDI2 CAM_CPAS_PATH_DATA_IFE_PIXEL_RAW>; - parent-node = <&level1_rt0_wr3>; - }; - - custom0_wr: custom0-wr { - cell-index = <31>; - node-name = "custom0-wr"; - client-name = "custom0"; - traffic-data = ; - traffic-transaction-type = - ; - parent-node = <&level1_rt0_wr3>; + parent-node = <&level1_rt1_rd_wr0>; }; ipe0_all_wr: ipe0-all-wr { - cell-index = <32>; + cell-index = <15>; node-name = "ipe0-all-wr"; client-name = "ipe0"; traffic-data = ; @@ -843,99 +670,145 @@ ; - parent-node = <&level1_nrt0_wr0>; + parent-node = <&level1_nrt0_rd_wr0>; + }; + ipe1_all_wr: ipe1-all-wr { + cell-index = <16>; + node-name = "ipe1-all-wr"; + client-name = "ipe1"; + traffic-data = ; + traffic-transaction-type = + ; + constituent-paths = + ; + parent-node = <&level1_nrt0_rd_wr0>; }; + bps0_all_wr: bps0-all-wr { - cell-index = <33>; + cell-index = <17>; node-name = "bps0-all-wr"; client-name = "bps0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_wr0>; + parent-node = <&level1_nrt0_rd_wr0>; }; ipe0_ref_rd: ipe0-ref-rd { - cell-index = <34>; + cell-index = <18>; node-name = "ipe0-ref-rd"; client-name = "ipe0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_rd0>; + parent-node = <&level1_nrt0_rd_wr0>; }; + ipe1_ref_rd: ipe1-ref-rd { + cell-index = <19>; + node-name = "ipe1-ref-rd"; + client-name = "ipe1"; + traffic-data = + ; + traffic-transaction-type = + ; + parent-node = <&level1_nrt0_rd_wr0>; + }; + + bps0_all_rd: bps0-all-rd { - cell-index = <35>; + cell-index = <20>; node-name = "bps0-all-rd"; client-name = "bps0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_rd0>; + parent-node = <&level1_nrt0_rd_wr0>; }; ipe0_in_rd: ipe0-in-rd { - cell-index = <36>; + cell-index = <21>; node-name = "ipe0-in-rd"; client-name = "ipe0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level2_nrt0_rd>; + parent-node = <&level2_nrt0_rd_wr_sum>; + }; + ipe1_in_rd: ipe1-in-rd { + cell-index = <22>; + node-name = "ipe1-in-rd"; + client-name = "ipe1"; + traffic-data = + ; + traffic-transaction-type = + ; + parent-node = <&level2_nrt0_rd_wr_sum>; }; + jpeg_enc0_all_wr: jpeg-enc0-all-wr { - cell-index = <37>; + cell-index = <22>; node-name = "jpeg-enc0-all-wr"; client-name = "jpeg-enc0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_wr1>; + parent-node = <&level1_nrt0_rd_wr0>; }; jpeg_dma0_all_wr: jpeg-dma0-all-wr { - cell-index = <38>; + cell-index = <23>; node-name = "jpeg-dma0-all-wr"; client-name = "jpeg-dma0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_wr1>; + parent-node = <&level1_nrt0_rd_wr0>; }; jpeg_enc0_all_rd: jpeg-enc0-all-rd { - cell-index = <39>; + cell-index = <24>; node-name = "jpeg-enc0-all-rd"; client-name = "jpeg-enc0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_rd1>; + parent-node = <&level1_nrt0_rd_wr0>; }; jpeg_dma0_all_rd: jpeg-dma0-all-rd { - cell-index = <40>; + cell-index = <25>; node-name = "jpeg-dma0-all-rd"; client-name = "jpeg-dma0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level1_nrt0_rd1>; + parent-node = <&level1_nrt0_rd_wr0>; }; cpas_cdm0_all_rd: cpas-cdm0-all-rd { - cell-index = <41>; + cell-index = <26>; node-name = "cpas-cdm0-all-rd"; client-name = "cpas-cdm0"; traffic-data = ; traffic-transaction-type = ; - parent-node = <&level2_nrt0_rd>; + parent-node = <&level2_nrt0_rd_wr_sum>; + }; + icp0_all_rd: icp0-all-rd { + cell-index = <27>; + node-name = "icp0-all-rd"; + client-name = "icp0"; + traffic-data = ; + traffic-transaction-type = + ; + parent-node = <&level2_nrt0_rd_wr_sum>; }; }; }; @@ -976,11 +849,11 @@ <&camcc CAM_CC_CAMNOC_AXI_CLK>; clock-rates = <0 0 0 0 0>; clock-cntl-level = "svs"; - cdm-client-names = "ife"; + cdm-client-names = "ife","ife3"; status = "ok"; }; - qcom,cam-isp { + cam_isp_mgr: qcom,cam-isp { compatible = "qcom,cam-isp"; arch-compat = "ife"; status = "ok"; @@ -1356,7 +1229,7 @@ status = "ok"; }; - qcom,cam-jpeg { + cam_jpeg_mgr: qcom,cam-jpeg { compatible = "qcom,cam-jpeg"; compat-hw-name = "qcom,jpegenc", "qcom,jpegdma"; @@ -1368,9 +1241,10 @@ cam_jpeg_enc: qcom,jpegenc@ac4e000 { cell-index = <0>; compatible = "qcom,cam_jpeg_enc"; - reg-names = "jpege_hw"; - reg = <0xac4e000 0x4000>; - reg-cam-base = <0x4e000>; + reg-names = "jpege_hw", "cam_camnoc"; + reg = <0xac4e000 0x4000>, + <0xac42000 0x5000>; + reg-cam-base = <0x4e000 0x42000>; interrupt-names = "jpeg"; interrupts = ; regulator-names = "camss-vdd"; @@ -1399,9 +1273,10 @@ cam_jpeg_dma: qcom,jpegdma@ac52000{ cell-index = <0>; compatible = "qcom,cam_jpeg_dma"; - reg-names = "jpegdma_hw"; - reg = <0xac52000 0x4000>; - reg-cam-base = <0x52000>; + reg-names = "jpegdma_hw", "cam_camnoc"; + reg = <0xac52000 0x4000>, + <0xac42000 0x5000>; + reg-cam-base = <0x52000 0x42000>; interrupt-names = "jpegdma"; interrupts = ; regulator-names = "camss-vdd"; @@ -1427,7 +1302,7 @@ status = "ok"; }; - qcom,cam-lrme { + cam_lrme_mgr: qcom,cam-lrme { compatible = "qcom,cam-lrme"; arch-compat = "lrme"; status = "ok"; From 7269733ba5900e844ade7cac0aa72adba16b8c01 Mon Sep 17 00:00:00 2001 From: Zhenlin Lian Date: Mon, 14 Feb 2022 22:46:21 +0800 Subject: [PATCH 2/8] ARM: dts: msm: Add camera device tree for qcs610 idp Add camera sensor devicetree setting for qcs610 idp. Change-Id: I65b6f01d0aa26bea24ec1047cc98d63430178dce --- sm6150-camera-sensor-idp.dtsi | 611 ++++++++++++++++++++++++++++++++++ 1 file changed, 611 insertions(+) create mode 100644 sm6150-camera-sensor-idp.dtsi diff --git a/sm6150-camera-sensor-idp.dtsi b/sm6150-camera-sensor-idp.dtsi new file mode 100644 index 000000000000..62558803910f --- /dev/null +++ b/sm6150-camera-sensor-idp.dtsi @@ -0,0 +1,611 @@ + +&soc { + led_flash_rear: qcom,camera-flash@0 { + cell-index = <0>; + reg = <0x00 0x00>; + compatible = "qcom,camera-flash"; + flash-source = <&pm6150l_flash0 &pm6150l_flash1>; + torch-source = <&pm6150l_torch0 &pm6150l_torch1>; + switch-source = <&pm6150l_switch2 &pm6150l_switch2>; + status = "ok"; + }; + + led_flash_rear_aux: qcom,camera-flash@1 { + cell-index = <1>; + reg = <0x01 0x00>; + compatible = "qcom,camera-flash"; + flash-source = <&pm6150l_flash0 &pm6150l_flash1>; + torch-source = <&pm6150l_torch0 &pm6150l_torch1>; + switch-source = <&pm6150l_switch2 &pm6150l_switch2>; + status = "ok"; + }; + + led_flash_front: qcom,camera-flash@2 { + cell-index = <2>; + reg = <0x02 0x00>; + compatible = "qcom,camera-flash"; + flash-source = <&pm6150l_flash2>; + torch-source = <&pm6150l_torch2>; + switch-source = <&pm6150l_switch2>; + status = "ok"; + enable-active-high; + gpio = <&tlmm 38 0>; + pinctrl-names = "default"; + pinctrl-0 = <&flash_led3_front_en>; + }; + + led_flash_rear_aux2: qcom,camera-flash@3 { + cell-index = <3>; + reg = <0x03 0x00>; + compatible = "qcom,camera-flash"; + flash-source = <&pm6150l_flash0 &pm6150l_flash1>; + torch-source = <&pm6150l_torch0 &pm6150l_torch1>; + switch-source = <&pm6150l_switch2 &pm6150l_switch2>; + status = "ok"; + }; + + camera_ldo: gpio-regulator@0 { + compatible = "regulator-fixed"; + reg = <0x00 0x00>; + regulator-name = "camera_ldo"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-enable-ramp-delay = <135>; + enable-active-high; + gpio = <&pm6150l_gpios 3 0>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_sensor_dvdd_default>; + vin-supply = <&pm6150l_s8>; + }; + + camera_vana0_ldo: gpio-regulator@1 { + compatible = "regulator-fixed"; + reg = <0x01 0x00>; + regulator-name = "camera_vana0_ldo"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&pm6150l_gpios 9 0>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_sensor_0_vana_default>; + vin-supply = <&pm6150l_bob>; + }; + + camera_vana1_2_ldo: gpio-regulator@2 { + compatible = "regulator-fixed"; + reg = <0x02 0x00>; + regulator-name = "camera_vana1_2_ldo"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&pm6150l_gpios 4 0>; + pinctrl-names = "default"; + pinctrl-0 = <&cam_sensor_1_2_vana_default>; + vin-supply = <&pm6150l_bob>; + }; + + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + status = "ok"; + }; +}; + +&cam_cci { + actuator_rear: qcom,actuator@0 { + cell-index = <0>; + reg = <0x0>; + compatible = "qcom,actuator"; + cci-master = <0>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + }; + + actuator_rear_aux: qcom,actuator@1 { + cell-index = <1>; + reg = <0x0>; + compatible = "qcom,actuator"; + cci-master = <1>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + }; + + actuator_front: qcom,actuator@2 { + cell-index = <2>; + reg = <0x1>; + compatible = "qcom,actuator"; + cci-master = <1>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + }; + + actuator_triple_tele: qcom,actuator@3 { + cell-index = <3>; + reg = <0x3>; + compatible = "qcom,actuator"; + cci-master = <0>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + }; + + ois_rear: qcom,ois@0 { + cell-index = <0>; + reg = <0x0>; + compatible = "qcom,ois"; + cci-master = <0>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2800000>; + rgltr-max-voltage = <2800000>; + rgltr-load-current = <100000>; + status = "disabled"; + }; + + eeprom_rear: qcom,eeprom@0 { + cell-index = <0>; + reg = <0>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana0_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-load-current = <0 80000 105000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + eeprom_rear_aux: qcom,eeprom@1 { + cell-index = <1>; + reg = <0x1>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-load-current = <105000 0 80000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear2_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear2_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 45 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-position = <0>; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + eeprom_front: qcom,eeprom@2 { + cell-index = <2>; + reg = <0x2>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-load-current = <0 80000 105000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_front_active>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_front_suspend>; + gpios = <&tlmm 30 0>, + <&tlmm 37 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + eeprom_triple_rear_aux: qcom,eeprom@3 { + cell-index = <3>; + reg = <3>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana0_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + cam_vaf-supply = <&pm6150_l19>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk", "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-max-voltage = <1800000 2850000 1200000 0 2800000>; + rgltr-load-current = <0 80000 105000 0 100000>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@0 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + reg = <0x0>; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + led-flash-src = <&led_flash_rear>; + actuator-src = <&actuator_rear>; + ois-src = <&ois_rear>; + eeprom-src = <&eeprom_rear>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana0_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + reg = <0x1>; + csiphy-sd-index = <1>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + led-flash-src = <&led_flash_rear_aux>; + actuator-src = <&actuator_rear_aux>; + eeprom-src = <&eeprom_rear_aux>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <105000 0 80000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear2_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear2_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 45 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@2 { + cell-index = <2>; + compatible = "qcom,cam-sensor"; + reg = <0x02>; + csiphy-sd-index = <2>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + eeprom-src = <&eeprom_front>; + actuator-src = <&actuator_front>; + led-flash-src = <&led_flash_front>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_front_active>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_front_suspend>; + gpios = <&tlmm 30 0>, + <&tlmm 37 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@3 { + cell-index = <3>; + compatible = "qcom,cam-sensor"; + reg = <0x3>; + csiphy-sd-index = <2>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + led-flash-src = <&led_flash_rear_aux>; + actuator-src = <&actuator_rear_aux>; + eeprom-src = <&eeprom_rear_aux>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana0_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <105000 0 80000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear2_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear2_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 45 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@4 { + cell-index = <4>; + compatible = "qcom,cam-sensor"; + reg = <0x4>; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + led-flash-src = <&led_flash_rear>; + actuator-src = <&actuator_rear>; + eeprom-src = <&eeprom_rear>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana0_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_rear_active>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_rear_suspend>; + gpios = <&tlmm 28 0>, + <&tlmm 47 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@5 { + cell-index = <5>; + compatible = "qcom,cam-sensor"; + reg = <0x5>; + csiphy-sd-index = <1>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + led-flash-src = <&led_flash_rear_aux>; + actuator-src = <&actuator_triple_tele>; + eeprom-src = <&eeprom_triple_rear_aux>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <105000 0 80000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_rear2_active>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_rear2_suspend>; + gpios = <&tlmm 29 0>, + <&tlmm 45 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor@6 { + cell-index = <6>; + compatible = "qcom,cam-sensor"; + reg = <0x6>; + csiphy-sd-index = <2>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + eeprom-src = <&eeprom_front>; + actuator-src = <&actuator_front>; + led-flash-src = <&led_flash_rear_aux2>; + cam_vio-supply = <&pm6150_l13>; + cam_vana-supply = <&camera_vana1_2_ldo>; + cam_vdig-supply = <&camera_ldo>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 2850000 1200000 0>; + rgltr-max-voltage = <1800000 2850000 1200000 0>; + rgltr-load-current = <0 80000 105000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_front_active>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_front_suspend>; + gpios = <&tlmm 30 0>, + <&tlmm 37 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; +}; From 001b95cdfd5bbd100382b8d399e09a17826a61c9 Mon Sep 17 00:00:00 2001 From: Jiaxi Lu Date: Wed, 16 Feb 2022 13:50:30 +0530 Subject: [PATCH 3/8] ARM: dts: msm: adapt new Mezz board on QRBx210 Platform Adapt new Mezz board on QRBx210 Platform. Change-Id: I00a7477ee1ba547a8be605b9d1cd2414bc2bd30b --- bengal-camera-sensor-idp-v2.dtsi | 11 +++++++++++ scuba-camera-sensor-idp-v2.dtsi | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 bengal-camera-sensor-idp-v2.dtsi create mode 100644 scuba-camera-sensor-idp-v2.dtsi diff --git a/bengal-camera-sensor-idp-v2.dtsi b/bengal-camera-sensor-idp-v2.dtsi new file mode 100644 index 000000000000..f5df0370b988 --- /dev/null +++ b/bengal-camera-sensor-idp-v2.dtsi @@ -0,0 +1,11 @@ +&cam_cci0 { + /* GMSL-1 */ + qcom,cam-sensor3 { + cci-master = <1>; + }; + + /* GMSL-2 */ + qcom,cam-sensor4 { + cci-master = <1>; + }; +}; diff --git a/scuba-camera-sensor-idp-v2.dtsi b/scuba-camera-sensor-idp-v2.dtsi new file mode 100644 index 000000000000..f5df0370b988 --- /dev/null +++ b/scuba-camera-sensor-idp-v2.dtsi @@ -0,0 +1,11 @@ +&cam_cci0 { + /* GMSL-1 */ + qcom,cam-sensor3 { + cci-master = <1>; + }; + + /* GMSL-2 */ + qcom,cam-sensor4 { + cci-master = <1>; + }; +}; From 517354890dd67cad91a4dcc44388368122f99965 Mon Sep 17 00:00:00 2001 From: Yuxin Feng Date: Thu, 9 Jun 2022 12:10:50 +0530 Subject: [PATCH 4/8] ARM: dts: msm: Add camera device tree for kona Add camera sensor devicetree setting for kona. Change-Id: I060f260ac4bd17a77dc2b80dea69ef7be0654974 --- kona-camera-sensor-rb5.dtsi | 535 ++++++++++++++++++++++++++++++++++++ kona-camera.dtsi | 205 +++++--------- 2 files changed, 604 insertions(+), 136 deletions(-) create mode 100644 kona-camera-sensor-rb5.dtsi diff --git a/kona-camera-sensor-rb5.dtsi b/kona-camera-sensor-rb5.dtsi new file mode 100644 index 000000000000..91e02aed11bd --- /dev/null +++ b/kona-camera-sensor-rb5.dtsi @@ -0,0 +1,535 @@ +&soc { + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + status = "ok"; + }; +}; + +&tlmm { + cam_sensor_active_gmsl: cam_sensor_active_gmsl { + /* RESET */ + mux { + pins = "gpio99"; + function = "gpio"; + }; + + config { + pins = "gpio99"; + bias-pull-up; + drive-strength = <2>; /* 2 MA */ + output-high; + }; + }; + + cam_sensor_suspend_gmsl: cam_sensor_suspend_gmsl { + /* RESET */ + mux { + pins = "gpio99"; + function = "gpio"; + }; + + config { + pins = "gpio99"; + bias-pull-down; /* PULL DOWN */ + drive-strength = <2>; /* 2 MA */ + output-low; + }; + }; +}; + +&cam_cci0 { + qcom,cam-sensor0 { + cell-index = <0>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk0_active + &cam_sensor_active_rear>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_suspend_rear>; + gpios = <&tlmm 94 0>, + <&tlmm 93 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <1>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_active_rear_aux>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_suspend_rear_aux>; + gpios = <&tlmm 95 0>, + <&tlmm 92 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK1", + "CAM_RESET1"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor3 { + cell-index = <3>; + status = "disable"; + }; + + qcom,cam-sensor4 { + cell-index = <4>; + status = "disable"; + }; + + qcom,cam-sensor5 { + cell-index = <5>; + status = "disable"; + }; + + qcom,cam-sensor6 { + cell-index = <6>; + status = "disable"; + }; + + qcom,cam-sensor7 { + cell-index = <7>; + status = "disable"; + }; +}; + +&cam_cci1 { + actuator_rear_cam7: qcom,actuator0 { + cell-index = <7>; + compatible = "qcom,actuator"; + cci-master = <0>; + cam_vaf-supply = <&pm8009_l6>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2856000>; + rgltr-max-voltage = <3000000>; + rgltr-load-current = <100000>; + }; + + eeprom_tof: qcom,eeprom3 { + cell-index = <3>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm8009_l7>; + cam_vdig-supply = <&pm8150_s4>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + rgltr-min-voltage = <1800000 1800000 0>; + rgltr-max-voltage = <1800000 1800000 0>; + rgltr-load-current = <120000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3>; + gpios = <&tlmm 97 0>, + <&tlmm 144 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3"; + sensor-position = <1>; + sensor-mode = <0>; + cci-master = <1>; + qcom,cam-power-seq-type ="cam_reset","cam_vio","cam_clk","cam_reset"; + qcom,cam-power-seq-val = "cam_reset","cam_vio" + ,"cam_mclk","cam_reset"; + qcom,cam-power-seq-cfg-val = <0 1 24000000 1>; + qcom,cam-power-seq-delay = <1 0 1 18>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + eeprom_rb5_rear: qcom,eeprom0 { + cell-index = <2>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor2 { + cell-index = <2>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <2>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + eeprom-src = <&eeprom_rb5_rear>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor3 { + cell-index = <3>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <3>; + eeprom-src = <&eeprom_tof>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm8009_l7>; + cam_vdig-supply = <&pm8150_s4>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vdig", + "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 1800000 0>; + rgltr-max-voltage = <1800000 1800000 0>; + rgltr-load-current = <120000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk3_active + &cam_sensor_active_rst3>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3>; + gpios = <&tlmm 97 0>, + <&tlmm 144 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK3", + "CAM_RESET3"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor4 { + cell-index = <4>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk6_active + &cam_sensor_active_4>; + pinctrl-1 = <&cam_sensor_mclk6_suspend + &cam_sensor_suspend_4>; + gpios = <&tlmm 100 0>, + <&tlmm 130 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK6", + "CAM_4"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK6_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + use-shared-clk; + }; + + qcom,cam-sensor5 { + cell-index = <5>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <5>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_5>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_5>; + gpios = <&tlmm 98 0>, + <&tlmm 131 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_5"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + use-shared-clk; + }; + + qcom,cam-sensor6 { + cell-index = <6>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <0>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_rst4>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4>; + gpios = <&tlmm 98 0>, + <&tlmm 25 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor7 { + cell-index = <7>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <1>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + actuator-src = <&actuator_rear_cam7>; + eeprom-src = <&eeprom_rb5_rear>; + cam_vio-supply = <&pm8009_l7>; + cam_vana-supply = <&pm8009_l6>; + cam_vdig-supply = <&pm8009_l2>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 3000000 1200000 0>; + rgltr-load-current = <120000 800000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor8 { + cell-index = <8>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk6_active + &cam_sensor_active_4>; + pinctrl-1 = <&cam_sensor_mclk6_suspend + &cam_sensor_suspend_4>; + gpios = <&tlmm 100 0>, + <&tlmm 130 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK6", + "CAM_4"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK6_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + use-shared-clk; + }; + + qcom,cam-sensor9 { + cell-index = <9>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk4_active + &cam_sensor_active_5>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_5>; + gpios = <&tlmm 98 0>, + <&tlmm 131 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK4", + "CAM_5"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + use-shared-clk; + }; +}; + diff --git a/kona-camera.dtsi b/kona-camera.dtsi index e69dc26d740e..bf1fa040ebfb 100644 --- a/kona-camera.dtsi +++ b/kona-camera.dtsi @@ -376,17 +376,16 @@ <&apps_smmu 0x840 0x400>, <&apps_smmu 0xC00 0x400>, <&apps_smmu 0xC40 0x400>; - qcom,iommu-dma-addr-pool = <0x100000 0xffe00000>; - cam-smmu-label = "ife", "ife-cdm"; + qcom,iommu-dma-addr-pool = <0x7400000 0xd8c00000>; + cam-smmu-label = "ife"; + dma-coherent-hint-cached; multiple-client-devices; ife_iova_mem_map: iova-mem-map { /* IO region is approximately 4.0 GB */ iova-mem-region-io { iova-region-name = "io"; - /* 1 MB pad for start */ - iova-region-start = <0x100000>; - /* 1 MB pad for end */ - iova-region-len = <0xffe00000>; + iova-region-start = <0x7400000>; + iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; @@ -398,15 +397,14 @@ iommus = <&apps_smmu 0x2040 0x400>, <&apps_smmu 0x2440 0x400>; cam-smmu-label = "jpeg"; - qcom,iommu-dma-addr-pool = <0x100000 0xffe00000>; + qcom,iommu-dma-addr-pool = <0x7400000 0xd8c00000>; + dma-coherent-hint-cached; jpeg_iova_mem_map: iova-mem-map { /* IO region is approximately 4.0 GB */ iova-mem-region-io { iova-region-name = "io"; - /* 1 MB pad for start */ - iova-region-start = <0x100000>; - /* 1 MB pad for end */ - iova-region-len = <0xffe00000>; + iova-region-start = <0x7400000>; + iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; @@ -415,7 +413,7 @@ msm_cam_icp_fw { compatible = "qcom,msm-cam-smmu-fw-dev"; - label="icp"; + cam-smmu-label="icp"; memory-region = <&pil_camera_mem>; }; @@ -424,20 +422,15 @@ iommus = <&apps_smmu 0x20E2 0x400>, <&apps_smmu 0x24E2 0x400>, <&apps_smmu 0x2000 0x400>, - <&apps_smmu 0x2001 0x400>, <&apps_smmu 0x2400 0x400>, - <&apps_smmu 0x2401 0x400>, <&apps_smmu 0x2060 0x400>, - <&apps_smmu 0x2061 0x400>, <&apps_smmu 0x2460 0x400>, - <&apps_smmu 0x2461 0x400>, <&apps_smmu 0x2020 0x400>, - <&apps_smmu 0x2021 0x400>, - <&apps_smmu 0x2420 0x400>, - <&apps_smmu 0x2421 0x400>; + <&apps_smmu 0x2420 0x400>; cam-smmu-label = "icp"; qcom,iommu-dma-addr-pool = <0x10c00000 0xee300000>; iova-region-discard = <0xdff00000 0x300000>; + dma-coherent-hint-cached; icp_iova_mem_map: iova-mem-map { iova-mem-region-firmware { /* Firmware region is 5MB */ @@ -493,15 +486,14 @@ iommus = <&apps_smmu 0x20C0 0x400>, <&apps_smmu 0x24C0 0x400>; cam-smmu-label = "cpas-cdm"; - qcom,iommu-dma-addr-pool = <0x100000 0xffe00000>; + qcom,iommu-dma-addr-pool = <0x7400000 0xd8c00000>; + dma-coherent-hint-cached; cpas_cdm_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 4.0 GB */ iova-region-name = "io"; - /* 1 MB pad for start */ - iova-region-start = <0x100000>; - /* 1 MB pad for end */ - iova-region-len = <0xffe00000>; + iova-region-start = <0x7400000>; + iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; @@ -518,16 +510,15 @@ compatible = "qcom,msm-cam-smmu-cb"; iommus = <&apps_smmu 0x2080 0x400>, <&apps_smmu 0x2480 0x400>; - qcom,iommu-dma-addr-pool = <0x100000 0xffe00000>; + qcom,iommu-dma-addr-pool = <0x7400000 0xd8c00000>; cam-smmu-label = "fd"; + dma-coherent-hint-cached; fd_iova_mem_map: iova-mem-map { iova-mem-region-io { /* IO region is approximately 4.0 GB */ iova-region-name = "io"; - /* 1 MB pad for start */ - iova-region-start = <0x100000>; - /* 1 MB pad for end */ - iova-region-len = <0xffe00000>; + iova-region-start = <0x7400000>; + iova-region-len = <0xd8c00000>; iova-region-id = <0x3>; status = "ok"; }; @@ -583,26 +574,13 @@ control-camnoc-axi-clk; camnoc-bus-width = <32>; camnoc-axi-clk-bw-margin-perc = <20>; - qcom,msm-bus,name = "cam_ahb"; - qcom,msm-bus,num-cases = <8>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = - , - , - , - , - , - , - , - ; + interconnect-names = "cam_ahb"; + interconnects =<&gem_noc MASTER_APPSS_PROC + &config_noc SLAVE_CAMERA_CFG>; + cam-ahb-num-cases = <8>; + cam-ahb-bw-KBps = + <0 0>, <0 76800>, <0 76800>, <0 150000>, + <0 150000>, <0 300000>, <0 300000>, <0 300000>; vdd-corners = ; - qcom,axi-port-name = "cam_hf_0"; ib-bw-voting-needed; qcom,axi-port-mnoc { - qcom,msm-bus,name = - "cam_hf_0_mnoc"; - qcom,msm-bus-vector-dyn-vote; - qcom,msm-bus,num-cases = <2>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = - , - ; + interconnect-names = "cam_hf_0"; + interconnects = + <&mmss_noc MASTER_CAMNOC_HF + &mc_virt SLAVE_EBI1>; }; }; @@ -657,18 +627,11 @@ node-name = "level3-nrt0-rd-wr-sum"; traffic-merge-type = ; - qcom,axi-port-name = "cam_sf_0"; qcom,axi-port-mnoc { - qcom,msm-bus,name = - "cam_sf_0_mnoc"; - qcom,msm-bus-vector-dyn-vote; - qcom,msm-bus,num-cases = <2>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = - , - ; + interconnect-names = "cam_sf_0"; + interconnects = + <&mmss_noc MASTER_CAMNOC_SF + &mc_virt SLAVE_EBI1>; }; }; @@ -677,18 +640,11 @@ node-name = "level3-nrt1-rd-wr-sum"; traffic-merge-type = ; - qcom,axi-port-name = "cam_sf_icp"; qcom,axi-port-mnoc { - qcom,msm-bus,name = - "cam_sf_icp_mnoc"; - qcom,msm-bus-vector-dyn-vote; - qcom,msm-bus,num-cases = <2>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = - , - ; + interconnect-names = "cam_sf_icp"; + interconnects = + <&mmss_noc MASTER_CAMNOC_ICP + &mc_virt SLAVE_EBI1>; }; }; }; @@ -1136,7 +1092,7 @@ cam_cpas_cdm: qcom,cpas-cdm@ac4d000 { cell-index = <0>; - compatible = "qcom,cam-cpas-cdm1_2"; + compatible = "qcom,cam170-cpas-cdm0"; label = "cpas-cdm"; reg = <0xac4d000 0x1000>; reg-names = "cpas-cdm"; @@ -1151,74 +1107,51 @@ <&clock_camcc CAM_CC_CPAS_AHB_CLK>; clock-rates = <0 0>; clock-cntl-level = "svs"; - cdm-client-names = "ife2", "ife3", "ife4", "ife5", "ife6", "dualife"; + cdm-client-names = "ife", "ife2", "ife3", "ife4", "ife5", "ife6", "dualife"; status = "ok"; }; - qcom,ife-cdm0@acb4200 { - cell-index = <0>; - compatible = "qcom,cam-ife-cdm1_2"; - label = "ife-cdm"; + qcom,cpas-cdm1@acb4200 { + cell-index = <1>; + compatible = "qcom,cam480-cpas-cdm1"; + label = "cpas-cdm"; reg = <0xacb4200 0x1000>; - reg-names = "ife-cdm0"; + reg-names = "cpas-cdm"; reg-cam-base = <0xb4200>; interrupts = ; - interrupt-names = "ife-cdm0"; - regulator-names = "camss","ife0"; + interrupt-names = "cpas-cdm"; + regulator-names = "camss"; camss-supply = <&titan_top_gdsc>; - ife0-supply = <&ife_0_gdsc>; - clock-names = "ife_0_ahb", - "ife_0_areg", - "ife_clk", - "ife_axi_clk", + clock-names = "cam_cc_cpas_slow_ahb_clk", "cam_cc_cpas_ahb_clk"; - clocks = - <&clock_camcc CAM_CC_IFE_0_AHB_CLK>, - <&clock_camcc CAM_CC_IFE_0_AREG_CLK>, - <&clock_camcc CAM_CC_IFE_0_CLK>, - <&clock_camcc CAM_CC_IFE_0_AXI_CLK>, + clocks = <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>, <&clock_camcc CAM_CC_CPAS_AHB_CLK>; - clock-rates = - <0 0 0 0 0>, - <0 0 0 0 0>, - <0 0 0 0 0>, - <0 0 0 0 0>; - clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo"; + clock-rates = <0 0>; + clock-cntl-level = "svs"; cdm-client-names = "ife0"; - status = "ok"; + status = "disabled"; }; - qcom,ife-cdm1@acc3200 { - cell-index = <1>; - compatible = "qcom,cam-ife-cdm1_2"; - label = "ife-cdm"; + qcom,cpas-cdm2@acc3200 { + cell-index = <2>; + compatible = "qcom,cam480-cpas-cdm2"; + label = "cpas-cdm"; reg = <0xacc3200 0x1000>; - reg-names = "ife-cdm1"; + reg-names = "cpas-cdm"; reg-cam-base = <0xc3200>; interrupts = ; - interrupt-names = "ife-cdm1"; - regulator-names = "camss","ife1"; + interrupt-names = "cpas-cdm"; + regulator-names = "camss"; camss-supply = <&titan_top_gdsc>; ife1-supply = <&ife_1_gdsc>; - clock-names = "ife_1_ahb", - "ife_1_areg", - "ife_clk", - "ife_axi_clk", + clock-names = "cam_cc_cpas_slow_ahb_clk", "cam_cc_cpas_ahb_clk"; - clocks = - <&clock_camcc CAM_CC_IFE_1_AHB_CLK>, - <&clock_camcc CAM_CC_IFE_1_AREG_CLK>, - <&clock_camcc CAM_CC_IFE_1_CLK>, - <&clock_camcc CAM_CC_IFE_1_AXI_CLK>, + clocks = <&clock_camcc CAM_CC_SLOW_AHB_CLK_SRC>, <&clock_camcc CAM_CC_CPAS_AHB_CLK>; - clock-rates = - <0 0 0 0 0>, - <0 0 0 0 0>, - <0 0 0 0 0>, - <0 0 0 0 0>; - clock-cntl-level = "lowsvs", "svs", "svs_l1", "turbo"; + clock-rates = <0 0>; + clock-cntl-level = "svs"; cdm-client-names = "ife1"; - status = "ok"; + status = "disabled"; }; qcom,cam-isp { From 1937d8d322efd21d60da29b21c9ae996a4ac9fed Mon Sep 17 00:00:00 2001 From: zhonxue Date: Wed, 20 Jul 2022 12:43:17 +0800 Subject: [PATCH 5/8] ARM: dts: msm: update imx586 and imx686 dtsi fix the camera sensor probe conflict between rb5 pop and rb5m. move rb5m imx586 and imx686 dtsi to kona-camera-sensor-rb5-m.dtsi. set sensor7 csiphy-sd-index to 1 in kona-camera-sensor-rb5.dtsi. CRs-Fixed: 3258591 Change-Id: I96f05c3669b3a3aeeb11c896ddce2c0053733dda --- kona-camera-sensor-rb5-m.dtsi | 180 ++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 kona-camera-sensor-rb5-m.dtsi diff --git a/kona-camera-sensor-rb5-m.dtsi b/kona-camera-sensor-rb5-m.dtsi new file mode 100644 index 000000000000..de5e94289c14 --- /dev/null +++ b/kona-camera-sensor-rb5-m.dtsi @@ -0,0 +1,180 @@ + +&cam_cci0 { + + actuator_rear_cam10: qcom,actuator1 { + cell-index = <10>; + compatible = "qcom,actuator"; + cci-master = <1>; + cam_vaf-supply = <&pm8150a_l7>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2856000>; + rgltr-max-voltage = <3104000>; + rgltr-load-current = <100000>; + }; + + eeprom_rear_cam10: qcom,eeprom1 { + cell-index = <10>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor10 { + cell-index = <10>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <1>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + actuator-src = <&actuator_rear_cam10>; + eeprom-src = <&eeprom_rear_cam10>; + cam_vio-supply = <&pm8009_l7>; + cam_vana-supply = <&pm8009_l5>; + cam_vdig-supply = <&pm8009_l1>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1104000 0>; + rgltr-max-voltage = <1800000 3000000 1104000 0>; + rgltr-load-current = <120000 80000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk1_active + &cam_sensor_active_rear_aux>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_suspend_rear_aux>; + gpios = <&tlmm 95 0>, + <&tlmm 92 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK0", + "CAM_RESET0"; + sensor-mode = <0>; + cci-master = <1>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + +}; + +&cam_cci1 { + + actuator_rear_cam7: qcom,actuator2 { + cell-index = <7>; + compatible = "qcom,actuator"; + cci-master = <0>; + cam_vaf-supply = <&pm8009_l6>; + regulator-names = "cam_vaf"; + rgltr-cntrl-support; + rgltr-min-voltage = <2856000>; + rgltr-max-voltage = <3000000>; + rgltr-load-current = <100000>; + }; + + eeprom_rear_cam7: qcom,eeprom2 { + cell-index = <7>; + compatible = "qcom,eeprom"; + cam_vio-supply = <&pm8009_l7>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 0>; + rgltr-max-voltage = <1800000 0>; + rgltr-load-current = <120000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + + qcom,cam-sensor7 { + cell-index = <7>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <2>; + sensor-position-roll = <270>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + actuator-src = <&actuator_rear_cam7>; + eeprom-src = <&eeprom_rear_cam7>; + cam_vio-supply = <&pm8009_l7>; + cam_vana-supply = <&pm8009_l6>; + cam_vdig-supply = <&pm8009_l2>; + cam_clk-supply = <&titan_top_gdsc>; + regulator-names = "cam_vio", "cam_vana", "cam_vdig", "cam_clk"; + rgltr-cntrl-support; + pwm-switch; + rgltr-min-voltage = <1800000 2800000 1200000 0>; + rgltr-max-voltage = <1800000 3000000 1200000 0>; + rgltr-load-current = <120000 80000 1200000 0>; + gpio-no-mux = <0>; + pinctrl-names = "cam_default", "cam_suspend"; + pinctrl-0 = <&cam_sensor_mclk2_active + &cam_sensor_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 96 0>, + <&tlmm 78 0>; + gpio-reset = <1>; + gpio-req-tbl-num = <0 1>; + gpio-req-tbl-flags = <1 0>; + gpio-req-tbl-label = "CAMIF_MCLK2", + "CAM_RESET2"; + sensor-mode = <0>; + cci-master = <0>; + status = "ok"; + clocks = <&clock_camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "turbo"; + clock-rates = <24000000>; + }; + +}; From 806b8304f6ef1b69cc40db2974ef96e77495697e Mon Sep 17 00:00:00 2001 From: zhonxue Date: Mon, 29 Aug 2022 17:39:13 +0800 Subject: [PATCH 6/8] ARM: dts: msm: update imx586 and imx686 dtsi for rb5m - Position of sensor7 is front. - Change the actuator and eeprom label in rb5m dtsi to avoid the conflict with kona-camera-sensor-rb5.dtsi. CRs-Fixed: 3277140 Change-Id: I1d7801ddf5b06d1c8767b6733216249ce69990ee --- kona-camera-sensor-rb5-m.dtsi | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kona-camera-sensor-rb5-m.dtsi b/kona-camera-sensor-rb5-m.dtsi index de5e94289c14..b68c0f9eb8b2 100644 --- a/kona-camera-sensor-rb5-m.dtsi +++ b/kona-camera-sensor-rb5-m.dtsi @@ -90,8 +90,7 @@ }; &cam_cci1 { - - actuator_rear_cam7: qcom,actuator2 { + actuator_front_cam7: qcom,actuator2 { cell-index = <7>; compatible = "qcom,actuator"; cci-master = <0>; @@ -103,7 +102,7 @@ rgltr-load-current = <100000>; }; - eeprom_rear_cam7: qcom,eeprom2 { + eeprom_front_cam7: qcom,eeprom2 { cell-index = <7>; compatible = "qcom,eeprom"; cam_vio-supply = <&pm8009_l7>; @@ -143,8 +142,8 @@ sensor-position-roll = <270>; sensor-position-pitch = <0>; sensor-position-yaw = <0>; - actuator-src = <&actuator_rear_cam7>; - eeprom-src = <&eeprom_rear_cam7>; + actuator-src = <&actuator_front_cam7>; + eeprom-src = <&eeprom_front_cam7>; cam_vio-supply = <&pm8009_l7>; cam_vana-supply = <&pm8009_l6>; cam_vdig-supply = <&pm8009_l2>; From 7e0679071709069bdd4892fb02de5b247760a9d8 Mon Sep 17 00:00:00 2001 From: Yao Zhao Date: Thu, 29 Sep 2022 11:28:34 +0530 Subject: [PATCH 7/8] ARM: dts: msm: Add camera qrd-v3 dts for qrb2210 Add camera qrd-v3 dts for qrb2210. Modify the GMSL CCI1 to CCI0. CRs-Fixed: 3338291 Change-Id: I08d945990632bcfbc904ea9acd4cfefc1e046a12 --- scuba-camera-sensor-idp-v3.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 scuba-camera-sensor-idp-v3.dtsi diff --git a/scuba-camera-sensor-idp-v3.dtsi b/scuba-camera-sensor-idp-v3.dtsi new file mode 100644 index 000000000000..f19d8951f76d --- /dev/null +++ b/scuba-camera-sensor-idp-v3.dtsi @@ -0,0 +1,11 @@ +&cam_cci0 { + /* GMSL-1 */ + qcom,cam-sensor3 { + cci-master = <0>; + }; + + /* GMSL-2 */ + qcom,cam-sensor4 { + cci-master = <0>; + }; +}; From 028d68779f042800cdc794ddec3008828be11fc6 Mon Sep 17 00:00:00 2001 From: Yao Zhao Date: Wed, 28 Sep 2022 16:56:46 +0530 Subject: [PATCH 8/8] ARM: dts: msm: Add camera qrd-v3 dts for qrb4210 Add camera qrd-v3 dts for qrb4210. Modify GMSL CCI1 to CCI0. CRs-Fixed: 3338278 Change-Id: I3737025974cce3abf2f9fc1f040a8eedded9632f --- bengal-camera-sensor-idp-v3.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 bengal-camera-sensor-idp-v3.dtsi diff --git a/bengal-camera-sensor-idp-v3.dtsi b/bengal-camera-sensor-idp-v3.dtsi new file mode 100644 index 000000000000..f19d8951f76d --- /dev/null +++ b/bengal-camera-sensor-idp-v3.dtsi @@ -0,0 +1,11 @@ +&cam_cci0 { + /* GMSL-1 */ + qcom,cam-sensor3 { + cci-master = <0>; + }; + + /* GMSL-2 */ + qcom,cam-sensor4 { + cci-master = <0>; + }; +};