We are currently having issues trying to connect one FRAMOS FSM:GO IMX662 Camera Sensor to the second CSI2 channel on our custom carrier board with the Verdin IMX8M P SoM.
Connecting it to CSI2 channel one/zero is working but we can not get it to work on the other CSI channel. It seems that the i2c connection is working and we can set configurations but after docker run…gst example and gst launch.. but the stream crashes after that. We have adapted the device tree overlay; it would be great if you could check if there is anything wrong with it:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
/plugin/;
#include <dt-bindings/clock/imx8mp-clock.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = “toradex,verdin-imx8mp”;
};
#define CAMERA_I2C_MUX_BUS(x) (0x1E + x)
&i2c3 {
status = “okay”;
//clock-frequency = <100000>;
//pinctrl-names = “default”;
//pinctrl-0 = <&pinctrl_i2c3>;
imx662_0: imx662_mipi@1a {
compatible = “framos,imx662”;
reg = <0x1a>;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_gpio5>, <&pinctrl_gpio6>;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
clock-names = “csi_mclk”;
/* CSI1 statt CSI0 */
csi_id = <1>;
rst-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
mipi_csi;
status = "okay";
port {
imx662_mipi_1_ep: endpoint {
remote-endpoint = <&mipi_csi1_ep>;
/*
* Falls CSI1 auf deinem Carrier nur 2 Lanes hat:
* data-lanes = <1 2>;
*/
data-lanes = <1 2 3 4>;
clock-lanes = <0>;
max-pixel-frequency = /bits/ 64 <500000000>;
};
};
};
};
&cameradev {
status = “okay”;
};
&isi_0 {
status = “disabled”;
};
&isi_1 {
status = “disabled”;
};
&isp_0 {
status = “okay”;
};
&isp_1 {
status = “okay”;
};
&dewarp {
status = “okay”;
};
/* CSI0 deaktivieren */
&mipi_csi_0 {
status = “disabled”;
};
/* CSI1 aktivieren und mit IMX662 verbinden */
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
status = “okay”;
//clock-frequency = <266000000>;
//assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>;
//assigned-clock-rates = <266000000>;
port@1 {
reg = <1>;
//reg = <0>; dann port@0 schreiben
mipi_csi1_ep: endpoint {
remote-endpoint = <&imx662_mipi_1_ep>;
/*
* Achtung:
* Im originalen Overlay steht hier data-lanes = <4>;
* beim Sensor-Endpoint aber data-lanes = <1 2 3 4>.
*
* Ich lasse es hier wie im originalen Framos/Toradex-Overlay,
* nur auf CSI1 umgezogen.
*/
data-lanes = <4>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};