ADV7282-m no data output on IMX8MM

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ADV7282-m no data output on IMX8MM

Jump to solution
1,294 Views
KasparZ
Contributor II

I use iMX8MMINI in combination with pico-pi evaluation board. I'm trying to connect adv7282-m converter (with mainline driver https://github.com/TechNexion/linux-tn-imx/blob/tn-imx_5.10.72_2.2.0-next/drivers/media/i2c/adv7180.c) to the Camera2 mipi interface. I got it initalized on the i2c and mipi busses, clocks and data seem to start flowing judging by the oscillograph readings. On attempt to record data with gstreamer, however, no frames are recorded into file. Module doesn't seem to throw errors, but gstreamer throws warning of impossibility to subscribe v4l2src events

I modified driver to output some extra logs in attempt to trace the error, but didn't get much luck out of it

I build the module from the Technexion github repo kernel version 5.10.72_2.2.0-next. As a rootfs baseline I use https://ftp.technexion.com/images/pico-imx8mm/pi-dsi1280x720/ubuntu-20.04.xz image since it has gstreamer vpu support out of the box. Module is installed separately with insmod

Attached are dmesg logs

Spoiler
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.10.72-2.2.0-next+gc5fcbf2bc423 (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP PREEMPT Fri Dec 16 10:00:00 UTC 2022
[ 0.000000] Machine model: TechNexion PICO-IMX8MM and PI baseboard
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000090000000, size 640 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x13f7c4700-0x13f7c6fff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x000000013fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x00000000b7ffffff]
[ 0.000000] node 0: [mem 0x00000000b8000000-0x00000000b83fffff]
[ 0.000000] node 0: [mem 0x00000000b8400000-0x000000013fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff]
[ 0.000000] On node 0 totalpages: 1048576
[ 0.000000] DMA zone: 12288 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 786432 pages, LIFO batch:63
[ 0.000000] Normal zone: 4096 pages used for memmap
[ 0.000000] Normal zone: 262144 pages, LIFO batch:63
[ 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] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 24 pages/cpu s61080 r8192 d29032 u98304
[ 0.000000] pcpu-alloc: s61080 r8192 d29032 u98304 alloc=24*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] CPU features: detected: GIC system register CPU interface
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1032192
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk2p2 rootwait rw
[ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000fbfff000-0x00000000fffff000] (64MB)
[ 0.000000] Memory: 3363028K/4194304K available (15742K kernel code, 1462K rwdata, 4564K rodata, 2496K init, 1007K bss, 175916K reserved, 655360K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode
  [ 0.000000] GICv3: 128 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000
[ 0.000000] ITS: No ITS available, not enabling LPIs
[ 0.000000] random: get_random_bytes called from start_kernel+0x320/0x534 with crng_init=0
[ 0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[ 0.000004] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[ 0.000405] Console: colour dummy device 80x25
[ 0.000459] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)
[ 0.000472] pid_max: default: 32768 minimum: 301
[ 0.000542] LSM: Security Framework initializing
[ 0.000604] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.000623] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.001851] rcu: Hierarchical SRCU implementation.
[ 0.003049] smp: Bringing up secondary CPUs ...
[ 0.003409] Detected VIPT I-cache on CPU1
[ 0.003435] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
[ 0.003477] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.003889] Detected VIPT I-cache on CPU2
[ 0.003908] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
[ 0.003934] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.004324] Detected VIPT I-cache on CPU3
[ 0.004342] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
[ 0.004370] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.004428] smp: Brought up 1 node, 4 CPUs
[ 0.004445] SMP: Total of 4 processors activated.
[ 0.004452] CPU features: detected: 32-bit EL0 Support
[ 0.004458] CPU features: detected: CRC32 instructions
[ 0.004465] CPU features: detected: 32-bit EL1 Support
[ 0.004507] CPU: All CPU(s) started at EL2
[ 0.004527] alternatives: patching kernel code
[ 0.006208] devtmpfs: initialized
[ 0.012844] KASLR disabled due to lack of seed
[ 0.012994] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.013010] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.030113] pinctrl core: initialized pinctrl subsystem
[ 0.031064] NET: Registered protocol family 16
[ 0.038178] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[ 0.039128] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.040165] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.040228] audit: initializing netlink subsys (disabled)
[ 0.040447] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1
[ 0.041040] thermal_sys: Registered thermal governor 'step_wise'
[ 0.041316] cpuidle: using governor menu
[ 0.041838] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.041918] ASID allocator initialised with 65536 entries
[ 0.042806] imx mu driver is registered.
  [ 0.042830] imx rpmsg driver is registered.
