This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62P-LP: gst-launch-1.0 Failed to allocate required memory.

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P,

Tool/software:

Hi,

We were trying to enable a camera in our board. we were following the procedures on https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/10_00_07_04/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Camera/CSI2RX.html , our device tree can be seeing bellow.

// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree file for the AM62P5-SK
 * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
 *
 * Schematics: https://www.ti.com/lit/zip/sprr487
 */

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
#include "k3-am62p5.dtsi"

/ {
	compatible = "ti,am62p5-sk", "ti,am62p5";
	model = "Texas Instruments AM62P5 SK - Cameras - Teste Link 4";

	aliases {
		serial0 = &wkup_uart0;
		serial1 = &mcu_uart0;
		serial2 = &main_uart0;
		serial3 = &main_uart1;
		mmc0 = &sdhci0;
		mmc1 = &sdhci1;
		mmc2 = &sdhci2;
		spi0 = &ospi0;
		ethernet0 = &cpsw_port1;
		ethernet1 = &cpsw_port2;
		usb0 = &usb0;
		usb1 = &usb1;
	};

	chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		stdout-path = &main_uart0;

		framebuffer0: framebuffer@0 {
			compatible = "simple-framebuffer";
			power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>,
					<&k3_pds 243 TI_SCI_PD_EXCLUSIVE>,	/* OLDI0 */
					<&k3_pds 244 TI_SCI_PD_EXCLUSIVE>;	/* OLDI1 */
			clocks = <&k3_clks 186 6>,
				<&k3_clks 186 0>,
				<&dss0_vp1_clk>,
				 <&k3_clks 186 2>;
			display = <&dss0>;
			status = "disabled";
		};
	};

	memory@80000000 {
		/* 8G RAM */
		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
		      <0x00000008 0x80000000 0x00000001 0x80000000>;
		device_type = "memory";
		bootph-pre-ram;
	};

	reserved_memory: reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		linux,cma {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x00 0x24000000>;
			linux,cma-default;
		};

		rtos_ipc_memory_region: rtos-ipc-memory@9b500000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9b500000 0x00 0x00300000>;
			no-map;
		};

		mcu_r5fss0_core0_dma_memory_region: mcu-r5fss-dma-memory-region@9b800000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9b800000 0x00 0x00100000>;
			no-map;
		};

		mcu_r5fss0_core0_memory_region: mcu-r5fss-memory-region@9b900000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9b900000 0x00 0x00f00000>;
			no-map;
		};

		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c800000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9c800000 0x00 0x00100000>;
			no-map;
		};

		wkup_r5fss0_core0_memory_region: r5f-memory@9c900000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9c900000 0x00 0x01e00000>;
			no-map;
		};

		secure_tfa_ddr: tfa@9e780000 {
			reg = <0x00 0x9e780000 0x00 0x80000>;
			no-map;
		};

		secure_ddr: optee@9e800000 {
			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
			no-map;
		};
	};

	vmain_pd: regulator-0 {
		/* TPS65988 PD CONTROLLER OUTPUT */
		compatible = "regulator-fixed";
		regulator-name = "vmain_pd";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
		bootph-all;
	};

	vcc_5v0: regulator-1 {
		/* Output of TPS630702RNMR */
		compatible = "regulator-fixed";
		regulator-name = "vcc_5v0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		vin-supply = <&vmain_pd>;
		regulator-always-on;
		regulator-boot-on;
		bootph-all;
	};

	vdd_mmc1: regulator-2 {
		/* TPS22918DBVR */
		compatible = "regulator-fixed";
		regulator-name = "vdd_mmc1";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-high;
		gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
		bootph-all;
	};

	vddshv_sdio: regulator-3 {
		compatible = "regulator-gpio";
		regulator-name = "vddshv_sdio";
		pinctrl-names = "default";
		pinctrl-0 = <&vddshv_sdio_pins_default>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
		states = <1800000 0x0>, <3300000 0x1>;
		bootph-all;
	};

	vcc_3v3_sys: regulator-4 {
		compatible = "regulator-fixed";
		regulator-name = "vcc_3v3_sys";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vmain_pd>;
		regulator-always-on;
		regulator-boot-on;
		bootph-all;
	};

	wl_lt_en: regulator-5 {
		compatible = "regulator-fixed";
		regulator-name = "wl_lt_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
		enable-active-high;
		gpio = <&exp2 8 GPIO_ACTIVE_HIGH>;
		bootph-all;
	};

	uart1_fet_buf_en: regulator-6 {
		compatible = "regulator-fixed";
		regulator-name = "uart1_fet_buf_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
		enable-active-low;
		vin-supply = <&wlan_en>;
		gpios = <&exp1 6 GPIO_ACTIVE_LOW>;
		bootph-all;
	};

	// uart1_fet_sel: regulator-7 {
	// 	compatible = "regulator-fixed";
	// 	regulator-name = "uart1_fet_sel";
	// 	regulator-min-microvolt = <3300000>;
	// 	regulator-max-microvolt = <3300000>;
	// 	regulator-boot-on;
	// 	regulator-always-on;
	// 	//enable-active-low;
	// 	enable-active-high;
	// 	vin-supply = <&exp1>;
	// 	//gpios = <&exp1 2 GPIO_ACTIVE_LOW>;
	// 	gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
	// };

	mcasp1_fet_en: regulator-8 {
		compatible = "regulator-fixed";
		regulator-name = "mcasp1_fet_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-low;
		vin-supply = <&exp1>;
		gpio = <&exp1 19 GPIO_ACTIVE_LOW>;
	};

	mcasp1_buf_bt_en: regulator-9 {
		compatible = "regulator-fixed";
		regulator-name = "mcasp1_buf_bt_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-high;
		vin-supply = <&exp1>;
		gpio = <&exp1 20 GPIO_ACTIVE_HIGH>;
	};

	mcasp1_fet_sel: regulator-10 {
		compatible = "regulator-fixed";
		regulator-name = "mcasp1_fet_sel";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		enable-active-high;
		vin-supply = <&exp1>;
		gpio = <&exp1 21 GPIO_ACTIVE_HIGH>;
	};

	//Regulator 5V e 3V3 para a placa adaptadora LOHR
	exp_ps_5v0_en: regulator-11 {
		compatible = "regulator-fixed";
		regulator-name = "exp_ps_5v0_en";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
		regulator-always-on;
		enable-active-high;
		gpios = <&exp2 1 GPIO_ACTIVE_HIGH>;
		bootph-all;
	};

	exp_ps_3v3_en: regulator-12 {
		compatible = "regulator-fixed";
		regulator-name = "exp_ps_3v3_en";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
		enable-active-high;
		gpios = <&exp1 5 GPIO_ACTIVE_HIGH>;
		bootph-all;
	};

	wlan_en: regulator-15 {
		compatible = "regulator-fixed";
		regulator-name = "wlan_en";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		vin-supply = <&wl_lt_en>;
		enable-active-high;
		gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_en_pins_default>;
		status = "disabled";
	};

	// Aqui deve ser o pino PDn conectado em W_DISABLE1 (Pino 56 no M.2)
	// Example Kernel Toradex k3-am62-verdin-wifi.dtsi
	wifi_pwrseq: wifi-pwrseq {
		compatible = "mmc-pwrseq-simple";
		pinctrl-names = "default";
		pinctrl-0 = <&wlan_en_pins_default>;
		reset-gpios = <&main_gpio0 71 GPIO_ACTIVE_LOW>;// Se Power Down Mode for Low = GPIO_ACTIVE_LOW
		status = "okay";
	};

	// Config do backlight do LCD
	backlight: backlight {
		compatible = "pwm-backlight";
		pinctrl-names = "default";
		pinctrl-0 = <&backlight_pins_default>;
		brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
					21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
					41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
					61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
					81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
					101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
					121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
					141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
					161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
					181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
					201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
					221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
					241 242 243 244 245 246 247 248 249 250 251 252 253 254 255>;
		default-brightness-level = <100>;
		enable-gpios = <&main_gpio0 41 GPIO_ACTIVE_HIGH>; //TFT Enable
		pwms = <&epwm1 1 2000000 0>;
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&usr_led_pins_default>;

		led-0 {
			label = "am62-sk:green:heartbeat";
			gpios = <&main_gpio1 49 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
			function = LED_FUNCTION_HEARTBEAT;
			default-state = "off";
		};
	};

	opp-table {
		/* Add 1.4GHz OPP for am62p5-sk board. Requires VDD_CORE at 0v85 */
		opp-1400000000 {
			opp-hz = /bits/ 64 <1400000000>;
			opp-supported-hw = <0x01 0x0004>;
			clock-latency-ns = <6000000>;
		};
	};

	tlv320_mclk: clk-0 {
		#clock-cells = <0>;
		compatible = "fixed-clock";
		clock-frequency = <12000000>;
	};

	clk_nvp6324_fixed: nvp6324-xclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
	};

	codec_audio: sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "MySystem-Audio";
		simple-audio-card,widgets =
			"Headphone",	"Headphone Jack",
			"Line",		"Line In",
			"Microphone",	"Microphone Jack";
		simple-audio-card,routing =
			"Headphone Jack",	"HPLOUT",
			"Headphone Jack",	"HPROUT",
			"LINE1L",		"Line In",
			"LINE1R",		"Line In",
			"MIC3R",		"Microphone Jack",
			"Microphone Jack",	"Mic Bias";
		simple-audio-card,format = "dsp_b";
		simple-audio-card,bitclock-master = <&sound_master>;
		simple-audio-card,frame-master = <&sound_master>;
		simple-audio-card,bitclock-inversion;

		simple-audio-card,cpu {
			sound-dai = <&mcasp1>;
		};

		sound_master: simple-audio-card,codec {
			sound-dai = <&tlv320aic3106>;
			clocks = <&tlv320_mclk>;
		};
	};

	hdmi0: connector-hdmi {
		compatible = "hdmi-connector";
		label = "hdmi";
		type = "a";
		port {
			hdmi_connector_in: endpoint {
				remote-endpoint = <&sii9022_out>;
			};
		};
	};

	lcd {
		compatible = "lincolntech,lcd185-101ct";
		backlight = <&backlight>;
		bootph-all;
		/*
		* Note that the OLDI TX 0 transmits the odd set of pixels
		* while the OLDI TX 1 transmits the even set. This is a
		* fixed configuration in the IP integration and is not
		* changeable. The properties, "dual-lvds-odd-pixels" and
		* "dual-lvds-even-pixels" have been used to merely
		* identify if a Dual Link configuration is required.
		* But swapping them will cause an error in the dss driver.
		*/
		port@0 {
			bootph-all;
			lcd_in0: endpoint {
				remote-endpoint = <&oldi_0_out>;
			};
		};
	};
};

