ARM: dts: msm: Add camera device tree for kona

Add camera sensor devicetree setting for kona.

Change-Id: I060f260ac4bd17a77dc2b80dea69ef7be0654974
This commit is contained in:
Yuxin Feng 2022-06-09 12:10:50 +05:30
commit 517354890d
2 changed files with 604 additions and 136 deletions

535
kona-camera-sensor-rb5.dtsi Normal file
View file

@ -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;
};
};

View file

@ -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 =
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 0>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 76800>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 76800>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 150000>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 300000>,
<MSM_BUS_MASTER_AMPSS_M0
MSM_BUS_SLAVE_CAMERA_CFG 0 300000>;
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 = <RPMH_REGULATOR_LEVEL_RETENTION
RPMH_REGULATOR_LEVEL_MIN_SVS
RPMH_REGULATOR_LEVEL_LOW_SVS
@ -622,11 +600,10 @@
"csiphy0", "csiphy1", "csiphy2", "csiphy3",
"csiphy4", "csiphy5", "cci0", "cci1",
"csid0", "csid1", "csid2", "csid3",
"csid4", "csid5", "csid6", "ife0",
"ife1", "ife2", "ife3", "custom0",
"ipe0", "cam-cdm-intf0", "cpas-cdm0",
"ife-cdm0", "ife-cdm1", "bps0", "icp0",
"jpeg-dma0", "jpeg-enc0", "fd0";
"csid4", "csid5", "csid6", "ife0", "ife1",
"ife2", "ife3", "ife4", "ife5", "ife6",
"custom0", "ipe0", "cam-cdm-intf0", "cpas-cdm0",
"bps0", "icp0", "jpeg-dma0", "jpeg-enc0", "fd0";
camera-bus-nodes {
level3-nodes {
@ -636,19 +613,12 @@
node-name = "level3-rt0-rd-wr-sum";
traffic-merge-type =
<CAM_CPAS_TRAFFIC_MERGE_SUM>;
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 =
<MSM_BUS_MASTER_CAMNOC_HF
MSM_BUS_SLAVE_EBI_CH0 0 0>,
<MSM_BUS_MASTER_CAMNOC_HF
MSM_BUS_SLAVE_EBI_CH0 0 0>;
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 =
<CAM_CPAS_TRAFFIC_MERGE_SUM>;
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 =
<MSM_BUS_MASTER_CAMNOC_SF
MSM_BUS_SLAVE_EBI_CH0 0 0>,
<MSM_BUS_MASTER_CAMNOC_SF
MSM_BUS_SLAVE_EBI_CH0 0 0>;
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 =
<CAM_CPAS_TRAFFIC_MERGE_SUM>;
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 =
<MSM_BUS_MASTER_CAMNOC_ICP
MSM_BUS_SLAVE_EBI_CH0 0 0>,
<MSM_BUS_MASTER_CAMNOC_ICP
MSM_BUS_SLAVE_EBI_CH0 0 0>;
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 = <GIC_SPI 456 IRQ_TYPE_EDGE_RISING>;
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 = <GIC_SPI 287 IRQ_TYPE_EDGE_RISING>;
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 {