[ 0.069962] imx8mm-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[ 0.084306] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.084321] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.084330] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.084339] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.085247] cryptd: max_cpu_qlen set to 1000
[ 0.089226] iommu: Default domain type: Translated
[ 0.089374] vgaarb: loaded
[ 0.089630] SCSI subsystem initialized
[ 0.089773] libata version 3.00 loaded.
[ 0.089937] usbcore: registered new interface driver usbfs
[ 0.089970] usbcore: registered new interface driver hub
[ 0.089997] usbcore: registered new device driver usb
[ 0.091114] mc: Linux media interface: v0.10
[ 0.091142] videodev: Linux video capture interface: v2.00
[ 0.091211] pps_core: LinuxPPS API ver. 1 registered
[ 0.091217] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.091232] PTP clock support registered
[ 0.091374] EDAC MC: Ver: 3.0.0
[ 0.092296] No BMan portals available!
[ 0.092550] QMan: Allocated lookup table at (____ptrval____), entry count 65537
[ 0.092845] No QMan portals available!
[ 0.093290] No USDPAA memory, no 'fsl,usdpaa-mem' in device-tree
[ 0.093791] Advanced Linux Sound Architecture Driver Initialized.
[ 0.094405] Bluetooth: Core ver 2.22
[ 0.094432] NET: Registered protocol family 31
[ 0.094440] Bluetooth: HCI device and connection manager initialized
[ 0.094450] Bluetooth: HCI socket layer initialized
[ 0.094460] Bluetooth: L2CAP socket layer initialized
[ 0.094474] Bluetooth: SCO socket layer initialized
[ 0.095214] clocksource: Switched to clocksource arch_sys_counter
[ 0.095380] VFS: Disk quotas dquot_6.6.0
[ 0.095430] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.101389] NET: Registered protocol family 2
[ 0.101541] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.103055] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[ 0.103104] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.103339] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[ 0.103812] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.103920] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.103999] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[ 0.104190] NET: Registered protocol family 1
[ 0.104583] RPC: Registered named UNIX socket transport module.
[ 0.104590] RPC: Registered udp transport module.
[ 0.104597] RPC: Registered tcp transport module.
[ 0.104604] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.105317] PCI: CLS 0 bytes, default 64
[ 0.105971] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 0.106653] kvm [1]: IPA Size Limit: 40 bits
[ 0.107779] kvm [1]: GICv3: no GICV resource entry
[ 0.107785] kvm [1]: disabling GICv2 emulation
[ 0.107791] kvm [1]: GIC system register CPU interface enabled
[ 0.107862] kvm [1]: vgic interrupt IRQ9
[ 0.107967] kvm [1]: Hyp mode initialized successfully
[ 0.110784] Initialise system trusted keyrings
[ 0.110893] workingset: timestamp_bits=42 max_order=20 bucket_order=0
[ 0.116656] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.117388] 9p: Installing v9fs 9p2000 file system support
[ 0.152976] NET: Registered protocol family 38
[ 0.152990] Key type asymmetric registered
[ 0.152997] Asymmetric key parser 'x509' registered
[ 0.153039] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.153047] io scheduler mq-deadline registered
[ 0.153055] io scheduler kyber registered
[ 0.166360] imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 0.166377] imx-sdma 302c0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[ 0.174060] mxs-dma 33000000.dma-controller: initialized
[ 0.175246] Bus freq driver module loaded
[ 0.180509] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 38, base_baud = 5000000) is a IMX
[ 0.181235] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 39, base_baud = 5000000) is a IMX
[ 0.181777] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 40, base_baud = 1500000) is a IMX
[ 1.152807] printk: console [ttymxc1] enabled
[ 1.162791] imx-drm 32c00000.bus:display-subsystem: bound imx-lcdif-crtc.0 (ops 0xffff80001101edc0)
[ 1.172125] [drm] Initialized imx-drm 1.0.0 20120507 for 32c00000.bus:display-subsystem on minor 0
[ 1.190986] loop: module loaded
[ 1.194232] pn54x_dev_init
[ 1.198709] imx ahci driver is registered.
[ 1.206271] libphy: Fixed MDIO Bus: probed
[ 1.210774] tun: Universal TUN/TAP device driver, 1.6
[ 1.216861] pps pps0: new PPS source ptp0
[ 1.226323] libphy: fec_enet_mii_bus: probed
[ 1.232149] fec 30be0000.ethernet eth0: registered PHC device 0
[ 1.238874] Freescale FM module, FMD API version 21.1.0
[ 1.244357] Freescale FM Ports module
[ 1.248030] fsl_mac: fsl_mac: FSL FMan MAC API based driver
[ 1.253760] fsl_dpa: FSL DPAA Ethernet driver
[ 1.258222] fsl_advanced: FSL DPAA Advanced drivers:
[ 1.263191] fsl_proxy: FSL DPAA Proxy initialization driver
[ 1.268870] fsl_oh: FSL FMan Offline Parsing port driver
[ 1.274976] PPP generic driver version 2.4.2
[ 1.279585] VFIO - User Level meta-driver version: 0.3
[ 1.286704] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.293247] ehci-pci: EHCI PCI platform driver
[ 1.297727] ehci-platform: EHCI generic platform driver
[ 1.303129] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.309331] ohci-pci: OHCI PCI platform driver
[ 1.313804] ohci-platform: OHCI generic platform driver
[ 1.319647] usbcore: registered new interface driver usb-storage
[ 1.325724] usbcore: registered new interface driver usbserial_generic
[ 1.332274] usbserial: USB Serial support registered for generic
[ 1.338308] usbcore: registered new interface driver ftdi_sio
[ 1.344083] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 1.351417] usbcore: registered new interface driver qcserial
[ 1.357185] usbserial: USB Serial support registered for Qualcomm USB modem
[ 1.364216] usbcore: registered new interface driver usb_serial_simple
[ 1.370771] usbserial: USB Serial support registered for carelink
[ 1.376888] usbserial: USB Serial support registered for zio
[ 1.382567] usbserial: USB Serial support registered for funsoft
[ 1.388593] usbserial: USB Serial support registered for flashloader
[ 1.394970] usbserial: USB Serial support registered for google
[ 1.400909] usbserial: USB Serial support registered for libtransistor
[ 1.407455] usbserial: USB Serial support registered for vivopay
[ 1.413480] usbserial: USB Serial support registered for moto_modem
[ 1.419769] usbserial: USB Serial support registered for motorola_tetra
[ 1.426408] usbserial: USB Serial support registered for novatel_gps
[ 1.432780] usbserial: USB Serial support registered for hp4x
[ 1.438548] usbserial: USB Serial support registered for suunto
[ 1.444487] usbserial: USB Serial support registered for siemens_mpi
[ 1.450868] usbcore: registered new interface driver xr_serial
[ 1.456721] usbserial: USB Serial support registered for xr_serial
[ 1.465540] usbcore: registered new interface driver usbtouchscreen
[ 1.472095] i2c /dev entries driver
[ 1.476070] mx6s-csi 32e20000.csi1_bridge: initialising
[ 1.482055] mxc_mipi-csi 32e30000.mipi_csi: supply mipi-phy not found, using dummy regulator
[ 1.490740] mxc_mipi-csi 32e30000.mipi_csi: mipi csi v4l2 device registered
[ 1.497716] CSI: Registered sensor subdevice: mxc_mipi-csi.0
[ 1.503400] mxc_mipi-csi 32e30000.mipi_csi: lanes: 1, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 333000000
[ 1.515690] Bluetooth: HCI UART driver ver 2.3
[ 1.520154] Bluetooth: HCI UART protocol H4 registered
[ 1.525300] Bluetooth: HCI UART protocol BCSP registered
[ 1.530635] Bluetooth: HCI UART protocol LL registered
[ 1.535781] Bluetooth: HCI UART protocol ATH3K registered
[ 1.541205] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 1.547553] Bluetooth: HCI UART protocol Broadcom registered
[ 1.553239] Bluetooth: HCI UART protocol QCA registered
[ 1.559722] sdhci: Secure Digital Host Controller Interface driver
[ 1.565914] sdhci: Copyright(c) Pierre Ossman
[ 1.570406] Synopsys Designware Multimedia Card Interface Driver
[ 1.576979] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.583670] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 1.583789] sdhci-esdhc-imx 30b50000.mmc: voltage-ranges unspecified
[ 1.588149] sdhci-esdhc-imx 30b60000.mmc: voltage-ranges unspecified
[ 1.603126] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.610371] caam-snvs 30370000.caam-snvs: violation handlers armed - init state
[ 1.618408] usbcore: registered new interface driver usbhid
[ 1.619818] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[ 1.623989] usbhid: USB HID core driver
[ 1.626109] No fsl,qman node
[ 1.637854] Freescale USDPAA process driver
[ 1.642088] fsl-usdpaa: no region found
[ 1.645937] Freescale USDPAA process IRQ driver
[ 1.655810] galcore: clk_get vg clock failed, disable vg!
[ 1.661633] Galcore version 6.4.3.p2.336687
[ 1.728183] [drm] Initialized vivante 1.0.0 20170808 for 38000000.gpu on minor 1
[ 1.737767] hantrodec 0 : module inserted. Major = 237
[ 1.743245] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[ 1.743627] hantrodec 1 : module inserted. Major = 237
[ 1.750843] mmcblk2: mmc2:0001 TB2916 14.6 GiB
[ 1.755769] hx280enc: module inserted. Major <236>
[ 1.759480] mmcblk2boot0: mmc2:0001 TB2916 partition 1 4.00 MiB
[ 1.770230] mmcblk2boot1: mmc2:0001 TB2916 partition 2 4.00 MiB
[ 1.770430] pktgen: Packet Generator for packet performance testing. Version: 2.75
[ 1.776309] mmcblk2rpmb: mmc2:0001 TB2916 partition 3 4.00 MiB, chardev (238:0)
[ 1.793959] NET: Registered protocol family 26
[ 1.798923] NET: Registered protocol family 10
[ 1.803466] mmcblk2: p1 p2
[ 1.805035] Segment Routing with IPv6
[ 1.810021] NET: Registered protocol family 17
[ 1.815239] Bluetooth: RFCOMM TTY layer initialized
[ 1.820139] Bluetooth: RFCOMM socket layer initialized
[ 1.825299] Bluetooth: RFCOMM ver 1.11
[ 1.829083] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1.834410] Bluetooth: BNEP filters: protocol multicast
[ 1.839648] Bluetooth: BNEP socket layer initialized
[ 1.844623] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1.850551] Bluetooth: HIDP socket layer initialized
[ 1.855519] 8021q: 802.1Q VLAN Support v1.8
[ 1.859731] lib80211: common routines for IEEE802.11 drivers
[ 1.865396] lib80211_crypt: registered algorithm 'NULL'
[ 1.865401] lib80211_crypt: registered algorithm 'WEP'
[ 1.865404] lib80211_crypt: registered algorithm 'CCMP'
[ 1.865408] lib80211_crypt: registered algorithm 'TKIP'
[ 1.865505] 9pnet: Installing 9P2000 support
[ 1.869812] tsn generic netlink module v1 init...
[ 1.874604] Key type dns_resolver registered
[ 1.879790] registered taskstats version 1
[ 1.883929] Loading compiled-in X.509 certificates
[ 1.910073] usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
[ 1.918017] usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
[ 1.945913] LDO6: supplied by regulator-dummy
[ 1.951398] i2c i2c-0: IMX I2C adapter registered
[ 1.957913] hd3ss3220 1-0067: No vbus found.(Normal if USB2.0 or lower.)
[ 1.966858] hd3ss3220 1-0067: probed revision=0x2
[ 1.971705] i2c i2c-1: IMX I2C adapter registered
[ 1.977521] i2c i2c-2: IMX I2C adapter registered
[ 1.983517] SoC: i.MX8MM revision 1.0
[ 1.987425] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 3 mkt segment 0 supported-hw 0x8 0x1
[ 2.105275] imx_usb 32e50000.usb: No over current polarity defined
[ 2.114336] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 2.119240] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[ 2.139650] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 2.146089] hub 1-0:1.0: USB hub found
[ 2.149873] hub 1-0:1.0: 1 port detected
[ 2.158071] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 2.158351] caam 30900000.crypto: device ID = 0x0a16040100000000 (Era 9)
[ 2.158431] sdhci-esdhc-imx 30b50000.mmc: voltage-ranges unspecified
[ 2.158465] sdhci-esdhc-imx 30b50000.mmc: Got CD GPIO
[ 2.182608] caam 30900000.crypto: job rings = 3, qi = 0
[ 2.190866] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
[ 2.195220] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
[ 2.200185] caam algorithms registered in /proc/crypto
[ 2.211134] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto
[ 2.218565] caam 30900000.crypto: registering rng-caam
[ 2.224927] Device caam-keygen registered
[ 2.232485] input: bd718xx-pwrkey as /devices/platform/soc@0/30800000.bus/30a20000.i2c/i2c-0/0-004b/gpio-keys.0.auto/input/input0
[ 2.236174] random: fast init done
[ 2.241756] mmc0: queuing unknown CIS tuple 0x01 (3 bytes)
[ 2.245239] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 2.249576] mmc0: queuing unknown CIS tuple 0x1a (5 bytes)
[ 2.262133] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 2.272940] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 2.276968] ALSA device list:
[ 2.281609] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 2.281625] random: crng init done
[ 2.284542] No soundcards found.
[ 2.295033] mmc0: queuing unknown CIS tuple 0x1b (8 bytes)
[ 2.305255] mmc0: queuing unknown CIS tuple 0x14 (0 bytes)
[ 2.312730] mmc0: queuing unknown CIS tuple 0x80 (1 bytes)
[ 2.316289] EXT4-fs (mmcblk2p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.318297] mmc0: queuing unknown CIS tuple 0x81 (1 bytes)
[ 2.326378] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.331887] mmc0: queuing unknown CIS tuple 0x82 (1 bytes)
[ 2.338823] devtmpfs: mounted
[ 2.343348] mmc0: new high speed SDIO card at address 0001
[ 2.346916] Freeing unused kernel memory: 2496K
[ 2.367580] Run /sbin/init as init process
[ 2.371690] with arguments:
[ 2.371693] /sbin/init
[ 2.371696] with environment:
[ 2.371699] HOME=/
[ 2.371701] TERM=linux
[ 2.550088] systemd[1]: System time before build time, advancing clock.
[ 2.590014] systemd[1]: systemd 245.4-4ubuntu3.20 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[ 2.612985] systemd[1]: Detected architecture arm64.
[ 2.663895] systemd[1]: Set hostname to <picoimx8mm>.
[ 3.042703] systemd[1]: system-modprobe.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 3.055403] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[ 3.065692] systemd[1]: Created slice system-modprobe.slice.
[ 3.089060] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 3.112439] systemd[1]: Created slice User and Session Slice.
[ 3.136062] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ 3.160130] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 3.183597] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[ 3.195343] systemd[1]: Reached target Local Encrypted Volumes.
[ 3.219465] systemd[1]: Reached target Slices.
[ 3.235359] systemd[1]: Reached target Mounting snaps.
[ 3.255399] systemd[1]: Reached target Mounted snaps.
[ 3.275314] systemd[1]: Reached target Swap.
[ 3.292303] systemd[1]: Listening on RPCbind Server Activation Socket.
[ 3.316456] systemd[1]: Listening on fsck to fsckd communication Socket.
[ 3.339823] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ 3.364690] systemd[1]: Listening on Journal Audit Socket.
[ 3.388012] systemd[1]: Listening on Journal Socket (/dev/log).
[ 3.412343] systemd[1]: Listening on Journal Socket.
[ 3.431897] systemd[1]: Listening on Network Service Netlink Socket.
[ 3.456495] systemd[1]: Listening on udev Control Socket.
[ 3.480150] systemd[1]: Listening on udev Kernel Socket.
[ 3.507629] systemd[1]: Mounting Huge Pages File System...
[ 3.530695] systemd[1]: Mounting POSIX Message Queue File System...
[ 3.551574] systemd[1]: proc-sys-fs-binfmt_misc.mount: Failed to check directory /proc/sys/fs/binfmt_misc: No such file or directory
[ 3.566083] systemd[1]: Mounting Arbitrary Executable File Formats File System...
[ 3.594531] systemd[1]: Mounting RPC Pipe File System...
[ 3.618601] systemd[1]: Mounting Kernel Debug File System...
[ 3.639952] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[ 3.652772] systemd[1]: Starting Journal Service...
[ 3.674926] systemd[1]: Starting Set the console keyboard layout...
[ 3.695505] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[ 3.698606] systemd[1]: Starting Load Kernel Module chromeos_pstore...
[ 3.731454] systemd[1]: Condition check resulted in Load Kernel Module drm being skipped.
[ 3.742634] systemd[1]: Starting Load Kernel Module efi_pstore...
[ 3.766338] systemd[1]: Starting Load Kernel Module pstore_blk...
[ 3.790207] systemd[1]: Starting Load Kernel Module pstore_zone...
[ 3.818508] systemd[1]: Starting Load Kernel Module ramoops...
[ 3.844323] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 3.861502] systemd[1]: Starting Load Kernel Modules...
[ 3.877049] snd_soc_tfa98xx: loading out-of-tree module taints kernel.
[ 3.885211] tfa98xx_i2c_init(): TFA98XX driver version v6.7.4
[ 3.886892] systemd[1]: Starting Remount Root and Kernel File Systems...
[ 3.908671] systemd[1]: Starting Wait Until Kernel Time Synchronized...
[ 3.910611] EXT4-fs (mmcblk2p2): re-mounted. Opts: (null)
[ 3.938755] systemd[1]: Starting udev Coldplug all Devices...
[ 3.963714] systemd[1]: Started Journal Service.
[ 4.281451] systemd-journald[298]: Received client request to flush runtime journal.
[ 4.300531] systemd-journald[298]: File /var/log/journal/43395653d6da382e1e1c2cd862bac943/system.journal corrupted or uncleanly shut down, renaming and replacing.
[ 5.346875] imx-sdma 302c0000.dma-controller: firmware found.
[ 5.346980] imx-sdma 302c0000.dma-controller: loaded firmware 4.6
[ 5.346998] imx-sdma 302b0000.dma-controller: firmware found.
[ 5.347070] imx-sdma 30bd0000.dma-controller: firmware found.[ 5.803001] zram: Added device: zram0
[ 5.803837] zram: Added device: zram1
[ 5.804442] zram: Added device: zram2
[ 5.805040] zram: Added device: zram3
[ 5.877878] zram0: detected capacity change from 0 to 257339392
[ 5.971332] Adding 251304k swap on /dev/zram0. Priority:5 extents:1 across:251304k SS
[ 5.977346] zram1: detected capacity change from 0 to 257339392
[ 6.055941] Adding 251304k swap on /dev/zram1. Priority:5 extents:1 across:251304k SS
[ 6.057906] zram2: detected capacity change from 0 to 257339392
[ 6.107325] Adding 251304k swap on /dev/zram2. Priority:5 extents:1 across:251304k SS
[ 6.108888] zram3: detected capacity change from 0 to 257339392
[ 6.147407] Adding 251304k swap on /dev/zram3. Priority:5 extents:1 across:251304k SS
[ 6.995280] wlan: loading driver v4.5.25.57+gd846ae05c
[ 7.004066] hifDeviceInserted: Dumping clocks (50000000,400000000)
[ 7.113303] Qualcomm Atheros AR8031/AR8033 30be0000.ethernet-1:01: attached PHY driver [Qualcomm Atheros AR8031/AR8033] (mii_bus:phy_addr=30be0000.ethernet-1:01, irq=POLL)
[ 7.309787] ol_download_firmware: chip_id:0x5020001 board_id:0x0
[ 7.331340] Board extended Data download address: 0x0
[ 8.025838] ar6k_wlan mmc0:0001:1: Direct firmware load for wlan/wlan_mac.bin failed with error -2
[ 8.025850] ar6k_wlan mmc0:0001:1: Falling back to sysfs fallback for: wlan/wlan_mac.bin
[ 8.030274] target uses HTT version 3.60; host uses 3.28
[ 8.030288] *** Warning: host/target HTT versions are different, though compatible!
[ 8.072967] Host SW:4.5.25.57+gd846ae05c, FW:0.0.0.136, HW:QCA93x7_REV1_1
[ 8.123668] ENTER sme_set_btc_coex_dutycycle = 30
[ 8.123676] ENTER sme_set_btc_coex_dutycycle =30
[ 8.128685] ath_hif_sdio: HIF (Atheros/multi-bss)
[ 8.133378] wlan: driver loaded in 1140000
[ 15.029811] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 33.759298] usb_otg_vbus: disabling
[ 33.759308] backlight_pwr: disabling
[ 285.453039] adv7180: adv7180_probe
[ 285.453407] adv7180: adv7180_init_controls
[ 285.453437] adv7180: to_state
[ 285.453440] adv7180: adv7180_s_ctrl
[ 285.453443] adv7180: adv7180_write
[ 285.453445] adv7180: adv7180_select_page
[ 285.453448] adv7180: page 0
[ 285.453754] adv7180: value 0
[ 285.453758] adv7180: ret 0
[ 285.453761] adv7180: to_state
[ 285.453764] adv7180: adv7180_s_ctrl
[ 285.453766] adv7180: adv7180_write
[ 285.453769] adv7180: adv7180_select_page
[ 285.453771] adv7180: page 0
[ 285.454046] adv7180: value 128
[ 285.454049] adv7180: ret 0
[ 285.454051] adv7180: to_state
[ 285.454053] adv7180: adv7180_s_ctrl
[ 285.454056] adv7180: adv7180_write
[ 285.454058] adv7180: adv7180_select_page
[ 285.454060] adv7180: page 0[ 285.454354] adv7180: value 128
[ 285.454357] adv7180: ret 0
[ 285.454359] adv7180: adv7180_write
[ 285.454361] adv7180: adv7180_select_page
[ 285.454363] adv7180: page 0
[ 285.454648] adv7180: value 128
[ 285.454653] adv7180: ret 0
[ 285.454659] adv7180: to_state
[ 285.454662] adv7180: adv7180_s_ctrl
[ 285.454664] adv7180: adv7180_write
[ 285.454666] adv7180: adv7180_select_page
[ 285.454670] adv7180: page 0
[ 285.454977] adv7180: value 0
[ 285.454983] adv7180: ret 0
[ 285.454989] adv7180: to_state
[ 285.454992] adv7180: adv7180_s_ctrl
[ 285.454995] adv7180: adv7180_write
[ 285.454997] adv7180: adv7180_select_page
[ 285.455300] adv7180: page 128
[ 285.455590] adv7180: value 196
[ 285.455596] adv7180: ret 0
[ 285.455600] adv7180: adv7180_write
[ 285.455603] adv7180: adv7180_select_page
[ 285.455881] adv7180: page 64
[ 285.456863] adv7180: value 0
[ 285.456873] adv7180: ret 0
[ 285.456880] adv7180: init_device
[ 285.456882] adv7180: adv7180_set_power_pin
[ 285.456885] adv7180: power 1
[ 285.456887] adv7180: adv7180_write
[ 285.456890] adv7180: adv7180_select_page
[ 285.457188] adv7180: page 0
[ 285.457469] adv7180: value 128
[ 285.457475] adv7180: ret 0
[ 285.464377] adv7180: adv7180_write
[ 285.464386] adv7180: adv7180_select_page
[ 285.464390] adv7180: page 0
[ 285.464684] adv7180: value 136
[ 285.464689] adv7180: ret 0
[ 285.464691] adv7180: adv7180_write
[ 285.464694] adv7180: adv7180_select_page
[ 285.464696] adv7180: page 0
[ 285.464966] adv7180: value 132
[ 285.464969] adv7180: ret 0
[ 285.464972] adv7180: adv7180_write
[ 285.464974] adv7180: adv7180_select_page
[ 285.464976] adv7180: page 0
[ 285.465375] adv7180: value 81
[ 285.465381] adv7180: ret 0
[ 285.465384] adv7180: adv7180_write[ 285.465386] adv7180: adv7180_select_page
[ 285.465389] adv7180: page 0
[ 285.465658] adv7180: value 81
[ 285.465661] adv7180: ret 0
[ 285.465663] adv7180: adv7180_write
[ 285.465666] adv7180: adv7180_select_page
[ 285.465668] adv7180: page 0
[ 285.465933] adv7180: value 104
[ 285.465935] adv7180: ret 0
[ 285.465938] adv7180: adv7180_write
[ 285.465940] adv7180: adv7180_select_page
[ 285.465942] adv7180: page 0
[ 285.466206] adv7180: value 78
[ 285.466209] adv7180: ret 0
[ 285.466211] adv7180: adv7180_write
[ 285.466213] adv7180: adv7180_select_page
[ 285.466215] adv7180: page 0
[ 285.466480] adv7180: value 87
[ 285.466482] adv7180: ret 0
[ 285.466485] adv7180: adv7180_write
[ 285.466487] adv7180: adv7180_select_page
[ 285.466489] adv7180: page 0
[ 285.466753] adv7180: value 192
[ 285.466756] adv7180: ret 0
[ 285.466758] adv7180: adv7180_write
[ 285.466760] adv7180: adv7180_select_page
[ 285.466762] adv7180: page 0
[ 285.467194] adv7180: value 0
[ 285.467198] adv7180: ret 0
[ 285.467201] adv7180: adv7182_init
[ 285.467204] adv7180: adv7180_program_std
[ 285.467206] adv7180: v4l2_std_to_adv7180
[ 285.467208] adv7180: NTSC
[ 285.467210] adv7180: adv7180_set_video_standard
[ 285.467212] adv7180: standard 5
[ 285.467215] adv7180: adv7182_set_std
[ 285.467217] adv7180: adv7180_write
[ 285.467219] adv7180: adv7180_select_page
[ 285.467221] adv7180: page 0
[ 285.467490] adv7180: value 80
[ 285.467492] adv7180: ret 0
[ 285.467495] adv7180: adv7180_set_field_mode
[ 285.467498] adv7180: adv7180_csi_write
[ 285.467762] adv7180: adv7180_csi_write
[ 285.468029] adv7180: adv7180_csi_write
[ 285.468285] adv7180: adv7180_csi_write
[ 285.468552] adv7180: adv7180_csi_write
[ 285.468818] adv7180: adv7180_csi_write
[ 285.469082] adv7180: adv7180_csi_write
[ 285.469349] adv7180: adv7180_csi_write[ 285.469614] adv7180: adv7180_vpp_write
[ 285.469880] adv7180: adv7180_vpp_write
[ 285.470144] adv7180: adv7180_vpp_write
[ 285.470415] mxc_mipi-csi 32e30000.mipi_csi: Registered sensor subdevice: adv7180 1-0021
[ 285.470419] adv7180: adv7180_read
[ 285.470421] adv7180: adv7180_select_page
[ 285.470424] adv7180: page 0
[ 285.470762] adv7180 1-0021: chip id 0x43 found @ 0x21 (30a30000.i2c)

 Device-tree modifications

 