&main_gpio0 {
	bootph-all;
};

&main_gpio1 {
	bootph-all;
};

&ecap0{
	status = "okay";
};

&epwm1{
	status = "okay";
};

&main_pmx0 {
	bootph-all;

	main_i2c0_pins_default: main-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */
			AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */
		>;
	};

	main_i2c1_pins_default: main-i2c1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */
			AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */
		>;
		bootph-all;
	};

	main_i2c2_pins_default: main-i2c2-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x00b0, PIN_INPUT_PULLUP, 1) /* (T22) GPMC0_CSn2.I2C2_SCL */
			AM62PX_IOPAD(0x00b4, PIN_INPUT_PULLUP, 1) /* (U25) GPMC0_CSn3.I2C2_SDA */
		>;
	};

	main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C22) UART0_RTSn.GPIO1_23 */
		>;
	};

	main_mcasp1_pins_default: main-mcasp1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24) GPMC0_BE0n_CLE.MCASP1_ACLKX */
			AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX */
			AM62PX_IOPAD(0x008c, PIN_OUTPUT, 2) /* (T25) GPMC0_WEn.MCASP1_AXR0 */
			AM62PX_IOPAD(0x0084, PIN_INPUT, 2) /* (R25) GPMC0_ADVn_ALE.MCASP1_AXR2 */
		>;
	};

	// Config TFT enable / Backlight brightness
	backlight_pins_default: bl-pins-default {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x00ac, PIN_OUTPUT_PULLUP, 7) /* (U23) GPMC0_CSn1.GPIO0_42 */ /*TFT RESET*/
			AM62PX_IOPAD(0x00a8, PIN_OUTPUT_PULLDOWN, 7) /* (T23) GPMC0_CSn0.GPIO0_41 */	 /*TFT ENABLE*/
			AM62PX_IOPAD(0x01a0, PIN_OUTPUT_PULLDOWN, 6) /* (F23) MCASP0_AXR0.EHRPWM1_B */  /*Back Light EN/PWM*/
		>;
	};

	main_mdio1_pins_default: main-mdio1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC */
			AM62PX_IOPAD(0x015c, PIN_INPUT, 0) /* (F16) MDIO0_MDIO */
		>;
	};

	main_mmc1_pins_default: main-mmc1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
			AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK */
			AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
			AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
			AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
			AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
			AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
		>;
		bootph-all;
	};

	main_mmc2_pins_default: main-mmc2-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0120, PIN_INPUT, 0) 	/* (K24) MMC2_CMD */
			AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0)	/* (K21) MMC2_CLK */
			AM62PX_IOPAD(0x0114, PIN_INPUT, 0)	/* (K23) MMC2_DAT0 */
			AM62PX_IOPAD(0x0110, PIN_INPUT, 0) 	/* (K22) MMC2_DAT1 */
			AM62PX_IOPAD(0x010c, PIN_INPUT, 0) 	/* (L20) MMC2_DAT2 */
			AM62PX_IOPAD(0x0108, PIN_INPUT, 0) 	/* (L21) MMC2_DAT3 */
			AM62PX_IOPAD(0x011C, PIN_INPUT, 0) 	/* () MMC2_CLKLB */
		>;
		bootph-all;
	};

	main_rgmii1_pins_default: main-rgmii1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0 */
			AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1 */
			AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2 */
			AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3 */
			AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC */
			AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */
			AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0 */
			AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1 */
			AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2 */
			AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3 */
			AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC */
			AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */
		>;
		bootph-all;
	};

	main_rgmii2_pins_default: main-rgmii2-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0 */
			AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1 */
			AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2 */
			AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3 */
			AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC */
			AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */
			AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0 */
			AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1 */
			AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2 */
			AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3 */
			AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC */
			AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */
		>;
		bootph-all;
	};

	main_uart0_pins_default: main-uart0-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x1c8, PIN_INPUT, 0)	/* (A22) UART0_RXD */
			AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0)	/* (B22) UART0_TXD */
		>;
		bootph-all;
	};

	main_uart1_pins_default: main-uart1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x01ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR.UART1_RXD */
			AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */
			AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */
			AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
		>;
		bootph-all;
	};

	main_usb1_pins_default: main-usb1-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0258, PIN_INPUT, 0) /* (G21) USB1_DRVVBUS */
		>;
	};

	main_wlirq_pins_default: main-wlirq-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */
		>;
	};

	ospi0_pins_default: ospi0-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK */
			AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */
			AM62PX_IOPAD(0x000c, PIN_INPUT, 0) /* (L25) OSPI0_D0 */
			AM62PX_IOPAD(0x0010, PIN_INPUT, 0) /* (N24) OSPI0_D1 */
			AM62PX_IOPAD(0x0014, PIN_INPUT, 0) /* (N25) OSPI0_D2 */
			AM62PX_IOPAD(0x0018, PIN_INPUT, 0) /* (M24) OSPI0_D3 */
			AM62PX_IOPAD(0x001c, PIN_INPUT, 0) /* (N21) OSPI0_D4 */
			AM62PX_IOPAD(0x0020, PIN_INPUT, 0) /* (N22) OSPI0_D5 */
			AM62PX_IOPAD(0x0024, PIN_INPUT, 0) /* (P21) OSPI0_D6 */
			AM62PX_IOPAD(0x0028, PIN_INPUT, 0) /* (N20) OSPI0_D7 */
			AM62PX_IOPAD(0x0008, PIN_INPUT, 0) /* (P22) OSPI0_DQS */
		>;
		bootph-all;
	};

	usr_led_pins_default: usr-led-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */
		>;
	};

	vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
		>;
		bootph-all;
	};

	wlan_en_pins_default: wlan-en-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0124, PIN_OUTPUT_PULLDOWN, 7) /* (J25) MMC2_SDCD.GPIO0_71 */
		>;
		bootph-all;
	};

	main_dpi_pins_default: main-dpi-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x0100, PIN_OUTPUT, 0) /* (W20) VOUT0_VSYNC */
			AM62PX_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AC20) VOUT0_HSYNC */
			AM62PX_IOPAD(0x0104, PIN_OUTPUT, 0) /* (Y21) VOUT0_PCLK */
			AM62PX_IOPAD(0x00fc, PIN_OUTPUT, 0) /* (W21) VOUT0_DE */
			AM62PX_IOPAD(0x00b8, PIN_OUTPUT, 0) /* (AE24) VOUT0_DATA0 */
			AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 0) /* (W23) VOUT0_DATA1 */
			AM62PX_IOPAD(0x00c0, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA2 */
			AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 0) /* (Y23) VOUT0_DATA3 */
			AM62PX_IOPAD(0x00c8, PIN_OUTPUT, 0) /* (AB23) VOUT0_DATA4 */
			AM62PX_IOPAD(0x00cc, PIN_OUTPUT, 0) /* (AD23) VOUT0_DATA5 */
			AM62PX_IOPAD(0x00d0, PIN_OUTPUT, 0) /* (AC23) VOUT0_DATA6 */
			AM62PX_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AE23) VOUT0_DATA7 */
			AM62PX_IOPAD(0x00d8, PIN_OUTPUT, 0) /* (AE22) VOUT0_DATA8 */
			AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 0) /* (AC22) VOUT0_DATA9 */
			AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
			AM62PX_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AE21) VOUT0_DATA11 */
			AM62PX_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AD21) VOUT0_DATA12 */
			AM62PX_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AC21) VOUT0_DATA13 */
			AM62PX_IOPAD(0x00f0, PIN_OUTPUT, 0) /* (AA20) VOUT0_DATA14 */
			AM62PX_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (Y20) VOUT0_DATA15 */
			AM62PX_IOPAD(0x005c, PIN_OUTPUT, 1) /* (AC25) GPMC0_AD8.VOUT0_DATA16 */
			AM62PX_IOPAD(0x0060, PIN_OUTPUT, 1) /* (AB25) GPMC0_AD9.VOUT0_DATA17 */
			AM62PX_IOPAD(0x0064, PIN_OUTPUT, 1) /* (AA25) GPMC0_AD10.VOUT0_DATA18 */
			AM62PX_IOPAD(0x0068, PIN_OUTPUT, 1) /* (W24) GPMC0_AD11.VOUT0_DATA19 */
			AM62PX_IOPAD(0x006c, PIN_OUTPUT, 1) /* (Y24) GPMC0_AD12.VOUT0_DATA20 */
			AM62PX_IOPAD(0x0070, PIN_OUTPUT, 1) /* (AD25) GPMC0_AD13.VOUT0_DATA21 */
			AM62PX_IOPAD(0x0074, PIN_OUTPUT, 1) /* (AB24) GPMC0_AD14.VOUT0_DATA22 */
			AM62PX_IOPAD(0x0078, PIN_OUTPUT, 1) /* (AC24) GPMC0_AD15.VOUT0_DATA23 */
			AM62PX_IOPAD(0x009c, PIN_OUTPUT, 1) /* (AD24) GPMC0_WAIT1.VOUT0_EXTPCLKIN */
		>;
	};
};

