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.

AM625: How to enable CSI0 and add /dev/videox interfaces to receive 4 video input stream from an external video decoder

Part Number: AM625

Tool/software:

Hello TI,

May you provide a specific guideline for below?

Our custom board (AM6254) CSI0 is connected to an external decoder (it also connects to main_i2c1 of the SOC), pin to pin as below picture.

The decoder outputs 4 streaming videos to AM6254.

We want to create four video interface on AM6254, /dev/video0 ~video1~ video2 and ~ video3, to receive the stream videos.

Firstly, we want to know,

1) Is possible for SoC to receive separated 4 video streams?

2) If the video streams are interleaved and combined a consequence stream and send to SoC, to receive the stream separated, do we need to implement any software part ?

If so, please guide. Thanks.

(Note, in our custom board, we could see the four video streams output signals properly from the decoder ( we checked at the output pin of the decoder chip).

Also the i2c between the decoder and SoC works fine)

We try but failed; we could not see /dev/video after power on.

Below is our DTS setting

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

tp2855_mipi@44 {
compatible = "techpoint,tp2855_mipi";
reg = <0x44>;
pinctrl-names = "default";
pinctrl-0 = <&csi2mcugpio0_pins_default>;
clocks = <&tp2855_clk>;
//clock-names = "xclk";
//mclk = <27000000>;
//mclk_source = <0>;
reset-gpios = <&mcu_gpio0 8 GPIO_ACTIVE_LOW>;
virtual-channel;
status = "okay";
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2_in_cam0>;
//link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2 3 4>;
};
};

};

}

&csi0_port0 {
status = "okay";

csi2_in_cam0: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
data-lanes = <1 2 3 4>;
clock-lanes = <0>;
};
};

&ti_csi2rx0 {
status = "okay";
};

&dphy0 {
status = "okay";
};

kernel Log:

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 13376 bytes
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
NOTICE:  BL31: Built : 00:42:57, Jan 13 2023

U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
SPL initial stack usage: 1856 bytes
Trying to boot from MMC2
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted
Warning: Detected image signing certificate on GP device. Skipping certificate to prevent boot failure. This will fail if the image was also encrypted


U-Boot 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)

SoC:   AM62X SR1.0 GP
Model: Texas Instruments AM625 SK
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
DRAM:  2 GiB
Core:  70 devices, 31 uclasses, devicetree: separate
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
EEPROM not available at 80, trying to read at 81
Reading on-board EEPROM at 0x51 failed -1
Net:   eth0: ethernet@8000000port@1
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'boot.scr'
574 bytes read in 15 ms (37.1 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
## Error: "main_cpsw0_qsgmii_phyinit" not defined
21635584 bytes read in 877 ms (23.5 MiB/s)
58687 bytes read in 20 ms (2.8 MiB/s)
Working FDT set to 88000000
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
Working FDT set to 88000000
ERROR: reserving fdt memory region failed (addr=ff700000 size=8ca000 flags=4)
   Loading Device Tree to 000000008feee000, end 000000008fffffff ... OK
Working FDT set to 8feee000

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.33-g40c32565ca (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Jul  6 14:17:24 UTC 2023
[    0.000000] Machine model: Texas Instruments AM625 SK
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x00000000f7600000, size 128 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB
[    0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB
[    0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009c7fffff]
[    0.000000]   node   0: [mem 0x000000009c800000-0x000000009e6fffff]
[    0.000000]   node   0: [mem 0x000000009e700000-0x000000009e77ffff]
[    0.000000]   node   0: [mem 0x000000009e780000-0x000000009fffffff]
[    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000ff6fffff]
[    0.000000]   node   0: [mem 0x00000000ff700000-0x00000000fffc9fff]
[    0.000000]   node   0: [mem 0x00000000fffca000-0x00000000ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 19 pages/cpu s38376 r8192 d31256 u77824
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=spi-nand0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),98048k@32m(ospi.rootfs),256k@130816k(ospi.phypattern);omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=75cd8b69-02 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1837064K/2097152K available (13056K kernel code, 1416K rwdata, 4288K rodata, 2240K init, 505K bss, 129016K reserved, 131072K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
[    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000080040000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080050000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.008591] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.019285] pid_max: default: 32768 minimum: 301
[    0.024071] LSM: Security Framework initializing
[    0.028962] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.036553] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.046715] cblist_init_generic: Setting adjustable number of callback queues.
[    0.054186] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.060500] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.066918] rcu: Hierarchical SRCU implementation.
[    0.071825] rcu:     Max phase no-delay instances is 1000.
[    0.077488] Platform MSI: msi-controller@1820000 domain created
[    0.083854] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.093733] EFI services will not be available.
[    0.098733] smp: Bringing up secondary CPUs ...
[    0.104136] Detected VIPT I-cache on CPU1
[    0.104278] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.104298] GICv3: CPU1: using allocated LPI pending table @0x0000000080060000
[    0.104367] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.105210] Detected VIPT I-cache on CPU2
[    0.105306] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
[    0.105328] GICv3: CPU2: using allocated LPI pending table @0x0000000080070000
[    0.105370] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.106071] Detected VIPT I-cache on CPU3
[    0.106164] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
[    0.106184] GICv3: CPU3: using allocated LPI pending table @0x0000000080080000
[    0.106221] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.106313] smp: Brought up 1 node, 4 CPUs
[    0.186057] SMP: Total of 4 processors activated.
[    0.190877] CPU features: detected: 32-bit EL0 Support
[    0.196156] CPU features: detected: CRC32 instructions
[    0.201492] CPU: All CPU(s) started at EL2
[    0.205690] alternatives: applying system-wide alternatives
[    0.213707] devtmpfs: initialized
[    0.226786] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.236828] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.249435] pinctrl core: initialized pinctrl subsystem
[    0.255540] DMI not present or invalid.
[    0.260220] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.267660] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.275225] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.283364] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.291554] audit: initializing netlink subsys (disabled)
[    0.297293] audit: type=2000 audit(0.188:1): state=initialized audit_enabled=0 res=1
[    0.297806] thermal_sys: Registered thermal governor 'step_wise'
[    0.305225] thermal_sys: Registered thermal governor 'power_allocator'
[    0.311420] cpuidle: using governor menu
[    0.322318] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.329367] ASID allocator initialised with 65536 entries
[    0.349696] platform 30200000.dss: Fixed dependency cycle(s) with /display
[    0.358776] KASLR disabled due to lack of seed
[    0.371472] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.378441] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.384915] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.391855] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.398263] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.405201] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.411609] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.418550] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.427004] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected
[    0.438352] iommu: Default domain type: Translated
[    0.443399] iommu: DMA domain TLB invalidation policy: strict mode
[    0.450166] SCSI subsystem initialized
[    0.454448] usbcore: registered new interface driver usbfs
[    0.460100] usbcore: registered new interface driver hub
[    0.465564] usbcore: registered new device driver usb
[    0.471410] mc: Linux media interface: v0.10
[    0.475811] videodev: Linux video capture interface: v2.00
[    0.481455] pps_core: LinuxPPS API ver. 1 registered
[    0.486531] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.495882] PTP clock support registered
[    0.500029] EDAC MC: Ver: 3.0.0
[    0.504367] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100
[    0.511598] FPGA manager framework
[    0.515188] Advanced Linux Sound Architecture Driver Initialized.
[    0.522594] clocksource: Switched to clocksource arch_sys_counter
[    0.529171] VFS: Disk quotas dquot_6.6.0
[    0.533244] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.541580] NET: Registered PF_INET protocol family
[    0.546924] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.556285] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.565117] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.573060] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.581280] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.589390] TCP: Hash tables configured (established 16384 bind 16384)
[    0.596355] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.603295] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.610874] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.617259] RPC: Registered named UNIX socket transport module.
[    0.623348] RPC: Registered udp transport module.
[    0.628158] RPC: Registered tcp transport module.
[    0.632965] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.639561] NET: Registered PF_XDP protocol family
[    0.644474] PCI: CLS 0 bytes, default 64
[    0.649445] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.659806] Initialise system trusted keyrings
[    0.664709] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.677558] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.684372] NFS: Registering the id_resolver key type
[    0.689609] Key type id_resolver registered
[    0.693892] Key type id_legacy registered
[    0.698061] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.704924] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.712721] 9p: Installing v9fs 9p2000 file system support
[    0.752828] Key type asymmetric registered
[    0.757018] Asymmetric key parser 'x509' registered
[    0.762072] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.769851] io scheduler mq-deadline registered
[    0.774491] io scheduler kyber registered
[    0.782412] pinctrl-single 4084000.pinctrl: 34 pins, size 136
[    0.789058] pinctrl-single f4000.pinctrl: 171 pins, size 684
[    0.795963] pinctrl-single a40000.pinctrl: 512 pins, size 2048
[    0.804582] clk_mcasp1: gpio_clk_driver_probe: Can't get 'enable' named GPIO property
[    0.812611] gpio-clk: probe of clk_mcasp1 failed with error -2
[    0.824774] Serial: 8250/16550 driver, 12 ports, IRQ sharing enabled
[    0.842502] loop: module loaded
[    0.847328] megasas: 07.719.03.00-rc1
[    0.855932] tun: Universal TUN/TAP device driver, 1.6
[    0.861980] thunder_xcv, ver 1.0
[    0.865342] thunder_bgx, ver 1.0
[    0.868673] nicpf, ver 1.0
[    0.871901] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[    0.879289] hns3: Copyright (c) 2017 Huawei Corporation.
[    0.884794] hclge is initializing
[    0.888205] e1000: Intel(R) PRO/1000 Network Driver
[    0.893191] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    0.899109] e1000e: Intel(R) PRO/1000 Network Driver
[    0.904183] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.910282] igb: Intel(R) Gigabit Ethernet Network Driver
[    0.915801] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.921527] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    0.927937] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.934142] sky2: driver version 1.30
[    0.938735] VFIO - User Level meta-driver version: 0.3
[    0.944973] usbcore: registered new interface driver usb-storage
[    0.951555] Gt9xx driver installing..
[    0.955346] >> i2c_add_driver - ret : 0x0
[    0.959947] i2c_dev: i2c /dev entries driver
[    0.965052] usbcore: registered new interface driver uvcvideo
[    0.973154] sdhci: Secure Digital Host Controller Interface driver
[    0.979550] sdhci: Copyright(c) Pierre Ossman
[    0.984563] Synopsys Designware Multimedia Card Interface Driver
[    0.991232] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.998047] ledtrig-cpu: registered to indicate activity on CPUs
[    1.004441] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    1.011461] usbcore: registered new interface driver usbhid
[    1.017248] usbhid: USB HID core driver
[    1.022917] optee: probing for conduit method.
[    1.027529] optee: revision 3.20 (8e74d476)
[    1.027908] optee: dynamic shared memory is enabled
[    1.037496] optee: initialized driver
[    1.044206] Initializing XFRM netlink socket
[    1.048669] NET: Registered PF_PACKET protocol family
[    1.054028] 9pnet: Installing 9P2000 support
[    1.058491] Key type dns_resolver registered
[    1.063395] registered taskstats version 1
[    1.067623] Loading compiled-in X.509 certificates
[    1.082634] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
[    1.157611] at24 0-0051: supply vcc not found, using dummy regulator
[    1.186772] at24 0-0051: 65536 byte 24c512 EEPROM, writable, 64 bytes/write
[    1.194318] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
[    1.201610] i2c 1-0044: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[    1.212017] tas2505-codec 1-0018: tas2505_i2c_probe: clock-source = MCLK
[    1.218981] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
[    1.225199] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created
[    1.233569] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created
[    1.242863] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[    1.253051] ti-udma 485c0100.dma-controller: Number of rings: 82
[    1.261449] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18)
[    1.273011] ti-udma 485c0000.dma-controller: Number of rings: 150
[    1.283563] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15)
[    1.294096] printk: console [ttyS2] disabled
[    1.298641] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 240, base_baud = 3000000) is a 8250
[    1.307562] printk: console [ttyS2] enabled
[    1.307562] printk: console [ttyS2] enabled
[    1.316020] printk: bootconsole [ns16550a0] disabled
[    1.316020] printk: bootconsole [ns16550a0] disabled
[    1.327420] 2840000.serial: ttyS4 at MMIO 0x2840000 (irq = 242, base_baud = 3000000) is a 8250
[    1.337277] 2860000.serial: ttyS6 at MMIO 0x2860000 (irq = 243, base_baud = 3000000) is a 8250
[    1.349192] spi-nor spi0.0: s28hs512t (65536 Kbytes)
[    1.354328] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
[    1.361294] Creating 7 MTD partitions on "fc40000.spi.0":
[    1.366689] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[    1.373642] 0x000000080000-0x000000280000 : "ospi.tispl"
[    1.380258] 0x000000280000-0x000000680000 : "ospi.u-boot"
[    1.386898] 0x000000680000-0x0000006c0000 : "ospi.env"
[    1.393298] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
[    1.400272] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
[    1.406986] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
[    1.415846] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
[    1.462613] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    1.471998] mdio_bus 8000f00.mdio: MDIO device at address 1 is missing.
[    1.478634] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
[    1.486765] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006
[    1.499770] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
[    1.506046] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
[    1.513178] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[    1.519732] pps pps0: new PPS source ptp0
[    1.524106] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
[    1.534803] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[    1.547479] mmc0: CQHCI version 5.10
[    1.547853] mmc1: CQHCI version 5.10
[    1.555236] mmc2: CQHCI version 5.10
[    1.564237] [gtp_probe:1980]
[    1.568121] goodix-ts 0-005d: GTP Driver Version: V2.8.0.2<2017/12/14>
[    1.574660] goodix-ts 0-005d: GTP I2C Address: 0x5d
[    1.579541] goodix-ts 0-005d: Unset touchscreen-max-id, use default
[    1.585804] goodix-ts 0-005d: touch input parameters is [id x y w p]<16 800 480 800 480>
[    1.589245] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[    1.589316] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[    1.593888] goodix-ts 0-005d: int-sync enabled
[    1.593893] goodix-ts 0-005d: driver-send-cfg enabled
[    1.594819] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit
[    1.625798] goodix-ts 0-005d: swap-x2y enabled
[    1.627320] mmc1: new high speed SDHC card at address aaaa
[    1.630242] goodix-ts 0-005d: esd-protect enabled
[    1.636726] mmcblk1: mmc1:aaaa SC32G 29.7 GiB
[    1.644900] goodix-ts 0-005d: taeha1, get RST [0x1f2] INT [0x1f1] from DTS
[    1.650463]  mmcblk1: p1 p2
[    1.651806] goodix-ts 0-005d: supply vdd_ana not found, using dummy regulator
[    1.661884] goodix-ts 0-005d: supply vcc_i2c not found, using dummy regulator
[    1.669130] goodix-ts 0-005d: Failed get pinctrl state:output_high
[    1.669242] mmc0: Command Queue Engine enabled
[    1.675332] goodix-ts 0-005d: Success request irq-gpio
[    1.679780] mmc0: new HS200 MMC card at address 0001
[    1.684892] goodix-ts 0-005d: Success request rst-gpio
[    1.690810] mmcblk0: mmc0:0001 0IM20E 29.6 GiB
[    1.694975] goodix-ts 0-005d: taeha, start reset in Prob()
[    1.702010]  mmcblk0: p1
[    1.704981] goodix-ts 0-005d: Guitar reset
[    1.704986] goodix-ts 0-005d: ===========taeha, set rst pin to LOW (0)for reset debug1108
[    1.720519] mmcblk0boot0: mmc0:0001 0IM20E 31.5 MiB
[    1.725121] goodix-ts 0-005d: taeha, check i2c addr = 93
[    1.726926] mmcblk0boot1: mmc0:0001 0IM20E 31.5 MiB
[    1.730804] goodix-ts 0-005d: ============taeha, assign i2c addr = 0x14 , now 93
[    1.736915] mmcblk0rpmb: mmc0:0001 0IM20E 4.00 MiB, chardev (239:0)
[    1.746148] goodix-ts 0-005d: taeha, set rst pin to HIGH debug1108
[    1.826777] goodix-ts 0-005d: taeha, end reset in Prob()
[    1.832286] goodix-ts 0-005d: I2C Addr is 5d
[    1.836844] goodix-ts 0-005d: IC Version: 911_1060
[    1.842040] goodix-ts 0-005d: taeha5, sensor_id: 05
[    1.847335] goodix-ts 0-005d: taeha3, Get config data from device tree
[    1.853886] goodix-ts 0-005d: taeha7, data: 0 , lenght:0  sensor_id: 5
[    1.860421] goodix-ts 0-005d: Failed to parse config data form device tree
[    1.867976] goodix-ts 0-005d: No config data or error occurred in panel_init
[    1.886059] goodix-ts 0-005d: Use slot report protocol
[    1.891452] input: goodix-ts as /devices/virtual/input/input0
[    1.897476] goodix-ts 0-005d: INT num 267, trigger type:2
[    1.903279] goodix-ts 0-005d: create proc entry gt9xx_config success
[    1.909660] goodix-ts 0-005d: Alloc memory size:1534.
[    1.914714] goodix-ts 0-005d: I2C function: without pre and end cmd!
[    1.921067] goodix-ts 0-005d: Create proc entry success!
[    1.926384] goodix-ts 0-005d: ESD on
[    1.930397] tp2855_mipi 1-0044: TI TP2855 I2C device probed
[    1.935982] tp2855_mipi 1-0044: TP2855 decoder init start
[    1.962919] tp2855_mipi 1-0044: TP2855 set ch to 0x40
[    1.969909] tp2855_mipi 1-0044: TP2855 set 0x45 vale to 0x01
[    2.012305] tp2855_mipi 1-0044: TP2855 mipi out init start
[    2.017827] tp2855_mipi 1-0044: TP2855 mipi set reg 0x40 with MIPI_PAGE
[    2.027816] tp2855_mipi 1-0044: TP2855 mipi set reg 0x01 with 0xf0
[    2.038240] tp2855_mipi 1-0044: TP2855 MIPI_4CH4LAN_297M setting
[    2.064496] tp2855_mipi 1-0044: TI TP2855 initilization done
[    2.072761] tas2505-codec 1-0018: tas2505_codec_probe: Probe finished
[    2.079364] tas2505-codec 1-0018: tas2505_set_dai_sysclk: clk_id: 0, freq: 12288000
[    2.087811] tas2505-codec 1-0018: tas2505_set_dai_sysclk: id [0] tas2505->sysclk: 12288000, freq: 12288000
[    2.100720] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present!
[    2.122600] ALSA device list:
[    2.125602]   #0: TAS2505
[    4.144485] EXT4-fs (mmcblk1p2): recovery complete
[    4.150902] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
[    4.159577] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    4.165855] devtmpfs: mounted
[    4.170650] Freeing unused kernel memory: 2240K
[    4.175302] Run /sbin/init as init process
[    5.595170] systemd[1]: System time before build time, advancing clock.
[    5.893306] NET: Registered PF_INET6 protocol family
[    5.901332] Segment Routing with IPv6
[    5.905325] In-situ OAM (IOAM) with IPv6
[    6.054476] systemd[1]: systemd 250.5+ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK +XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
[    6.087981] systemd[1]: Detected architecture arm64.

