UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer ibrahimsangi
Observer
1,673 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@florentw 

Here is the complete kernel log:

 

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-xilinx-v2018.2 (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 SMP Fri May 3 15:10:47 CDT 2019
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: ZynqMP ZCU100 RevC
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006fc00000
[    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: MIGRATE_INFO_TYPE not supported.
[    0.000000] percpu: Embedded 21 pages/cpu @ffffffc07fe50000 s46488 r8192 d31336 u86016
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 512771
[    0.000000] Kernel command line: earlycon clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Memory: 1767996K/2079744K available (10172K kernel code, 806K rwdata, 3332K rodata, 512K init, 2166K bss, 49604K reserved, 262144K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000]       .text : 0xffffff8008080000 - 0xffffff8008a70000   ( 10176 KB)
[    0.000000]     .rodata : 0xffffff8008a70000 - 0xffffff8008dc0000   (  3392 KB)
[    0.000000]       .init : 0xffffff8008dc0000 - 0xffffff8008e40000   (   512 KB)
[    0.000000]       .data : 0xffffff8008e40000 - 0xffffff8008f09a00   (   807 KB)
[    0.000000]        .bss : 0xffffff8008f09a00 - 0xffffff8009127338   (  2167 KB)
[    0.000000]     fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
[    0.000000]               0xffffffbf00000000 - 0xffffffbf01bfc800   (    27 MB actual)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc07ff00000   (  2047 MB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU event tracing is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    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] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x17102373f5, max_idle_ns: 440795203772 ns
[    0.000004] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008400] Console: colour dummy device 80x25
[    0.012654] console [tty0] enabled
[    0.016019] bootconsole [cdns0] disabled
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-xilinx-v2018.2 (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 SMP Fri May 3 15:10:47 CDT 2019
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: ZynqMP ZCU100 RevC
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006fc00000
[    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: MIGRATE_INFO_TYPE not supported.
[    0.000000] percpu: Embedded 21 pages/cpu @ffffffc07fe50000 s46488 r8192 d31336 u86016
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 512771
[    0.000000] Kernel command line: earlycon clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Memory: 1767996K/2079744K available (10172K kernel code, 806K rwdata, 3332K rodata, 512K init, 2166K bss, 49604K reserved, 262144K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000]       .text : 0xffffff8008080000 - 0xffffff8008a70000   ( 10176 KB)
[    0.000000]     .rodata : 0xffffff8008a70000 - 0xffffff8008dc0000   (  3392 KB)
[    0.000000]       .init : 0xffffff8008dc0000 - 0xffffff8008e40000   (   512 KB)
[    0.000000]       .data : 0xffffff8008e40000 - 0xffffff8008f09a00   (   807 KB)
[    0.000000]        .bss : 0xffffff8008f09a00 - 0xffffff8009127338   (  2167 KB)
[    0.000000]     fixed   : 0xffffffbefe7fd000 - 0xffffffbefec00000   (  4108 KB)
[    0.000000]     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
[    0.000000]               0xffffffbf00000000 - 0xffffffbf01bfc800   (    27 MB actual)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc07ff00000   (  2047 MB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU event tracing is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    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] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x17102373f5, max_idle_ns: 440795203772 ns
[    0.000004] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008400] Console: colour dummy device 80x25
[    0.012654] console [tty0] enabled
[    0.016019] bootconsole [cdns0] disabled
[    0.019933] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.99 BogoMIPS (lpj=399999)
[    0.019947] pid_max: default: 32768 minimum: 301
[    0.020066] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.020085] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.020830] ASID allocator initialised with 65536 entries
[    0.020884] Hierarchical SRCU implementation.
[    0.022966] EFI services will not be available.
[    0.022996] zynqmp_plat_init Platform Management API v1.0
[    0.023005] zynqmp_plat_init Trustzone version v1.0
[    0.023130] smp: Bringing up secondary CPUs ...
[    0.023429] Detected VIPT I-cache on CPU1
[    0.023478] CPU1: Booted secondary processor [410fd034]
[    0.023787] Detected VIPT I-cache on CPU2
[    0.023806] CPU2: Booted secondary processor [410fd034]
[    0.024136] Detected VIPT I-cache on CPU3
[    0.024154] CPU3: Booted secondary processor [410fd034]
[    0.024197] smp: Brought up 1 node, 4 CPUs
[    0.024229] SMP: Total of 4 processors activated.
[    0.024238] CPU features: detected feature: 32-bit EL0 Support
[    0.024249] CPU: All CPU(s) started at EL2
[    0.024267] alternatives: patching kernel code
[    0.024998] devtmpfs: initialized
[    0.031613] random: get_random_u32 called from bucket_table_alloc+0x108/0x260 with crng_init=0
[    0.031881] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.031905] futex hash table entries: 1024 (order: 5, 131072 bytes)
[    0.032156] random: fast init done
[    0.038175] xor: measuring software checksum speed
[    0.076043]    8regs     :  2303.000 MB/sec
[    0.116073]    8regs_prefetch:  2053.000 MB/sec
[    0.156104]    32regs    :  2830.000 MB/sec
[    0.196136]    32regs_prefetch:  2379.000 MB/sec
[    0.196144] xor: using function: 32regs (2830.000 MB/sec)
[    0.196247] pinctrl core: initialized pinctrl subsystem
[    0.196975] NET: Registered protocol family 16
[    0.197699] cpuidle: using governor menu
[    0.198457] vdso: 2 pages (1 code @ ffffff8008a76000, 1 data @ ffffff8008e44000)
[    0.198476] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.199078] DMA: preallocated 256 KiB pool for atomic allocations
[    0.229783] reset_zynqmp reset-controller: Xilinx zynqmp reset driver probed
[    0.230306] ARM CCI_400_r1 PMU driver probed
[    0.234864] zynqmp-pinctrl ff180000.pinctrl: zynqmp pinctrl initialized
[    0.245963] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.312360] raid6: int64x1  gen()   401 MB/s
[    0.380406] raid6: int64x1  xor()   443 MB/s
[    0.448451] raid6: int64x2  gen()   688 MB/s
[    0.516438] raid6: int64x2  xor()   602 MB/s
[    0.584479] raid6: int64x4  gen()  1042 MB/s
[    0.652524] raid6: int64x4  xor()   742 MB/s
[    0.720610] raid6: int64x8  gen()   980 MB/s
[    0.788620] raid6: int64x8  xor()   733 MB/s
[    0.856680] raid6: neonx1   gen()   726 MB/s
[    0.924714] raid6: neonx1   xor()   853 MB/s
[    0.992763] raid6: neonx2   gen()  1168 MB/s
[    1.060811] raid6: neonx2   xor()  1208 MB/s
[    1.128864] raid6: neonx4   gen()  1509 MB/s
[    1.196918] raid6: neonx4   xor()  1442 MB/s
[    1.264967] raid6: neonx8   gen()  1652 MB/s
[    1.333004] raid6: neonx8   xor()  1533 MB/s
[    1.333012] raid6: using algorithm neonx8 gen() 1652 MB/s
[    1.333019] raid6: .... xor() 1533 MB/s, rmw enabled
[    1.333028] raid6: using neon recovery algorithm
[    1.334515] SCSI subsystem initialized
[    1.334744] usbcore: registered new interface driver usbfs
[    1.334784] usbcore: registered new interface driver hub
[    1.334830] usbcore: registered new device driver usb
[    1.334905] media: Linux media interface: v0.10
[    1.334937] Linux video capture interface: v2.00
[    1.334984] pps_core: LinuxPPS API ver. 1 registered
[    1.334992] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.335015] PTP clock support registered
[    1.335046] EDAC MC: Ver: 3.0.0
[    1.335425] zynqmp-ipi ff9905c0.mailbox: Probed ZynqMP IPI Mailbox driver.
[    1.335630] FPGA manager framework
[    1.335748] fpga-region fpga-full: FPGA Region probed
[    1.335874] Advanced Linux Sound Architecture Driver Initialized.
[    1.336191] Bluetooth: Core ver 2.22
[    1.336218] NET: Registered protocol family 31
[    1.336225] Bluetooth: HCI device and connection manager initialized
[    1.336239] Bluetooth: HCI socket layer initialized
[    1.336250] Bluetooth: L2CAP socket layer initialized
[    1.336276] Bluetooth: SCO socket layer initialized
[    1.336959] clocksource: Switched to clocksource arch_sys_counter
[    1.337060] VFS: Disk quotas dquot_6.6.0
[    1.337113] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.341653] NET: Registered protocol family 2
[    1.342017] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    1.342132] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    1.342478] TCP: Hash tables configured (established 16384 bind 16384)
[    1.342588] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    1.342633] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    1.342781] NET: Registered protocol family 1
[    1.343030] RPC: Registered named UNIX socket transport module.
[    1.343039] RPC: Registered udp transport module.
[    1.343047] RPC: Registered tcp transport module.
[    1.343054] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.343598] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    1.343766] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.344708] audit: initializing netlink subsys (disabled)
[    1.345140] audit: type=2000 audit(1.324:1): state=initialized audit_enabled=0 res=1
[    1.345192] workingset: timestamp_bits=62 max_order=19 bucket_order=0
[    1.345984] NFS: Registering the id_resolver key type
[    1.346011] Key type id_resolver registered
[    1.346018] Key type id_legacy registered
[    1.346032] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.346056] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.369815] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    1.369839] io scheduler noop registered
[    1.369847] io scheduler deadline registered
[    1.369868] io scheduler cfq registered (default)
[    1.369877] io scheduler mq-deadline registered
[    1.369885] io scheduler kyber registered
[    1.373429] xilinx-dpdma fd4c0000.dma: Xilinx DPDMA engine is probed
[    1.373953] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    1.374115] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    1.374272] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    1.374430] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    1.374589] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    1.374742] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    1.374905] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    1.375062] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    1.375288] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    1.375446] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    1.375598] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    1.375753] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    1.375904] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    1.376061] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    1.376214] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    1.376370] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    1.376641] xilinx-frmbuf a0090000.v_frmbuf_wr: Probe deferred due to GPIO reset defer
[    1.376697] xilinx-frmbuf a00c0000.v_frmbuf_wr: Probe deferred due to GPIO reset defer
[    1.376745] xilinx-frmbuf a00f0000.v_frmbuf_wr: Probe deferred due to GPIO reset defer
[    1.376793] xilinx-frmbuf a0160000.v_frmbuf_wr: Probe deferred due to GPIO reset defer
[    1.404212] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.408780] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    1.413703] brd: module loaded
[    1.417823] loop: module loaded
[    1.418965] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.421485] libphy: Fixed MDIO Bus: probed
[    1.422662] tun: Universal TUN/TAP device driver, 1.6
[    1.422873] CAN device driver interface
[    1.424098] usbcore: registered new interface driver asix
[    1.424171] usbcore: registered new interface driver ax88179_178a
[    1.424205] usbcore: registered new interface driver cdc_ether
[    1.424237] usbcore: registered new interface driver net1080
[    1.424268] usbcore: registered new interface driver cdc_subset
[    1.424299] usbcore: registered new interface driver zaurus
[    1.424344] usbcore: registered new interface driver cdc_ncm
[    1.424746] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    1.425386] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.425410] ehci-pci: EHCI PCI platform driver
[    1.425772] usbcore: registered new interface driver uas
[    1.425815] usbcore: registered new interface driver usb-storage
[    1.426429] rtc_zynqmp ffa60000.rtc: rtc core: registered ffa60000.rtc as rtc0
[    1.426511] i2c /dev entries driver
[    1.427399] IR NEC protocol handler initialized
[    1.427408] IR RC5(x/sz) protocol handler initialized
[    1.427416] IR RC6 protocol handler initialized
[    1.427424] IR JVC protocol handler initialized
[    1.427431] IR Sony protocol handler initialized
[    1.427439] IR SANYO protocol handler initialized
[    1.427446] IR Sharp protocol handler initialized
[    1.427454] IR MCE Keyboard/mouse protocol handler initialized
[    1.427461] IR XMP protocol handler initialized
[    1.427614] xilinx-video amba_pl@0:video_cap_0@0: /amba_pl@0/video_cap_0@0/ports/port@0 initialization failed
[    1.427628] xilinx-video amba_pl@0:video_cap_0@0: DMA initialization failed
[    1.427690] xilinx-video amba_pl@0:video_cap_1@1: /amba_pl@0/video_cap_1@1/ports/port@0 initialization failed
[    1.427703] xilinx-video amba_pl@0:video_cap_1@1: DMA initialization failed
[    1.427759] xilinx-video amba_pl@0:video_cap_2@2: /amba_pl@0/video_cap_2@2/ports/port@0 initialization failed
[    1.427773] xilinx-video amba_pl@0:video_cap_2@2: DMA initialization failed
[    1.427830] xilinx-video amba_pl@0:video_cap_3@3: /amba_pl@0/video_cap_3@3/ports/port@0 initialization failed
[    1.427844] xilinx-video amba_pl@0:video_cap_3@3: DMA initialization failed
[    1.429771] xilinx-csi2rxss b0000000.mipi_csi2_rx_subsystem: Xilinx CSI2 Rx Subsystem device found!
[    1.430010] xilinx-csi2rxss b0020000.mipi_csi2_rx_subsystem: Xilinx CSI2 Rx Subsystem device found!
[    1.430159] xilinx-csi2rxss b0060000.mipi_csi2_rx_subsystem: Xilinx CSI2 Rx Subsystem device found!
[    1.430300] xilinx-csi2rxss b0080000.mipi_csi2_rx_subsystem: Xilinx CSI2 Rx Subsystem device found!
[    1.430411] usbcore: registered new interface driver uvcvideo
[    1.430421] USB Video Class driver (1.1.1)
[    1.430507] ltc2952-poweroff ltc2954: pm_power_off already registered
[    1.430520] ltc2952-poweroff: probe of ltc2954 failed with error -16
[    1.431473] Bluetooth: HCI UART driver ver 2.3
[    1.431485] Bluetooth: HCI UART protocol H4 registered
[    1.431494] Bluetooth: HCI UART protocol BCSP registered
[    1.431526] Bluetooth: HCI UART protocol LL registered
[    1.431535] Bluetooth: HCI UART protocol ATH3K registered
[    1.431543] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.431595] Bluetooth: HCI UART protocol Intel registered
[    1.431603] Bluetooth: HCI UART protocol QCA registered
[    1.431646] usbcore: registered new interface driver bcm203x
[    1.431683] usbcore: registered new interface driver bpa10x
[    1.431718] usbcore: registered new interface driver bfusb
[    1.431753] usbcore: registered new interface driver btusb
[    1.431762] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[    1.431819] usbcore: registered new interface driver ath3k
[    1.431959] EDAC MC: ECC not enabled
[    1.432180] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    1.432814] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1199998 KHz
[    1.432885] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[    1.433452] sdhci: Secure Digital Host Controller Interface driver
[    1.433462] sdhci: Copyright(c) Pierre Ossman
[    1.433469] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.481213] mmc0: SDHCI controller on ff160000.sdhci [ff160000.sdhci] using ADMA 64-bit
[    1.487269] sdhci-arasan ff170000.sdhci: parsing dt failed (-517)
[    1.487885] ledtrig-cpu: registered to indicate activity on CPUs
[    1.488069] usbcore: registered new interface driver usbhid
[    1.488078] usbhid: USB HID core driver
[    1.490252] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    1.492282] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    1.494523] Netfilter messages via NETLINK v0.30.
[    1.494666] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.494841] Initializing XFRM netlink socket
[    1.494919] NET: Registered protocol family 10
[    1.495355] Segment Routing with IPv6
[    1.495405] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.495601] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.495983] NET: Registered protocol family 17
[    1.496001] NET: Registered protocol family 15
[    1.496024] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.496039] Ebtables v2.0 registered
[    1.496142] can: controller area network core (rev 20170425 abi 9)
[    1.496182] NET: Registered protocol family 29
[    1.496191] can: raw protocol (rev 20170425)
[    1.496200] can: broadcast manager protocol (rev 20170425 t)
[    1.496212] can: netlink gateway (rev 20170425) max_hops=1
[    1.496288] Bluetooth: RFCOMM TTY layer initialized
[    1.496308] Bluetooth: RFCOMM socket layer initialized
[    1.496325] Bluetooth: RFCOMM ver 1.11
[    1.496337] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    1.496345] Bluetooth: BNEP filters: protocol multicast
[    1.496355] Bluetooth: BNEP socket layer initialized
[    1.496364] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    1.496374] Bluetooth: HIDP socket layer initialized
[    1.496519] 9pnet: Installing 9P2000 support
[    1.496546] Key type dns_resolver registered
[    1.497012] registered taskstats version 1
[    1.497392] Btrfs loaded, crc32c=crc32c-generic
[    1.505299] ff000000.serial: ttyPS1 at MMIO 0xff000000 (irq = 40, base_baud = 6249993) is a xuartps
[    1.505515] serial serial0: tty port ttyPS1 registered
[    1.505798] ff010000.serial: ttyPS0 at MMIO 0xff010000 (irq = 41, base_baud = 6249993) is a xuartps
[    1.655361] mmc0: new high speed SDHC card at address aaaa
[    1.662804] mmcblk0: mmc0:aaaa SL08G 7.40 GiB
[    1.670467]  mmcblk0: p1 p2
[    3.169992] console [ttyPS0] enabled
[    3.174764] xilinx-frmbuf a0090000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[    3.182164] xilinx-frmbuf a0090000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    3.190728] xilinx-frmbuf a00c0000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[    3.198104] xilinx-frmbuf a00c0000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    3.206658] xilinx-frmbuf a00f0000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[    3.214031] xilinx-frmbuf a00f0000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    3.222594] xilinx-frmbuf a0160000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[    3.229973] xilinx-frmbuf a0160000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    3.238812] xilinx-psgtr fd400000.zynqmp_phy: Lane:1 type:8 protocol:4 pll_locked:yes
[    3.246964] PLL: shutdown
[    3.249639] PLL: shutdown
[    3.252627] PLL: enable
[    3.255126] PLL: shutdown
[    3.258592] PLL: enable
[    3.261070] xilinx-dp-snd-codec fd4a0000.zynqmp-display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[    3.271689] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[    3.279663] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[    3.288005] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[    3.300383] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[    3.313102] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
[    3.323220] OF: graph: no port node found in /amba/zynqmp-display@fd4a0000
[    3.330155] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.336686] [drm] No driver support for vblank timestamp query.
[    3.342672] xlnx-drm xlnx-drm.0: bound fd4a0000.zynqmp-display (ops 0xffffff8008b293f0)
[    3.389973] PLL: enable
[    3.518039] Console: switching to colour frame buffer device 240x67
[    3.543345] zynqmp-display fd4a0000.zynqmp-display: fb0:  frame buffer device
[    3.550690] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.zynqmp-display on minor 0
[    3.558804] zynqmp-display fd4a0000.zynqmp-display: ZynqMP DisplayPort Subsystem driver probed
[    3.568676] xilinx-psgtr fd400000.zynqmp_phy: Lane:2 type:0 protocol:3 pll_locked:yes
[    3.578309] xilinx-psgtr fd400000.zynqmp_phy: Lane:3 type:1 protocol:3 pll_locked:yes
[    3.586393] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    3.591865] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    3.599790] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x22010010
[    3.608528] xhci-hcd xhci-hcd.0.auto: irq 57, io mem 0xfe300000
[    3.614563] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    3.621333] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.628538] usb usb1: Product: xHCI Host Controller
[    3.633376] usb usb1: Manufacturer: Linux 4.14.0-xilinx-v2018.2 xhci-hcd
[    3.640075] usb usb1: SerialNumber: xhci-hcd.0.auto
[    3.645255] hub 1-0:1.0: USB hub found
[    3.648982] hub 1-0:1.0: 1 port detected
[    3.653070] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    3.658536] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    3.666233] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    3.674393] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    3.681161] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.688367] usb usb2: Product: xHCI Host Controller
[    3.693207] usb usb2: Manufacturer: Linux 4.14.0-xilinx-v2018.2 xhci-hcd
[    3.699905] usb usb2: SerialNumber: xhci-hcd.0.auto
[    3.705020] hub 2-0:1.0: USB hub found
[    3.708736] hub 2-0:1.0: 1 port detected
[    3.715136] i2c i2c-0: Added multiplexed i2c bus 2
[    3.720805] i2c i2c-0: Added multiplexed i2c bus 3
[    3.726457] i2c i2c-0: Added multiplexed i2c bus 4
[    3.732112] i2c i2c-0: Added multiplexed i2c bus 5
[    3.737410] tps65086 6-005e: Device: TPS650864, OTP: C, Rev: 0
[    3.746314] i2c i2c-0: Added multiplexed i2c bus 6
[    3.751702] ina2xx 7-0040: power monitor ina226 (Rshunt = 10000 uOhm)
[    3.758158] i2c i2c-0: Added multiplexed i2c bus 7
[    3.763056] i2c i2c-0: Added multiplexed i2c bus 8
[    3.767948] i2c i2c-0: Added multiplexed i2c bus 9
[    3.772702] pca954x 0-0075: registered 8 multiplexed busses for I2C switch pca9548
[    3.780303] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 31
[    3.786734] xilinx-video amba_pl@0:video_cap_0@0: Entity type for entity b0000000.mipi_csi2_rx_subsystem was not initialized!
[    3.798066] xilinx-video amba_pl@0:video_cap_0@0: device registered
[    3.804646] xilinx-video amba_pl@0:video_cap_1@1: Entity type for entity b0020000.mipi_csi2_rx_subsystem was not initialized!
[    3.819094] xilinx-video amba_pl@0:video_cap_1@1: device registered
[    3.828740] xilinx-video amba_pl@0:video_cap_2@2: Entity type for entity b0060000.mipi_csi2_rx_subsystem was not initialized!
[    3.843172] xilinx-video amba_pl@0:video_cap_2@2: device registered
[    3.852883] xilinx-video amba_pl@0:video_cap_3@3: Entity type for entity b0080000.mipi_csi2_rx_subsystem was not initialized!
[    3.867416] xilinx-video amba_pl@0:video_cap_3@3: device registered
[    3.877117] xilinx-video amba_pl@0:video_cap_0@0: Entity type for entity a0080000.v_demosaic was not initialized!
[    3.890701] xilinx-demosaic a0080000.v_demosaic: Xilinx Video Demosaic Probe Successful
[    3.902366] xilinx-video amba_pl@0:video_cap_1@1: Entity type for entity a00b0000.v_demosaic was not initialized!
[    3.915965] xilinx-demosaic a00b0000.v_demosaic: Xilinx Video Demosaic Probe Successful
[    3.927455] xilinx-video amba_pl@0:video_cap_2@2: Entity type for entity a00e0000.v_demosaic was not initialized!
[    3.941094] xilinx-demosaic a00e0000.v_demosaic: Xilinx Video Demosaic Probe Successful
[    3.952610] xilinx-video amba_pl@0:video_cap_3@3: Entity type for entity a0150000.v_demosaic was not initialized!
[    3.966273] xilinx-demosaic a0150000.v_demosaic: Xilinx Video Demosaic Probe Successful
[    3.977947] xilinx-video amba_pl@0:video_cap_0@0: Entity type for entity a00a0000.v_gamma_lut was not initialized!
[    3.991726] xilinx-gamma-lut a00a0000.v_gamma_lut: Xilinx 8-bit Video Gamma Correction LUT registered
[    4.004626] xilinx-video amba_pl@0:video_cap_1@1: Entity type for entity a00d0000.v_gamma_lut was not initialized!
[    4.018434] xilinx-gamma-lut a00d0000.v_gamma_lut: Xilinx 8-bit Video Gamma Correction LUT registered
[    4.031366] xilinx-video amba_pl@0:video_cap_2@2: Entity type for entity a0140000.v_gamma_lut was not initialized!
[    4.045205] xilinx-gamma-lut a0140000.v_gamma_lut: Xilinx 8-bit Video Gamma Correction LUT registered
[    4.058161] xilinx-video amba_pl@0:video_cap_3@3: Entity type for entity a0170000.v_gamma_lut was not initialized!
[    4.072036] xilinx-gamma-lut a0170000.v_gamma_lut: Xilinx 8-bit Video Gamma Correction LUT registered
[    4.085021] xilinx-video amba_pl@0:video_cap_0@0: Entity type for entity a0000000.v_proc_ss was not initialized!
[    4.099331] xilinx-vpss-scaler a0000000.v_proc_ss: Num Hori Taps 8
[    4.109067] xilinx-vpss-scaler a0000000.v_proc_ss: Num Vert Taps 8
[    4.118791] xilinx-vpss-scaler a0000000.v_proc_ss: VPSS Scaler Probe Successful
[    4.129864] xilinx-video amba_pl@0:video_cap_1@1: Entity type for entity a0040000.v_proc_ss was not initialized!
[    4.144159] xilinx-vpss-scaler a0040000.v_proc_ss: Num Hori Taps 8
[    4.153899] xilinx-vpss-scaler a0040000.v_proc_ss: Num Vert Taps 8
[    4.163580] xilinx-vpss-scaler a0040000.v_proc_ss: VPSS Scaler Probe Successful
[    4.174583] xilinx-video amba_pl@0:video_cap_2@2: Entity type for entity a0100000.v_proc_ss was not initialized!
[    4.188850] xilinx-vpss-scaler a0100000.v_proc_ss: Num Hori Taps 8
[    4.198570] xilinx-vpss-scaler a0100000.v_proc_ss: Num Vert Taps 8
[    4.208261] xilinx-vpss-scaler a0100000.v_proc_ss: VPSS Scaler Probe Successful
[    4.219315] xilinx-video amba_pl@0:video_cap_3@3: Entity type for entity a0180000.v_proc_ss was not initialized!
[    4.233580] xilinx-vpss-scaler a0180000.v_proc_ss: Num Hori Taps 8
[    4.243303] xilinx-vpss-scaler a0180000.v_proc_ss: Num Vert Taps 8
[    4.253001] xilinx-vpss-scaler a0180000.v_proc_ss: VPSS Scaler Probe Successful
[    4.265372] sdhci-arasan ff170000.sdhci: allocated mmc-pwrseq
[    4.316964] mmc1: SDHCI controller on ff170000.sdhci [ff170000.sdhci] using ADMA 64-bit
[    4.336072] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    4.346841] rtc_zynqmp ffa60000.rtc: setting system clock to 1970-01-01 00:00:06 UTC (6)
[    4.358716] clk: Not disabling unused clocks
[    4.366640] ALSA device list:
[    4.373182]   #0: DisplayPort monitor
[    4.382465] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[    4.384646] sdhci-arasan ff170000.sdhci: card claims to support voltages below defined range
[    4.397274] mmc1: new high speed SDIO card at address 0001
[    4.397968] wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl1271-nvs.bin failed with error -2
[    4.397999] wl18xx_driver wl18xx.3.auto: Direct firmware load for ti-connectivity/wl18xx-conf.bin failed with error -2
[    4.398003] wlcore: ERROR could not get configuration binary ti-connectivity/wl18xx-conf.bin: -2
[    4.398005] wlcore: WARNING falling back to default config
[    4.592983] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    4.693926] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[    4.706909] wlcore: loaded
[    4.749472] usb 1-1: New USB device found, idVendor=0424, idProduct=2744
[    4.760054] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.771067] usb 1-1: Product: USB2744
[    4.778579] usb 1-1: Manufacturer: Microchip Tech
[    4.818348] hub 1-1:1.0: USB hub found
[    4.825970] hub 1-1:1.0: 4 ports detected
[    4.876993] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
[    4.879951] hci-ti serial0-0: Direct firmware load for ti-connectivity/TIInit_11.8.32.bts failed with error -2
[    4.879958] Bluetooth: hci0: request_firmware failed(errno -2) for ti-connectivity/TIInit_11.8.32.bts
[    4.879960] Bluetooth: hci0: download firmware failed, retrying...
[    4.941332] usb 2-1: New USB device found, idVendor=0424, idProduct=5744
[    4.951914] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[    4.956255] EXT4-fs (mmcblk0p2): recovery complete
[    4.957794] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    4.957826] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    4.957903] devtmpfs: mounted
[    4.958090] Freeing unused kernel memory: 512K
[    5.008227] usb 2-1: Product: USB5744
[    5.015633] usb 2-1: Manufacturer: Microchip Tech
[    5.026354] hub 2-1:1.0: USB hub found
[    5.033804] hub 2-1:1.0: 3 ports detected
INIT: version 2.88 booting
[    5.209010] usb 1-1.1: new low-speed USB device number 3 using xhci-hcd
Starting udev
[    5.312509] usb 1-1.1: New USB device found, idVendor=18f8, idProduct=0f99
[    5.322943] usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    5.333692] usb 1-1.1: Product: USB OPTICAL MOUSE
[    5.365556] input: USB OPTICAL MOUSE  as /devices/platform/amba/ff9e0000.usb1/fe300000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.0/0003:18F8:0F99.0001/input/input1
[    5.384044] hid-generic 0003:18F8:0F99.0001: input: USB HID v1.10 Mouse [USB OPTICAL MOUSE ] on usb-xhci-hcd.0.auto-1.1/input0
[    5.403681] input: USB OPTICAL MOUSE  as /devices/platform/amba/ff9e0000.usb1/fe300000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.1/1-1.1:1.1/0003:18F8:0F99.0002/input/input2
[    5.431167] Bluetooth: hci0: change remote baud rate command in firmware
[    5.442119] udevd[1881]: starting version 3.2.2
[    5.481181] hid-generic 0003:18F8:0F99.0002: input: USB HID v1.10 Keyboard [USB OPTICAL MOUSE ] on usb-xhci-hcd.0.auto-1.1/input1
[    5.522847] udevd[1882]: starting eudev-3.2.2
[    5.581001] usb 1-1.2: new low-speed USB device number 4 using xhci-hcd
[    5.707483] usb 1-1.2: New USB device found, idVendor=04ca, idProduct=008e
[    5.718073] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.721297] mali: loading out-of-tree module taints kernel.
[    5.738282] usb 1-1.2: Product: HP USB Multimedia Keyboard
[    5.747427] usb 1-1.2: Manufacturer: Lite-On Technology Corp
[    5.759419] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU core_conf: split0
[    5.771273] remoteproc remoteproc0: ff9a0100.zynqmp_r5_rproc is available
[    5.784275] input: Lite-On Technology Corp HP USB Multimedia Keyboard as /devices/platform/amba/ff9e0000.usb1/fe300000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.2/1-1.2:1.0/0003:04CA:008E.0003/input/input3
[    5.865521] hid-generic 0003:04CA:008E.0003: input: USB HID v1.10 Keyboard [Lite-On Technology Corp HP USB Multimedia Keyboard] on usb-xhci-hcd.0.auto-1.2/input0
[    5.889527] input: Lite-On Technology Corp HP USB Multimedia Keyboard as /devices/platform/amba/ff9e0000.usb1/fe300000.dwc3/xhci-hcd.0.auto/usb1/1-1/1-1.2/1-1.2:1.1/0003:04CA:008E.0004/input/input4
[    5.969316] hid-generic 0003:04CA:008E.0004: input: USB HID v1.10 Device [Lite-On Technology Corp HP USB Multimedia Keyboard] on usb-xhci-hcd.0.auto-1.2/input1
[    6.081035] usb 1-1.4: new high-speed USB device number 5 using xhci-hcd
[    6.197992] usb 1-1.4: New USB device found, idVendor=0424, idProduct=2740
[    6.209105] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    6.220595] usb 1-1.4: Product: Hub Controller
[    6.229163] usb 1-1.4: Manufacturer: Microchip Tech
[    6.317497] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    6.405203] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Fri May  3 14:37:27 UTC 2019
Starting internet superserver: inetd.
Starting Ultra96 AP setup daemon.
Starting Ultra96 Power Button daemon.
Starting Flask server deamon to serve Ultra96 startup pagelibmraa[2239]: libmraa version v1.7.0 initialised by user 'root' with EUID 0
libmraa[2239]: libmraa initialised for platform 'ULTRA96' of type 9
.
INIT: Entering runlevel: 5
Configuring network interfaces... Successfully initialized wpa_supplicant
[    7.630399] wlcore: PHY firmware version: Rev 8.2.0.0.236
[    7.731322] wlcore: firmware booted (Rev 8.9.0.0.69)
[    7.747374] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
udhcpc (v1.24.1) started
Sending discover...
[   10.835089] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
Sending discover...
[   12.033059] wlan0: authenticate with 0a:18:d6:22:79:6c
[   12.044125] wlan0: send auth to 0a:18:d6:22:79:6c (try 1/3)
[   12.093958] wlan0: authenticated
[   12.104960] wlan0: associate with 0a:18:d6:22:79:6c (try 1/3)
[   12.194044] wlan0: associate with 0a:18:d6:22:79:6c (try 2/3)
[   12.232429] wlan0: RX AssocResp from 0a:18:d6:22:79:6c (capab=0x421 status=0 aid=1)
[   12.248660] wlcore: Association completed.
[   12.257613] wlan0: associated
[   12.264401] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Sending discover...

 

 

