Hello!
We are having trouble with making the video device show up using a custom camera.
We are basing the driver off of other drivers and after probing, we can confirm I2C communication with the camera works and we can also interface with the V4L2 subdevice.
The /dev/videoX device is not being created. The problem is we could not find any information online abut how this mechanism works (does the MIPI CSI driver handle this? as far as I understand you need the raw output from that device so you can then pipe it through the ISP media server) and we are looking for some guidance on how to debug / what steps we should take for the char device to be created successfully.
&i2c3 {
/delete-node/ov5640_mipi@3c;
og02b10: og02b10@60 {
compatible = "ovti,og02b10";
reg = <0x60>;
status = "okay";
csi_id = <1>;
mipi_csi;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
clock-names = "xvclk";
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
assigned-clock-rates = <24000000>;
//avdd-supply = <®_2v8>;
//dovdd-supply = <®_1v8>;
//dvdd-supply = <®_1v2>;
//powerdown-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
//reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
// camera mount properties
rotation = <0>;
orientation = <2>;
port {
og02b10_ep: endpoint {
clock-lanes = <1>;
data-lanes = <1 2>;
link-frequencies = /bits/ 64 <750000000>;
max-lane-frequency = /bits/ 64 <750000000>;
max-pixel-frequency = /bits/ 64 <266000000>;
max-data-rate = /bits/ 64 <0>;
remote-endpoint = <&mipi_csi1_ep>;
};
};
};
};
&pcie_phy {
status = "okay";
};
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port@1 {
reg = <1>;
mipi_csi1_ep: endpoint {
remote-endpoint = <&og02b10_ep>;
data-lanes = <2>;
csis-hs-settle = <16>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};
&cameradev {
status = "okay";
};
&isi_0 {
status = "disabled";
};
&isi_1 {
status = "disabled";
};
&isp_0 {
status = "okay";
};
&isp_1 {
status = "okay";
};
Thank you in advance for all the help!