Welcome to Arago 2023.04!

[    6.191934] systemd[1]: Hostname set to <am62xx-evm>.
[    6.492264] systemd-sysv-generator[161]: SysV service '/etc/init.d/sysrepo' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.518203] systemd-sysv-generator[161]: SysV service '/etc/init.d/save-rtc.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.548306] systemd-sysv-generator[161]: SysV service '/etc/init.d/reboot' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.572562] systemd-sysv-generator[161]: SysV service '/etc/init.d/sendsigs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.597735] systemd-sysv-generator[161]: SysV service '/etc/init.d/psplash.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.622498] systemd-sysv-generator[161]: SysV service '/etc/init.d/resize_rootfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.647181] systemd-sysv-generator[161]: SysV service '/etc/init.d/dropbear' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.671570] systemd-sysv-generator[161]: SysV service '/etc/init.d/single' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.696346] systemd-sysv-generator[161]: SysV service '/etc/init.d/docker.init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.720663] systemd-sysv-generator[161]: SysV service '/etc/init.d/halt' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.744966] systemd-sysv-generator[161]: SysV service '/etc/init.d/umountnfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.770085] systemd-sysv-generator[161]: SysV service '/etc/init.d/umountfs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.799590] systemd-sysv-generator[161]: SysV service '/etc/init.d/telnetd' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.824060] systemd-sysv-generator[161]: SysV service '/etc/init.d/netperf' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.848922] systemd-sysv-generator[161]: SysV service '/etc/init.d/thermal-zone-init' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.874918] systemd-sysv-generator[161]: SysV service '/etc/init.d/netopeer2-server' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    6.901268] systemd-sysv-generator[161]: SysV service '/etc/init.d/inetd.busybox' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[    7.407124] systemd[1]: Configuration file /etc/systemd/system/ti-apps-launcher.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[    7.524180] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
[    7.539661] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
[    8.136934] systemd[1]: /lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[    8.222393] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[    8.328079] systemd[1]: Queued start job for default target Graphical Interface.
[    8.412347] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[    8.438381] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[    8.462489] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[    8.485513] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    8.521445] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    8.551158] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    8.593058] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[    8.616700] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    8.638843] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[    8.654863] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[    8.748599] systemd[1]: Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[    8.771281] systemd[1]: Reached target RPC Port Mapper.
[  OK  ] Reached target RPC Port Mapper.
[    8.811491] systemd[1]: Listening on Process Core Dump Socket.
[  OK  ] Listening on Process Core Dump Socket.
[    8.835874] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    8.862776] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[    8.884402] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    8.908686] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    8.926893] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    8.953917] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    8.977185] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    9.001377] systemd[1]: Listening on User Database Manager Socket.
[  OK  ] Listening on User Database Manager Socket.
[    9.075536] systemd[1]: Mounting Huge Pages File System...
         Mounting Huge Pages File System...
[    9.101059] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    9.135825] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    9.151643] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
[    9.191393] systemd[1]: Mounting Temporary Directory /tmp...
         Mounting Temporary Directory /tmp...
[    9.223252] systemd[1]: Starting Create List of Static Device Nodes...
         Starting Create List of Static Device Nodes...
[    9.271908] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[    9.299963] systemd[1]: Starting Load Kernel Module drm...
         Starting Load Kernel Module drm...
[    9.323525] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[    9.513623] fuse: init (API version 7.37)
[    9.548275] systemd[1]: Starting Start psplash boot splash screen...
         Starting Start psplash boot splash screen...
[    9.585711] systemd[1]: Starting RPC Bind...
         Starting RPC Bind...
[    9.599410] systemd[1]: File System Check on Root Device was skipped because of a failed condition check (ConditionPathIsReadWrite=!/).
[    9.625826] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    9.699966] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    9.728304] systemd[1]: Starting Generate network units from Kernel command line...
         Starting Generate network …ts from Kernel command line...
[    9.760721] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    9.808476] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
[    9.808874] cryptodev: loading out-of-tree module taints kernel.
[    9.815924] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[    9.866519] cryptodev: driver 1.12 loaded.
[    9.883410] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[    9.907757] systemd[1]: Started RPC Bind.
[  OK  ] Started RPC Bind.
[    9.923741] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    9.947726] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[    9.971747] systemd[1]: Mounted Temporary Directory /tmp.
[  OK  ] Mounted Temporary Directory /tmp.
[    9.997277] systemd[1]: Finished Create List of Static Device Nodes.
[  OK  ] Finished Create List of Static Device Nodes.
[   10.020360] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[   10.029622] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[   10.051686] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module fuse.
[FAILED] Failed to start Start psplash boot splash screen.
See 'systemctl status psplash-start.service' for details.
[DEPEND] Dependency failed for Star…progress communication helper.
[  OK  ] Finished Load Kernel Modules.
[  OK  ] Finished Generate network units from Kernel command line.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Mounting FUSE Control File System...
         Mounting Kernel Configuration File System...
         Starting Flush Journal to Persistent Storage...
         Starting Apply Kernel Variables...
[   10.398313] systemd-journald[176]: Received client request to flush runtime journal.
         Starting Create System Users...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
         Mounting /media/ram...
         Mounting /var/volatile...
[   10.769627] audit: type=1334 audit(1651167750.188:2): prog-id=5 op=LOAD
[   10.776395] audit: type=1334 audit(1651167750.196:3): prog-id=6 op=LOAD
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Mounted /media/ram.
[  OK  ] Mounted /var/volatile.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Rebuild Dynamic Linker Cache...
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Rebuild Journal Catalog...
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Finished Rebuild Journal Catalog.
[  OK  ] Finished Rebuild Dynamic Linker Cache.
         Starting Update is Completed...
[  OK  ] Finished Update is Completed.
[   11.705703] systemd-journald[176]: Oldest entry in /run/log/journal/fe1d415db3f042008441fcc16463f814/system.journal is older than the configured file retention duration (1month), suggesting rotation.
[  OK  ] Started Network Time Synchronizatio[   11.725912] systemd-journald[176]: /run/log/journal/fe1d415db3f042008441fcc16463f814/system.journal: Journal header limits reached or header out-of-date, rotating.
n.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target System Time Set.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on D-Bus System Message Bus Socket.
         Starting Docker Socket for the API...
[  OK  ] Listening on dropbear.socket.
         Starting Weston socket...
         Starting D-Bus System Message Bus...
         Starting Reboot and dump vmcore via kexec...
[  OK  ] Listening on Docker Socket for the API.
[  OK  ] Listening on Weston socket.
[  OK  ] Reached target Socket Units.
[   12.082661] random: crng init done
[  OK  ] Found device /dev/ttyS2.
[   12.172675] pwm-backlight backlight: supply power not found, using dummy regulator
[   12.185019] panel-simple display: supply power not found, using dummy regulator
[   12.193041] panel-simple display: Specify missing bus_flags
[   12.221708] rtc rtc0: Unknown quartz-load-femtofarads value: 1250. Assuming 12500
[   12.247343] rtc-pcf8523 1-0068: registered as rtc0
[   12.255008] rtc-pcf8523 1-0068: setting system clock to 2024-11-14T05:13:07 UTC (1731561187)
[  OK  ] Finished Load/Save Random Seed.
[   12.483552] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
[   12.492433] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
[   12.499715] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
[   12.507213] remoteproc remoteproc0: 5000000.m4fss is available
[   12.509042] rtc-ti-k3 2b1f0000.rtc: registered as rtc1
[   12.613937] CAN device driver interface
[   13.019302] PVR_K:  236: Device: fd00000.gpu
[   13.024781] PVR_K:  236: Read BVNC 33.15.11.3 from HW device registers
[   13.031562] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[   13.033591] PVR_K:  236: RGX Device registered with BVNC 33.15.11.3
[   13.051222] platform 78000000.r5f: configured R5F for IPC-only mode
[   13.051336] [drm] Initialized pvr 23.1.6404501 20170530 for fd00000.gpu on minor 0
[   13.057898] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9da00000
[   13.076503] remoteproc remoteproc1: 78000000.r5f is available
[   13.084754] remoteproc remoteproc1: attaching to 78000000.r5f
[   13.091873] platform 78000000.r5f: R5F core initialized in IPC-only mode
[   13.098865] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node r5f-dma-memory@9da00000
[   13.103143] remoteproc remoteproc0: powering up 5000000.m4fss
[   13.111935] virtio_rpmsg_bus virtio0: rpmsg host is online
[   13.113758] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[   13.117162] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 54860
[   13.131762] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
[   13.135109] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[   13.141624] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
[   13.149037] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[  OK  ] Finished Reboot and dump vmcore via[   13.166986] virtio_rpmsg_bus virtio1: rpmsg host is online
 kexec.