Here are the values but most of them are empty:

 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0000000 32 && printf 'INIT (0x08): ' && devmem 0xb0000008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0000010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0000014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0000018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb000001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0000020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0000024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0000028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0000030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00062000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0080000 32 && printf 'INIT (0x08): ' && devmem 0xb0080008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0080010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0080014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0080018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb008001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0080020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0080024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0080028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0080030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00462000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x80060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~#

 

Now I am getting video0 and video1 but there is nothing on the video2 and video3

I have also checked lanes with oscilloscope. I am getting clock and data on video2 and video3. while in video0 and video1 data pins just stopped working after getting buffers.

 

Thank you

 

 

0 Kudos
1 Solution

Accepted Solutions
Observer ibrahimsangi
Observer
1,240 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@karnanl 

 

Now, All four streams are working with Yavta and G-streamer without any errors.

Here is the solution (Patch to xilinx-csi2rxss.c)  I commented the core disable funtion. Since we need to clear the interrupts. So that they donot bother us later.

static void xcsi2rxss_stop_stream(struct xcsi2rxss_state *xcsi2rxss)
{
	xcsi2rxss_interrupts_enable(&xcsi2rxss->core, false);
//	xcsi2rxss_enable(&xcsi2rxss->core, false);
}

Thanks for the help. God bless you!

 

