Hi @alvaro.tx ,
The GStreamer pipeline I used is as follows:
// 1 channel
gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! fpsdisplaysink video-sink=waylandsink text-overlay=false sync=false -v
// 4 channel
gst-launch-1.0 imxcompositor_g2d name=comp \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=960 sink_0::height=540 \
sink_1::xpos=0 sink_1::ypos=540 sink_1::width=960 sink_1::height=540 \
sink_2::xpos=960 sink_2::ypos=0 sink_2::width=960 sink_2::height=540 \
sink_3::xpos=960 sink_3::ypos=540 sink_3::width=960 sink_3::height=540 ! \
video/x-raw,framerate=30/1 ! fpsdisplaysink video-sink=waylandsink text-overlay=false sync=false -v \
v4l2src device=/dev/video2 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! comp.sink_0 \
v4l2src device=/dev/video3 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! comp.sink_1 \
v4l2src device=/dev/video4 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! comp.sink_2 \
v4l2src device=/dev/video5 ! video/x-raw,width=1920,height=1080,framerate=30/1 ! comp.sink_3
The device tree I used is as follows:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright 2022 Toradex
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "toradex,apalis-imx8";
};
/* Apalis I2C3 (CAM) */
&i2c3 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
tp2855_mipi@44 {
compatible = "techpoint,tp2855_mipi";
reg = <0x44>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio1>;
clocks = <&clk_dummy>;
clock-names = "capture_mclk";
mclk = <27000000>;
mclk_source = <0>;
rst-gpios = <&lsio_gpio0 8 GPIO_ACTIVE_HIGH>; /* Apalis GPIO1 */
virtual-channel;
status = "okay";
port {
tp2855_1_ep: endpoint {
remote-endpoint = <&mipi_csi1_ep>;
data-lanes = <1 2 3 4>;
};
};
};
};
/* <Input MIPI_VCx Output>
Input: 0-DC0, 1-DC1, 2-MIPI CSI0, 3-MIPI CSI1, 4-HDMI, 5-MEM
VCx: 0-VC0, 1-VC1, 2-VC2, 3-VC3, MIPI CSI only
Output: 0-DC0, 1-DC1, 2-MEM */
&isi_4 {
interface = <3 0 2>;
status = "okay";
cap_device {
status = "okay";
};
};
&isi_5 {
interface = <3 1 2>;
status = "okay";
cap_device {
status = "okay";
};
};
&isi_6 {
interface = <3 2 2>;
status = "okay";
cap_device {
status = "okay";
};
};
&isi_7 {
interface = <3 3 2>;
status = "okay";
cap_device {
status = "okay";
};
};
&mipi_csi_1 {
#address-cells = <1>;
#size-cells = <0>;
virtual-channel;
status = "okay";
/* Camera 1 MIPI CSI-2 (CSIS0) */
port@1 {
reg = <1>;
mipi_csi1_ep: endpoint {
remote-endpoint = <&tp2855_1_ep>;
data-lanes = <1 2 3 4>;
};
};
};
I referred to the NXP Community for the device tree I provided last time:
Best regards,
sjjin