Hello,
I am trying to set a custom camera which is connected to CSI0 port of my board having imx.8mp. The camera is connected via LVDS to MIPI bridge and I2C of the bridge is currently programmed by a MicroController. I don;t need I2C for the moment.
I have checked using Scope, and I see the MIPI CSI signals on the pins.
I am trying to get the software up and running, however /dev/video0 device does not get created. The problem is that the IMX8-MEDIA-DEV driver is failing to probe.
Here is my DTS code which is relevant:
/ {
cam1_clk: cam1-clk {
#clock-cells = <0>;
compatible = "fixed-clock";
clock-frequency = <27000000>;
};
};
&cameradev {
status = "okay";
};
&i2c3 {
cam1: camera1@36 {
compatible = "onsemi,ar052x";
reg = <0x36>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clocks = <&cam1_clk>;
clock-names = "ext";
port@0 {
reg = <0>;
cam1_mipi_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
bus-type = <4>; /* MIPI CSI-2 D-PHY */
data-lanes = <2>;
clock-lanes = <0>;
clock-noncontinuous = <1>;
};
};
};
};
&isi_0 {
status = "okay";
cap_device {
status = "okay";
};
};
&isi_1 {
status = "okay";
cap_device {
status = "okay";
};
};
&mipi_csi_0 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx8mp-mipi-csi";
no-reset-control;
//power-domains = <&mipi_phy1_pd>;
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {};
};
};
&mipi_csi0_ep {
remote-endpoint = <&cam1_mipi_ep>;
data-lanes = <4>;
csis-hs-settle = <16>;
csis-clk-settle = <2>;
csis-wclk;
};
&mipi_csi_1 {
status = "okay";
port@1 {
reg = <1>;
mipi_csi1_ep: endpoint {};
};
};
[ 107.559356] imx8_mipi_csi2_sam: module is from the staging directory, the quality is unknown, you have been warned.
[ 107.580669] mxc-mipi-csi2-sam 32e50000.csi: supply mipi-phy not found, using dummy regulator
[ 107.611984] : mipi_csis_imx8mp_phy_reset, No remote pad found!
[ 107.626983] mxc-mipi-csi2-sam 32e50000.csi: lanes: 2, hs_settle: 0, clk_settle: 0, wclk: 0, freq: 266000000
[ 107.658121] ar052x 1-0036: Probing ar052x Driver
[ 107.662908] i2c i2c-1: new_device: Instantiated device ar052x at 0x36
[ 107.688612] imx8_isi_capture: module is from the staging directory, the quality is unknown, you have been warned.
[ 107.711395] imx8_capture: module is from the staging directory, the quality is unknown, you have been warned.
[ 107.724051] isi-capture 32e00000.isi:cap_device: deferring 32e00000.isi:cap_device device registration
[ 107.733520] mxc-isi 32e00000.isi: mxc_isi.0 registered successfully
[ 107.741636] isi-capture 32e02000.isi:cap_device: deferring 32e02000.isi:cap_device device registration
[ 107.751060] mxc-isi 32e02000.isi: mxc_isi.1 registered successfully
[ 108.118167] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
[ 108.164988] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0
[ 108.194417] mx8-img-md: Registered mxc_isi.1.capture as /dev/video1
[ 108.214117] mxc-md 32c00000.bus:camera: 2 deferring csi device registration
Here is the log showing the failure. I dont understand why the media-driver is trying to find a node named "isi" and failing when both the nodes are the same.
I have tried many things so far.
One of the important thing is, when I set status="disabled" in mipi_csi1, then the csi2-sam driver does not probe.