Spoiler
&iomuxc {
    pinctrl_csi1_pwn: csi1_pwn_grp {
        fsl,pins = <
            MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28 0x20 /* CSI PWDN */
        >;
    };​
...
};

&ecspi2 {
    status = "okay";

    spidev0: spi@0 {
        reg = <0>;
        compatible = "rohm,dh2228fv";
        spi-max-frequency = <1000000>;
    };
};

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

    adv728x_mipi1: adv728x_mipi1@21 {
        status = "okay";
        compatible = "adi,adv7282-m";
        reg = <0x21>;
        pinctrl-names = "default";
        //pinctrl-0 = <&pinctrl_csi_rst>;
        pinctrl-0 = <&pinctrl_csi1_pwn>;
        clocks = <&clk IMX8MM_CLK_CLKO1>;
        clock-names = "csi_mclk";
        csi_id = <0>;
        pwn-gpios = <&gpio5 12 GPIO_ACTIVE_HIGH>;
        rst-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
        mclk = <24000000>;
        mclk_source = <0>;
        port {
            adv728x_mipi1_ep: endpoint {
                remote-endpoint = <&mipi1_sensor_ep>;
            };
        };
    };
...
};
pinctrl_csi1_pwn: csi1_pwn_grp {
fsl,pins = <
MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28 0x20 /* CSI PWDN */
>;
};