&main_i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;

	touchscreen_ga657x@5d{
		status = "okay";
		compatible = "goodix,ga657x";
		reg = <0x5d>;

		interrupt-parent = <&exp1>;
		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
		irq-gpios = <&exp1 0 GPIO_ACTIVE_LOW>;

		reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;

		irq-flags = <2>;

		touchscreen-max-id = <11>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <720>;

		touchscreen-max-w = <512>;
		touchscreen-max-p = <512>;
		touchscreen-key-map = <172>, <158>; /*KEY_HOMEPAGE=172, KEY_BACK=158, KEY_MENU=139*/
		goodix,slide-wakeup = <0>;
		goodix,type-a-report = <0>;
		goodix,driver-send-cfg = <0>;
		goodix,resume-in-workqueue = <0>;
		goodix,swap-x2y = <0>;
		goodix,esd-protect = <1>;
		goodix,auto-update = <0>;
		goodix,auto-update-cfg = <0>;
		goodix,power-off-sleep = <0>;
		goodix,pen-suppress-finger = <0>;

		goodix,cfg-group0 = [ 53 D0 02 00 05 05 F5 D5 21 48 2D 0F 5A 41 0E 05 00 00 32 32 20 00 05 14 14 1A 14 8B 2B 00 ];

	};

	typec_pd0: usb-power-controller@3f {
		compatible = "ti,tps6598x";
		reg = <0x3f>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			self-powered;
			data-role = "dual";
			power-role = "sink";
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					usb_con_hs: endpoint {
						remote-endpoint = <&usb0_hs_ep>;
					};
				};
			};
		};
	};
};

