Project

General

Profile

RE: Camera driver development » cameradtb.patch

Nathan Olson, 05/27/2026 12:55 AM

View differences:

mitysom-qc6490-devkit-camera-sensor.dtsi → mitysom-qc6490-devkit-camera-sensor2.dtsi
*/
#include <dt-bindings/msm-camera.h>
&soc {
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok";
gpios-shared-pinctrl = <640>;
shared-pctrl-gpio-names = "gmsl";
pinctrl-names = "gmsl_active", "gmsl_suspend";
pinctrl-0 = <&cam_sensor_active_gmsl>;
pinctrl-1 = <&cam_sensor_suspend_gmsl>;
};
};
&tlmm {
cam_sensor_active_rst5: cam_sensor_active_rst5 {
/* RESET 5 */
mux {
pins = "gpio115";
function = "gpio";
};
config {
pins = "gpio115";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_suspend_rst5: cam_sensor_suspend_rst5 {
/* RESET 5 */
mux {
pins = "gpio115";
function = "gpio";
};
config {
pins = "gpio115";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_active_gmsl: cam_sensor_active_gmsl {
/* GMSL_ENABLE */
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-pull-up;
drive-strength = <2>; /* 2 MA */
output-high;
};
};
cam_sensor_suspend_gmsl: cam_sensor_suspend_gmsl {
/* GMSL_ENABLE */
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&cam_cci0 {
/*cam0-ov9282*/
qcom,cam-sensor1 {
cell-index = <1>;
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <0>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
cam_vio-supply = <&vreg_l18b_1p8>;
regulator-names = "cam_vio";
power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend>;
// sensor-position-roll = <0>;
// sensor-position-pitch = <0>;
// sensor-position-yaw = <180>;
// cam_vio-supply = <&vreg_l18b_1p8>;
// regulator-names = "cam_vio";
// power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
// rgltr-cntrl-support;
// pwm-switch;
// rgltr-min-voltage = <1800000>;
// rgltr-max-voltage = <1800000>;
// rgltr-load-current = <120000>;
// gpio-no-mux = <0>;
// pinctrl-names = "cam_default", "cam_suspend";
// pinctrl-0 = <&cam_sensor_mclk0_active>;
// pinctrl-1 = <&cam_sensor_mclk0_suspend>;
gpios = <&tlmm 64 0>;
gpio-vana = <0>;
gpio-req-tbl-num = <0>;
......
clock-cntl-level = "nominal";
clock-rates = <24000000>;
};
/*cam0b-ov9282*/
qcom,cam-sensor7 {
cell-index = <7>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <0>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
cam_vio-supply = <&vreg_l18b_1p8>;
regulator-names = "cam_vio";
power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend>;
gpios = <&tlmm 65 0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CAM_EN1";
sensor-mode = <0>;
cci-master = <1>;
status = "ok";
clocks = <&camcc CAM_CC_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <24000000>;
};
};
&cam_cci1 {
/*cam1-ov9282*/
qcom,cam-sensor6 {
cell-index = <6>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <0>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
cam_vio-supply = <&vreg_l18b_1p8>;
regulator-names = "cam_vio";
power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend>;
gpios = <&tlmm 66 0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CAMIF_MCLK2";
sensor-mode = <0>;
cci-master = <0>;
status = "ok";
clocks = <&camcc CAM_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <24000000>;
};
/*cam2-ov9282*/
qcom,cam-sensor5 {
cell-index = <5>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <3>;
sensor-position-roll = <0>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
cam_vio-supply = <&vreg_l18b_1p8>;
regulator-names = "cam_vio";
power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
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 67 0>,
<&tlmm 78 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 = <&camcc CAM_CC_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <24000000>;
};
/*cam4-ov9282*/
qcom,cam-sensor4 {
cell-index = <4>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <4>;
sensor-position-roll = <0>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
cam_vio-supply = <&vreg_l18b_1p8>;
regulator-names = "cam_vio";
power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk4_active>;
pinctrl-1 = <&cam_sensor_mclk4_suspend>;
gpios = <&tlmm 68 0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CAMIF_MCLK4";
sensor-mode = <0>;
cci-master = <1>;
status = "ok";
clocks = <&camcc CAM_CC_MCLK4_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "nominal";
clock-rates = <24000000>;
};
/*cam3-imx577*/
// rb3_slot3: qcom,cam-sensor0 {
// cell-index = <0>;
// compatible = "qcom,cam-sensor";
// csiphy-sd-index = <3>;
// sensor-position-roll = <0>;
// sensor-position-pitch = <0>;
// sensor-position-yaw = <180>;
// eeprom-src = <&eeprom_cam3>;
// cam_vio-supply = <&vreg_l18b_1p8>;
// regulator-names = "cam_vio";
// power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
// rgltr-cntrl-support;
// pwm-switch;
// rgltr-min-voltage = <1800000>;
// rgltr-max-voltage = <1800000>;
// rgltr-load-current = <120000>;
// gpio-no-mux = <0>;
// pinctrl-names = "cam_default", "cam_suspend";
// pinctrl-0 = <&cam_sensor_mclk3_active>;
// pinctrl-1 = <&cam_sensor_mclk3_suspend>;
// gpios = <&tlmm 67 0>;
// gpio-reset = <1>;
// gpio-req-tbl-num = <0 1>;
// gpio-req-tbl-flags = <1 0>;
// gpio-req-tbl-label = "CAMIF_MCLK3";
// sensor-mode = <0>;
// cci-master = <1>;
// status = "ok";
// clocks = <&camcc CAM_CC_MCLK3_CLK>;
// clock-names = "cam_clk";
// clock-cntl-level = "nominal";
// clock-rates = <24000000>;
// };
// eeprom_cam3: qcom,eeprom3 {
// cell-index = <0>;
// compatible = "qcom,eeprom";
// cam_vio-supply = <&vreg_l18b_1p8>;
// regulator-names = "cam_vio";
// power-domains = <&camcc CAM_CC_TITAN_TOP_GDSC>;
// rgltr-cntrl-support;
// rgltr-min-voltage = <1800000>;
// rgltr-max-voltage = <1800000>;
// rgltr-load-current = <120000>;
// 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 67 0>,
// <&tlmm 78 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 = <&camcc CAM_CC_MCLK3_CLK>;
// clock-names = "cam_clk";
// clock-cntl-level = "nominal";
// clock-rates = <24000000>;
// };
};
(2-2/4)