i2c-detect -y 1

 

 

Spoiler
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- UU -- UU -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

v4l2-ctl --list-formats-ext

 

Spoiler

ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'UYVY' (UYVY 4:2:2)

gst-device-monitor-1.0

 

 

Spoiler

Probing devices...


Device found:

name : Monitor of Dummy Output
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
properties:
device.description = "Monitor\ of\ Dummy\ Output"
device.class = monitor
device.icon_name = audio-input-microphone
is-default = true
gst-launch-1.0 pulsesrc device=auto_null.monitor ! ...


Device found:

name : Dummy Output
class : Audio/Sink
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
properties:
device.description = "Dummy\ Output"
device.class = abstract
device.icon_name = audio-card
is-default = true
gst-launch-1.0 ... ! pulsesink device=auto_null


Device found:

name : i.MX6S_CSI
class : Video/Source
caps : video/x-raw(format:Interlaced), format=UYVY, framerate=[ 0/1, 2147483647/1 ], width=720, height=240, pixel-aspect-ratio=1/1, interlace-mode=alternate
video/x-raw, format=UYVY, framerate=[ 0/1, 2147483647/1 ], width=720, height=240, pixel-aspect-ratio=1/1, interlace-mode={ (string)progressive, (string)interleaved }
video/x-raw(format:Interlaced), format=UYVY, framerate=[ 0/1, 2147483647/1 ], width=720, height=240, pixel-aspect-ratio=1/1, interlace-mode=alternate
properties:
udev-probed = true
device.bus_path = platform-32e20000.csi1_bridge
sysfs.path = "/sys/devices/platform/soc\@0/32c00000.bus/32e20000.csi1_bridge/video4linux/video0"
device.subsystem = video4linux
device.product.name = i.MX6S_CSI
device.capabilities = :capture:
device.api = v4l2
device.path = /dev/video0
v4l2.device.driver = mx6s-csi
v4l2.device.card = i.MX6S_CSI
v4l2.device.bus_info = platform:32e20000.csi1_bridge
v4l2.device.version = 330312 (0x00050a48)
v4l2.device.capabilities = 2216689665 (0x84200001)
v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src ! ...