&main_i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <400000>;
	bootph-all;

	tlv320aic3106: audio-codec@1b {
		//status = "disabled";
		#sound-dai-cells = <0>;
		compatible = "ti,tlv320aic3106";
		reg = <0x1b>;
		ai3x-micbias-vg = <1>;  /* 2.0V */
	};

	exp1: gpio@22 {
		compatible = "ti,tca6424";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "OLDI_INT#", "x8_NAND_DETECT",
				   "UART1_FET_SEL", "MMC1_SD_EN",
				   "VPP_EN", "EXP_PS_3V3_EN",
				   "UART1_FET_BUF_EN", "EXP_HAT_DETECT",
				   "DSI_GPIO0", "DSI_GPIO1",
				   "OLDI_EDID", "BT_UART_WAKE_SOC_3V3",
				   "USB_TYPEA_OC_INDICATION", "CSI_GPIO0",
				   "CSI_GPIO1", "WLAN_ALERTn",
				   "HDMI_INTn", "TEST_GPIO2",
				   "MCASP1_FET_EN", "MCASP1_BUF_BT_EN",
				   "MCASP1_FET_SEL", "DSI_EDID",
				   "PD_I2C_IRQ", "IO_EXP_TEST_LED";

		interrupt-parent = <&main_gpio1>;
		interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;

		pinctrl-names = "default";
		pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
		bootph-all;
	};

	exp2: gpio@23 {
		compatible = "ti,tca6424";
		reg = <0x23>;
		gpio-controller;
		#gpio-cells = <2>;
		gpio-line-names = "BT_EN_SOC", "EXP_PS_5V0_EN",
				   "", "",
				   "", "",
				   "", "",
				   "WL_LT_EN", "",
				   "TP3", "TP6",
				   "TP4", "TP7",
				   "TP5", "TP8",
				   "SoC_I2C2_MCAN_SEL", "GPIO_HDMI_RSTn",
				   "GPIO_CPSW1_RST", "GPIO_CPSW2_RST",
				   "GPIO_OLDI_RSTn", "GPIO_AUD_RSTn",
				   "GPIO_eMMC_RSTn", "SoC_WLAN_SDIO_RST";
	};

	sii9022: bridge-hdmi@3b {
		compatible = "sil,sii9022";
		reg = <0x3b>;
		interrupt-parent = <&exp1>;
		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
		#sound-dai-cells = <0>;
		sil,i2s-data-lanes = < 0 >;

		hdmi_tx_ports: ports {
			#address-cells = <1>;
			#size-cells = <0>;

			/*
			 * HDMI can be serviced with 3 potential VPs -
			 * (DSS0 VP1 / DSS1 VP0 / DSS1 VP1).
			 * For now, we will service it with DSS0 VP1.
			 */
			port@0 {
				reg = <0>;
				sii9022_in: endpoint {
					remote-endpoint = <&dss0_dpi1_out>;
				};
			};

			port@1 {
				reg = <1>;

				sii9022_out: endpoint {
					remote-endpoint = <&hdmi_connector_in>;
				};
			};
		};
	};
};

&main_i2c2 {
	#address-cells = <1>;
    #size-cells = <0>;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c2_pins_default>;
	clock-frequency = <400000>;

	i2c-switch@71 {
		compatible = "nxp,pca9543";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;

		/* CAM port */
		i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;

			camera@33 {
				compatible = "nextchip,nvp6324_mipi";
				reg = <0x33>;
			
				clocks = <&clk_nvp6324_fixed>;
				clock-names = "capture_mclk";
			
				pinctrl-names = "default";
				mclk = <27000000>;
				mclk_source = <0>;
				pwn-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;

				port {
					csi2_cam0: endpoint {
					remote-endpoint = <&mipi_csi0_ep>;
					clock-lanes = <0>;
					data-lanes = <1 2 3 4>;
					};
				};
			};
		};
	};
};

