Hi. I read your statement about the device tree:“the camss driver will wait for these camera devices to be probed and their subdevs to be registered”. What I have is a single CSI port but I would like to be able to switch sensors (imx230 and ov5640) on this port. Is this possible? Partial device tree looks like this and does not seem to work. I get an error when I run media-ctl setup, such as sudo media-ctl -d /dev/media0 -V ‘“imx230 12-0020”:0[fmt:UYVY2X8/1920x1080],“msm_csiphy0”:0[fmt:UYVY2X8/1920x1080],“msm_csid0”:0[fmt:UYVY2X8/1920x1
080],“msm_ispif0”:0[fmt:UYVY2X8/1920x1080],“msm_vfe0_rdi0”:0[fmt:UYVY2X8/1920x1080]’
Unable to setup formats: No such file or directory (2)
Can you help?
Thanks,
Kim
&i2c_12 {
status = “ok”;
ov5640: camera_rear@78 {
cell-index = <1>;
compatible = "ovti,ov5640";
reg = <0x78>;
enable-gpios = <&tlmm 29 0>;
reset-gpios = <&tlmm 30 0>;
mclk-gpios = <&tlmm 13 0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active &cam_csi0_sensor_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_csi0_sensor_suspend>;
vddd-supply = <&vph_pwr_vreg>;
vdddo-supply = <&pm8994_lvs1>;
vdda-supply = <&pm8994_l18>;
clocks = <&clock_mmss clk_mclk0_clk_src>,
<&clock_mmss clk_camss_mclk0_clk>;
clock-names = "cam_src_clk", "xclk";
clock-frequency = <23880000>;
status = "ok";
port {
ov5640_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 2>;
remote-endpoint = <&csiphy0_ep>;
};
};
};
imx230: camera_rear@20 {
cell-index = <1>;
compatible = "sony,imx230";
reg = <0x20>;
enable-gpios = <&tlmm 29 0>;
reset-gpios = <&tlmm 30 0>;
mclk-gpios = <&tlmm 13 0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active &cam_csi0_sensor_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_csi0_sensor_suspend>;
vddd-supply = <&vph_pwr_vreg>;
vdddo-supply = <&pm8994_lvs1>;
vdda-supply = <&pm8994_l18>;
clocks = <&clock_mmss clk_mclk0_clk_src>,
<&clock_mmss clk_camss_mclk0_clk>;
clock-names = "cam_src_clk", "xclk";
clock-frequency = <23880000>;
status = "ok";
port {
imx230_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 2>;
remote-endpoint = <&csiphy0mt_ep>;
};
};
};
&camss {
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
csiphy0_ep: endpoint@0 {
clock-lanes = <1>;
data-lanes = <0 2>;
qcom,settle-cnt = <0xe>;
remote-endpoint = <&ov5640_ep>;
status = “ok”;
};
csiphy0mt_ep: endpoint@1 {
clock-lanes = <1>;
data-lanes = <0 2>;
qcom,settle-cnt = <0xe>;
remote-endpoint = <&imx230_ep>;
status = “ok”;
};
};
};
};