GST_DEBUG=3 gst-launch-1.0 v4l2src -e device=/dev/video0 norm=NTSC ! vpuenc_h264 ! h264parse ! mp4mux ! filesink location=test.mp4

 

 

Spoiler
Setting pipeline to PAUSED ...
0:00:00.116691218 21833 0xaaab1dd40f80 WARN v4l2 v4l2_calls.c:530:gst_v4l2_subscribe_event:<v4l2src0> /dev/video0 cannot subscribe V4L2_EVENT_SOURCE_CHANGE event.
0:00:00.117374206 21833 0xaaab1dd40f80 WARN v4l2 v4l2_calls.c:538:gst_v4l2_subscribe_event:<v4l2src0> /dev/video0 cannot subscribe V4L2_EVENT_EOS event.
0:00:00.117706325 21833 0xaaab1dd40f80 WARN v4l2 v4l2_calls.c:545:gst_v4l2_subscribe_event:<v4l2src0> /dev/video0 cannot subscribe V4L2_EVENT_DECODE_ERROR event.
====== VPUENC: 4.6.3 build on Nov 9 2021 07:46:01. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Oct 28 2021 01:23:12)
vpulib: 1.1.1
firmware: 1.1.1.43691
0:00:00.129398746 21833 0xaaab1dd36640 WARN v4l2src gstv4l2src.c:694:gst_v4l2src_query:<v4l2src0> Can't give latency since framerate isn't fixated !
0:00:00.129488995 21833 0xaaab1dd36640 WARN aggregator gstaggregator.c:2050:gst_aggregator_query_latency_unlocked:<mp4mux0> Latency query failed
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.142417520 21833 0xaaab1dd36640 WARN v4l2src gstv4l2src.c:694:gst_v4l2src_query:<v4l2src0> Can't give latency since framerate isn't fixated !
0:00:00.142498518 21833 0xaaab1dd36640 WARN aggregator gstaggregator.c:2050:gst_aggregator_query_latency_unlocked:<mp4mux0> Latency query failed
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
0:04:43.434178554 21833 0xaaab1dd36640 FIXME basesink gstbasesink.c:3388:gst_base_sink_default_event:<filesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
0:04:43.434429674 21833 0xaaab1dd36640 WARN qtmux gstqtmux.c:3076:gst_qt_mux_start_file:<mp4mux0> Robust muxing requires reserved-moov-update-period to be set
0:04:43.435642653 21833 0xaaab1dd36640 FIXME aggregator gstaggregator.c:1365:gst_aggregator_aggregate_func:<mp4mux0> Subclass should call gst_aggregator_selected_samples() from its aggregate implementation.
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:04:43.294402614
Setting pipeline to NULL ...
Freeing pipeline ...