&cdns_csi2rx0 {
	status = "okay";
};

&csi0_port0{
	status = "okay";

	mipi_csi0_ep: endpoint {
		remote-endpoint = <&csi2_cam0>;
		//csi2_cam0;
		bus-type = <4>; /* MIPI CSI-2 D-PHY */
		clock-lanes = <0>;
		data-lanes = <1 2 3 4>;
	};
};

&vpu {
	ti,dma-heap-name = "carveout_video";
};

&sdhci0 {
	status = "okay";
	ti,driver-strength-ohm = <50>;
	disable-wp;
	bootph-all;
};

&sdhci1 {
	/* SD/MMC */
	status = "okay";
	vmmc-supply = <&vdd_mmc1>;
	vqmmc-supply = <&vddshv_sdio>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc1_pins_default>;
	disable-wp;
	bootph-all;
};

&sdhci2 {
	/* SDIO Wifi */
	status = "okay";
	assigned-clocks = <&k3_clks 226 0>;
	assigned-clock-parents =  <&k3_clks 226 5>;
	pinctrl-names = "default";
	pinctrl-0 =<&main_mmc2_pins_default>, <&wifi_32k_clk>;

	mmc-pwrseq = <&wifi_pwrseq>;
	vmmc-supply = <&wl_lt_en>;

	non-removable;
	ti,fails-without-test-cd;
	ti,driver-strength-ohm = <50>;
	cap-power-off-card;
	keep-power-in-suspend;

};

&cpsw3g {
	pinctrl-names = "default";
	pinctrl-0 = <&main_rgmii1_pins_default>,
		    <&main_rgmii2_pins_default>;
};

&cpsw_port1 {
	phy-mode = "rgmii-rxid";
	phy-handle = <&cpsw3g_phy0>;
	mac-address = [86 37 7c a6 c6 32];
};

&cpsw_port2 {
	phy-mode = "rgmii-rxid";
	phy-handle = <&cpsw3g_phy1>;
	mac-address = [86 37 7c a6 c6 32];
};

&cpsw3g_mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_mdio1_pins_default>;

	cpsw3g_phy0: ethernet-phy@0 {
		reg = <0>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		ti,min-output-impedance;
	};

	cpsw3g_phy1: ethernet-phy@1 {
		reg = <1>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		ti,min-output-impedance;
	};
};

&usbss0 {
	status = "okay";
	ti,vbus-divider;
};

&usbss1 {
	status = "okay";
	ti,vbus-divider;
};

&usb0 {
	usb-role-switch;
	#address-cells = <1>;
	#size-cells = <0>;

	port@0 {
		reg = <0>;
		usb0_hs_ep: endpoint {
			remote-endpoint = <&usb_con_hs>;
		};
	};
};

&usb1 {
	dr_mode = "host";
	pinctrl-names = "default";
	pinctrl-0 = <&main_usb1_pins_default>;
};

&mcasp1 {
	status = "okay";
	#sound-dai-cells = <0>;

	pinctrl-names = "default";
	pinctrl-0 = <&main_mcasp1_pins_default>;

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <2>;

	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
	       1 0 2 0
	       0 0 0 0
	       0 0 0 0
	       0 0 0 0
	>;
	tx-num-evt = <32>;
	rx-num-evt = <32>;
};

&fss {
	bootph-all;
};

&ospi0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&ospi0_pins_default>;
	bootph-all;

	flash@0{
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <8>;
		spi-rx-bus-width = <8>;
		spi-max-frequency = <25000000>;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <4>;
		bootph-all;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;
			bootph-all;

			partition@0 {
				label = "ospi.tiboot3";
				reg = <0x00 0x80000>;
			};

			partition@80000 {
				label = "ospi.tispl";
				reg = <0x80000 0x200000>;
			};

			partition@280000 {
				label = "ospi.u-boot";
				reg = <0x280000 0x400000>;
			};

			partition@680000 {
				label = "ospi.env";
				reg = <0x680000 0x40000>;
			};

			partition@6c0000 {
				label = "ospi.env.backup";
				reg = <0x6c0000 0x40000>;
			};

			partition@800000 {
				label = "ospi.rootfs";
				reg = <0x800000 0x37c0000>;
			};

			partition@3fc0000 {
				label = "ospi.phypattern";
				reg = <0x3fc0000 0x40000>;
				bootph-all;
			};
		};
	};
};

&mailbox0_cluster0 {
	mbox_r5_0: mbox-r5-0 {
		ti,mbox-rx = <0 0 0>;
		ti,mbox-tx = <1 0 0>;
	};
};

&mailbox0_cluster1 {
	mbox_mcu_r5_0: mbox-mcu-r5-0 {
		ti,mbox-rx = <0 0 0>;
		ti,mbox-tx = <1 0 0>;
	};
};

&wkup_r5fss0 {
	status = "okay";
};

&wkup_r5fss0_core0 {
	mboxes = <&mailbox0_cluster0 &mbox_r5_0>;
	memory-region = <&wkup_r5fss0_core0_dma_memory_region>,
			<&wkup_r5fss0_core0_memory_region>;
};

&mcu_r5fss0 {
	status = "okay";
};

&mcu_r5fss0_core0 {
	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5_0>;
	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
			<&mcu_r5fss0_core0_memory_region>;
};

&main_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart0_pins_default>;
	interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
			<&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
	interrupt-names = "irq", "wakeup";
	status = "okay";
	bootph-all;
};

&main_uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart1_pins_default>;
	interrupts-extended = <&gic500 GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>,
		<&main_pmx0 0x01ac>; /* (G23) MCASP0_AFSR.UART1_RXD */
	interrupt-names = "irq", "wakeup";
	current-speed = <115200>;
	uart-has-rtscts;
	status = "okay";
	bootph-all;
	
	bluetooth_8987 {
		compatible = "nxp,88w8987-bt";
		fw-init-baudrate = <115200>;
		status = "okay";
	};
};

&mcu_pmx0 {
	bootph-all;

	wkup_uart0_pins_default: wkup-uart0-default-pins {
		pinctrl-single,pins = <
			AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0)	/* (D8) WKUP_UART0_RXD */
			AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0)	/* (D7) WKUP_UART0_TXD */
		>;
		bootph-all;
	};

	wifi_32k_clk: mcu-clk-out-pins-default {
		pinctrl-single,pins = <
			AM62PX_MCU_IOPAD(0x0084, PIN_OUTPUT, 1) /* (F13) WKUP_CLKOUT0 */
		>;
		bootph-all;
	};
};