View solution in original post

22 Replies
Observer ibrahimsangi
Observer
1,667 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

One more thing I am using ov5647 raspberry pi cameras. and following his work but I am going for four streams instead of two.

https://forums.xilinx.com/t5/user/viewprofilepage/user-id/128489

Also mention that the four streams are running great indivdually. But not as combined.

Moderator
Moderator
1,648 Views
Registered: ‎11-09-2015

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hi @ibrahimsangi ,

I am surptized you have 2 MIPI IPs working. Looking at the register dumps, it seems that for the 4 instances the D-PHY is disabled.

Also the init register values is 0... and the CL status also does not seems to indicate that you got init done.

Did you try to read multiple time into these registers?


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Highlighted
Observer ibrahimsangi
Observer
1,612 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@florentw 

 

yes, I am also shocked to see this. but the values are still the same. Here is an interresting part I would like to share with you guys.

hardware configuration

CAM1 (slave): media/video0 

CAM2 (slave): media/video1 

CAM3 (master): media/video2

CAM4 (slave): media/video3 

for the very first time when I configure the pipeline I get buffers to be filled by each pipeline that means all are working in this order.

video3 -> video1 -> video0 -> video2

but the above sequence is not working second time except the video3 which is the master MIPI CSI-2 RX.

 

root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video3
Device /dev/video3 opened.
Device `video_cap_3 output 0' on `platform:video_cap_3:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fbefb3000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fbef1d000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fbee87000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7fbedf1000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7fbed5b000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7fbecc5000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7fbec2f000.
length: 1 offset: 3793531120 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7fbeb99000.
Press enter to start capture