Would be glad for any help. Thank you in advance

 

 

0 Kudos
1 Solution
1,060 Views
KasparZ
Contributor II

To anyone with the same problem, I found this thread very useful in obtaining the image. The main problem is that the actual data stream in the driver begins before the `MIPI CSI` bridge expects any data to arrive, so no interrupts will occur. To solve this, move enabling of CSI-TX from `adv7180_set_power()` function to `adv7180_s_stream()` and it should start working at least partially.

The other problem still remains is `base address change error` in the DMA buffer, but commenting out DMA buffer refresh on this interrupt solves the deal for me, at least for now. Using the other instructions present in the thread I managed to obtaied the continuous picture from the ADV7282A-M.

Be warned though, that `V4L2` system may not use the `adv7180_querystd()`, which may lead to using the `NTSC` standard that may not coincide with your camera standard. To try fixing this, look at the `adv7180_probe()` function assignment of

state->curr_norm = V4L2_STD_NTSC;

And change to whatever value you need

Hope this solution will be useful to you

View solution in original post

0 Kudos
2 Replies
1,061 Views
KasparZ
Contributor II

To anyone with the same problem, I found this thread very useful in obtaining the image. The main problem is that the actual data stream in the driver begins before the `MIPI CSI` bridge expects any data to arrive, so no interrupts will occur. To solve this, move enabling of CSI-TX from `adv7180_set_power()` function to `adv7180_s_stream()` and it should start working at least partially.