&wkup_uart0 {
	/* WKUP UART0 is used by DM firmware */
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_uart0_pins_default>;
	status = "reserved";
	bootph-all;
};

/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
&mcu_gpio0 {
	status = "reserved";
};

&mcu_gpio_intr {
	status = "reserved";
};

&oldi0_dss0 {
	status = "okay";
};

&oldi0_dss0_ports {
	status = "okay";
	bootph-all;
	port@0 {
		bootph-all;
		reg = <0>;
		oldi_0_in: endpoint {
			remote-endpoint = <&dpi0_out0>;
		};
	};

	port@1 {
		reg = <1>;
		oldi_0_out: endpoint {
			remote-endpoint = <&lcd_in0>;
		};
	};
};

&dss0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&main_dpi_pins_default>;
};




&dss0_ports {
	/* VP1: LVDS Output (OLDI TX 0) */
	bootph-all;
	port@0 {
		bootph-all;
		reg = <0>;
		dpi0_out0: endpoint {
			remote-endpoint = <&oldi_0_in>;
		};
	};

	/* DSS0-VP2: DPI/HDMI Output */
	hdmi0_dss: port@1 {
		reg = <1>;
		dss0_dpi1_out: endpoint {
			remote-endpoint = <&sii9022_in>;
		};
	};
};

&ti_csi2rx0 {
	status = "okay";
};

&dphy0 {
	status = "okay";
};

/* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
&mcu_gpio0 {
	status = "reserved";
};

&mcu_gpio_intr {
	status = "reserved";
};


After that we tryed to configure our pipeline and configure our video


Output when we ran "media-ctl -p"

root@am62pxx-evm:/# media-ctl -p
Media controller API version 6.6.32

Media device information
------------------------
driver          j721e-csi2rx
model           TI-CSI2RX
serial          
bus info        platform:30102000.ticsi2rx
hw revision     0x1
driver version  6.6.32

Device topology
- entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	routes:
		0/0 -> 1/0 [ACTIVE]
	pad0: Sink
		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
		<- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
	pad1: Source
		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
		-> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
	pad2: Source
		-> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
	pad3: Source
		-> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
	pad4: Source
		-> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
	pad5: Source
		-> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
	pad6: Source
		-> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]

- entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
	routes:
		0/0 -> 1/0 [ACTIVE]
	pad0: Sink
		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
		<- "nvp6324_mipi 4-0033":0 [ENABLED,IMMUTABLE]
	pad1: Source
		[stream:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
		-> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
	pad2: Source
	pad3: Source
	pad4: Source

- entity 15: nvp6324_mipi 4-0033 (4 pads, 1 link, 0 routes)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
	pad0: Source
		[stream:0 fmt:UYVY8_2X8/1920x1080 field:none]
		-> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
	pad1: Source
	pad2: Source
	pad3: Source

- entity 24: 30102000.ticsi2rx context 0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: Sink
		<- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 30: 30102000.ticsi2rx context 1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: Sink
		<- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 36: 30102000.ticsi2rx context 2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: Sink
		<- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 42: 30102000.ticsi2rx context 3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
	pad0: Sink
		<- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]

- entity 48: 30102000.ticsi2rx context 4 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
	pad0: Sink
		<- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]

- entity 54: 30102000.ticsi2rx context 5 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video7
	pad0: Sink
		<- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]



our gst-launch-1.0 output

root@am62pxx-evm:/# systemctl stop weston
Stopping 'weston.service', but its triggering units are still active:
weston.socket
root@am62pxx-evm:/# gst-launch-1.0 v4l2src device="/dev/video4" ! video/x-raw, width=1920, height=1080, format=UYVY ! queue ! kmssink driver-name=tidss plane-properties=s,zpos=1
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.011807240
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Freeing pipeline ...


Please, anyone knows if is there anything that we were missing?

BR

  • Hello,

    Your sensor " nvp6324_mipi 4-0033" format is different from other entities in the media pipe. Please refer to this FAQ for trouble shooting:

    What are the common reasons V4L2 based applications fail to capture images from a probed CSI sensor?

    Regards,

    Jianzhong

  • Hello Jianzhong Xu,

    Thank you for your quick response.

    I have ran the followings commands as indicated in the link you sent me

    media-ctl -V '"nvp6324_mipi 4-0033":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":1 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"30102000.ticsi2rx":1 [fmt:UYVY8_1X16/1920x1080 field:none]'

    Now my "media-ctl -p" output is:

    root@am62pxx-evm:/# media-ctl -p
    Media controller API version 6.6.32
    
    
    Media device information
    ------------------------
    driver  
            j721e-csi2rx
    model           TI-CSI2RX
    serial         
     
    bus info        platform:30102000.ticsi2rx
    hw revision     0
    x1
    driver version  6.6.32
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    
    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
                    <- "nvp6324_mipi 4-0033":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: nvp6324_mipi 4-0033 (4 pads, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
            pad1: Source
            pad2: Source
            pad3: Source
    
    - entity 24: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 30: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 36: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 42: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 48: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 54: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

    and our gst-launch output now is :

    root@am62pxx-evm:/# GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! queue ! videocrop top=1000 left=200 right=100 bottom=0 ! video/x-raw,format=UYVY,framerate=30/1,wi
    dth=1920,height=1080 ! videoconvert ! kmssink                                                                                                                                                 
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    0:00:00.229965665  1352 0xffff88000d00 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.231778725  1352 0xffff88000d00 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.231829285  1352 0xffff88000d00 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.001478560
    Setting pipeline to NULL ...
    Freeing pipeline ...
    


    this error is related to VIDIOC_CROPCAP?

    BR,

  • Can you try if the following works?

    GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! queue ! video/x-raw,format=UYVY,framerate=30/1,width=1920,height=1080 ! kmssink driver-name=tidss force-modesetting=true
    
    



  • here is the output for the command

    root@am62pxx-evm:/# GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! queue ! video/x-raw,format=UYVY,framerate=30/1,width=1920,height=1080 ! kmssink driver-name=tidss 
    force-modesetting=true
    0:00:00.111605515  1092     0x31e764a0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    0:00:00.116732780  1092 0xffff8c000d00 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    0:00:00.117691755  1092 0xffff8c000d00 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.117748540  1092 0xffff8c000d00 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    New clock: GstSystemClock
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.000697930
    Setting pipeline to NULL ...
    0:00:00.118567380  1092     0x31e764a0 ERROR                kmssink gstkmssink.c:1250:gst_kms_sink_stop:<kmssink0> Failed to restore previous CRTC mode: Permission denied
    Freeing pipeline ...
    

  • Ok. Can you try to do just a CSI capture?

    v4l2-ctl -d2 --stream-mmap

  • Hi, here is the output

    root@am62pxx-evm:~# v4l2-ctl -d2 --stream-mmap
    [ 3682.459075] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 1280, sink 640)
    VIDIOC_STREAMON returned -1 (Broken pipe)

  • Please try the following before running "v4l2-ctl -d2 --stream-mmap":

    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1920,height=1080,pixelformat=UYVY

  • Hi, here is the output

    root@am62pxx-evm:~# v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1920,height=1080,pixelformat=UYVY
    root@am62pxx-evm:~# v4l2-ctl -d2 --stream-mmap
    [ 70.111756] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 1280, sink 1920)
    VIDIOC_STREAMON returned -1 (Broken pipe)

  • Hello Sergio,

    It's Thanksgiving holiday for the rest of the week in US. I'll get back to you next week.

    Thanks,

    Jianzhong

  • Ok, happy thanksgiving, I'll be waiting for your message

    I've ran the command "v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1280,height=720,pixelformat=UYVY " changing the width and height and got the following output when ran the "v4l2-ctl -d2 --stream-mmap" command.


    root@am62pxx-evm:/# v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1280,height=720,pixelformat=UYVY                                                   
    root@am62pxx-evm:/# v4l2-ctl -d2 --stream-mmap 
    [  174.694724] cdns-csi2rx 30101000.csi-bridge: Failed to find stream from source frame desc
                    VIDIOC_STREAMON returned -1 (Broken pipe)
    

  • Can you try the following:

    media-ctl -V '"nvp6324_mipi 4-0033":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    
    yavta -s 1920x1080 -f UYVY /dev/video3 -c5 -Fimage-#.yuv

  • Hi, here is the output

    root@am62pxx-evm:~# media-ctl -V '"nvp6324_mipi 5-0033":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# yavta -s 1280x720 -f UYVY /dev/video2 -c5 -Fimage-#.yuv
    Device /dev/video2 opened.
    Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
    Video format: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
    8 buffers requested.
    length: 1843200 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffff86a3e000.
    length: 1843200 offset: 1843200 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffff8687c000.
    length: 1843200 offset: 3686400 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffff866ba000.
    length: 1843200 offset: 5529600 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffff864f8000.
    length: 1843200 offset: 7372800 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffff86336000.
    length: 1843200 offset: 9216000 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffff86174000.
    length: 1843200 offset: 11059200 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffff85fb2000.
    length: 1843200 offset: 12902400 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffff85df0000.
    Unable to start streaming: Broken pipe (32).
    8 buffers released.
    root@am62pxx-evm:~# yavta -s 1280x720 -f UYVY /dev/video4 -c5 -Fimage-#.yuv
    Device /dev/video4 opened.
    Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
    Video format set: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
    Video format: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
    8 buffers requested.
    length: 1843200 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 mapped at address 0xffffbc9ae000.
    length: 1843200 offset: 1843200 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffffbc7ec000.
    length: 1843200 offset: 3686400 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffffbc62a000.
    length: 1843200 offset: 5529600 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffffbc468000.
    length: 1843200 offset: 7372800 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffffbc2a6000.
    length: 1843200 offset: 9216000 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffffbc0e4000.
    length: 1843200 offset: 11059200 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffffbbf22000.
    length: 1843200 offset: 12902400 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffffbbd60000.
    Unable to start streaming: No such device (19).
    8 buffers released.
    

  • Hi Jianzhong Xu, any news on this ?

  • Hello Sergio,

    Sorry for my late response. I did some testing using an OV5640 camera on my end. Specifying width and height in "v4l2-ctl --stream-mmap" worked fine for me :

    root@am62pxx-evm:~# media-ctl -V '"ov5640 4-003c":0 [fmt:UYVY8_1X16/1920x1080@1/30 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# v4l2-ctl -d2 --stream-mmap
    [  474.707579] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 1920, sink 640)
                    VIDIOC_STREAMON returned -1 (Broken pipe)
    root@am62pxx-evm:~# v4l2-ctl -d2 --set-fmt-video=width=1920,height=1080,pixelformat='UYVY'  --stream-mmap
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    

    In addition, kmssink may have an issue in SDK 10.0 for AM62P. Using waylandsink works for me:

    root@am62pxx-evm:~# systemctl stop weston
    root@am62pxx-evm:~# media-ctl -V '"ov5640 4-003c":0 [fmt:YUYV8_1X16/1920x1080@1/30 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:YUYV8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:YUYV8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1920,height=1080,format=YUY2 !  waylandsink
    

    Please try this on your side.

    Regards,

    Jianzhong

  • Hi, thank you for your response,

    doing the test with v4l2-ctl, I got the following output

    root@am62pxx-evm:/# v4l2-ctl -d2 --set-fmt-video=width=1280,height=720,pixelformat='UYVY' --stream-mmap 
    [  314.378014] cdns-csi2rx 30101000.csi-bridge: Failed to start streams 0x1 on subdev
    [  314.400147] cdns-csi2rx 30101000.csi-bridge: Failed to stop streaming on pad0
    [  314.421736] cdns-csi2rx 30101000.csi-bridge: Failed to stop streaming on pad1
    [  314.438925] cdns-csi2rx 30101000.csi-bridge: Failed to stop streaming on pad2
    [  314.456075] cdns-csi2rx 30101000.csi-bridge: Failed to stop streaming on pad3
                    VIDIOC_STREAMON returned -1 (Operation not supported)
    


    And for the second test I have the following output

    root@am62pxx-evm:/# systemctl stop weston
    Stopping 'weston.service', but its triggering units are still active:
    weston.socket
    root@am62pxx-evm:/# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=YUY2 !  waylandsink
    [  899.053517] audit: type=1006 audit(906.544:31): pid=1120 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=8 res=1
    [  899.070756] audit: type=1300 audit(906.544:31): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=fffff24f0538 a2=4 a3=1 items=0 ppid=1 pid=1120 auid=1000 uid=0 gid=0 euid=0 suid=0 fsu)
    [  899.096867] audit: type=1327 audit(906.544:31): proctitle="(sleep)"
    [  901.147742] audit: type=1006 audit(908.636:32): pid=1125 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=9 res=1
    [  901.159916] audit: type=1300 audit(908.636:32): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffe0de4008 a2=4 a3=1 items=0 ppid=1 pid=1125 auid=1000 uid=0 gid=0 euid=0 suid=0 fsu)
    [  901.185936] audit: type=1327 audit(908.636:32): proctitle="(weston)"
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.005586825
    Setting pipeline to NULL ...
    Freeing pipeline ...

  • Can you share the "medai-ctl -p" output?

  • Hi here is the output

    root@am62pxx-evm:~# media-ctl -p
    Media controller API version 6.6.32[   90.109587] Sergio nvp6324_get_fmt


    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.32

    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
            [stream:0 fmt:UYVY8_1X16/1280x720 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:UYVY8_1X16/1280x720 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]

    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:UYVY8_1X16/1280x720 field:none]
                    <- "nvp6324_mipi 5-0033":0 [ENABLED,IMMUTABLE]
                    [stream:0 fmt:UYVY8_1X16/1280x720 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
    pad3: Source
            pad4: Source

    - entity 15: nvp6324_mipi 5-0033 (4 pads, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:UYVY8_1X16/1280x720 field:none
                     crop.bounds:(0,0)/1280x720
                     crop:(0,0)/1280x720]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
            pad1: Source
            pad2: Source
            pad3: Source

    - entity 24: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

    - entity 30: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

    - entity 36: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

    - entity 42: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]

    - entity 48: 30102000.ticsi2rx context 4 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]

    - entity 54: 30102000.ticsi2rx context 5 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

  • Navigating on the kernel, I've found an error on

    int v4l2_subdev_enable_streams(struct v4l2_subdev *sd, u32 pad, u64 streams_mask)

    in my debugs, I'm entering in this if

    if (!sd->ops->pad || !sd->ops->pad->enable_streams){
    printk("LOG %s -> %d ", __func__, __LINE__);
    return v4l2_subdev_enable_streams_fallback(sd, pad,
    streams_mask);
    }

    how do I verify if "sd->ops->pad->enable_streams" is being set on my driver?

  • Your media pipe has "UYVY8_1X16" but you're using "YUY2" in your gst pipeline:

    gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=YUY2 !  waylandsink

    Please try:

    gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! ticolorconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink

  • Hi,

    when I ran this command, it shows the following warn

    WARNING: erroneous pipeline: no element "ticolorconvert"


    here is all the commands that i ran before gst-launch

    root@am62pxx-evm:~# media-ctl -V '"nvp6324_mipi 5-0033":0 [fmt:UYVY8_1X16/1280x720@1/60 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":1 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":1 [fmt:UYVY8_1X16/1280x720 field:none]'
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! ticolorconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsik


  • Gst plugin ticolorconvert is available on AM62P SDK 10.0:

    root@am62pxx-evm:~# gst-inspect-1.0 ticolorconvert
    Factory Details:
      Rank                     none (0)
      Long-name                TI Color Convert
      Klass                    Filter/Converter/Video
      Description              Converts video from one colorspace to another using the ARM Neon Kernels
      Author                   Abhay Chirania <a-chirania@ti.com>
    

    Can you try "videoconvert" instead of "ticolorconvert"?

  • Hi,

    here is the output

    root@am62pxx-evm:~# gst-inspect-1.0 ticolorconvert
    No such element or plugin 'ticolorconvert'
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mo
    de=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.655830980
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...

  • I've rerun the command with GST_DEBUG=3 flag, here is the output

    root@am62pxx-evm:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    0:00:00.450276050  1252 0xffff80000b70 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, framerate=(fraction)120/1, interlace-mode=(string)progressive, format=(string)NV12, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.455870350  1252 0xffff80000b70 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.948193815  1252 0xffff80000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.948265960  1252 0xffff80000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.948314355  1252 0xffff80000b70 WARN                 v4l2src gstv4l2src.c:950:gst_v4l2src_decide_allocation:<v4l2src0> error: Failed to allocate required memory.
    0:00:00.948346445  1252 0xffff80000b70 WARN                 v4l2src gstv4l2src.c:950:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.948845065  1252 0xffff80000b70 WARN                 basesrc gstbasesrc.c:3354:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    Execution ended after 0:00:00.498023920
    0:00:00.948974070  1252 0xffff80000b70 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.949006680  1252 0xffff80000b70 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_lSetting pipeline to NULL ...
    oop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...
    

  • Is there any patch to update SDK from 9.02 to 10.0?

  • So you are using SDK 9.02? I thought you were using 10.0 based on your initial post.

    No, there is no patch to update SDK  9.2 to 10.0.

  • Also, were you able to run this camera with TI's EVM: SK-AM62P-LP.

  • No, i couldn't run this camera.

  • Can you try SDK 10.0 and SK-AM62P-LP?

  • sure, we will start the migration today.

  • Hi, we have done the migration

    when we executed the command
    gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! ticolorconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsik

    Bellow is the output for that command

    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1280,height=720,format=UYVY ! ticolorconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstTIColorConvert:ticolorconvert0.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)120/1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)120/1
    /GstPipeline:pipeline0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)120/1
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)120/1
    /GstPipeline:pipeline0/GstTIColorConvert:ticolorconvert0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.638075040
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Setting pipeline to NULL ...
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...
    


  • I did another test with kmssink and I have this output

    root@am62pxx-evm:~# GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video2 io-mode=dmabuf ! video/x-raw,format=UYVY,framerate=30/1,width=1280,height=720 ! kmssink driver-name=tidss force-modesetting=true
    0:00:00.295093490  1092      0xfcc0a30 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    0:00:00.301503335  1092 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.326406760  1092 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4666:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.968445680  1092 0xffff84000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.968583340  1092 0xffff84000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.968645295  1092 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:950:gst_v4l2src_decide_allocation:<v4l2src0> error: Failed to allocate required memory.
    0:00:00.968749640  1092 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:950:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.667132335
    0:00:00.969525010  1092 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3354:gst_base_src_pSetting pipeline to NULL ...
    repare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.969653455  1092 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.969805735  1092 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3134:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...