0 (0) [-] none 0 0 B 60.029332 60.029347 18.757 fps ts mono/EoF
1 (1) [-] none 1 0 B 60.054919 60.054933 39.082 fps ts mono/EoF
2 (2) [-] none 2 0 B 60.080506 60.080518 39.082 fps ts mono/EoF
3 (3) [-] none 3 0 B 60.106094 60.106104 39.081 fps ts mono/EoF
4 (4) [-] none 4 0 B 60.131685 60.131712 39.076 fps ts mono/EoF
5 (5) [-] none 5 0 B 60.157272 60.157287 39.082 fps ts mono/EoF
6 (6) [-] none 6 0 B 60.182856 60.182867 39.087 fps ts mono/EoF
7 (7) [-] none 7 0 B 60.208442 60.208453 39.084 fps ts mono/EoF
Captured 8 frames in 0.232433 seconds (34.418430 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video1
Device /dev/video1 opened.
Device `video_cap_1 output 0' on `platform:video_cap_1:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fad10f000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fad079000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7facfe3000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7facf4d000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7faceb7000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7face21000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7facd8b000.
length: 1 offset: 3401167776 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7faccf5000.
Press enter to start capture

0 (0) [-] none 0 0 B 65.211732 65.211747 22.653 fps ts mono/EoF
1 (1) [-] none 1 0 B 65.237319 65.237332 39.082 fps ts mono/EoF
2 (2) [-] none 2 0 B 65.262903 65.262914 39.087 fps ts mono/EoF
3 (3) [-] none 3 0 B 65.288489 65.288498 39.084 fps ts mono/EoF
4 (4) [-] none 4 0 B 65.314074 65.314083 39.085 fps ts mono/EoF
5 (5) [-] none 5 0 B 65.339659 65.339669 39.085 fps ts mono/EoF
6 (6) [-] none 6 0 B 65.365244 65.365255 39.085 fps ts mono/EoF
7 (7) [-] none 7 0 B 65.390830 65.390839 39.084 fps ts mono/EoF
Captured 8 frames in 0.223251 seconds (35.833987 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video0
Device /dev/video0 opened.
Device `video_cap_0 output 0' on `platform:video_cap_0:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f94e0c000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f94d76000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f94ce0000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f94c4a000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f94bb4000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f94b1e000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f94a88000.
length: 1 offset: 4055971712 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f949f2000.
Press enter to start capture

0 (0) [-] none 0 0 B 69.209695 69.209711 19.962 fps ts mono/EoF
1 (1) [-] none 1 0 B 69.235281 69.235296 39.084 fps ts mono/EoF
2 (2) [-] none 2 0 B 69.260867 69.260877 39.084 fps ts mono/EoF
3 (3) [-] none 3 0 B 69.286452 69.286463 39.085 fps ts mono/EoF
4 (4) [-] none 4 0 B 69.312038 69.312049 39.084 fps ts mono/EoF
5 (5) [-] none 5 0 B 69.337623 69.337634 39.085 fps ts mono/EoF
6 (6) [-] none 6 0 B 69.363208 69.363218 39.085 fps ts mono/EoF
7 (7) [-] none 7 0 B 69.388794 69.388804 39.084 fps ts mono/EoF
Captured 8 frames in 0.229204 seconds (34.903267 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video2
Device /dev/video2 opened.
Device `video_cap_2 output 0' on `platform:video_cap_2:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f805a9000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f80513000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f8047d000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f803e7000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f80351000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f802bb000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f80225000.
length: 1 offset: 3313929488 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f8018f000.
Press enter to start capture

0 (0) [-] none 0 0 B 73.395335 73.395352 16.665 fps ts mono/EoF
1 (1) [-] none 1 0 B 73.420923 73.420937 39.081 fps ts mono/EoF
2 (2) [-] none 2 0 B 73.446506 73.446515 39.088 fps ts mono/EoF
3 (3) [-] none 3 0 B 73.472090 73.472100 39.087 fps ts mono/EoF
4 (4) [-] none 4 0 B 73.497676 73.497685 39.084 fps ts mono/EoF
5 (5) [-] none 5 0 B 73.523261 73.523270 39.085 fps ts mono/EoF
6 (6) [-] none 6 0 B 73.548847 73.548856 39.084 fps ts mono/EoF
7 (7) [-] none 7 0 B 73.574432 73.574440 39.085 fps ts mono/EoF
Captured 8 frames in 0.239111 seconds (33.457161 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video3
Device /dev/video3 opened.
Device `video_cap_3 output 0' on `platform:video_cap_3:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fa8ea5000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fa8e0f000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fa8d79000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7fa8ce3000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7fa8c4d000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7fa8bb7000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7fa8b21000.
length: 1 offset: 3355042112 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7fa8a8b000.
Press enter to start capture

^C
root@xilinx-ultra96-reva-2018_2:~#

But if we change the sequence like below 

 

video2 -> video1 -> video0 -> video3

only video2 master is working I am not getting anything on others.

Conclusion: 

- I am getting data from slave cams until I call for data from master.

- Once I get the data from master cam. I am not getting anything from slave.

- I always get data from master whenever I call.

- Slaves are not working second time (but I am getting signals on data/clock lanes if I check with scope). 

 

I think there is a problem with buffers not being reset properly ?

Interrupt is not generated by the MIPI CSI-2?

What do you think?

 

Thank you

 

 

Xilinx Employee
Xilinx Employee
1,597 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @ibrahimsangi 

1. I am a bit confused with your information.
According to you information, you can get correct video data with the following sequence.
video3 -> video1 -> video0 -> video2(Master)

So, I believe there is NO ISSUE with MIPI CSI-2 RX IPs.
BTW, Could you please share all MIPI CSI-2/D-PHY IP register dump after you can confirm all IPs are working ?

2. You also mentioned that you cannot aquire any video data from Slave IPs, with the following sequence.
video2(Master) -> video1 -> video0 -> video3

Could you please compare MIPI CSI-2/D-PHY IP register dump with register dump you got from (1) ?
Is there any difference on Slave IPs register value you got from (1) ?

3. Q: Interrupt is not generated by the MIPI CSI-2?

You need to enable "Global Interupt enable" register (Offset:0x20) to enable interrupt output to the system.
To enable each signal individually, please set Interrupt Enable Register (Offset:0x28) accordidngly.

4. Q: I think there is a problem with buffers not being reset properly ?

I am not sure what happens here,
But, you can check if MIPI CSI-2 RX reported any error by checking the following registers.
Interrupt Status Register(0x24)
Core Status Register(0x10)
Core Configuration Register(0x00)
Protocol Configuration Register(0x04)

 

Thanks & regards
Leo

Moderator
Moderator
1,544 Views
Registered: ‎11-09-2015

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hi @ibrahimsangi ,

Do you have any update on this? Wer you finally able to solve your issue with @karnanl 's guidance?

If your question is answered or your issue is solved, please kindly mark the response which helped as solution (click on "Accept as solution" button below the reply)

If this is not solved/answered, please reply in the topic giving more information on your current status.

Thanks and Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Observer ibrahimsangi
Observer
1,530 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@florentw @karnanl 

 

Sorry, I was trying the same hardware with 2018.2 Vivado and 2018.2 petalinux but the problem was slightly different I got MIPI stream buffer full error at all the streams.

 

Anyhow back to this hardware which was compiled and is running in 2018.3 Vivado and Petalinux.

I am attaching the hardware files and device tree with this. May be that might be helpful for us.

 

@karnanl 

Is there anyway we can manually reset the buffer because it is attached to the GPIO. 

Thank you.

 

0 Kudos
Observer ibrahimsangi
Observer
1,520 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@florentw @karnanl 

 

Do you have any idea. I looked around for the mipi error in kernel log 

[ 3.871812] xilinx-video amba_pl@0:video_cap_0@0: Entity type for entity b0000000.mipi_csi2_rx_subsystem was not initialized!
[ 3.886399] xilinx-video amba_pl@0:video_cap_0@0: device registered
[ 3.896233] xilinx-video amba_pl@0:video_cap_1@1: Entity type for entity b0020000.mipi_csi2_rx_subsystem was not initialized!
[ 3.910810] xilinx-video amba_pl@0:video_cap_1@1: device registered
[ 3.920608] xilinx-video amba_pl@0:video_cap_2@2: Entity type for entity b0040000.mipi_csi2_rx_subsystem was not initialized!
[ 3.935187] xilinx-video amba_pl@0:video_cap_2@2: device registered
[ 3.944998] xilinx-video amba_pl@0:video_cap_3@3: Entity type for entity b0060000.mipi_csi2_rx_subsystem was not initialized!
[ 3.959580] xilinx-video amba_pl@0:video_cap_3@3: device registered

and I found the patch for it. Do I need to manually patch this driver. Becuase this patch has updated date of March 2019 and the petalinux I am using is 2018.3?

https://lkml.org/lkml/2019/3/22/1829

 

Thank you

0 Kudos
Observer ibrahimsangi
Observer
1,502 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@florentw 

 

Here is an update I configure two MIPI as masters and two as slave. I can not put third one in masters because of the clock resources. 

CAM1 (Master) -> CAM2 (Slave)

CAM3 (Master) -> CAM4 (Slave)

Masters are working great but I can only acquire frames from slaves at first.

Below are the register dumps at startups.

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0000000 32 && printf 'INIT (0x08): ' && devmem 0xb0000008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0000010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0000014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0000018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb000001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0000020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0000024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0000028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0000030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x80060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# 

Following are the yavta commands to get frames:

root@xilinx-ultra96-reva-2018_2:~# width=640
root@xilinx-ultra96-reva-2018_2:~#
root@xilinx-ultra96-reva-2018_2:~# height=480
root@xilinx-ultra96-reva-2018_2:~#
root@xilinx-ultra96-reva-2018_2:~# size=${width}x${height}
root@xilinx-ultra96-reva-2018_2:~#
root@xilinx-ultra96-reva-2018_2:~# frames=8
root@xilinx-ultra96-reva-2018_2:~#
root@xilinx-ultra96-reva-2018_2:~# skip=0
root@xilinx-ultra96-reva-2018_2:~#
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video0
Device /dev/video0 opened.
Device `video_cap_0 output 0' on `platform:video_cap_0:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f9790b000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f97875000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f977df000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f97749000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f976b3000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f9761d000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f97587000.
length: 1 offset: 3464901616 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f974f1000.
Press enter to start capture

0 (0) [-] none 0 0 B 527.748403 527.748422 23.268 fps ts mono/EoF
1 (1) [-] none 1 0 B 527.773991 527.774010 39.081 fps ts mono/EoF
2 (2) [-] none 2 0 B 527.799579 527.799589 39.081 fps ts mono/EoF
3 (3) [-] none 3 0 B 527.825167 527.825179 39.081 fps ts mono/EoF
4 (4) [-] none 4 0 B 527.850754 527.850765 39.082 fps ts mono/EoF
5 (5) [-] none 5 0 B 527.876342 527.876354 39.081 fps ts mono/EoF
6 (6) [-] none 6 0 B 527.901931 527.901941 39.079 fps ts mono/EoF
7 (7) [-] none 7 0 B 527.927519 527.927530 39.081 fps ts mono/EoF
Captured 8 frames in 0.222104 seconds (36.019139 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video0
Device /dev/video0 opened.
Device `video_cap_0 output 0' on `platform:video_cap_0:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fa463f000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fa45a9000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fa4513000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7fa447d000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7fa43e7000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7fa4351000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7fa42bb000.
length: 1 offset: 3656628848 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7fa4225000.
Press enter to start capture

^C
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video1
Device /dev/video1 opened.
Device `video_cap_1 output 0' on `platform:video_cap_1:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fa896e000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fa88d8000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fa8842000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7fa87ac000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7fa8716000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7fa8680000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7fa85ea000.
length: 1 offset: 4139016336 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7fa8554000.
Press enter to start capture

^C
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video2
Device /dev/video2 opened.
Device `video_cap_2 output 0' on `platform:video_cap_2:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f9aa39000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f9a9a3000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f9a90d000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f9a877000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f9a7e1000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f9a74b000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f9a6b5000.
length: 1 offset: 4071268256 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f9a61f000.
Press enter to start capture

0 (0) [-] none 0 0 B 540.658378 540.658449 17.873 fps ts mono/EoF
1 (1) [-] none 1 0 B 540.683966 540.683981 39.081 fps ts mono/EoF
2 (2) [-] none 2 0 B 540.709554 540.709626 39.081 fps ts mono/EoF
3 (3) [-] none 3 0 B 540.735141 540.735152 39.082 fps ts mono/EoF
4 (4) [-] none 4 0 B 540.760729 540.760739 39.081 fps ts mono/EoF
5 (5) [-] none 5 0 B 540.786317 540.786329 39.081 fps ts mono/EoF
6 (6) [-] none 6 0 B 540.811905 540.811916 39.081 fps ts mono/EoF
7 (7) [-] none 7 0 B 540.837493 540.837503 39.081 fps ts mono/EoF
Captured 8 frames in 0.235073 seconds (34.031857 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video3
Device /dev/video3 opened.
Device `video_cap_3 output 0' on `platform:video_cap_3:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f8e3a4000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f8e30e000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f8e278000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f8e1e2000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f8e14c000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f8e0b6000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f8e020000.
length: 1 offset: 3779318688 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f8df8a000.
Press enter to start capture


^C
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video2
Device /dev/video2 opened.
Device `video_cap_2 output 0' on `platform:video_cap_2:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fb978a000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fb96f4000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fb965e000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7fb95c8000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7fb9532000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7fb949c000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7fb9406000.
length: 1 offset: 3914483040 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7fb9370000.
Press enter to start capture

0 (0) [-] none 0 0 B 549.263763 549.263835 22.441 fps ts mono/EoF
1 (1) [-] none 1 0 B 549.289352 549.289368 39.079 fps ts mono/EoF
2 (2) [-] none 2 0 B 549.314940 549.315014 39.081 fps ts mono/EoF
3 (3) [-] none 3 0 B 549.340528 549.340598 39.081 fps ts mono/EoF
4 (4) [-] none 4 0 B 549.366116 549.366126 39.081 fps ts mono/EoF
5 (5) [-] none 5 0 B 549.391705 549.391715 39.079 fps ts mono/EoF
6 (6) [-] none 6 0 B 549.417293 549.417303 39.081 fps ts mono/EoF
7 (7) [-] none 7 0 B 549.442881 549.442963 39.081 fps ts mono/EoF
Captured 8 frames in 0.223760 seconds (35.752536 fps, 0.000000 B/s).
8 buffers released.
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video1
Device /dev/video1 opened.
Device `video_cap_1 output 0' on `platform:video_cap_1:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fad096000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fad000000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7facf6a000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7faced4000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7face3e000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7facda8000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7facd12000.
length: 1 offset: 3823300432 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7facc7c000.
Press enter to start capture

^[[^C
root@xilinx-ultra96-reva-2018_2:~# yavta -c$frames -p -F --skip $skip -f UYVY -s $size /dev/video0
Device /dev/video0 opened.
Device `video_cap_0 output 0' on `platform:video_cap_0:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f8e4d5000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f8e43f000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f8e3a9000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f8e313000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f8e27d000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f8e1e7000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f8e151000.
length: 1 offset: 3539376464 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f8e0bb000.
Press enter to start capture

0 (0) [-] none 0 0 B 558.559716 558.559731 22.600 fps ts mono/EoF
1 (1) [-] none 1 0 B 558.585305 558.585320 39.079 fps ts mono/EoF
2 (2) [-] none 2 0 B 558.610891 558.610902 39.084 fps ts mono/EoF
3 (3) [-] none 3 0 B 558.636480 558.636490 39.079 fps ts mono/EoF
4 (4) [-] none 4 0 B 558.662068 558.662079 39.081 fps ts mono/EoF
5 (5) [-] none 5 0 B 558.687657 558.687667 39.079 fps ts mono/EoF
6 (6) [-] none 6 0 B 558.713245 558.713257 39.081 fps ts mono/EoF
7 (7) [-] none 7 0 B 558.738834 558.738843 39.079 fps ts mono/EoF
Captured 8 frames in 0.223374 seconds (35.814305 fps, 0.000000 B/s).
8 buffers released.

 

 

Following are the register dumps after yavta I can see DL2_ status register is changed.

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0000000 32 && printf 'INIT (0x08): ' && devmem 0xb0000008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0000010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0000014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0000018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb000001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0000020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0000024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0000028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0000030 32
CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x10E00000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32
CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00000000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32
CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x10E00000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
root@xilinx-ultra96-reva-2018_2:~#

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,489 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @ibrahimsangi 

I am not sure what is the root-cause here.
I will contact the person who create this Linux Driver, I hope we can get some guidance from him.

Thanks & regards
Leo

0 Kudos
Xilinx Employee
Xilinx Employee
1,469 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

#Edited by Leo

Hello @ibrahimsangi 

>Sorry, I was trying the same hardware with 2018.2 Vivado and 2018.2 petalinux but
>the problem was slightly different I got MIPI stream buffer full error at all the streams.

Is the buffer you told be above, inside the MIPI CSI-2 RX IP ? or is it the Frame buffer outside MIPI CSI-2 RX IP ?
If this is the buffer inside MIPI CSI-2 RX IP, then you need to reset MIPI CSI-2 RX IP or else this IP will not output video data correctly.

>Is there anyway we can manually reset the buffer because it is attached to the GPIO. 

Disable/Enable MIPI CSI-2 RX IP will flush the internal FIFO.

>Following are the register dumps after yavta I can see DL2_ status register is changed :

CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00000000
DL3_STATUS (0x28): 0x00000000

According to the register dump value, it seems you did not get the register value correctly,
For example INIT_VAL and HS_SETTLE_NS should have non-zero as a default value.


Talking with our driver team just now, it seems that when yavta command is run, it starts streaming of all the IPs in the video pipe from sink to source.
In this case starts framebuffer Write, v_proc_ss, gamma_lut, demosiac, then MIPI CSI2 Rx SS and then finally the camera.
When yavta stops, all the IPs from source to sink will stop. (Reverse of start sequence)
So camera is stopped / not sending any packet when yavta is stopped.


They suggest that we would first need to ensure if the DPHY in the slaves are receiving packets.
We need to see if 31:16 PKT_CNT field in any of the DL_STATUS registers of each of the DPHY registers is toggling when yavta command is run.

Could you please, run yavta for a large number of frames (say 10000 frames) and run it as a background process.
Then run “devmem <address_of_DL_status>” multiple times for each of the DPHYs to see the packet count incrementing.
Please let us know whether or not the PKT_CNT field keeps incrementing when yavta is run.

E.g.
yavta –c10000 -p -F --skip 10000 -f UYVY -s $size /dev/video0 & (run this in background)
devmem 0xb001001C <assuming 0xb000_0000 is mipi csi rx ss base address for video0, 0xb001_0000 is the base address of DPHY)

If the packet count field doesn’t increment while yavta is running, perhaps camera isn’t sending packets or Slave IP is disabled.
I can double check for you if you can share all the register dump result for MIPI CSI-2 RX too...
( Please share both result, when Slave IPs is working and not working )

If the does not increment while yavta is running,
Could you  please run media-ctl test application as follow to see your system video pipeline
“media-ctl –d /dev/media0 –p” will print the video pipeline topography.

Thanks & regards
Leo

0 Kudos
Xilinx Employee
Xilinx Employee
1,463 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @ibrahimsangi 

# Additional information.

At default setting all MIPI CSI-2 RX IP is running,
But when you run yavta to aquired video frame from MIPI CSI-2 RX master and stopped yavta after the process.
It will disabled MIPI CSI-2 RX Master, so you will not be able to acquire data from Slave IPs.

Hope this helps

Thanks
Leo

 

0 Kudos
Observer ibrahimsangi
Observer
1,452 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@karnanl 

I figured out the status register that is changing and I am not sure what it means Can you please tell me the values in DL_status registers 0x24.

I used the g streamer command to live stream the packets and here I figured out one thing. 

at the start all slaves work if they are called first. There DL-Status register 0x24 has 0x00020000. which it loses once I call it second time. and if I call master it also loses this value. Please let me know what is in 0x24 DL status. All the master streams retain this value that's why they are working. I need to retain this value in slaves too to let it work properly

DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
0 Kudos
Observer ibrahimsangi
Observer
1,449 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Now lets consider these steps for one of the slave CAM4 video3 having master video2 CAM3

Master's media CAM3:

 

root@xilinx-ultra96-reva-2018_2:~# media-ctl -d /dev/media2 -p
Media controller API version 4.14.0

Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  4.14.0

Device topology
- entity 1: video_cap_2 output 0 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video2
        pad0: Sink
                <- "a0080000.v_proc_ss":1 [ENABLED]

- entity 5: ov5647 2-0036 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor flags 0
            device node name /dev/v4l-subdev10
        pad0: Source
                -> "b0040000.mipi_csi2_rx_subsystem":1 [ENABLED]

- entity 7: b0040000.mipi_csi2_rx_subsystem (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev11
        pad0: Source
                [fmt:SBGGR8_1X8/640x480]
                -> "a0160000.v_demosaic":0 [ENABLED]
        pad1: Sink
                [fmt:SBGGR8_1X8/640x480]
                <- "ov5647 2-0036":0 [ENABLED]

- entity 10: a0160000.v_demosaic (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev12
        pad0: Sink
                [fmt:SBGGR8_1X8/640x480]
                <- "b0040000.mipi_csi2_rx_subsystem":0 [ENABLED]
        pad1: Source
                [fmt:RBG888_1X24/640x480]
                -> "a0180000.v_gamma_lut":0 [ENABLED]

- entity 13: a0180000.v_gamma_lut (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev13
        pad0: Sink
                [fmt:RBG888_1X24/640x480]
                <- "a0160000.v_demosaic":1 [ENABLED]
        pad1: Source
                [fmt:RBG888_1X24/640x480]
                -> "a0080000.v_proc_ss":0 [ENABLED]

- entity 16: a0080000.v_proc_ss (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev14
        pad0: Sink
                [fmt:RBG888_1X24/640x480]
                <- "a0180000.v_gamma_lut":1 [ENABLED]
        pad1: Source
                [fmt:UYVY8_1X16/640x480]
                -> "video_cap_2 output 0":0 [ENABLED]

 

Slave's media CAM4:

 

root@xilinx-ultra96-reva-2018_2:~# media-ctl -d /dev/media3 -p
Media controller API version 4.14.0

Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  4.14.0

Device topology
- entity 1: video_cap_3 output 0 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video3
        pad0: Sink
                <- "a00c0000.v_proc_ss":1 [ENABLED]

- entity 5: ov5647 3-0036 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor flags 0
            device node name /dev/v4l-subdev15
        pad0: Source
                -> "b0060000.mipi_csi2_rx_subsystem":1 [ENABLED]

- entity 7: b0060000.mipi_csi2_rx_subsystem (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev16
        pad0: Source
                [fmt:SBGGR8_1X8/640x480]
                -> "a0190000.v_demosaic":0 [ENABLED]
        pad1: Sink
                [fmt:SBGGR8_1X8/640x480]
                <- "ov5647 3-0036":0 [ENABLED]

- entity 10: a0190000.v_demosaic (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev17
        pad0: Sink
                [fmt:SBGGR8_1X8/640x480]
                <- "b0060000.mipi_csi2_rx_subsystem":0 [ENABLED]
        pad1: Source
                [fmt:RBG888_1X24/640x480]
                -> "a01b0000.v_gamma_lut":0 [ENABLED]

- entity 13: a01b0000.v_gamma_lut (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev18
        pad0: Sink
                [fmt:RBG888_1X24/640x480]
                <- "a0190000.v_demosaic":1 [ENABLED]
        pad1: Source
                [fmt:RBG888_1X24/640x480]
                -> "a00c0000.v_proc_ss":0 [ENABLED]

- entity 16: a00c0000.v_proc_ss (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev19
        pad0: Sink
                [fmt:RBG888_1X24/640x480]
                <- "a01b0000.v_gamma_lut":1 [ENABLED]
        pad1: Source
                [fmt:UYVY8_1X16/640x480]
                -> "video_cap_3 output 0":0 [ENABLED]

 

 

 

CAM3 Master at startup:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00460000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000

CAM4 Slave at startup: 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000

Now I turned ON the live stream on CAM4 which is working

Master's registers:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00460000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000

Slaves register:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x42A20000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0xE1850000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000

G streamer OFF and then turned ON again nothing is displaying :

Master's :

 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00460000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000

Slave : 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00000000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000

 

I am hoping this would result in some solution. I am thinking there is something wrong with driver

 

 

 

 

 

 

 

 

 

 

 

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,439 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello Ibrahim @ibrahimsangi 

1. Answering your question DL*_STATUS
MIPI D-PHY register bit explanation can be found in PG202 Chapter3.
https://www.xilinx.com/support/documentation/ip_documentation/mipi_dphy/v4_1/pg202-mipi-dphy.pdf

XF_IBRAHIM_DL_STATUS.png

DL2 shows bit[31:16]=0x0002, it means that MIPI D-PHY RX Data Lane2 only receives 2 packet.
While other data lanes shows "0".

2. More importantly, your MIPI D-PHY RX IP is not working (at the time you acquired the register value), because register shows CONTROL (0x00): 0x00000001.
This means D-PHY core is disabled & under reset. ( We should ignore the DL* register status since the IP is disabled/under reset.
XF_IBRAHIM_DPHY_CORE_CONTROL.png

3. From my previous post.

(a) You need to capture the register while yavta is running in the background.
Please, run yavta for a large number of frames (say 10000 frames) and run it as a background process. ( Add "&" on yavta command )

(b) If yavta is not running ( or already captured all the frame ), MIPI IP will be disabled.
As you can see that your D-PHY register CONTROL (0x00): 0x00000001.
This means that MIPI D-PHY core is disabled.

(c) MIPI IP default register setting is enabled.
--So, if you start to capture the frame data from all MIPI slaves IP, all Slaves IP seems working since the Master IP is still enabled.
--But, when you run yavta using Master IP, Master IP will be disabled after all video frames are captured.
--So, if you run yavta (for the second time) to capture video frame from Slaves IP, no Video frame can be captured since Master IP is disabled.

 

Please tell me explanation is not understandable.

Thanks & regards,
Leo

0 Kudos
Xilinx Employee
Xilinx Employee
1,428 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @ibrahimsangi 

If you wish to ensure that MIPI CSI Rx is in running state,
then comment out xcsi2rxss_stop_stream() in xcsi2rxss_s_stream() in the xilinx-csi2rxss.c driver.

Please let me know, if it does not work.

Thanks & regards
Leo

0 Kudos
Observer ibrahimsangi
Observer
1,381 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Thank you @karnanl 

I am sorry I just figured out that I was reading the wrong registers. Those registers were MIPI CSI-2 RX controller core. For MIPI D-Phy core registers there is an offset. Please let me know if I am wrong here. According below doc page 18.

https://www.xilinx.com/support/documentation/ip_documentation/mipi_csi2_rx_subsystem/v4_0/pg232-mipi-csi2-rx.pdf

MIPIR.PNG

This means my MIPI CSI-2 registers would be at base addresses : 0xb0000000 whereas MIPI D-phy would be at 0xb0010000 with an offset of 0x10000 since I am not using AXI IIC.

Now I can share the MIPI D-phy register as well as MIPI CSI-2 dumps. (For more easy debuging I made it more simple by having one master and 3 slave MIPIs)

CAM1 (Master)

CAM2 (Slave)

CAM3 (Slave)

CAM4 (Slave)

At startup here we can see that the initialzation is perfect. CSI-2 and D-Phy are initialized well.

CAM1 Master:

 

printf 'CONTROL (0x00): ' && devmem 0xb0010000 32 && printf 'INIT (0x08): ' && devmem 0xb0010008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0010010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0010014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0010018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb001001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0010020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0010024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0010028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0010030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x01E20008
DL1_STATUS (0x20): 0x01E20008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093
root@xilinx-ultra96-reva-2018_2:~#

CAM2 Slave:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x01E20008
DL1_STATUS (0x20): 0x01E20008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093
root@xilinx-ultra96-reva-2018_2:~#

CAM3 Slave:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0040000 32 && printf 'INIT (0x08): ' && devmem 0xb0040008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0040010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0040014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0040018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb004001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0040020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0040024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0040028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0040030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0050000 32 && printf 'INIT (0x08): ' && devmem 0xb0050008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0050010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0050014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0050018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb005001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0050020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0050024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0050028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0050030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00460000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x00B70008
DL1_STATUS (0x20): 0x00B70008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093

CAM4 Slave:

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0060000 32 && printf 'INIT (0x08): ' && devmem 0xb0060008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0060010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0060014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0060018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb006001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0060020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0060024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0060028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0060030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0070000 32 && printf 'INIT (0x08): ' && devmem 0xb0070008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0070010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0070014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0070018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb007001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0070020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0070024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0070028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0070030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00460000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x00C60008
DL1_STATUS (0x20): 0x00C60008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093

 

Now when I call for yavta for the first time on CAM2 I can see the packet counter increase while yavta is running in another terminal on the display port. 

 

yavta -c1000 -p -F --skip 1000 -f UYVY -s 640x480 /dev/video1

Following is the samples of registers while yavta was running for CAM2 which means we are getting packets

 

 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x7D540000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x80EA0048
DL1_STATUS (0x20): 0x80EA0048
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x2A200000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x87220048
DL1_STATUS (0x20): 0x87220048
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0xA1E10000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000009
DL0_STATUS (0x1C): 0xEFA20048
DL1_STATUS (0x20): 0xEFA20048
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093
root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x25600000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x79EE0048
DL1_STATUS (0x20): 0x7AE20048
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093

 

once we endup with yavta command

 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000000
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0xC0130000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00020000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000000
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00000000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000093

Now I am running yavta again on same slave: Getting nothing but the D-phy and CSI-2 are enabled and out of reset. 

 

 

root@xilinx-ultra96-reva-2018_2:~# printf 'CONTROL (0x00): ' && devmem 0xb0020000 32 && printf 'INIT (0x08): ' && devmem 0xb0020008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0020010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0020014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0020018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb002001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0020020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0020024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0020028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0020030 32 && printf 'MIPI DPHY:\n\r' &&\
>
> printf 'CONTROL (0x00): ' && devmem 0xb0030000 32 && printf 'INIT (0x08): ' && devmem 0xb0030008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0030010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0030014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0030018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb003001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0030020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0030024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0030028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0030030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000001
DL2_STATUS (0x24): 0x00000000
DL3_STATUS (0x28): 0x803DFFFF
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000008
DL0_STATUS (0x1C): 0x00000008
DL1_STATUS (0x20): 0x00000008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093

Let me also share the masters resgisters:

 

 

printf 'CONTROL (0x00): ' && devmem 0xb0010000 32 && printf 'INIT (0x08): ' && devmem 0xb0010008 32 && printf 'HS_TIMEOUT (0x10): ' && devmem 0xb0010010 32 && printf 'ESC_TIMEOUT (0x14): ' && devmem 0xb0010014 32 &&printf 'CL_STATUS (0x18): ' && devmem 0xb0010018 32 && printf 'DL0_STATUS (0x1C): ' && devmem 0xb001001C 32 && printf 'DL1_STATUS (0x20): ' && devmem 0xb0010020 32 && printf 'DL2_STATUS (0x24): ' && devmem 0xb0010024 32 && printf 'DL3_STATUS (0x28): ' && devmem 0xb0010028 32 && printf 'HS_SETTLE (0x30): ' && devmem 0xb0010030 32
CONTROL (0x00): 0x00000001
INIT (0x08): 0x00000000
HS_TIMEOUT (0x10): 0x001A0002
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000000
DL0_STATUS (0x1C): 0x00000000
DL1_STATUS (0x20): 0x00000000
DL2_STATUS (0x24): 0x00060000
DL3_STATUS (0x28): 0x00000000
HS_SETTLE (0x30): 0x00000000
MIPI DPHY:
CONTROL (0x00): 0x00000002
INIT (0x08): 0x000186A0
HS_TIMEOUT (0x10): 0x00000000
ESC_TIMEOUT (0x14): 0x00000000
CL_STATUS (0x18): 0x00000018
DL0_STATUS (0x1C): 0x01E20008
DL1_STATUS (0x20): 0x01E20008
DL2_STATUS (0x24): 0x00000008
DL3_STATUS (0x28): 0x00000008
HS_SETTLE (0x30): 0x00000093

So in this case I should get the frames. Seems that there should not be a problem.

 

Now let me tell you another story that I have seen.

At this point when slave CAM2 is not working. I can make it work by doing following.

- Call yavta to capture frames from master CAM1

root@xilinx-ultra96-reva-2018_2:~# yavta -c10 -p -F --skip 10 -f UYVY -s 640x480 /dev/video0
Device /dev/video0 opened.
Device `video_cap_0 output 0' on `platform:video_cap_0:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f8d1e8000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f8d152000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f8d0bc000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f8d026000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f8cf90000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f8cefa000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f8ce64000.
length: 1 offset: 3610519056 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f8cdce000.
Press enter to start capture

0 (0) [-] none 0 0 B 1629.215781 1629.215797 26.098 fps ts mono/EoF
1 (1) [-] none 1 0 B 1629.241366 1629.241376 39.085 fps ts mono/EoF
2 (2) [-] none 2 0 B 1629.266952 1629.266962 39.084 fps ts mono/EoF
3 (3) [-] none 3 0 B 1629.292538 1629.292548 39.084 fps ts mono/EoF
4 (4) [-] none 4 0 B 1629.318124 1629.318134 39.084 fps ts mono/EoF
5 (5) [-] none 5 0 B 1629.343710 1629.343719 39.084 fps ts mono/EoF
6 (6) [-] none 6 0 B 1629.369295 1629.369306 39.085 fps ts mono/EoF
7 (7) [-] none 7 0 B 1629.394881 1629.394891 39.084 fps ts mono/EoF
8 (0) [-] none 8 0 B 1629.420467 1629.420477 39.084 fps ts mono/EoF
9 (1) [-] none 9 0 B 1629.446053 1629.446062 39.084 fps ts mono/EoF
Captured 10 frames in 0.268598 seconds (37.230322 fps, 0.000000 B/s).
8 buffers released.

- Call yavta to capture frames from Slave CAM2 (I would not get any packet until I third command)

root@xilinx-ultra96-reva-2018_2:~# yavta -c10 -p -F --skip 10 -f UYVY -s 640x480 /dev/video1
Device /dev/video1 opened.
Device `video_cap_1 output 0' on `platform:video_cap_1:0' is a video output (without mplanes) device.
Video format set: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
Video format: UYVY (59565955) 640x480 field none, 1 planes:
 * Stride 1280, buffer size 614400
8 buffers requested.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7f87cef000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7f87c59000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7f87bc3000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x7f87b2d000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x7f87a97000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x7f87a01000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0x7f8796b000.
length: 1 offset: 3391659296 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0x7f878d5000.
Press enter to start capture




- Enable MIPI Master 

 

devmem 0xb0000000 32 1 && devmem 0xb0010000 32 2

After this I am getting packets.

 

 

 

 

 

0 Kudos
Observer ibrahimsangi
Observer
1,413 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @karnanl 

 

Can you please tell what is the good method to comment xcsi2rxss_stop_stream()

I did it by going into the working folder 

build/tmp/worked-shared/ultra96-zynqmp/kernel-source/drivers/media/plateform/xilinx/xilinx-csi2rxss.c

then I compiled the kernel again using 

petalinux-build -c kernel -x compile

petalinux-build

I may be wrong. that's why it is not working properly.

Thank you

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,387 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello Ibrahim @ibrahimsangi 

You cannot modify the source file directly, it will get over-written when you re-compiled Petalinux.

You need to create a path file and apply with this flow :
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips#PetaLinuxYoctoTips-PatchingtheLinuxKernelofaPetaLinuxProject

If you needs assistance on generating patch file , please post a question on Embedded Linux board:
   https://forums.xilinx.com/t5/Embedded-Linux/bd-p/ELINUX

 


Thanks & regards
Leo

Observer ibrahimsangi
Observer
1,311 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

All streams are working. I am not disabling MIPI through yavta.
Thanks for the patching help.
Just want to share if someone who is beginner and don't know how to patch here is the quick solution.
video how to make patch:
https://www.youtube.com/watch?v=LLBrBBImJt4
Link how to create a Patch:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842172/Create+and+Submit+a+Patch
Link how to use that patch:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips#PetaLinuxYoctoTips-PatchingtheLinuxKernelofaPetaLinuxProject

Observer ibrahimsangi
Observer
1,312 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@karnanl 

 

The patch worked nice with yavta but I am getting an issue with Gstreamer. When I close Gstreamer while it was streaming. I am getting MIPI line buffer full errors. 

[ 1090.690079] xilinx-csi2rxss b0000000.mipi_csi2_rx_subsystem: Stream Line Buffer Full!
0 Kudos
Xilinx Employee
Xilinx Employee
1,279 Views
Registered: ‎03-30-2016

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

Hello @ibrahimsangi 

It will happen because your MIPI instances are enabled, but since the back-end is disabled (cannot accept any video data).
video_out_tready is set to low, so buffer inside MIPI CSI-2 RX IP will be full. 

Thanks & regards
Leo

0 Kudos
Observer ibrahimsangi
Observer
1,241 Views
Registered: ‎01-24-2019

Re: Four MIPI CSI-2 Rx IPs error in implementation

Jump to solution

@karnanl 

 

Now, All four streams are working with Yavta and G-streamer without any errors.

Here is the solution (Patch to xilinx-csi2rxss.c)  I commented the core disable funtion. Since we need to clear the interrupts. So that they donot bother us later.

static void xcsi2rxss_stop_stream(struct xcsi2rxss_state *xcsi2rxss)
{
	xcsi2rxss_interrupts_enable(&xcsi2rxss->core, false);
//	xcsi2rxss_enable(&xcsi2rxss->core, false);
}

Thanks for the help. God bless you!

 

View solution in original post