The other problem still remains is `base address change error` in the DMA buffer, but commenting out DMA buffer refresh on this interrupt solves the deal for me, at least for now. Using the other instructions present in the thread I managed to obtaied the continuous picture from the ADV7282A-M.

Be warned though, that `V4L2` system may not use the `adv7180_querystd()`, which may lead to using the `NTSC` standard that may not coincide with your camera standard. To try fixing this, look at the `adv7180_probe()` function assignment of

state->curr_norm = V4L2_STD_NTSC;

And change to whatever value you need

Hope this solution will be useful to you

0 Kudos
1,142 Views
KasparZ
Contributor II

I researched and tried lots of different shinanigans from that time. I managed to acquire several frames from the decoder with gstreamer using very strange approach. I noticed that when I try to capture video with gstreamer, mxc interrupt never happens from the debug. Accidentally I caught interrupts by trying to capture video from FFMpeg, stopping the recording without writing to the file and starting the gstreamer capture afterwards. With this sequence Gstreamer prompted me with a timer that froze on 0.01 and a file with single frame and growing size with time left to me

I noticed that second dma buffer is never being read 'base address switching Change Err' error occurs and dma is being wiped all the time, so I disabled this functionality and this way managed to extend the "recording" time to 0.3 seconds, also I noticed that the second buffer now was being filled and read, however, the recording always stopped at around 0.2-0.3 seconds and nothing got captured afterwards, despite the fact that data flow could be observed with the oscilloscope as well as with dma debug