[   13.167031] m_can_platform 4e00000.can: m_can device registered (irq=0, version=32)
[   13.168115] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
[   13.168295] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[   13.177408] rproc-virtio rproc-virtio.2.auto: registered virtio1 (type 7)
[   13.201126] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
[   13.215444] m_can_platform 4e10000.can: m_can device registered (irq=0, version=32)
[   13.381674] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 1
[   13.391647] tidss 30200000.dss: [drm] fb0: tidssdrmfb frame buffer device
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Reached target Basic System.
         Starting Save/Restore Sound Card State...
[  OK  ] Started Job spooling tools.
[  OK  ] Started Periodic Command Scheduler.
         Starting Print notice about GPLv3 packages...
         Starting IPv6 Packet Filtering Framework...
         Starting IPv4 Packet Filtering Framework...
[  OK  ] Started irqbalance daemon.
         Starting startwlanap...
         Starting startwlansta...
[   14.108353] audit: type=1334 audit(1731561189.348:4): prog-id=7 op=LOAD
[   14.118501] audit: type=1334 audit(1731561189.356:5): prog-id=8 op=LOAD
         Starting User Login Management...
[   14.189556] remoteproc remoteproc2: 30074000.pru is available
[   14.203339] remoteproc remoteproc3: 30078000.pru is available
[  OK  ] Started TEE Supplicant.
         Starting telnetd.service...
[   14.337162] dwc3 31000000.usb: Configuration mismatch. dr_mode forced to gadget
[  OK  ] Started ti-apps-launcher service.
[  OK  ] Finished Save/Restore Sound Card State.
[  OK  ] Started startwlanap.
[  OK  ] Started startwlansta.
[  OK  ] Started telnetd.service.
[   14.468082] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
[   14.613736] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[  OK  ] Finished IPv6 Packet Filtering Fram[   14.619817] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
ework.
[  OK  ] Finished IPv4 Packet Filtering Fram[   14.634389] xhci-hcd xhci-hcd.3.auto: USB3 root hub has no ports
ework.
[   14.646153] xhci-hcd xhci-hcd.3.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
[   14.656155] xhci-hcd xhci-hcd.3.auto: irq 459, io mem 0x31100000
[  OK  ] Created slice Slice /system/systemd[   14.665566] hub 1-0:1.0: USB hub found
-backlight.
[  OK  ] Reached target Pre[   14.671837] hub 1-0:1.0: 1 port detected
paration for Network.
[  OK  ] Reached target Sound Card.
[  OK  ] Reached target Hardware activated USB gadget.
         Starting LSB: Expand Rootfs of boot device...
         Starting Load/Save Screen …ness of backlight:backlight...
         Starting Network Configuration...
[  OK  ] Finished Load/Save Screen …htness of backlight:backlight.
[  OK  ] Started User Login Management.
[   14.934677] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[   15.088312] usb-storage 1-1:1.0: USB Mass Storage device detected
[   15.095465] scsi host0: usb-storage 1-1:1.0
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
[   15.707608] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   15.729768] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   16.120437] scsi 0:0:0:0: Direct-Access     SanDisk  Cruzer Blade     1.00 PQ: 0 ANSI: 6
[   16.137061] sd 0:0:0:0: [sda] 30031872 512-byte logical blocks: (15.4 GB/14.3 GiB)
[   16.146014] sd 0:0:0:0: [sda] Write Protect is off
[   16.152053] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   16.176611]  sda: sda1
[   16.179623] sd 0:0:0:0: [sda] Attached SCSI removable disk
[  OK  ] Started Network Configuration.
[   16.451479] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
         Starting Wait for Network to be Configured[   16.480363] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
...
         Starting Network Name Resolution...
[   16.492404] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[  OK  ] Started LSB: Expand Rootfs of boot device.
[  OK  ] Created slice Slice /system/systemd-fsck.
[  OK  ] Found device /dev/mmcblk0p1.
         Starting File System Check on /dev/mmcblk0p1...
         Starting File System Check on /dev/mmcblk1p1...
[  OK  ] Finished File System Check on /dev/mmcblk1p1.
         Mounting /run/media/boot-mmcblk1p1...
[  OK  ] Mounted /run/media/boot-mmcblk1p1.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting Avahi mDNS/DNS-SD Stack...
         Starting Enable and configure wl18xx bluetooth stack...
         Starting containerd container runtime...
[  OK  ] Started Netperf Benchmark Server.
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
         Starting Simple Network Ma…ent Protocol (SNMP) Daemon....
         Starting Permit User Sessions...
[  OK  ] Finished Enable and configure wl18xx bluetooth stack.
[  OK  ] Found device Cruzer_Blade USB.
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Serial Getty on ttyS2.
[  OK  ] Reached target Login Prompts.
         Starting Synchronize System and HW clocks...
         Starting File System Check on /dev/sda1...
[  OK  ] Finished File System Check on /dev/mmcblk0p1.
         Mounting /run/media/mmcblk0p1...
[   18.285212] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Quota mode: none.
[  OK  ] Mounted /run/media/mmcblk0p1.
[  OK  ] Finished Synchronize System and HW clocks.
[  OK  ] Finished File System Check on /dev/sda1.
         Mounting /run/media/USB-sda1...
[  OK  ] Mounted /run/media/USB-sda1.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.

 _____                    _____           _         _
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
              |___|                    |___|

Arago Project am62xx-evm -

Arago 2023.04 am62xx-evm -

am62xx-evm login: root
[   42.057059] audit: type=1334 audit(1731561217.296:6): prog-id=9 op=LOAD
[   42.075752] audit: type=1334 audit(1731561217.312:7): prog-id=10 op=LOAD
[   59.658204] audit: type=1006 audit(1731561234.896:8): pid=837 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
[   59.673308] audit: type=1300 audit(1731561234.896:8): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=fffff3580008 a2=1 a3=ffffa6e43020 items=0 ppid=1 pid=837 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/lib/systemd/systemd" key=(null)
[   59.706090] audit: type=1327 audit(1731561234.896:8): proctitle="(systemd)"
[   60.798373] audit: type=1334 audit(1731561236.032:9): prog-id=11 op=LOAD
[   60.820419] audit: type=1300 audit(1731561236.032:9): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=fffff24b26a0 a2=78 a3=0 items=0 ppid=1 pid=837 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="systemd" exe="/lib/systemd/systemd" key=(null)
[   60.855648] audit: type=1327 audit(1731561236.032:9): proctitle="(systemd)"
[   60.864955] audit: type=1334 audit(1731561236.052:10): prog-id=11 op=UNLOAD
[   60.874073] audit: type=1334 audit(1731561236.052:11): prog-id=12 op=LOAD
[   60.883397] audit: type=1300 audit(1731561236.052:11): arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=fffff24b2740 a2=78 a3=0 items=0 ppid=1 pid=837 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="systemd" exe="/lib/systemd/systemd" key=(null)
[   60.910387] audit: type=1327 audit(1731561236.052:11): proctitle="(systemd)"
[   65.199708] kauditd_printk_skb: 1 callbacks suppressed
[   65.199989] audit: type=1701 audit(1731561240.436:13): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=491 comm="ti-apps-launche" exe="/usr/bin/ti-apps-launcher" sig=11 res=1
[   66.612918] audit: type=1334 audit(1731561241.852:14): prog-id=13 op=LOAD
[   66.622307] audit: type=1334 audit(1731561241.860:15): prog-id=14 op=LOAD
root@am62xx-evm:~# [  105.063133] audit: type=1334 audit(1731561280.304:16): prog-id=14 op=UNLOAD
[  105.070240] audit: type=1334 audit(1731561280.304:17): prog-id=13 op=UNLOAD

root@am62xx-evm:~# dmesg | grep csi
[    1.201610] i2c 1-0044: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[   14.468082] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
[   15.095465] scsi host0: usb-storage 1-1:1.0
[   16.120437] scsi 0:0:0:0: Direct-Access     SanDisk  Cruzer Blade     1.00 PQ: 0 ANSI: 6
root@am62xx-evm:~# cd /dev/
root@am62xx-evm:/dev# ls
autofs           crypto    full       initctl       loop3   mmcblk0       mqueue  mtd3ro     mtdblock1  port   ptyp3  ptypb   rpmsg1       shm       tty     ttyS5  ttyp3  ttypb               vfio
block            cuse      fuse       input         loop4   mmcblk0boot0  mtd0    mtd4       mtdblock2  pps0   ptyp4  ptypc   rpmsg_ctrl0  snapshot  ttyS0   ttyS6  ttyp4  ttypc               zero
bsg              disk      gpiochip0  kmsg          loop5   mmcblk0boot1  mtd0ro  mtd4ro     mtdblock3  ptmx   ptyp5  ptypd   rpmsg_ctrl1  snd       ttyS1   ttyS7  ttyp5  ttypd
btrfs-control    dma_heap  gpiochip1  log           loop6   mmcblk0p1     mtd1    mtd5       mtdblock4  ptp0   ptyp6  ptype   rtc          stderr    ttyS10  ttyS8  ttyp6  ttype
bus              dri       gpiochip2  loop-control  loop7   mmcblk0rpmb   mtd1ro  mtd5ro     mtdblock5  pts    ptyp7  ptypf   rtc0         stdin     ttyS11  ttyS9  ttyp7  ttypf
char             fb        hugepages  loop0         mapper  mmcblk1       mtd2    mtd6       mtdblock6  ptyp0  ptyp8  random  rtc1         stdout    ttyS2   ttyp0  ttyp8  udev_network_queue
console          fb0       i2c-0      loop1         media0  mmcblk1p1     mtd2ro  mtd6ro     net        ptyp1  ptyp9  rfkill  sda          tee0      ttyS3   ttyp1  ttyp9  uinput
cpu_dma_latency  fd        i2c-1      loop2         mem     mmcblk1p2     mtd3    mtdblock0  null       ptyp2  ptypa  rpmsg0  sda1         teepriv0  ttyS4   ttyp2  ttypa  urandom
root@am62xx-evm:/dev# [  153.017771] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[  153.041302] Bridge firewalling registered
[  153.165659] audit: type=1325 audit(1731561328.328:18): table=nat family=2 entries=0 op=xt_register pid=906 comm="iptables"
[  153.176868] audit: type=1300 audit(1731561328.328:18): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffcc24bb58 items=0 ppid=863 pid=906 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[  153.204998] audit: type=1327 audit(1731561328.328:18): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D74006E6174002D4C002D6E
[  153.217793] audit: type=1325 audit(1731561328.420:19): table=filter family=2 entries=0 op=xt_register pid=909 comm="iptables"
[  153.229159] audit: type=1300 audit(1731561328.420:19): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffd598a958 items=0 ppid=863 pid=909 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[  153.257308] audit: type=1327 audit(1731561328.420:19): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D4C002D6E
[  153.374261] audit: type=1325 audit(1731561328.612:20): table=nat family=2 entries=5 op=xt_replace pid=930 comm="iptables"
[  153.385370] audit: type=1300 audit(1731561328.612:20): arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=2f751a60 items=0 ppid=863 pid=930 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null)
[  153.413152] audit: type=1327 audit(1731561328.612:20): proctitle=2F7573722F7362696E2F69707461626C6573002D2D77616974002D74006E6174002D4E00444F434B4552
[  153.426643] audit: type=1325 audit(1731561328.628:21): table=filter family=2 entries=4 op=xt_replace pid=932 comm="iptables"

root@am62xx-evm:/dev# ll
-sh: ll: command not found
root@am62xx-evm:/dev# ls -a
.              console          fb0        i2c-0         loop1   media0        mmcblk1p1  mtd2ro  mtd6ro     net    ptyp1  ptyp9   rfkill       sda       tee0      ttyS3  ttyp1  ttyp9               uinput
..             cpu_dma_latency  fd         i2c-1         loop2   mem           mmcblk1p2  mtd3    mtdblock0  null   ptyp2  ptypa   rpmsg0       sda1      teepriv0  ttyS4  ttyp2  ttypa               urandom
autofs         crypto           full       initctl       loop3   mmcblk0       mqueue     mtd3ro  mtdblock1  port   ptyp3  ptypb   rpmsg1       shm       tty       ttyS5  ttyp3  ttypb               vfio
block          cuse             fuse       input         loop4   mmcblk0boot0  mtd0       mtd4    mtdblock2  pps0   ptyp4  ptypc   rpmsg_ctrl0  snapshot  ttyS0     ttyS6  ttyp4  ttypc               zero
bsg            disk             gpiochip0  kmsg          loop5   mmcblk0boot1  mtd0ro     mtd4ro  mtdblock3  ptmx   ptyp5  ptypd   rpmsg_ctrl1  snd       ttyS1     ttyS7  ttyp5  ttypd
btrfs-control  dma_heap         gpiochip1  log           loop6   mmcblk0p1     mtd1       mtd5    mtdblock4  ptp0   ptyp6  ptype   rtc          stderr    ttyS10    ttyS8  ttyp6  ttype
bus            dri              gpiochip2  loop-control  loop7   mmcblk0rpmb   mtd1ro     mtd5ro  mtdblock5  pts    ptyp7  ptypf   rtc0         stdin     ttyS11    ttyS9  ttyp7  ttypf
char           fb               hugepages  loop0         mapper  mmcblk1       mtd2       mtd6    mtdblock6  ptyp0  ptyp8  random  rtc1         stdout    ttyS2     ttyp0  ttyp8  udev_network_queue
root@am62xx-evm:/dev# cat /sys/bus/i2c/devices/
cat: /sys/bus/i2c/devices/: Is a directory
root@am62xx-evm:/dev# ls
autofs           crypto    full       initctl       loop3   mmcblk0       mqueue  mtd3ro     mtdblock1  port   ptyp3  ptypb   rpmsg1       shm       tty     ttyS5  ttyp3  ttypb               vfio
block            cuse      fuse       input         loop4   mmcblk0boot0  mtd0    mtd4       mtdblock2  pps0   ptyp4  ptypc   rpmsg_ctrl0  snapshot  ttyS0   ttyS6  ttyp4  ttypc               zero
bsg              disk      gpiochip0  kmsg          loop5   mmcblk0boot1  mtd0ro  mtd4ro     mtdblock3  ptmx   ptyp5  ptypd   rpmsg_ctrl1  snd       ttyS1   ttyS7  ttyp5  ttypd
btrfs-control    dma_heap  gpiochip1  log           loop6   mmcblk0p1     mtd1    mtd5       mtdblock4  ptp0   ptyp6  ptype   rtc          stderr    ttyS10  ttyS8  ttyp6  ttype
bus              dri       gpiochip2  loop-control  loop7   mmcblk0rpmb   mtd1ro  mtd5ro     mtdblock5  pts    ptyp7  ptypf   rtc0         stdin     ttyS11  ttyS9  ttyp7  ttypf
char             fb        hugepages  loop0         mapper  mmcblk1       mtd2    mtd6       mtdblock6  ptyp0  ptyp8  random  rtc1         stdout    ttyS2   ttyp0  ttyp8  udev_network_queue
console          fb0       i2c-0      loop1         media0  mmcblk1p1     mtd2ro  mtd6ro     net        ptyp1  ptyp9  rfkill  sda          tee0      ttyS3   ttyp1  ttyp9  uinput
cpu_dma_latency  fd        i2c-1      loop2         mem     mmcblk1p2     mtd3    mtdblock0  null       ptyp2  ptypa  rpmsg0  sda1         teepriv0  ttyS4   ttyp2  ttypa  urandom
root@am62xx-evm:/dev# cd /sys/bus/i2c/
root@am62xx-evm:/sys/bus/i2c# ls
devices  drivers  drivers_autoprobe  drivers_probe  uevent
root@am62xx-evm:/sys/bus/i2c# cd devices/
root@am62xx-evm:/sys/bus/i2c/devices# ls
0-0051  0-005d  1-0018  1-0044  1-0068  i2c-0  i2c-1
root@am62xx-evm:/sys/bus/i2c/devices#

  • Kernel config:

    root@am62xx-evm:~# zcat /proc/config.gz | grep 'VIDEO'
    CONFIG_VIDEO_DEV=y
    CONFIG_VIDEO_V4L2_I2C=y
    CONFIG_VIDEO_V4L2_SUBDEV_API=y
    # CONFIG_VIDEO_ADV_DEBUG is not set
    # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
    # CONFIG_VIDEO_USBTV is not set
    CONFIG_USB_VIDEO_CLASS=y
    CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
    # CONFIG_VIDEO_GO7007 is not set
    # CONFIG_VIDEO_HDPVR is not set
    # CONFIG_VIDEO_PVRUSB2 is not set
    # CONFIG_VIDEO_STK1160_COMMON is not set
    # CONFIG_VIDEO_AU0828 is not set
    # CONFIG_VIDEO_CX231XX is not set
    # CONFIG_VIDEO_EM28XX is not set
    # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
    # CONFIG_VIDEO_MUX is not set
    # CONFIG_VIDEO_ASPEED is not set
    CONFIG_VIDEO_CADENCE_CSI2RX=m
    # CONFIG_VIDEO_CADENCE_CSI2TX is not set
    CONFIG_VIDEO_WAVE_VPU=y
    CONFIG_VIDEO_IMG_VXD_DEC=y
    CONFIG_VIDEO_IMG_VXE_ENC=y
    CONFIG_VIDEO_E5010_JPEG_ENC=m
    # CONFIG_VIDEO_CAFE_CCIC is not set
    # CONFIG_VIDEO_TI_CAL is not set
    CONFIG_VIDEO_TI_J721E_CSI2RX=m
    # CONFIG_VIDEO_XILINX is not set
    CONFIG_VIDEOBUF2_CORE=y
    CONFIG_VIDEOBUF2_V4L2=y
    CONFIG_VIDEOBUF2_MEMOPS=y
    CONFIG_VIDEOBUF2_DMA_CONTIG=y
    CONFIG_VIDEOBUF2_VMALLOC=y
    CONFIG_VIDEOBUF2_DMA_SG=y
    # CONFIG_VIDEO_AR0521 is not set
    # CONFIG_VIDEO_HI556 is not set
    # CONFIG_VIDEO_HI846 is not set
    # CONFIG_VIDEO_HI847 is not set
    # CONFIG_VIDEO_IMX208 is not set
    # CONFIG_VIDEO_IMX214 is not set
    CONFIG_VIDEO_IMX219=m
    # CONFIG_VIDEO_IMX258 is not set
    # CONFIG_VIDEO_IMX274 is not set
    # CONFIG_VIDEO_IMX290 is not set
    # CONFIG_VIDEO_IMX319 is not set
    # CONFIG_VIDEO_IMX334 is not set
    # CONFIG_VIDEO_IMX335 is not set
    # CONFIG_VIDEO_IMX355 is not set
    CONFIG_VIDEO_IMX390=m
    # CONFIG_VIDEO_IMX412 is not set
    # CONFIG_VIDEO_MT9M001 is not set
    # CONFIG_VIDEO_MT9M032 is not set
    # CONFIG_VIDEO_MT9M111 is not set
    # CONFIG_VIDEO_MT9P031 is not set
    # CONFIG_VIDEO_MT9T001 is not set
    # CONFIG_VIDEO_MT9T112 is not set
    # CONFIG_VIDEO_MT9V011 is not set
    # CONFIG_VIDEO_MT9V032 is not set
    # CONFIG_VIDEO_MT9V111 is not set
    # CONFIG_VIDEO_NOON010PC30 is not set
    # CONFIG_VIDEO_OG01A1B is not set
    # CONFIG_VIDEO_OV02A10 is not set
    # CONFIG_VIDEO_OV08D10 is not set
    # CONFIG_VIDEO_OV13858 is not set
    # CONFIG_VIDEO_OV13B10 is not set
    CONFIG_VIDEO_OV2312=m
    # CONFIG_VIDEO_OV2640 is not set
    # CONFIG_VIDEO_OV2659 is not set
    # CONFIG_VIDEO_OV2680 is not set
    # CONFIG_VIDEO_OV2685 is not set
    CONFIG_VIDEO_OV5640=m
    CONFIG_VIDEO_OV5645=m
    # CONFIG_VIDEO_OV5647 is not set
    # CONFIG_VIDEO_OV5648 is not set
    # CONFIG_VIDEO_OV5670 is not set
    # CONFIG_VIDEO_OV5675 is not set
    # CONFIG_VIDEO_OV5693 is not set
    # CONFIG_VIDEO_OV5695 is not set
    # CONFIG_VIDEO_OV6650 is not set
    # CONFIG_VIDEO_OV7251 is not set
    # CONFIG_VIDEO_OV7640 is not set
    # CONFIG_VIDEO_OV7670 is not set
    # CONFIG_VIDEO_OV772X is not set
    # CONFIG_VIDEO_OV7740 is not set
    # CONFIG_VIDEO_OV8856 is not set
    # CONFIG_VIDEO_OV8865 is not set
    # CONFIG_VIDEO_OV9282 is not set
    # CONFIG_VIDEO_OV9640 is not set
    # CONFIG_VIDEO_OV9650 is not set
    # CONFIG_VIDEO_RDACM20 is not set
    # CONFIG_VIDEO_RDACM21 is not set
    # CONFIG_VIDEO_RJ54N1 is not set
    # CONFIG_VIDEO_S5C73M3 is not set
    # CONFIG_VIDEO_S5K4ECGX is not set
    # CONFIG_VIDEO_S5K5BAF is not set
    # CONFIG_VIDEO_S5K6A3 is not set
    # CONFIG_VIDEO_S5K6AA is not set
    # CONFIG_VIDEO_SR030PC30 is not set
    # CONFIG_VIDEO_VS6624 is not set
    # CONFIG_VIDEO_CCS is not set
    # CONFIG_VIDEO_ET8EK8 is not set
    # CONFIG_VIDEO_M5MOLS is not set
    # CONFIG_VIDEO_AD5820 is not set
    # CONFIG_VIDEO_AK7375 is not set
    # CONFIG_VIDEO_DW9714 is not set
    # CONFIG_VIDEO_DW9768 is not set
    # CONFIG_VIDEO_DW9807_VCM is not set
    # CONFIG_VIDEO_ADP1653 is not set
    # CONFIG_VIDEO_LM3560 is not set
    # CONFIG_VIDEO_LM3646 is not set
    # CONFIG_VIDEO_CS3308 is not set
    # CONFIG_VIDEO_CS5345 is not set
    # CONFIG_VIDEO_CS53L32A is not set
    # CONFIG_VIDEO_MSP3400 is not set
    # CONFIG_VIDEO_SONY_BTF_MPX is not set
    # CONFIG_VIDEO_TDA1997X is not set
    # CONFIG_VIDEO_TDA7432 is not set
    # CONFIG_VIDEO_TDA9840 is not set
    # CONFIG_VIDEO_TEA6415C is not set
    # CONFIG_VIDEO_TEA6420 is not set
    # CONFIG_VIDEO_TLV320AIC23B is not set
    # CONFIG_VIDEO_TVAUDIO is not set
    # CONFIG_VIDEO_UDA1342 is not set
    # CONFIG_VIDEO_VP27SMPX is not set
    # CONFIG_VIDEO_WM8739 is not set
    # CONFIG_VIDEO_WM8775 is not set
    # CONFIG_VIDEO_SAA6588 is not set
    # CONFIG_VIDEO_ADV7180 is not set
    # CONFIG_VIDEO_ADV7183 is not set
    # CONFIG_VIDEO_ADV748X is not set
    # CONFIG_VIDEO_ADV7604 is not set
    # CONFIG_VIDEO_ADV7842 is not set
    # CONFIG_VIDEO_BT819 is not set
    # CONFIG_VIDEO_BT856 is not set
    # CONFIG_VIDEO_BT866 is not set
    # CONFIG_VIDEO_ISL7998X is not set
    # CONFIG_VIDEO_KS0127 is not set
    # CONFIG_VIDEO_MAX9286 is not set
    # CONFIG_VIDEO_ML86V7667 is not set
    # CONFIG_VIDEO_SAA7110 is not set
    # CONFIG_VIDEO_SAA711X is not set
    # CONFIG_VIDEO_TC358743 is not set
    # CONFIG_VIDEO_TVP514X is not set
    # CONFIG_VIDEO_TVP5150 is not set
    # CONFIG_VIDEO_TVP7002 is not set
    # CONFIG_VIDEO_TW2804 is not set
    # CONFIG_VIDEO_TW9903 is not set
    # CONFIG_VIDEO_TW9906 is not set
    # CONFIG_VIDEO_TW9910 is not set
    # CONFIG_VIDEO_VPX3220 is not set
    # CONFIG_VIDEO_SAA717X is not set
    # CONFIG_VIDEO_CX25840 is not set
    # CONFIG_VIDEO_AD9389B is not set
    # CONFIG_VIDEO_ADV7170 is not set
    # CONFIG_VIDEO_ADV7175 is not set
    # CONFIG_VIDEO_ADV7343 is not set
    # CONFIG_VIDEO_ADV7393 is not set
    # CONFIG_VIDEO_ADV7511 is not set
    # CONFIG_VIDEO_AK881X is not set
    # CONFIG_VIDEO_SAA7127 is not set
    # CONFIG_VIDEO_SAA7185 is not set
    # CONFIG_VIDEO_THS8200 is not set
    # CONFIG_VIDEO_UPD64031A is not set
    # CONFIG_VIDEO_UPD64083 is not set
    # CONFIG_VIDEO_SAA6752HS is not set
    # CONFIG_VIDEO_I2C is not set
    # CONFIG_VIDEO_M52790 is not set
    # CONFIG_VIDEO_ST_MIPID02 is not set
    # CONFIG_VIDEO_THS7303 is not set
    # CONFIG_VIDEO_DS90UB913 is not set
    CONFIG_VIDEO_DS90UB953=m
    CONFIG_VIDEO_DS90UB960=m
    # CONFIG_VIDEO_GS1662 is not set
    CONFIG_VIDEOMODE_HELPERS=y
    CONFIG_VIDEO_MAX96712=m
    root@am62xx-evm:~# zcat /proc/config.gz | grep 'CSI'
    # CONFIG_NET_NCSI is not set
    # SCSI device support
    CONFIG_SCSI_MOD=y
    CONFIG_SCSI_COMMON=y
    CONFIG_SCSI=y
    CONFIG_SCSI_DMA=y
    # CONFIG_SCSI_PROC_FS is not set
    # SCSI support type (disk, tape, CD-ROM)
    # CONFIG_SCSI_CONSTANTS is not set
    # CONFIG_SCSI_LOGGING is not set
    # CONFIG_SCSI_SCAN_ASYNC is not set
    # SCSI Transports
    # CONFIG_SCSI_SPI_ATTRS is not set
    # CONFIG_SCSI_FC_ATTRS is not set
    # CONFIG_SCSI_ISCSI_ATTRS is not set
    CONFIG_SCSI_SAS_ATTRS=y
    CONFIG_SCSI_SAS_LIBSAS=y
    CONFIG_SCSI_SAS_ATA=y
    CONFIG_SCSI_SAS_HOST_SMP=y
    # CONFIG_SCSI_SRP_ATTRS is not set
    # end of SCSI Transports
    CONFIG_SCSI_LOWLEVEL=y
    # CONFIG_ISCSI_TCP is not set
    # CONFIG_ISCSI_BOOT_SYSFS is not set
    # CONFIG_SCSI_CXGB3_ISCSI is not set
    # CONFIG_SCSI_CXGB4_ISCSI is not set
    # CONFIG_SCSI_BNX2_ISCSI is not set
    # CONFIG_BE2ISCSI is not set
    # CONFIG_SCSI_HPSA is not set
    # CONFIG_SCSI_3W_9XXX is not set
    # CONFIG_SCSI_3W_SAS is not set
    # CONFIG_SCSI_ACARD is not set
    # CONFIG_SCSI_AACRAID is not set
    # CONFIG_SCSI_AIC7XXX is not set
    # CONFIG_SCSI_AIC79XX is not set
    # CONFIG_SCSI_AIC94XX is not set
    CONFIG_SCSI_HISI_SAS=y
    # CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set
    # CONFIG_SCSI_MVSAS is not set
    # CONFIG_SCSI_MVUMI is not set
    # CONFIG_SCSI_ADVANSYS is not set
    # CONFIG_SCSI_ARCMSR is not set
    # CONFIG_SCSI_ESAS2R is not set
    CONFIG_SCSI_MPT3SAS=m
    CONFIG_SCSI_MPT2SAS_MAX_SGE=128
    CONFIG_SCSI_MPT3SAS_MAX_SGE=128
    # CONFIG_SCSI_MPT2SAS is not set
    # CONFIG_SCSI_MPI3MR is not set
    # CONFIG_SCSI_SMARTPQI is not set
    # CONFIG_SCSI_HPTIOP is not set
    # CONFIG_SCSI_BUSLOGIC is not set
    # CONFIG_SCSI_MYRB is not set
    # CONFIG_SCSI_MYRS is not set
    # CONFIG_SCSI_SNIC is not set
    # CONFIG_SCSI_DMX3191D is not set
    # CONFIG_SCSI_FDOMAIN_PCI is not set
    # CONFIG_SCSI_IPS is not set
    # CONFIG_SCSI_INITIO is not set
    # CONFIG_SCSI_INIA100 is not set
    # CONFIG_SCSI_STEX is not set
    # CONFIG_SCSI_SYM53C8XX_2 is not set
    # CONFIG_SCSI_IPR is not set
    # CONFIG_SCSI_QLOGIC_1280 is not set
    # CONFIG_SCSI_QLA_ISCSI is not set
    # CONFIG_SCSI_DC395x is not set
    # CONFIG_SCSI_AM53C974 is not set
    # CONFIG_SCSI_WD719X is not set
    # CONFIG_SCSI_DEBUG is not set
    # CONFIG_SCSI_PMCRAID is not set
    # CONFIG_SCSI_PM8001 is not set
    # CONFIG_SCSI_VIRTIO is not set
    # CONFIG_SCSI_DH is not set
    # end of SCSI device support
    CONFIG_VIDEO_CADENCE_CSI2RX=m
    # CONFIG_VIDEO_CADENCE_CSI2TX is not set
    CONFIG_VIDEO_TI_J721E_CSI2RX=m
    # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
    # CONFIG_TYPEC_UCSI is not set
    CONFIG_SCSI_UFSHCD=y
    CONFIG_SCSI_UFS_BSG=y
    # CONFIG_SCSI_UFS_HPB is not set
    # CONFIG_SCSI_UFS_HWMON is not set
    # CONFIG_SCSI_UFSHCD_PCI is not set
    CONFIG_SCSI_UFSHCD_PLATFORM=y
    CONFIG_SCSI_UFS_CDNS_PLATFORM=m
    # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
    CONFIG_SCSI_UFS_TI_J721E=m
    root@am62xx-evm:~# zcat /proc/config.gz | grep 'V4L2'
    CONFIG_VIDEO_V4L2_I2C=y
    CONFIG_VIDEO_V4L2_SUBDEV_API=y
    CONFIG_V4L2_MEM2MEM_DEV=y
    CONFIG_V4L2_FWNODE=m
    CONFIG_V4L2_ASYNC=m
    CONFIG_VIDEOBUF2_V4L2=y
    root@am62xx-evm:~# zcat /proc/config.gz | grep 'MEDIA'
    # CONFIG_ARCH_MEDIATEK is not set
    # CONFIG_MEDIATEK_GE_PHY is not set
    CONFIG_WLAN_VENDOR_MEDIATEK=y
    CONFIG_MEDIA_CEC_SUPPORT=y
    CONFIG_MEDIA_SUPPORT=y
    # CONFIG_MEDIA_SUPPORT_FILTER is not set
    # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
    CONFIG_MEDIA_CAMERA_SUPPORT=y
    CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
    CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
    CONFIG_MEDIA_RADIO_SUPPORT=y
    CONFIG_MEDIA_SDR_SUPPORT=y
    CONFIG_MEDIA_PLATFORM_SUPPORT=y
    CONFIG_MEDIA_TEST_SUPPORT=y
    CONFIG_MEDIA_CONTROLLER=y
    # CONFIG_MEDIA_CONTROLLER_DVB is not set
    CONFIG_MEDIA_USB_SUPPORT=y
    # CONFIG_MEDIA_PCI_SUPPORT is not set
    CONFIG_MEDIA_PLATFORM_DRIVERS=y
    CONFIG_MEDIA_ATTACH=y
    CONFIG_MEDIA_TUNER=y
    CONFIG_MEDIA_TUNER_E4000=m
    CONFIG_MEDIA_TUNER_FC0011=m
    CONFIG_MEDIA_TUNER_FC0012=m
    CONFIG_MEDIA_TUNER_FC0013=m
    CONFIG_MEDIA_TUNER_FC2580=m
    CONFIG_MEDIA_TUNER_IT913X=m
    CONFIG_MEDIA_TUNER_M88RS6000T=m
    CONFIG_MEDIA_TUNER_MAX2165=m
    CONFIG_MEDIA_TUNER_MC44S803=m
    CONFIG_MEDIA_TUNER_MSI001=m
    CONFIG_MEDIA_TUNER_MT2060=m
    CONFIG_MEDIA_TUNER_MT2063=m
    CONFIG_MEDIA_TUNER_MT20XX=m
    CONFIG_MEDIA_TUNER_MT2131=m
    CONFIG_MEDIA_TUNER_MT2266=m
    CONFIG_MEDIA_TUNER_MXL301RF=m
    CONFIG_MEDIA_TUNER_MXL5005S=m
    CONFIG_MEDIA_TUNER_MXL5007T=m
    CONFIG_MEDIA_TUNER_QM1D1B0004=m
    CONFIG_MEDIA_TUNER_QM1D1C0042=m
    CONFIG_MEDIA_TUNER_QT1010=m
    CONFIG_MEDIA_TUNER_R820T=m
    CONFIG_MEDIA_TUNER_SI2157=m
    CONFIG_MEDIA_TUNER_SIMPLE=m
    CONFIG_MEDIA_TUNER_TDA18212=m
    CONFIG_MEDIA_TUNER_TDA18218=m
    CONFIG_MEDIA_TUNER_TDA18250=m
    CONFIG_MEDIA_TUNER_TDA18271=m
    CONFIG_MEDIA_TUNER_TDA827X=m
    CONFIG_MEDIA_TUNER_TDA8290=m
    CONFIG_MEDIA_TUNER_TDA9887=m
    CONFIG_MEDIA_TUNER_TEA5761=m
    CONFIG_MEDIA_TUNER_TEA5767=m
    CONFIG_MEDIA_TUNER_TUA9001=m
    CONFIG_MEDIA_TUNER_XC2028=m
    CONFIG_MEDIA_TUNER_XC4000=m
    CONFIG_MEDIA_TUNER_XC5000=m
    CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
    # CONFIG_HID_CMEDIA is not set
    CONFIG_STAGING_MEDIA=y
    # CONFIG_STAGING_MEDIA_DEPRECATED is not set
    # CONFIG_MEDIATEK_MT6360_ADC is not set
    root@am62xx-evm:~#
    

  • Hi Paul,

    1) Is possible for SoC to receive separated 4 video streams?

    No, this is not possible. You'll have to use a CSI aggregator such as the FPD-Link serdes. Please refer to this app note: Developing Multiple-Camera Applications on AM6x.

    Regards,

    Jianzhong 

  • Hello Jianzhong

    The Decider Chip has CSI-2 V1.1 interface.

    Suppose we send the 4-camera streams over CSI-2, interleaved data transmission using virtual channels, we think it is possible?

    May you guide now ?

    < CSI2 Interface>

    < Interleaved data transmission using virtual channels>

  • Hi Paul,

    Suppose we send the 4-camera streams over CSI-2, interleaved data transmission using virtual channels, we think it is possible?

    Yes, this should be possible. You can make the decoder chip operate as a single camera with 4 virtual channels. Please refer to the OV2312 sensor driver as an example. This driver has 2 virtual channels which is communicated to the V4L2 framework here: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/i2c/ov2312.c?h=ti-linux-6.6.y#n196

    If you implement the driver properly, the CSI-2 Rx driver on the SoC will create 4 video device nodes, each corresponding to a virtual channel.

    Regards,

    Jianzhong

  • hello Jianzhong

    Thank, we will try the driver out.

    May you provide a reference dts setting that is close to configuration? (we found a related dts setting  in k3-fpdlink-ov2312-0-X.dtso, but it is set with ds90ub960, look more complitcated).

  • Hi Paul,

    Your system is equivalent to a single camera with 4 virtual channels, instead of 4 cameras. So the dts should be simple. You can take a look at either of the following ones:

    Regards,

    Jianzhong

  • Hello Jianzhong

    Thank for your guideline.

    We found /dev/video0,1,2,3 and /media0 device files.

    May you provide additional guidiline how to view the camera streams? and 4 camera streams saperately. Thanks.

    Our DTS setting:

    video_decoder_mipi@44 {
    compatible = "tap1,test";
    reg = <0x44>;
    pinctrl-names = "default";
    pinctrl-0 = <&csi2mcugpio0_pins_default>;
    clocks = <&tp2855_clk>;
    clock-names = "capture_mclk";
    mclk = <27000000>;
    mclk_source = <0>;
    mipi_csi;
    //reset-gpios = <&mcu_gpio0 8 GPIO_ACTIVE_LOW>;
    rst-gpios = <&mcu_gpio0 8 GPIO_ACTIVE_LOW>;
    virtual-channel;
    status = "okay";
    port {
    csi2_cam0: endpoint {
    remote-endpoint = <&csi2rx0_in_sensor>;
    link-frequencies = /bits/ 64 <456000000>;
    clock-lanes = <0>;
    data-lanes = <1 2 3 4>;
    };
    };

    };

    &cdns_csi2rx0 {
    ports {
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";
    virtual-channel;

    csi0_port0: port@0 {
    reg = <0>;
    status = "okay";

    csi2rx0_in_sensor: endpoint {
    remote-endpoint = <&csi2_cam0>;
    bus-type = <4>; /* CSI2 DPHY. */
    clock-lanes = <0>;
    data-lanes = <1 2 3 4>;
    };
    };
    };
    };

    &ti_csi2rx0 {
    status = "okay";
    };

    &dphy0 {
    status = "okay";
    };

    Kernel log:

    4760.kernel_log.txt

  • Hello Paul,

    From the kernel log you shared, I saw the following in "media-ctl -p":

    - entity 13: tp2855_mipi 1-0044 (4 pads, 1 link, 0 route)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:YUYV8_1X16/1920x1080 field:none colorspace:jpeg]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
            pad1: Source
            pad2: Source
            pad3: Source
    

    This doesn't look correct. It should have 4 streams and 4 routes, like below for the case of OX05B1S (also OV2312):

    - entity 15: ox05b 4-0036 (1 pad, 1 link, 2 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:SBGGI10_1X10/2592x1944@1/60 field:none colorspace:srgb]
                    [stream:1 fmt:SBGGI10_1X10/2592x1944@1/60 field:none colorspace:srgb]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    

    Once you correct that, you'll need to set up the media pipe similarly to OX05B1S: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/scripts/setup_camera_ox05b.sh.

    Regards,

    Jianzhong

  • Hello Jianzhung

    We modified our driver based on OV2312, and it seems we got what similiar you mentioned. 

    However after we run the setup media pipe shell; we still could not view the camera; please kindly guide us more detail. Thanks.

    oot@am62xx-evm:/tmp# media-ctl -d /dev/media0 -p
    Media controller API version 6.1.33
    j721e-csi2rx
    model TI-CSI2RX
    serial
    bus info platform:30102000.ticsi2rx
    hw revision 0x1
    driver version 6.1.33

    Device topology
    - entity 1: 30102000.ticsi2rx (5 pads, 5 links, 2 routes)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev0
    routes:
    0/0 -> 1/0 [ACTIVE]
    0/1 -> 2/0 [ACTIVE]
    pad0: Sink
    [stream:0 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    [stream:1 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
    pad1: Source
    [stream:0 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
    pad2: Source
    [stream:0 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    -> "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]

    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 2 routes)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev1
    routes:
    0/0 -> 1/0 [ACTIVE]
    0/1 -> 1/1 [ACTIVE]
    pad0: Sink
    [stream:0 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    [stream:1 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    <- "tp2855 1-0044":0 [ENABLED,IMMUTABLE]
    pad1: Source
    [stream:0 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    [stream:1 fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]
    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
    pad2: Source
    pad3: Source
    pad4: Source

    - entity 13: tp2855 1-0044 (1 pad, 1 link, 2 routes)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    routes:
    0/0 -> 0/0 [ACTIVE]
    0/0 -> 0/1 [ACTIVE]
    pad0: Source
    [stream:0 fmt:SBGGI10_1X10/720x480@1/15 field:none]
    [stream:1 fmt:SBGGI10_1X10/720x480@1/15 field:none]
    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

    Kernel log:

    kernellog_20241210.txt

  • Hi Paul,

    Your sensor format and csi2rx format don't match:

    SBGGI10_1X10/720x480 vs SBGGI10_1X10/2592x1944.

    Please refer to this FAQ: What are the common reasons V4L2 based applications fail to capture images from a probed CSI sensor?

    Also, I thought you had 4 cameras, so there should be 4 streams in the media pipe.

    Regards,

    Jianzhong

  • Hello Jianzhong

    Thank for your comment, we will try to use media-ctl -V to change input format of csi2rx.

    "I thought you had 4 cameras, so there should be 4 streams in the media pipe."

    The normal interface should be /dev/media0,media1, media2, media3?

    The orignal "ov2312" driver may create 2 media pipes, we need to adjust related code (.source_stream) from 2 to 4 to obtain 4 media pipes?

    Thanks. 

     

  • The normal interface should be /dev/media0,media1, media2, media3?

    No. There'll be just one media, /dev/media0, but 4 video device nodes.

    The orignal "ov2312" driver may create 2 media pipes, we need to adjust related code (.source_stream) from 2 to 4 to obtain 4 media pipes?

    Correct.

  • Hello Jianzhong, 

    2 addtional source_stream were added for 4 caemras, as below.

    May you suggest more? 

    FYI,   

    Based on our camear input format/resolution (CVBS [NTSC  720*480 30fps]),

    we want to have the same output from decoder or INPUT to CSI2 RX AM62x. 

    4-Camera (CVBS[NTSC  720*480 30fps]) -> Decoder Chip (NTSC  720*480 30fps)  via CSI2 4CH4LANE_297M ---> CSI RX AM62x 

    Kernel log:

    kernel_log_added_4Virtual_20241213.txt

  • Hello Paul,

    You're getting close. Please follow this example to setup the routes: https://github.com/TexasInstruments/edgeai-gst-apps/blob/main/scripts/setup_camera_ox05b.sh.

    Another thing, your sensor format is set to SBGGI10_1X10 according to the log you shared, but your decoder chip seems having "NTSC  720*480". You'll need to make sure the formats of the sensor, "cdns_csi2rx.30101000.csi-bridge", and "30102000.ticsi2rx" in "media-ctl -p" all match.

    Regards,

    Jianzhong

  • Hello Jianzhong

    May you help below?

    Current status: unable to view camera

    I set reslution to 720*480 30fps in driver.

    Driver setting:

    Full kernel log:

    kernel_log_20241216_latest.txt

  • Hello Jianzhong

    yavta is not working ; did I input wrong ?

    Please check below log.

    yavta_log_notworking.txt

  • (FYI, i did a test by connecting a USB camera (/dev/video4) to our custom board, we can view the camera well with gstreamer, the log is as below)

    #gst-launch-1.0 v4l2src device=/dev/video4 ! video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! videoconvert ! autovideosink
    
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    Redistribute latency...
    handling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:00:11.007625770
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

  • Hi Paul,

    What is the format of your camera's output, YUV, RGGB8, RGGB10, etc? You'll need to make sure that all entities in the "media-ctl -p" output have the same format and frame size as the cameras send. Then in your yavta and gstreamer command, use the same format and frame size.

    Regards,

    Jianzhong

  • Hello Jianzhong

    The four-camera is provided by our customer; we are not sure which specific output spec is set, however below is their specification.

    And we assume that the camera output is CVBS (NTSC) with having resolution 720*480 and 25fps  (we will conduct a test with a well know camera resolution and format today). 

    So, on video decoder device driver that the cameras are connected, we set input and output as below.

    Video decoder input CVBS (NTSC) with having resolution 720*480 and 25fps

    Video decoder output : 720x480  and 25fps , with mbus_formats = MEDIA_BUS_FMT_SBGGI10_1X10

    Log provied in previouse comment (yavta_log_notworking.txt, kernel_log_20241216_latest.txt).

    Yesterday, we also try to test with diff format [MEDIA_BUS_FMT_UYVY8_2X8] and 1280 * 720 25fps] but still failed to view camera, log is as below:

    KernelLog_128)_720_UYVY8_Format_Failed.txt

    Q1: When we changed the resolutions and format, only "- entity 13:" is changed, it is normal and correct?

    Q2: on SoC (using gstreamer, etc), our understsanding about resolution and format, we should consider only the output from the decoder.

    May you suggest a common specifc setting from camera, decoder to SOC camera script?

    Q3: Anything we missed or was wrong setting? For our driver (based on 0v2312; only modify from 2 to 4 channel; plus resolution and fps) we modified as below:

  • Below is current decoder output pixcel format:

    Cameras->Decoder (format: YUV422 format) -> AM62x

    Since YUV422, i have to change bpp value to 16 ?

    ALso csi2.dt value to 0x1e ? 

    Please help and detail; i am new in this area. Thanks.

  • Hello Jianzhong 

    Could we have any update or additional suggestion about our current issue?

  • Hello Paul,

    I assume you're using the following digital output mode:

    If that's the case, then you should use MEDIA_BUS_FMT_YUYV8_1X16.

    Which SDK version are you using? MEDIA_BUS_FMT_YUYV8_2X8 was only supported in SDKs before 9.0.

    Q1: When we changed the resolutions and format, only "- entity 13:" is changed, it is normal and correct?

    Yes for SDK 9.0 and later. In SDK 8.6, when you change the sensor format, the format of cdns_csi2rx will also be changed.

    You'll need to make sure all entities have the same format. 

    Since YUV422, i have to change bpp value to 16 ?

    ALso csi2.dt value to 0x1e ? 

    Yes, bpp should be 16. csi_dt should be MIPI_CSI2_DT_YUV422_8B, please refer to: 

    Regards,

    Jianzhong

  • Hell Jianzhong,

    Thank for your feedback.

    We use SDK 9.0.

    Based on your latest comment, we are going to try as below; if something is wrong, please let us know. Thanks.

    /* Bus format */

    static const u32 tp2855_mbus_formats[] = {
    MEDIA_BUS_FMT_YUYV8_1X16,
    };

    /* Camera resolution */

    #define TP2855_OUT_WIDTH 720 
    #define TP2855_OUT_HEIGHT 480 

    static const struct v4l2_area tp2855_framesizes[] = {

    {
    .width = TP2855_OUT_WIDTH,
    .height = TP2855_OUT_HEIGHT,
    },
    };

    static void tp2855_init_formats(struct v4l2_subdev_state *state)
    {
    struct v4l2_mbus_framefmt *format;
    int i;

    for (i = 0; i < 4; ++i) {
    format = v4l2_subdev_state_get_stream_format(state, 0, i);
    format->code = tp2855_mbus_formats[0];
    format->width = tp2855_framesizes[0].width;
    format->height = tp2855_framesizes[0].height;
    format->field = V4L2_FIELD_NONE;
    format->colorspace = V4L2_COLORSPACE_DEFAULT;
    }
    }

    /* Frame setting */

    #define MIPI_CSI2_DT_YUV422_8B             0x1e

    fd->type = V4L2_MBUS_FRAME_DESC_TYPE_CSI2;

    /* pixel stream - 2->4 virtual channels */

    bpp = 16;
    //bpp = 2;

    for (i = 0; i < 4; ++i) {


    fd->entry[fd->num_entries].stream = i;

    fd->entry[fd->num_entries].flags = V4L2_MBUS_FRAME_DESC_FL_LEN_MAX;
    fd->entry[fd->num_entries].length = fmt->width * fmt->height * bpp / 8;
    fd->entry[fd->num_entries].pixelcode = fmt->code;
    fd->entry[fd->num_entries].bus.csi2.vc = i;
    fd->entry[fd->num_entries].bus.csi2.dt = MIPI_CSI2_DT_YUV422_8B; /* 0x1e */

    fd->num_entries++;

    }

  • Hello Jianzhong,

    Please help to check and guide, below is current status:

    # yavta -c -Fcapture -s 720x480 -f UYVY /dev/video0

    691200 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 ma[ 827.605880] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    pped at address 0xffffb2497000.
    length: 691200 offset: 692224 timestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xffffb23ee000.
    length: 691200 offset: 1384448 timestamp type/source: mono/EoF
    Buffer 2/0 mapped at address 0xffffb2345000.
    length: 691200 offset: 2076672 timestamp type/source: mono/EoF
    Buffer 3/0 mapped at address 0xffffb229c000.
    length: 691200 offset: 2768896 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffffb21f3000.
    length: 691200 offset: 3461120 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffffb214a000.
    length: 691200 offset: 4153344 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffffb20a1000.
    length: 691200 offset: 4845568 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffffb1ff8000.
    Unable to start streaming: No such file or directory (2).
    8 buffers released.

    Full log:

    log_20241224.txt

  • FYI, CSI2rx config

    tp2855ov2312_mipi@44 {
    compatible = "ovti,tp2855";
    reg = <0x44>;
    pinctrl-names = "default";
    pinctrl-0 = <&csi2mcugpio0_pins_default>;
    clocks = <&tp2855_clk>;
    clock-names = "xvclk";
    assigned-clocks = <&tp2855_clk>;
    assigned-clock-rates = <27000000>;
    reset-gpios = <&mcu_gpio0 8 GPIO_ACTIVE_LOW>;
    status = "okay";
    port {
    csi2_cam0: endpoint {
    remote-endpoint = <&csi2rx0_in_sensor>;
    link-frequencies = /bits/ 64 <456000000>;
    clock-lanes = <0>;
    data-lanes = <1 2 3 4>;
    };
    };

    };

    &cdns_csi2rx0 {
    ports {
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";
    virtual-channel;

    csi0_port0: port@0 {
    reg = <0>;
    status = "okay";

    csi2rx0_in_sensor: endpoint {
    remote-endpoint = <&csi2_cam0>;
    bus-type = <4>; /* CSI2 DPHY. */
    clock-lanes = <0>;
    data-lanes = <1 2 3 4>;
    };
    };
    };
    };

    &ti_csi2rx0 {
    status = "okay";
    };

    &dphy0 {
    status = "okay";
    };

    root@am62xx-evm:/tmp# dmesg | grep csi
    [ 1.185689] i2c 1-0044: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [ 1.527744] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY

    <<below log is shown after running " yavta -c -Fcapture -s 720x480 -f UYVY /dev/video0">>
    [ 827.605880] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    [ 872.675634] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2

  • Hello Jianzhong

    Please guide how to fix this issue.

    Below is addtional info about the 4 camera/video nodes:

    root@am62xx-evm:/sys/class/video4linux# media-ctl -p
    Media controller API version 6.1.33
    
    [11554.340441] tp2855 1-0044: tp2855 tp2855_get_frame_interval()
    Media device information
    ------------------------
    driver      [11554.348682] tp2855 1-0044: tp2855  interval.numerator = 1
        j721e-csi2rx
    model           TI-CSI2RX
    serial
    b[11554.359609] tp2855 1-0044: tp2855  tp2855->fps = 25
    us info        platform:30102000.ticsi2rx
    hw revision     0x1
    [11554.370037] tp2855 1-0044: tp2855  interval.denominator = 6
    driver version  6.1.33
    
    Device topology
    - entity 1: 30102000.[11554.381212] tp2855 1-0044: tp2855 tp2855_get_frame_interval()
    ticsi2rx (5 pads, 5 links, 1 route)
                type V4L2 subde[11554.392400] tp2855 1-0044: tp2855  interval.numerator = 1
    v subtype Unknown flags 0
                device node name /dev/v4l[11554.403307] tp2855 1-0044: tp2855  tp2855->fps = 25
    -subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [strea[11554.413720] tp2855 1-0044: tp2855  interval.denominator = 6
    m:0 fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb [11554.424891] tp2855 1-0044: tp2855 tp2855_get_frame_interval()
    ycbcr:601 quantization:lim-range]
                    <- "cdns_csi2rx.30101000.cs[11554.436101] tp2855 1-0044: tp2855  interval.numerator = 1
    i-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:[11554.447012] tp2855 1-0044: tp2855  tp2855->fps = 25
    UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:60[11554.457427] tp2855 1-0044: tp2855  interval.denominator = 6
    1 quantization:lim-range]
                    -> "30102000.ticsi2rx context 0":0 [11554.468605] tp2855 1-0044: tp2855 tp2855_get_frame_interval()
    [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx cont[11554.479807] tp2855 1-0044: tp2855  interval.numerator = 1
    ext 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.tics[11554.490722] tp2855 1-0044: tp2855  tp2855->fps = 25
    i2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "3010[11554.501140] tp2855 1-0044: tp2855  interval.denominator = 6
    2000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
    
    - entity 7: 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]
                    <- "tp2855 1-0044":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 13: tp2855 1-0044 (1 pad, 1 link, 4 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            routes:
                    0/0 -> 0/0 [ACTIVE]
                    0/0 -> 0/1 [ACTIVE]
                    0/0 -> 0/2 [ACTIVE]
                    0/0 -> 0/3 [ACTIVE]
            pad0: Source
                    [stream:0 fmt:YUYV8_1X16/720x480@1/6 field:none]
                    [stream:1 fmt:YUYV8_1X16/720x480@1/6 field:none]
                    [stream:2 fmt:YUYV8_1X16/720x480@1/6 field:none]
                    [stream:3 fmt:YUYV8_1X16/720x480@1/6 field:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video0
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video1
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    
    
    root@am62xx-evm:/sys/class/video4linux# ls -l
    total 0
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 v4l-subdev0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/v4l-subdev0
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 v4l-subdev1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/30101000.csi-bridge/video4linux/v4l-subdev1
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 v4l-subdev2 -> ../../devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0044/video4linux/v4l-subdev2
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 video0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video0
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 video1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video1
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 video2 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video2
    lrwxrwxrwx 1 root root 0 Apr 28 17:42 video3 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video3
    
    root@am62xx-evm:/sys/class/video4linux#  v4l2-ctl --device=/dev/video0 --all
    Driver Info:
            Driver name      : j721e-csi2rx
            Card type        : j721e-csi2rx
            Bus info         : platform:30102000.ticsi2rx
            Driver version   : 6.1.33
            Capabilities     : 0xa4200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps      : 0x24200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
    Media Driver Info:
            Driver name      : j721e-csi2rx
            Model            : TI-CSI2RX
            Serial           :
            Bus info         : platform:30102000.ticsi2rx
            Media version    : 6.1.33
            Hardware revision: 0x00000001 (1)
            Driver version   : 6.1.33
    Interface Info:
            ID               : 0x03000015
            Type             : V4L Video
    Entity Info:
            ID               : 0x00000013 (19)
            Name             : 30102000.ticsi2rx context 0
            Function         : V4L2 I/O
            Pad 0x01000014   : 0: Sink
              Link 0x02000017: from remote pad 0x1000003 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
    Priority: 2
    Video input : 0 (30102000.ticsi2rx context 0: ok)
    Format Video Capture:
            Width/Height      : 640/480
            Pixel Format      : 'UYVY' (UYVY 4:2:2)
            Field             : Any
            Bytes per Line    : 1280
            Size Image        : 614400
            Colorspace        : sRGB
            Transfer Function : Default (maps to sRGB)
            YCbCr/HSV Encoding: Default (maps to ITU-R 601)
            Quantization      : Default (maps to Limited Range)
            Flags             :
    root@am62xx-evm:/sys/class/video4linux#  v4l2-ctl --device=/dev/video1 --all
    Driver Info:
            Driver name      : j721e-csi2rx
            Card type        : j721e-csi2rx
            Bus info         : platform:30102000.ticsi2rx
            Driver version   : 6.1.33
            Capabilities     : 0xa4200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps      : 0x24200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
    Media Driver Info:
            Driver name      : j721e-csi2rx
            Model            : TI-CSI2RX
            Serial           :
            Bus info         : platform:30102000.ticsi2rx
            Media version    : 6.1.33
            Hardware revision: 0x00000001 (1)
            Driver version   : 6.1.33
    Interface Info:
            ID               : 0x0300001b
            Type             : V4L Video
    Entity Info:
            ID               : 0x00000019 (25)
            Name             : 30102000.ticsi2rx context 1
            Function         : V4L2 I/O
            Pad 0x0100001a   : 0: Sink
              Link 0x0200001d: from remote pad 0x1000004 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
    Priority: 2
    Video input : 0 (30102000.ticsi2rx context 1: ok)
    Format Video Capture:
            Width/Height      : 640/480
            Pixel Format      : 'UYVY' (UYVY 4:2:2)
            Field             : Any
            Bytes per Line    : 1280
            Size Image        : 614400
            Colorspace        : sRGB
            Transfer Function : Default (maps to sRGB)
            YCbCr/HSV Encoding: Default (maps to ITU-R 601)
            Quantization      : Default (maps to Limited Range)
            Flags             :
    root@am62xx-evm:/sys/class/video4linux#  v4l2-ctl --device=/dev/video2 --all
    Driver Info:
            Driver name      : j721e-csi2rx
            Card type        : j721e-csi2rx
            Bus info         : platform:30102000.ticsi2rx
            Driver version   : 6.1.33
            Capabilities     : 0xa4200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps      : 0x24200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
    Media Driver Info:
            Driver name      : j721e-csi2rx
            Model            : TI-CSI2RX
            Serial           :
            Bus info         : platform:30102000.ticsi2rx
            Media version    : 6.1.33
            Hardware revision: 0x00000001 (1)
            Driver version   : 6.1.33
    Interface Info:
            ID               : 0x03000021
            Type             : V4L Video
    Entity Info:
            ID               : 0x0000001f (31)
            Name             : 30102000.ticsi2rx context 2
            Function         : V4L2 I/O
            Pad 0x01000020   : 0: Sink
              Link 0x02000023: from remote pad 0x1000005 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
    Priority: 2
    Video input : 0 (30102000.ticsi2rx context 2: ok)
    Format Video Capture:
            Width/Height      : 640/480
            Pixel Format      : 'UYVY' (UYVY 4:2:2)
            Field             : Any
            Bytes per Line    : 1280
            Size Image        : 614400
            Colorspace        : sRGB
            Transfer Function : Default (maps to sRGB)
            YCbCr/HSV Encoding: Default (maps to ITU-R 601)
            Quantization      : Default (maps to Limited Range)
            Flags             :
    root@am62xx-evm:/sys/class/video4linux#  v4l2-ctl --device=/dev/video3 --all
    Driver Info:
            Driver name      : j721e-csi2rx
            Card type        : j721e-csi2rx
            Bus info         : platform:30102000.ticsi2rx
            Driver version   : 6.1.33
            Capabilities     : 0xa4200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
                    Device Capabilities
            Device Caps      : 0x24200001
                    Video Capture
                    I/O MC
                    Streaming
                    Extended Pix Format
    Media Driver Info:
            Driver name      : j721e-csi2rx
            Model            : TI-CSI2RX
            Serial           :
            Bus info         : platform:30102000.ticsi2rx
            Media version    : 6.1.33
            Hardware revision: 0x00000001 (1)
            Driver version   : 6.1.33
    Interface Info:
            ID               : 0x03000027
            Type             : V4L Video
    Entity Info:
            ID               : 0x00000025 (37)
            Name             : 30102000.ticsi2rx context 3
            Function         : V4L2 I/O
            Pad 0x01000026   : 0: Sink
              Link 0x02000029: from remote pad 0x1000006 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
    Priority: 2
    Video input : 0 (30102000.ticsi2rx context 3: ok)
    Format Video Capture:
            Width/Height      : 640/480
            Pixel Format      : 'UYVY' (UYVY 4:2:2)
            Field             : Any
            Bytes per Line    : 1280
            Size Image        : 614400
            Colorspace        : sRGB
            Transfer Function : Default (maps to sRGB)
            YCbCr/HSV Encoding: Default (maps to ITU-R 601)
            Quantization      : Default (maps to Limited Range)
            Flags           
    
    #cat camera_setting.sh
    
    #!/bin/bash
    
    # Set CDNS CSI Bridge
    # media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1]]'
    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1], 0/2 -> 1/2 [1], 0/3 -> 1/3 [1]]'
    # media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]'
    # media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/2 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/3 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    
    
    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1],0/2 -> 3/0 [1], 0/3 -> 4/0 [1]]'
    # media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]'
    # media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SBGGI10_1X10/2592x1944 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/2 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/3 [fmt:SBGGI10_1X10/720x480 field:none colorspace:srgb]'
    
    # Set video node formats
    # v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=2592,height=1944,pixelformat=BGI0
    # v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 1" -v width=2592,height=1944,pixelformat=BGI0
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=720,height=480,pixelformat=BGI0
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 1" -v width=720,height=480,pixelformat=BGI0
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 2" -v width=720,height=480,pixelformat=BGI0
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 3" -v width=720,height=480,pixelformat=BGI0
    

  • After tracing csi2rx, something wrong when csirx starts:

  • Hello Jianzhong

    Could you provide guideline how to resolve this issue? Thanks.

    root@am62xx-evm:/tmp# v4l2-ctl -d2 --stream-mmap
    [ 559.502639] tp2855 1-0044: tp2855 tp2855_get_frame_desc()
    [ 559.508234] tp2855 1-0044: tp2855 [0] flags = 0 , legnth = 0 , pixelcode = 0 , vc = 0 , dt = 0x00
    [ 559.517544] tp2855 1-0044: tp2855 [1] flags = 0 , legnth = 0 , pixelcode = 0 , vc = 0 , dt = 0x00
    [ 559.526825] tp2855 1-0044: tp2855 [2] flags = 0 , legnth = 0 , pixelcode = 0 , vc = 0 , dt = 0x00
    [ 559.536062] tp2855 1-0044: tp2855 [3] flags = 0 , legnth = 0 , pixelcode = 0 , vc = 0 , dt = 0x00
    [ 559.545557] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    VIDIOC_STREAMON returned -1 (No such file or directory)

  • Hello Jianzhong

    Could you provide guideline how to debug and resolve this issue? 

    To make all entities have the same perperties, we try below

    1. On our decoder driver we set

        _mbus_formats = MEDIA_BUS_FMT_UYVY8_1X16

       _OUT_WIDTH =  _OUT_HEIGHT

       _FRAMERATE_DEFAULT 60

      fd->entry[fd->num_entries].flags = V4L2_MBUS_FRAME_DESC_FL_LEN_MAX;
      fd->entry[fd->num_entries].length = fmt->width * fmt->height * bpp / 8;
      fd->entry[fd->num_entries].pixelcode = fmt->code;
      fd->entry[fd->num_entries].bus.csi2.vc = i;
      fd->entry[fd->num_entries].bus.csi2.dt = MIPI_CSI2_DT_YUV422_8B; 

    2. On j721e-csi2rx.c

    diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
    index 9851385e30ec..409c9eb3caf6 100644
    --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
    +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
    @@ -1077,7 +1077,7 @@ static int _ti_csi2rx_sd_set_routing(struct v4l2_subdev *sd,
    int ret;

    const struct v4l2_mbus_framefmt format = {
    - .width = 640,
    + .width = 720,
    .height = 480,
    .code = MEDIA_BUS_FMT_UYVY8_1X16,
    .field = V4L2_FIELD_NONE,
    @@ -1432,7 +1432,7 @@ static int ti_csi2rx_init_ctx(struct ti_csi2rx_ctx *ctx)
    if (!fmt)
    return -EINVAL;

    - pix_fmt->width = 640;
    + pix_fmt->width = 720;
    pix_fmt->height = 480;

    Below is out put of  media-ctl -p

    root@am62xx-evm:/tmp# media-ctl -p
    Media controller API version 6.1.33

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

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

    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 4 routes)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev1
    routes:
    0/0 -> 1/0 [ACTIVE]
    0/1 -> 1/1 [ACTIVE]
    0/2 -> 1/2 [ACTIVE]
    0/3 -> 1/3 [ACTIVE]
    pad0: Sink
    [stream:0 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:1 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:2 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:3 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    <- "tp2855 1-0044":0 [ENABLED,IMMUTABLE]
    pad1: Source
    [stream:0 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:1 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:2 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:3 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
    pad2: Source
    pad3: Source
    pad4: Source

    - entity 13: tp2855 1-0044 (1 pad, 1 link, 4 routes)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    routes:
    0/0 -> 0/0 [ACTIVE]
    0/0 -> 0/1 [ACTIVE]
    0/0 -> 0/2 [ACTIVE]
    0/0 -> 0/3 [ACTIVE]
    pad0: Source
    [stream:0 fmt:UYVY8_1X16/720x480@1/30 field:none colorspace:srgb]
    [stream:1 fmt:UYVY8_1X16/720x480@1/30 field:none colorspace:srgb]
    [stream:2 fmt:UYVY8_1X16/720x480@1/30 field:none colorspace:srgb]
    [stream:3 fmt:UYVY8_1X16/720x480@1/30 field:none colorspace:srgb]
    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

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

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

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

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

    All full kernel log:

  • FYI, we could observe the wave output from decoder [CSI2 "MIPI_D0P" / "MIPI_D0N" / "MIPI_CKP/N"/etc ] to AM62x 

  • Hello Jianzhong

    Could we know any update? thanks.

  • Hello Paul,

    I looked at your latest log. It seems now the error is:

    root@am62xx-evm:/tmp# v4l2-ctl -d0 --stream-mmap -v width=720,height=480,pixelformat=UYVY
    VIDIOC_STREAMON returned -1 (Broken pipe)

    Was the "Failed to configure external DPHY" error fixed? 

    I didn't see anything wrong in your "media-ctl -p" output. Not sure where the problem could come from. Maybe you can add some debug prints in cdns-csi2rx.c and j721e-csi2rx.c to see where the streaming is stuck.

    Regards,

    Jianzhong

  • Hello Jianzhong, 

    Where should the debug prints specifically be added in those files? It could be helpful if we understand the possible causes of the problem.

    We found similiar issue ("VIDIOC_STREAMON returned -1 (Broken pipe)") here, e2e.ti.com/.../5556019

    Based on our camera specification, do we need to modify these format (in bothcdns-csi2rx.c and j721e-csi2rx.c)?

    static const struct v4l2_mbus_framefmt format = {
    .width = 720,  /* 640 */
    .height = 480,
    .code = MEDIA_BUS_FMT_UYVY8_1X16,
    .field = V4L2_FIELD_NONE,
    .colorspace = V4L2_COLORSPACE_SRGB,
    .ycbcr_enc = V4L2_YCBCR_ENC_601,
    .quantization = V4L2_QUANTIZATION_LIM_RANGE,
    .xfer_func = V4L2_XFER_FUNC_SRGB,
    };

    Q:Was the "Failed to configure external DPHY" error fixed? 

    Ans: Yes, after modifiyng  in j721e-csi2rc.c as below.

    --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
    +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
    @@ -1077,7 +1077,7 @@ static int _ti_csi2rx_sd_set_routing(struct v4l2_subdev *sd,
    int ret;

    const struct v4l2_mbus_framefmt format = {
    - .width = 640,
    + .width = 720,
    .height = 480,
    .code = MEDIA_BUS_FMT_UYVY8_1X16,
    .field = V4L2_FIELD_NONE,
    @@ -1432,7 +1432,7 @@ static int ti_csi2rx_init_ctx(struct ti_csi2rx_ctx *ctx)
    if (!fmt)
    return -EINVAL;

    - pix_fmt->width = 640;
    + pix_fmt->width = 720;
    pix_fmt->height = 480;

  • It could be helpful if we understand the possible causes of the problem.

    The "broken pipe" error is usually caused by mismatching format.

    I just found out that your sensor is set to "UYVY8" but the rest are set to "YUYV8". This could be the cause. Please try to configure them to be the same format.

    Q:Was the "Failed to configure external DPHY" error fixed? 

    Ans: Yes, after modifiyng  in j721e-csi2rc.c as below.

    You shouldn't need to change that function which is just setting the default format. 

  • Hello Jianzhong, 

    I added "only" some print debug messages in both  j721e-csi2rc.c & cdns-csi2rx.c code.

    A) Then, I find out the set routing format in j721e-csi2rx does not change (as in 3. log message) after applying the setting script in 1., but the output of media-ctrl -p looks fine as in 2.(I expect the script in 1 replaces the default setting (CDNS CSI bring, CSI2rx routes, video node formats) in both 721e-csi2rc.c & cdns-csi2rx.c code.)

    It seems width=720,height=480 need to be modified in hard code in  j721e-csi2rc.c & cdns-csi2rx.c code.

    B) in 1. camers.sh, it has "colorspace:srgb" setting,  should we need to add "V4L2_YCBCR_ENC_601"?

    please advise. 

    My camera spec:

    720*480 YCbCr422 with BT656

     

    C) Output status:

    -  Failed to configure external DPHY: -2  <---exist

    -  More Detail in log.

    ====================================================================================   

    1. in camera.sh (set CSI bridge, route, and format)

    # Set CDNS CSI Bridge
    media-ctl -R '"cdns_csi2rx.30101000.csi-bridge" [0/0 -> 1/0 [1], 0/1 -> 1/1 [1], 0/2 -> 1/2 [1], 0/3 -> 1/3 [1]]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/0 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/1 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/2 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0/3 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'


    # Set j721e-csi2rx routes
    media-ctl -R '"30102000.ticsi2rx" [0/0 -> 1/0 [1], 0/1 -> 2/0 [1],0/2 -> 3/0 [1], 0/3 -> 4/0 [1]]'
    media-ctl -V '"30102000.ticsi2rx":0/0 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/1 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/2 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'
    media-ctl -V '"30102000.ticsi2rx":0/3 [fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]'

    # Set video node formats
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=720,height=480,pixelformat=YUYV
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 1" -v width=720,height=480,pixelformat=YUYV
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 2" -v width=720,height=480,pixelformat=YUYV
    v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 3" -v width=720,height=480,pixelformat=YUYV

    2. Output after camera.sh (format and resolution look good; YUYV8)

    root@am62xx-evm:/tmp# media-ctl -p
    Media controller API version 6.1.33[ 4802.907216] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207


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

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

    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 4 routes)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev1
    routes:
    0/0 -> 1/0 [ACTIVE]
    0/1 -> 1/1 [ACTIVE]
    0/2 -> 1/2 [ACTIVE]
    0/3 -> 1/3 [ACTIVE]
    pad0: Sink
    [stream:0 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:1 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:2 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:3 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    <- "tp2855 1-0044":0 [ENABLED,IMMUTABLE]
    pad1: Source
    [stream:0 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:1 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:2 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    [stream:3 fmt:YUYV8_1X16/720x480 field:none colorspace:srgb]
    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
    pad2: Source
    pad3: Source
    pad4: Source

    - entity 13: tp2855 1-0044 (1 pad, 1 link, 4 routes)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    routes:
    0/0 -> 0/0 [ACTIVE]
    0/0 -> 0/1 [ACTIVE]
    0/0 -> 0/2 [ACTIVE]
    0/0 -> 0/3 [ACTIVE]
    pad0: Source
    [stream:0 fmt:YUYV8_1X16/720x480@1/30 field:none]
    [stream:1 fmt:YUYV8_1X16/720x480@1/30 field:none]
    [stream:2 fmt:YUYV8_1X16/720x480@1/30 field:none]
    [stream:3 fmt:YUYV8_1X16/720x480@1/30 field:none]
    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

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

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

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

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

    3. But in j721e-csi2rx driver log, set routing with format no change (still width=640, height=480)

    [ 4700.193796] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.205575] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.225381] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.237349] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 0, format_code: 8209
    [ 4700.255251] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.267041] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 1, format_code: 8209
    [ 4700.285029] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.296766] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 2, format_code: 8209
    [ 4700.324754] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4700.336491] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 3, format_code: 8209
    [ 4802.907216] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4835.827393] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [ 4848.857197] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207

    Full log:

    8 buffers requested.
    length:[  199.256347] cdns-csi2rx 30101000.csi-bridge: taeha, Remote pad found: index 0
     691200 offset: 0 timestamp type/source: mono/EoF
    Buffer 0/0 ma[  199.269009] j721e-csi2rx 30102000.ticsi2rx: taeha, Checking entry 0: stream=0, vc=0
    pped at address 0xffff80287000.
    length: 691200 offset: 692224 t[  199.282176] j721e-csi2rx 30102000.ticsi2rx: Found VC: 0 for stream: 0
    imestamp type/source: mono/EoF
    Buffer 1/0 mapped at address 0xf[  199.294148] j721e-csi2rx 30102000.ticsi2rx: taeha, Retrieved VC: 0
    fff801de000.
    length: 691200 offset: 1384448 timestamp type/sour[  199.305853] j721e-csi2rx 30102000.ticsi2rx: taeha, ti_csi2rx_start_dma
    ce: mono/EoF
    Buffer 2/0 mapped at address 0xffff80135000.
    leng[  199.317949] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_enable_streams
    th: 691200 offset: 2076672 timestamp type/source: mono/EoF
    Buff[  199.330801] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    er 3/0 mapped at address 0xffff8008c000.
    length: 691200 offset:[  199.343777] j721e-csi2rx 30102000.ticsi2rx: taeha, Cleaning up buffers
     2768896 timestamp type/source: mono/EoF
    Buffer 4/0 mapped at address 0xffff7ffe3000.
    length: 691200 offset: 3461120 timestamp type/source: mono/EoF
    Buffer 5/0 mapped at address 0xffff7ff3a000.
    length: 691200 offset: 4153344 timestamp type/source: mono/EoF
    Buffer 6/0 mapped at address 0xffff7fe91000.
    length: 691200 offset: 4845568 timestamp type/source: mono/EoF
    Buffer 7/0 mapped at address 0xffff7fde8000.
    Unable to start streaming: No such file or directory (2).
    8 buffers released.
    root@am62xx-evm:/tmp# dmesg | grep csi
    [    1.185515] i2c 1-0044: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
    [    1.519498] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [    1.535307] cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 4/4 lanes, 4 streams, external D-PHY
    [   11.624348] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [   28.462191] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [   28.503225] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [   28.561067] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [   28.604251] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [   71.976144] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.491167] cdns-csi2rx 30101000.csi-bridge: Taeha1, Source format propagated: code 8209, width 720, height 480
    [  142.501579] cdns-csi2rx 30101000.csi-bridge: Taeha2, Source format propagated: code 8209, width 720, height 480
    [  142.519697] cdns-csi2rx 30101000.csi-bridge: Taeha1, Source format propagated: code 8209, width 720, height 480
    [  142.529893] cdns-csi2rx 30101000.csi-bridge: Taeha2, Source format propagated: code 8209, width 720, height 480
    [  142.554160] cdns-csi2rx 30101000.csi-bridge: Taeha1, Source format propagated: code 8209, width 720, height 480
    [  142.564369] cdns-csi2rx 30101000.csi-bridge: Taeha2, Source format propagated: code 8209, width 720, height 480
    [  142.582291] cdns-csi2rx 30101000.csi-bridge: Taeha1, Source format propagated: code 8209, width 720, height 480
    [  142.592588] cdns-csi2rx 30101000.csi-bridge: Taeha2, Source format propagated: code 8209, width 720, height 480
    [  142.610667] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.622436] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.652971] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.664700] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 0, format_code: 8209
    [  142.682512] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.694291] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 1, format_code: 8209
    [  142.721213] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.733035] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 2, format_code: 8209
    [  142.760262] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  142.772016] j721e-csi2rx 30102000.ticsi2rx: taeha, Stream format set for pad: 0, stream: 3, format_code: 8209
    [  154.323318] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  199.211415] j721e-csi2rx 30102000.ticsi2rx: taeha, Starting streaming with count: 8
    [  199.219957] j721e-csi2rx 30102000.ticsi2rx: taeha, assign routing
    [  199.231452] j721e-csi2rx 30102000.ticsi2rx: taeha, Assigned sink stream: 0
    [  199.243879] j721e-csi2rx 30102000.ticsi2rx: taeha, Getting VC for stream: 0
    [  199.256347] cdns-csi2rx 30101000.csi-bridge: taeha, Remote pad found: index 0
    [  199.269009] j721e-csi2rx 30102000.ticsi2rx: taeha, Checking entry 0: stream=0, vc=0
    [  199.282176] j721e-csi2rx 30102000.ticsi2rx: Found VC: 0 for stream: 0
    [  199.294148] j721e-csi2rx 30102000.ticsi2rx: taeha, Retrieved VC: 0
    [  199.305853] j721e-csi2rx 30102000.ticsi2rx: taeha, ti_csi2rx_start_dma
    [  199.317949] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_enable_streams
    [  199.330801] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    [  199.343777] j721e-csi2rx 30102000.ticsi2rx: taeha, Cleaning up buffers
    root@am62xx-evm:/tmp# gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink
    [  394.973643] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    [  395.534704] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_set_routing_with_fmt with format: width=640, height=480, code=8207
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Could not initialise Xv output
    Additional debug info:
    ../gst-plugins-base-1.20.6/sys/xvimage/xvimagesink.c(1806): gst_xv_image_sink_open (): /GstXvImageSink:autovideosink0-actual-sink-xvimage:
    Could not open display (null)
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    [  396.553719] j721e-csi2rx 30102000.ticsi2rx: taeha, Starting streaming with count: 4
    [  396.562018] j721e-csi2rx 30102000.ticsi2rx: taeha, assign routing
    [  396.568131] j721e-csi2rx 30102000.ticsi2rx: taeha, Assigned sink stream: 0
    [  396.575035] j721e-csi2rx 30102000.ticsi2rx: taeha, Getting VC for stream: 0
    [  396.582016] cdns-csi2rx 30101000.csi-bridge: taeha, Remote pad found: index 0
    [  396.589166] j721e-csi2rx 30102000.ticsi2rx: taeha, Checking entry 0: stream=0, vc=0
    [  396.596828] j721e-csi2rx 30102000.ticsi2rx: Found VC: 0 for stream: 0
    [  396.603276] j721e-csi2rx 30102000.ticsi2rx: taeha, Retrieved VC: 0
    [  396.609463] j721e-csi2rx 30102000.ticsi2rx: taeha, ti_csi2rx_start_dma
    [  396.616035] j721e-csi2rx 30102000.ticsi2rx: taeha, v4l2_subdev_enable_streams
    [  396.623399] cdns-csi2rx 30101000.csi-bridge: Failed to configure external DPHY: -2
    [  396.631087] j721e-csi2rx 30102000.ticsi2rx: taeha, Cleaning up buffers
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    ../gst-plugins-good-1.20.6/sys/v4l2/gstv4l2src.c(777): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.299848085
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    ../gstreamer-1.20.6/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...
    root@am62xx-evm:/tmp#
    

  • Hello Jianzhong

    May you help to check below log and provide some guideline to fix this issue?

    It seems not related with YUYV format. Thanks.

    20250114_YUYV_log.txt

  • Hello Jianzhong, 

    We found the camera resolution is not fit with our camera spec.

    How to modify it? Could be the root cause of this issue?

    root@am62xx-evm:/tmp# v4l2-ctl --device /dev/video0 --list-formats-ext
    ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'YUYV' (YUYV 4:2:2)
    Size: Stepwise 8x1 - 8192x16384 with step 8/1
    [1]: 'UYVY' (UYVY 4:2:2)
    Size: Stepwise 8x1 - 8192x16384 with step 8/1
    [2]: 'YVYU' (YVYU 4:2:2)
    Size: Stepwise 8x1 - 8192x16384 with step 8/1
    [3]: 'VYUY' (VYUY 4:2:2)
    Size: Stepwise 8x1 - 8192x16384 with step 8/1
    [4]: 'BA81' (8-bit Bayer BGBG/GRGR)
    Size: Stepwise 16x1 - 16384x16384 with step 16/1
    [5]: 'GBRG' (8-bit Bayer GBGB/RGRG)
    Size: Stepwise 16x1 - 16384x16384 with step 16/1

  • Hello Jianzhong, 

    Is it possible issue of our custom HW?

    Could you suggest where we should check? Also how could we confirm there are output streams from decoder to AM62x ?

    We try to debug CSI2RX but still unable to find the root cause. Thanks.

    log_20250204.txt