Spoiler
cat /sys/kernel/debug/dma_buf/bufinfo​​

 

Dma-buf Objects:
size flags mode count exp_name ino
00692224 00000002 00080007 00000001 videobuf2_dma_contig 00161338
Attached Devices:
Total 0 devices attached

00692224 00000002 00080007 00000001 videobuf2_dma_contig 00161337
Attached Devices:
Total 0 devices attached

00692224 00000002 00080007 00000001 videobuf2_dma_contig 00161336
Attached Devices:
Total 0 devices attached

00692224 00000002 00080007 00000001 videobuf2_dma_contig 00161335
Attached Devices:
Total 0 devices attached

00692224 00000002 00080007 00000001 videobuf2_dma_contig 00161334
Attached Devices:
Total 0 devices attached

04198400 00000002 00080007 00000002 ion 00161325
Attached Devices:
Total 0 devices attached


Total 6 objects, 7659520 bytes

 When the timer is displayed in gstreamer the number of dma_buff objects shown with the debug is doubled compared with situations when there's no timer

After receiving at least some results I decided to attempt to at least replicate the result with my target 5.4.70 Linux Kernel version. However, it seems that changes in the v4l2 driver in newer version introduced this bug and absolutely no image is being acquired in older version with the adv7282a-m mainline driver on my side

From what I understand, the problem is on the intersection of mxc csi bridge and adv7282a-m and Mainline driver doesn't have enough instruction "details" to inform the csi bridge via v4l2 API. Is that correct? If yes, what should be done to enable proper communication with the csi bridge without completely rewriting the driver? Thanks for any help

0 Kudos