iMX8MP MIPI-CSI2 Problem with ADV7280 and Camera

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

iMX8MP MIPI-CSI2 Problem with ADV7280 and Camera

4,389 Views
brky06
Contributor I

Hi,

In our custom board, we got a problem with getting analog video from MIPI-CSI-2 lane and ADV7280 Chip. We have arranged the device tree according to our custom board, where we have used adv7180.c since iMX8MP does not have adv7280.c driver. I have tried all the suggested solutions and examined all the related issues on nxp communities, but none of them helped in our case. We simply can't make the connection between adv7280 and mipi-csi, although the chip is found by the system. Below, you can see the related part of my dts file and dmesg. The error that we have get can be seen below as well.

---imx8mp-evk.dts---

adv7180: camera_mipi@20{
compatible = "adi,adv7280-m";
reg = <0x20>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adv7180>;

gpios = <&gpio5 9 GPIO_ACTIVE_LOW>,<&gpio5 7 GPIO_ACTIVE_LOW>;
powerdown-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpio5>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;
clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
clock-names = "csi_mclk";
DOVDD-supply = <&reg_3p3v>;
AVDD-supply = <&reg_3p3v>;
DVDD-supply = <&reg_3p3v>;
PVDD-supply = <&reg_3p3v>;
assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
assigned-clock-rates = <24000000>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
//cvbs = <1>;
mipi_csi;
//enable-active-low;

status ="okay";

port {
adv7280m_out: endpoint {
remote-endpoint = <&mipi0_sensor_ep>;
data-lanes = <1>;
//max-pixel-frequency = /bits/ 64 <266000000>;
clock-lanes = <0>;
};
};

};

&mipi_csi_0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

port@0 {
reg = <0>;
mipi0_sensor_ep: endpoint {
remote-endpoint = <&adv7280m_out>;
data-lanes = <1>;
csis-hs-settle = <13>;
csis-clk-settle = <2>;
csis-wclk;
};
};
};

&cameradev {
status = "okay";
};

&isp_0 {
status = "okay";
};

&isp_1 {
status = "okay";
};

&dewarp {
status = "okay";
};

&isi_0 {
status = "okay";

cap_device {
status = "okay";
};

/*m2m_device {
status = "okay";
};*/
};

&isi_1 {
status = "disabled";

cap_device {
status = "okay";
};
};

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;

pinctrl_adv7180: adv7280 {
fsl,pins = <

MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x40000
MX8MP_IOMUXC_ECSPI1_MOSI__GPIO5_IO07 0x40000
MX8MP_IOMUXC_ECSPI1_MISO__GPIO5_IO08 0x40000

>;
};

...

---dmesg---

root@imx8mp-lpddr4-evk:~# dmesg
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.10.72+ga68e31b63f86 (brk@brk-HP-EliteDesk) (aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 2.28.2.20170706) #20 SMP PREEMPT Tue Jun 21 14:25:33 +03 2022
[ 0.000000] Machine model: NXP i.MX8MPlus EVK board
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x00000000e0000000, size 512 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000094300000, size 1 MiB
[ 0.000000] OF: reserved mem: initialized node vdev0buffer@94300000, compatible id shared-dma-pool
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x00000001bfffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x1bf448b00-0x1bf44afff]
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000040000000-0x00000000ffffffff]
[ 0.000000] DMA32 empty
[ 0.000000] Normal [mem 0x0000000100000000-0x00000001bfffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x00000000923fffff]
[ 0.000000] node 0: [mem 0x0000000092400000-0x00000000a43fffff]
[ 0.000000] node 0: [mem 0x00000000a4400000-0x00000001bfffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000001bfffffff]
[ 0.000000] On node 0 totalpages: 1572864
[ 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: 12288 pages used for memmap
[ 0.000000] Normal zone: 786432 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 23 pages/cpu s56728 r8192 d29288 u94208
[ 0.000000] pcpu-alloc: s56728 r8192 d29288 u94208 alloc=23*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: 1548288
[ 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: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x00000000dc000000-0x00000000e0000000] (64MB)
[ 0.000000] Memory: 5244720K/6291456K available (18944K kernel code, 3036K rwdata, 9400K rodata, 6464K init, 570K bss, 522448K reserved, 524288K 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: 160 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+0x31c/0x4e8 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.001385] Console: colour dummy device 80x25
[ 0.001459] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)
[ 0.001472] pid_max: default: 32768 minimum: 301
[ 0.001546] LSM: Security Framework initializing
[ 0.001614] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.001641] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.002853] rcu: Hierarchical SRCU implementation.
[ 0.006229] EFI services will not be available.
[ 0.006415] smp: Bringing up secondary CPUs ...
[ 0.006772] Detected VIPT I-cache on CPU1
[ 0.006796] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
[ 0.006831] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.007231] Detected VIPT I-cache on CPU2
[ 0.007248] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
[ 0.007267] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[ 0.007648] Detected VIPT I-cache on CPU3
[ 0.007666] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
[ 0.007684] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[ 0.007740] smp: Brought up 1 node, 4 CPUs
[ 0.007765] SMP: Total of 4 processors activated.
[ 0.007774] CPU features: detected: 32-bit EL0 Support
[ 0.007781] CPU features: detected: CRC32 instructions
[ 0.007789] CPU features: detected: 32-bit EL1 Support
[ 0.015763] CPU: All CPU(s) started at EL2
[ 0.015788] alternatives: patching kernel code
[ 0.017752] devtmpfs: initialized
[ 0.025802] KASLR disabled due to lack of seed
[ 0.025953] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.025967] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.039882] pinctrl core: initialized pinctrl subsystem
[ 0.041249] DMI not present or invalid.
[ 0.041759] NET: Registered protocol family 16
[ 0.042987] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[ 0.043165] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[ 0.043533] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.043571] audit: initializing netlink subsys (disabled)
[ 0.043702] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1
[ 0.045005] thermal_sys: Registered thermal governor 'step_wise'
[ 0.045010] thermal_sys: Registered thermal governor 'power_allocator'
[ 0.045422] cpuidle: using governor menu
[ 0.045734] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.045803] ASID allocator initialised with 65536 entries
[ 0.047588] Serial: AMBA PL011 UART driver
[ 0.047698] imx mu driver is registered.
[ 0.047741] imx rpmsg driver is registered.
[ 0.103072] imx8mp-pinctrl 30330000.pinctrl: Invalid fsl,pins or pins property in node /soc@0/bus@30000000/pinctrl@30330000/usb1grp
[ 0.103116] imx8mp-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[ 0.129694] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[ 0.129708] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[ 0.129717] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.129725] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[ 0.130625] cryptd: max_cpu_qlen set to 1000
[ 0.133988] ACPI: Interpreter disabled.
[ 0.137493] iommu: Default domain type: Translated
[ 0.137759] vgaarb: loaded
[ 0.138021] SCSI subsystem initialized
[ 0.138167] libata version 3.00 loaded.
[ 0.138378] usbcore: registered new interface driver usbfs
[ 0.138415] usbcore: registered new interface driver hub
[ 0.138447] usbcore: registered new device driver usb
[ 0.140389] mc: Linux media interface: v0.10
[ 0.140418] videodev: Linux video capture interface: v2.00
[ 0.140487] pps_core: LinuxPPS API ver. 1 registered
[ 0.140495] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.140510] PTP clock support registered
[ 0.140696] EDAC MC: Ver: 3.0.0
[ 0.143026] FPGA manager framework
[ 0.143111] Advanced Linux Sound Architecture Driver Initialized.
[ 0.143772] Bluetooth: Core ver 2.22
[ 0.143800] NET: Registered protocol family 31
[ 0.143925] Bluetooth: HCI device and connection manager initialized
[ 0.143936] Bluetooth: HCI socket layer initialized
[ 0.143944] Bluetooth: L2CAP socket layer initialized
[ 0.143959] Bluetooth: SCO socket layer initialized
[ 0.144908] clocksource: Switched to clocksource arch_sys_counter
[ 0.145078] VFS: Disk quotas dquot_6.6.0
[ 0.145128] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.145294] pnp: PnP ACPI: disabled
[ 0.151423] NET: Registered protocol family 2
[ 0.151638] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[ 0.154364] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[ 0.154449] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[ 0.154858] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[ 0.155743] TCP: Hash tables configured (established 65536 bind 65536)
[ 0.155877] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.156026] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[ 0.156297] NET: Registered protocol family 1
[ 0.156691] RPC: Registered named UNIX socket transport module.
[ 0.156698] RPC: Registered udp transport module.
[ 0.156703] RPC: Registered tcp transport module.
[ 0.156710] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.157571] PCI: CLS 0 bytes, default 64
[ 0.158356] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 0.159108] kvm [1]: IPA Size Limit: 40 bits
[ 0.160987] kvm [1]: GICv3: no GICV resource entry
[ 0.160994] kvm [1]: disabling GICv2 emulation
[ 0.161013] kvm [1]: GIC system register CPU interface enabled
[ 0.161084] kvm [1]: vgic interrupt IRQ9
[ 0.161186] kvm [1]: Hyp mode initialized successfully
[ 0.164113] Initialise system trusted keyrings
[ 0.164233] workingset: timestamp_bits=42 max_order=21 bucket_order=0
[ 0.170293] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.170886] NFS: Registering the id_resolver key type
[ 0.170909] Key type id_resolver registered
[ 0.170917] Key type id_legacy registered
[ 0.170997] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.171004] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.171025] jffs2: version 2.2. (NAND) \xc2\xa9 2001-2006 Red Hat, Inc.
[ 0.171381] 9p: Installing v9fs 9p2000 file system support
[ 0.208205] Key type asymmetric registered
[ 0.208214] Asymmetric key parser 'x509' registered
[ 0.208248] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[ 0.208256] io scheduler mq-deadline registered
[ 0.208263] io scheduler kyber registered
[ 0.215317] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 0.230490] EINJ: ACPI disabled.
[ 0.247678] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 0.247695] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[ 0.250032] mxs-dma 33000000.dma-apbh: initialized
[ 0.253514] Bus freq driver module loaded
[ 0.267393] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.270856] SuperH (H)SCI(F) driver initialized
[ 0.271639] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 31, base_baud = 5000000) is a IMX
[ 0.272394] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 32, base_baud = 5000000) is a IMX
[ 0.272988] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 33, base_baud = 1500000) is a IMX
[ 1.337012] printk: console [ttymxc1] enabled
[ 1.342087] 30a60000.serial: ttymxc3 at MMIO 0x30a60000 (irq = 38, base_baud = 1500000) is a IMX
[ 1.352146] msm_serial: driver initialized
[ 1.359858] imx-lcdifv3 32e80000.lcd-controller: No pix clock get: -517
[ 1.367240] imx-lcdifv3 32e90000.lcd-controller: No pix clock get: -517
[ 1.374174] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 1.385014] imx-hdmi-pavi 32fc4000.hdmi-pai-pvi: No pvi clock get
[ 1.402864] loop: module loaded
[ 1.407557] megasas: 07.714.04.00-rc1
[ 1.413185] imx ahci driver is registered.
[ 1.424643] libphy: Fixed MDIO Bus: probed
[ 1.430595] tun: Universal TUN/TAP device driver, 1.6
[ 1.437069] thunder_xcv, ver 1.0
[ 1.440333] thunder_bgx, ver 1.0
[ 1.443598] nicpf, ver 1.0
[ 1.448821] hclge is initializing
[ 1.452167] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version
[ 1.459396] hns3: Copyright (c) 2017 Huawei Corporation.
[ 1.464755] e1000: Intel(R) PRO/1000 Network Driver
[ 1.469640] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 1.475426] e1000e: Intel(R) PRO/1000 Network Driver
[ 1.480395] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.486356] igb: Intel(R) Gigabit Ethernet Network Driver
[ 1.491761] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 1.497363] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[ 1.503634] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 1.510191] sky2: driver version 1.30
[ 1.516009] VFIO - User Level meta-driver version: 0.3
[ 1.530616] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.537179] ehci-pci: EHCI PCI platform driver
[ 1.541670] ehci-platform: EHCI generic platform driver
[ 1.547152] ehci-orion: EHCI orion driver
[ 1.551366] ehci-exynos: EHCI Exynos driver
[ 1.555710] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.561919] ohci-pci: OHCI PCI platform driver
[ 1.566407] ohci-platform: OHCI generic platform driver
[ 1.571873] ohci-exynos: OHCI Exynos driver
[ 1.577238] usbcore: registered new interface driver uas
[ 1.582613] usbcore: registered new interface driver usb-storage
[ 1.592007] input: 30370000.snvs:snvs-powerkey as /devices/platform/soc@0/30000000.bus/30370000.snvs/30370000.snvs:snvs-powerkey/input/input0
[ 1.608178] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
[ 1.614402] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[ 1.624421] i2c /dev entries driver
[ 1.639189] Bluetooth: HCI UART driver ver 2.3
[ 1.643664] Bluetooth: HCI UART protocol H4 registered
[ 1.648812] Bluetooth: HCI UART protocol BCSP registered
[ 1.654151] Bluetooth: HCI UART protocol LL registered
[ 1.659297] Bluetooth: HCI UART protocol ATH3K registered
[ 1.664716] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 1.671111] Bluetooth: HCI UART protocol Broadcom registered
[ 1.676805] Bluetooth: HCI UART protocol QCA registered
[ 1.682291] EDAC MC: ECC not enabled
[ 1.688257] sdhci: Secure Digital Host Controller Interface driver
[ 1.694469] sdhci: Copyright(c) Pierre Ossman
[ 1.699780] Synopsys Designware Multimedia Card Interface Driver
[ 1.707732] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.714486] sdhci-esdhc-imx 30b40000.mmc: voltage-ranges unspecified
[ 1.714823] sdhci-esdhc-imx 30b50000.mmc: voltage-ranges unspecified
[ 1.715134] sdhci-esdhc-imx 30b60000.mmc: voltage-ranges unspecified
[ 1.734526] ledtrig-cpu: registered to indicate activity on CPUs
[ 1.742935] usbcore: registered new interface driver usbhid
[ 1.748525] usbhid: USB HID core driver
[ 1.752888] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[ 1.752924] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
[ 1.752949] mxc-mipi-csi2-sam 32e40000.csi: supply mipi-phy not found, using dummy regulator
[ 1.766083] Galcore version 6.4.3.p2.336687
[ 1.842881] mmc2: new HS400 MMC card at address 0001
[ 1.849135] mmcblk2: mmc2:0001 eMMC 29.1 GiB
[ 1.853849] mmcblk2boot0: mmc2:0001 eMMC partition 1 4.00 MiB
[ 1.859948] mmcblk2boot1: mmc2:0001 eMMC partition 2 4.00 MiB
[ 1.866118] mmcblk2rpmb: mmc2:0001 eMMC partition 3 4.00 MiB, chardev (508:0)
[ 1.870429] [drm] Initialized vivante 1.0.0 20170808 for 40000000.mix_gpu_ml on minor 0
[ 1.875598] mmcblk2: p1 p2
[ 1.883348] hantrodec 0 : module inserted. Major = 507
[ 1.890119] hantrodec 1 : module inserted. Major = 507
[ 1.896779] hantroenc: HW at base <0000000038320000> with ID <0x80006200>
[ 1.903714] hx280enc: module inserted. Major <506>
[ 1.917024] fsl-sai 30c20000.sai: failed to get bus clock: -517
[ 1.925063] fsl-sai 30c30000.sai: failed to get bus clock: -517
[ 1.933497] fsl-easrc 30c90000.easrc: failed to get mem clock
[ 1.939888] fsl,imx8mp-audio-xcvr 30cc0000.xcvr: failed to get ipg clock
[ 1.947444] fsl-aud2htx 30cb0000.aud2htx: failed to get mem clock
[ 1.956248] imx-cdnhdmi sound-hdmi: snd_soc_register_card failed (-517)
[ 1.963035] NET: Registered protocol family 26
[ 1.967967] NET: Registered protocol family 10
[ 1.973329] Segment Routing with IPv6
[ 1.977063] NET: Registered protocol family 17
[ 1.982486] Bluetooth: RFCOMM TTY layer initialized
[ 1.987392] Bluetooth: RFCOMM socket layer initialized
[ 1.992556] Bluetooth: RFCOMM ver 1.11
[ 1.996334] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.001661] Bluetooth: BNEP filters: protocol multicast
[ 2.006901] Bluetooth: BNEP socket layer initialized
[ 2.011873] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 2.017799] Bluetooth: HIDP socket layer initialized
[ 2.022804] 8021q: 802.1Q VLAN Support v1.8
[ 2.027006] lib80211: common routines for IEEE802.11 drivers
[ 2.032674] lib80211_crypt: registered algorithm 'NULL'
[ 2.032678] lib80211_crypt: registered algorithm 'WEP'
[ 2.032682] lib80211_crypt: registered algorithm 'CCMP'
[ 2.032686] lib80211_crypt: registered algorithm 'TKIP'
[ 2.032781] 9pnet: Installing 9P2000 support
[ 2.037086] tsn generic netlink module v1 init...
[ 2.041873] Key type dns_resolver registered
[ 2.046782] registered taskstats version 1
[ 2.050909] Loading compiled-in X.509 certificates
[ 2.133475] nxp-pca9450 0-0025: pca9450bc probed.
[ 2.138367] i2c i2c-0: IMX I2C adapter registered
[ 2.145991] it6263 1-004c: Probe failed. Remote port 'lvds-channel@0' disabled
[ 2.153823] i2c i2c-1: IMX I2C adapter registered
[ 2.161837] imx8mq-usb-phy 381f0040.usb-phy: supply vbus not found, using dummy regulator
[ 2.171199] samsung-hdmi-phy 32fdff00.hdmiphy: failed to get phy apb clk: -517
[ 2.202151] SoC: i.MX8MP revision 1.1
[ 2.206397] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 7 mkt segment 2 supported-hw 0x80 0x4
[ 2.220690] imx-lcdifv3 32fc6000.lcd-controller: No irq get, ret=-517
[ 2.230073] OF: graph: no port node found in /soc@0/usb-phy@381f0040
[ 2.238396] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 2.243922] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[ 2.251913] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000002021810010
[ 2.261344] xhci-hcd xhci-hcd.1.auto: irq 76, io mem 0x38200000
[ 2.267372] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[ 2.272868] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[ 2.280532] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[ 2.287767] hub 1-0:1.0: USB hub found
[ 2.291571] hub 1-0:1.0: 1 port detected
[ 2.295722] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2.304426] hub 2-0:1.0: USB hub found
[ 2.308215] hub 2-0:1.0: 1 port detected
[ 2.315952] mxc-mipi-csi2-sam 32e40000.csi: supply mipi-phy not found, using dummy regulator
[ 2.316154] sdhci-esdhc-imx 30b50000.mmc: voltage-ranges unspecified
[ 2.324765] mxc-mipi-csi2-sam 32e40000.csi: lanes: 1, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 500000000
[ 2.343847] isi-capture 32e00000.isi:cap_device: deferring 32e00000.isi:cap_device device registration
[ 2.353342] mxc-isi 32e00000.isi: mxc_isi.0 registered successfully
[ 2.362196] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
[ 2.378487] imx-cdnhdmi sound-hdmi: snd_soc_register_card failed (-517)
[ 2.389335] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 2.397307] imx-drm display-subsystem: bound imx-lcdifv3-crtc.1 (ops lcdifv3_crtc_ops)
[ 2.405281] imx-drm display-subsystem: bound imx-lcdifv3-crtc.2 (ops lcdifv3_crtc_ops)
[ 2.413269] imx-drm display-subsystem: bound 32c00000.bus:ldb@32ec005c (ops imx8mp_ldb_ops)
[ 2.422057] dwhdmi-imx 32fd8000.hdmi: Detected HDMI TX controller v2.13a with HDCP (samsung_dw_hdmi_phy2)
[ 2.432973] dwhdmi-imx 32fd8000.hdmi: registered DesignWare HDMI I2C bus driver
[ 2.443219] imx-drm display-subsystem: bound 32fd8000.hdmi (ops dw_hdmi_imx_ops)
[ 2.451137] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1
[ 2.457557] random: fast init done
[ 2.727860] Console: switching to colour frame buffer device 240x67
[ 2.765955] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device
[ 2.778211] debugfs: File 'Playback' in directory 'dapm' already present!
[ 2.785024] debugfs: File 'Capture' in directory 'dapm' already present!
[ 2.798414] input: audio-hdmi HDMI Jack as /devices/platform/sound-hdmi/sound/card1/input1
[ 2.813142] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 2.823202] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 2.829827] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 2.838454] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 2.842516] ALSA device list:
[ 2.849192] #0: bt-sco-audio
[ 2.852245] #1: audio-hdmi
[ 3.347068] EXT4-fs (mmcblk2p2): recovery complete
[ 3.352969] EXT4-fs (mmcblk2p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.361182] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.368554] devtmpfs: mounted
[ 3.373244] Freeing unused kernel memory: 6464K
[ 3.377865] Run /sbin/init as init process
[ 3.381991] with arguments:
[ 3.381994] /sbin/init
[ 3.381996] with environment:
[ 3.381999] HOME=/
[ 3.382001] TERM=linux
[ 3.506243] systemd[1]: System time before build time, advancing clock.
[ 3.535458] systemd[1]: systemd 247.6+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -ZSTD -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[ 3.557972] systemd[1]: Detected architecture arm64.
[ 3.606698] systemd[1]: Set hostname to <imx8mp-lpddr4-evk>.
[ 3.654041] systemd-sysv-generator[248]: SysV service '/etc/init.d/rc.local' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.678868] systemd-sysv-generator[248]: SysV service '/etc/init.d/umountnfs.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.703335] systemd-sysv-generator[248]: SysV service '/etc/init.d/halt' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.726974] systemd-sysv-generator[248]: SysV service '/etc/init.d/single' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.751177] systemd-sysv-generator[248]: SysV service '/etc/init.d/save-rtc.sh' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.775793] systemd-sysv-generator[248]: SysV service '/etc/init.d/sendsigs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.800105] systemd-sysv-generator[248]: SysV service '/etc/init.d/reboot' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.823896] systemd-sysv-generator[248]: SysV service '/etc/init.d/umountfs' lacks a native systemd unit file. Automatically generating a unit file for compatibility. Please update package to include a native systemd unit file, in order to make it more safe and robust.
[ 3.983032] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock \xe2\x86\x92 /run/docker.sock; please update the unit file accordingly.
[ 4.107357] systemd[1]: Queued start job for default target Graphical Interface.
[ 4.115666] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.177336] systemd[1]: Created slice system-getty.slice.
[ 4.201058] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.209644] systemd[1]: Created slice system-modprobe.slice.
[ 4.233711] random: systemd: uninitialized urandom read (16 bytes read)
[ 4.242436] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 4.267204] systemd[1]: Created slice User and Session Slice.
[ 4.289295] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ 4.313215] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 4.337249] systemd[1]: Reached target Host and Network Name Lookups.
[ 4.361425] systemd[1]: Reached target Paths.
[ 4.381052] systemd[1]: Reached target Remote File Systems.
[ 4.405347] systemd[1]: Reached target Slices.
[ 4.425059] systemd[1]: Reached target Swap.
[ 4.443880] systemd[1]: Listening on RPCbind Server Activation Socket.
[ 4.465172] systemd[1]: Reached target RPC Port Mapper.
[ 4.485409] systemd[1]: Listening on Syslog Socket.
[ 4.505554] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ 4.530060] systemd[1]: Listening on Journal Audit Socket.
[ 4.553808] systemd[1]: Listening on Journal Socket (/dev/log).
[ 4.577914] systemd[1]: Listening on Journal Socket.
[ 4.597690] systemd[1]: Listening on Network Service Netlink Socket.
[ 4.622049] systemd[1]: Listening on udev Control Socket.
[ 4.645624] systemd[1]: Listening on udev Kernel Socket.
[ 4.665342] systemd[1]: Listening on User Database Manager Socket.
[ 4.692442] systemd[1]: Mounting Huge Pages File System...
[ 4.716538] systemd[1]: Mounting POSIX Message Queue File System...
[ 4.740641] systemd[1]: Mounting Kernel Debug File System...
[ 4.761413] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[ 4.773652] systemd[1]: Mounting Temporary Directory (/tmp)...
[ 4.798176] systemd[1]: Starting Create list of static device nodes for the current kernel...
[ 4.828438] systemd[1]: Starting Load Kernel Module configfs...
[ 4.852078] systemd[1]: Starting Load Kernel Module drm...
[ 4.876319] systemd[1]: Starting Load Kernel Module fuse...
[ 4.900752] systemd[1]: Starting RPC Bind...
[ 4.906074] fuse: init (API version 7.32)
[ 4.921189] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 4.930806] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[ 4.943698] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[ 4.955947] systemd[1]: Starting Journal Service...
[ 4.975945] systemd[1]: Condition check resulted in Load Kernel Modules being skipped.
[ 4.986977] systemd[1]: Starting Remount Root and Kernel File Systems...
[ 5.001117] EXT4-fs (mmcblk2p2): re-mounted. Opts: (null)
[ 5.011872] systemd[1]: Starting Apply Kernel Variables...
[ 5.031883] systemd[1]: Starting Coldplug All udev Devices...
[ 5.052669] systemd[1]: Starting Setup Virtual Console...
[ 5.078047] systemd[1]: Started RPC Bind.
[ 5.098059] systemd[1]: Started Journal Service.
[ 5.371252] systemd-journald[258]: Received client request to flush runtime journal.
[ 6.040264] CAN device driver interface
[ 6.053624] caam 30900000.crypto: device ID = 0x0a16040100000100 (Era 9)
[ 6.060869] caam 30900000.crypto: job rings = 3, qi = 0
[ 6.122438] caam-snvs 30370000.caam-snvs: violation handlers armed - non-secure state
[ 6.130518] adv7180 1-0020: chip found @ 0x20 (30a30000.i2c)
[ 6.274523] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
[ 6.303898] imx-sdma 30bd0000.dma-controller: firmware found.
[ 6.303901] imx-sdma 30e10000.dma-controller: firmware found.
[ 6.325304] mx8-img-md: Registered mxc_isi.0.capture as /dev/video2
[ 6.360348] imx-dwmac 30bf0000.ethernet: IRQ eth_lpi not found
[ 6.368560] imx-dwmac 30bf0000.ethernet: no reset control found
[ 6.377025] imx-dwmac 30bf0000.ethernet: User ID: 0x10, Synopsys ID: 0x51
[ 6.383994] imx-dwmac 30bf0000.ethernet: DWMAC4/5
[ 6.384003] imx-dwmac 30bf0000.ethernet: DMA HW capability register supported
[ 6.396061] imx-dwmac 30bf0000.ethernet: RX Checksum Offload Engine supported
[ 6.396496] mx8-img-md: Registered sensor subdevice: adv7180 1-0020 (1)
[ 6.403295] imx-dwmac 30bf0000.ethernet: TX Checksum insertion supported
[ 6.412898] mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]
[ 6.424767] imx-dwmac 30bf0000.ethernet: Wake-Up On Lan supported
[ 6.429306] mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0]
[ 6.442063] imx-dwmac 30bf0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 6.445775] mx8-img-md: subdev_notifier_complete error exit
[ 6.453399] imx-dwmac 30bf0000.ethernet: device MAC address aa:51:d9:4a:ca:1e
[ 6.456246] mxc-md 32c00000.bus:camera: Sensor register failed
[ 6.467790] imx-dwmac 30bf0000.ethernet: Enabled Flow TC (entries=8)
[ 6.471083] mxc-md: probe of 32c00000.bus:camera failed with error -515
[ 6.480560] imx-dwmac 30bf0000.ethernet: Enabling HW TC (entries=256, max_off=256)
[ 6.492758] imx-dwmac 30bf0000.ethernet: Using 34 bits DMA width
[ 6.506419] libphy: stmmac: probed
[ 6.732694] mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!
[ 6.825366] caam algorithms registered in /proc/crypto
[ 6.826210] caam 30900000.crypto: caam pkc algorithms registered in /proc/crypto
[ 6.826225] caam 30900000.crypto: registering rng-caam
[ 6.828470] Device caam-keygen registered
[ 6.838734] random: crng init done
[ 6.838749] random: 7 urandom warning(s) missed due to ratelimiting
[ 7.049487] imx-dwmac 30bf0000.ethernet eth0: PHY [stmmac-1:01] driver [Marvell 88E1510] (irq=POLL)
[ 7.050456] imx-dwmac 30bf0000.ethernet eth0: No Safety Features support found
[ 7.050475] imx-dwmac 30bf0000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported
[ 7.050700] imx-dwmac 30bf0000.ethernet eth0: registered PTP clock
[ 7.051019] imx-dwmac 30bf0000.ethernet eth0: configuring for phy/rgmii-id link mode
[ 7.052860] 8021q: adding VLAN 0 to HW filter on device eth0
[ 7.831503] audit: type=1006 audit(1616581522.320:2): pid=602 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
[ 8.160556] audit: type=1006 audit(1616581522.648:3): pid=588 uid=0 old-auid=4294967295 auid=0 tty=tty7 old-ses=4294967295 ses=2 res=1

 

The important part of the dmesg is

mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]

mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0]

mx8-img-md: subdev_notifier_complete error exit

mxc-md 32c00000.bus:camera: Sensor register failed

mxc-md: probe of 32c00000.bus:camera failed with error -515

mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!

On demoboard, here instead of subdev_notifier_complete, we should have got the 

adv7180 ==> mxc-mipi-csi2.0 connection, but we can't get it. It works fine with demoboard using ov5640.

When we try to use the gstreamer, we can't get the video on screen and we get the following error:

root@imx8mp-lpddr4-evk:~# gst-launch-1.0 v4l2src device=/dev/video2 ! imxvideoconvert_g2d ! fpsdisplaysink sync=false

[ 390.730067] mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!
Setting pipeline to PAUSED ...
[ 390.806481] mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!
Pipeline is live and does not nee[ 390.814062] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!
d PREROLL ...
[ 390.823772] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
Pipeline is PREROLLED ...[ 390.832531] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!

Setting pipeline to PLAYING ...[ 390.841618] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!

New clock: GstSystemClock[ 390.851927] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!

[ 390.861202] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
[ 390.868775] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!
[ 390.875844] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
[ 390.883276] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!
[ 390.890354] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
[ 390.897754] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!
[ 390.904819] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
[ 390.912225] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote pad found!
[ 390.919312] mxc-mipi-csi2.0: mipi_csis_enum_framesizes, No remote subdev found!
[ 390.950723] mxc-mipi-csi2.0: mipi_csis_g_frame_interval, No remote pad found!
[ 390.957884] mxc-mipi-csi2.0: mipi_csis_g_frame_interval, No remote subdev found!
[ 390.977425] mxc-mipi-csi2.0: mipi_csis_s_power, No remote pad found!
[ 390.983855] mxc-mipi-csi2.0: mipi_csis_s_power, No remote subdev found!
[ 390.990492] mxc_isi.0: Call subdev s_power fail!
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
../git/sys/v4l2/gstv4l2src.c(659): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../git/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.163218125
Setting pipeline to NULL ...
Freeing pipeline ...

 

Any help to solve this issue will be highly appreciated. Thanks for your help in advance.

 

 

 

 

0 Kudos
21 Replies

485 Views
zibo_zhao
Contributor I

A few things to try:

  1. Did you set the input channel for your video correctly? The chip has multiple channels. I had to add some code to enable some v4l2-ctl IOCTL to switch between channels.
  2. Press CTRL-C to stop the gstreamer launch and try to run the gst pipeline again right after to see if the pipeline rolls or not. We had issue that the pipeline would not roll for the first time. It seems to have something to do with some clocks turned off by power management and only become active after the streaming is on causing issues. 

good luck.

0 Kudos

3,472 Views
zibo_zhao
Contributor I

We are using the same solution MIPI-CSI -> ADV7280-M. Any known working solution yet? Thanks!

0 Kudos

3,160 Views
petero5
Contributor III

Hi @zibo_zhao
Did you manage to find a solution to "mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!"?
Thank you, Peter

0 Kudos

3,134 Views
zibo_zhao
Contributor I

No, we have not yet. we did the patch for goko_gr so the warning is gone. But still have not tried the Video part yet since we have not got our board back yet.

0 Kudos

3,133 Views
zibo_zhao
Contributor I
BTW, we are also using 5.15-kirkstone
@nxp support, please give some advice. Thanks!
0 Kudos

3,557 Views
petero5
Contributor III

Also getting "mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!"
What was the solution please?
NXP i.MX Release Distro 5.15-kirkstone
compatible = "adi,adv7280-m";

0 Kudos

4,143 Views
Goko_gr
Contributor I

Hi @Dhruvit,

We have already tried the solution that you have recommended 2 weeks ago, and it makes the

created link [adv7180 1-0020] => [mxc-mipi-csi2.0]

connection. The correct usage of it is as follows.

static int adv7180_link_setup(struct media_entity *entity,
struct media_pad const *local,
struct media_pad const *remote, u32 flags)
{
return 0;
}

static const struct media_entity_operations adv7180_entity_ops = {
.link_setup = adv7180_link_setup,
};

You must add the last struct in order to work.

However, now the problem is we don't get any video output from the camera with a gstreamer command. The above addition connects the linkage between adv and mipi, but i think adv7180 still don't think porperly. The command we use is

gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw,width=720,height=240 ! queue ! fpsdisplaysink sync=false

I have added prints in all of the functions in adv7180.c, and i think the problem is we don't enter the required functions in adv7180.c driver. I tried to fix it by looking the ov5640.c driver, since it is the default working driver, but i have not found any solution so far. For example, we can not enter

static v4l2_std_id adv7180_std_to_v4l2(u8 status1)

static int __adv7180_status

static int adv7180_querystd

these functions.

So, to make it brief, all we asking from you is that stable and working adv7180.c driver which works perfectly with the iMX8MPlus. If we somehow get a camera view , it will be enough for us to move on. Updated adv7180.c driver would be helpful. Any help will be greatly appreciated.

 

0 Kudos

4,200 Views
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @brky06,

I have sent you an email regarding the issue. Please refer to the same.

 

Thank you.

Best Regards,
Dhruvit.

0 Kudos

2,723 Views
pieropischedda
Contributor I

Hi @Dhruvit 

I have the same issue:

mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!

Could you share the solution with us too please?

Thanks

0 Kudos

2,708 Views
eduardo3
Contributor III

This is what we have done with the imx8x (imx8qxp). May or may not help in your case.

 

https://community.nxp.com/t5/i-MX-Processors/Integrate-ADV7280-M-with-IMX8X/m-p/1633248#M204166

 

 

0 Kudos

3,163 Views
petero5
Contributor III

Hi @Dhruvit 

We are having the same issue:

mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found!

Would you be able to share the solution with us too please?

Thank you
-- Peter

0 Kudos

4,329 Views
Goko_gr
Contributor I

We have got definitely the same problem. In addition, the people we have worked with have been encountered with the same problem for a long time with MIPI and ADV7280, but none of us got any answer from NXP yet. Any help would be very useful. Thanks.

0 Kudos

524 Views
Maruti
Contributor I

Hi,

In our custom board, we got a problem with getting analog video from MIPI-CSI-2 lane . As you mentioned earlier we also got the same error "mxc-mipi-csi2.0: is_entity_link_setup, No remote pad found! " .
And also the error is solved but when i give the gst command the result is below :
root@imx93-iwg50m-osm:~# gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert! videoscale ! video/x-raw, width=360, height=240,framerate=25/1 ! autovideosink sync=false
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 1487.977334] mxc-mipi-csi2.0: format: 0x2008
[ 1487.987001] bypass csc
[ 1487.989391] input fmt YUV4
[ 1487.992371] output fmt YUYV
[ 1487.995314] mxc-isi 4ae40000.isi: input_size(720,288), output_size(360,240)
[ 1488.004157] dwc-mipi-csi2-host 4ae00000.csi: enter enable=1

And no output is visible on the screen
BSP Linux 6.1.22 

Any help to solve this issue will be highly appreciated. Thanks for your help in advance.

0 Kudos

464 Views
KimberlyCarvajal
Contributor I

Hi Maruti,

Your log indicates that the color formats of the input and output are different, this mismatch won't allow to capture the buffers
[ 1487.989391] input fmt YUV4
[ 1487.992371] output fmt YUYV

The adv7280 works with the YUY2 (YUYV) format which looks that is not implemented in the isi source formats.

 Also there is a missmatch on the resolution you are trying to capture
[ 1487.995314] mxc-isi 4ae40000.isi: input_size(720,288), output_size(360,240)

Looks like the ADV7280 is configure to capture NTSC interlaced 720x288 and you are trying to capture 360x240.

Regards,

Kimberly Carvajal

Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

0 Kudos

400 Views
Maruti
Contributor I

Hi @KimberlyCarvajal 
Thhanks for your response 

Any solution from your side ? Thanks in advance 
Regards

Maruti

0 Kudos

377 Views
KimberlyCarvajal
Contributor I

Hi @Maruti,

Yes, RidgeRun has developed this support before for the i.MX8 and other NXP devices. It is require to modify the files drivers/staging/media/imx/imx8-isi-cap.c and drivers/staging/media/imx/imx8-isi-fmt.c by adding the YUY2 colorspace to the isi in/out formats structs to match the hw capabilities.

The modifications can be done on your side, a new kernel image requires to be built and installed, if you require RidgeRun to provide this support, please contact us at support@ridgerun.com, you can check more RidgeRun information at:

 

Regards,

Kimberly Carvajal

Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

0 Kudos

338 Views
Maruti
Contributor I

Hi @KimberlyCarvajal 
Can i get  patch for the modifications that you done on drivers/staging/media/imx/imx8-isi-cap.c and drivers/staging/media/imx/imx8-isi-fmt.c files.

Regards
Maruti

0 Kudos

492 Views
eduardo3
Contributor III

I had to modify the driver to avoid that size issue. See if this helps you.

diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c
index c7c659ff71f2..478dfdf2dbe7 100644
--- a/drivers/media/i2c/adv7180.c
+++ b/drivers/media/i2c/adv7180.c
@@ -221,6 +221,7 @@ struct adv7180_state {
const struct adv7180_chip_info *chip_info;
enum v4l2_field field;
bool force_bt656_4;
+ bool force_field_none;
};
#define to_adv7180_sd(_ctrl) (&container_of(_ctrl->handler, \
struct adv7180_state, \
@@ -746,8 +747,8 @@ static int adv7180_set_pad_format(struct v4l2_subdev *sd,
break;
fallthrough;
default:
- format->format.field = V4L2_FIELD_NONE;
- /* format->format.field = V4L2_FIELD_ALTERNATE; */
+ format->format.field = state->force_field_none ?
+ V4L2_FIELD_NONE : V4L2_FIELD_ALTERNATE;
break;
}

@@ -1431,9 +1432,12 @@ static int adv7180_probe(struct i2c_client *client,
if (state == NULL)
return -ENOMEM;

+ if (of_property_read_bool(np, "adv,force-field-none"))
+ state->force_field_none = true;
+
state->client = client;
- state->field = V4L2_FIELD_NONE;
- /* state->field = V4L2_FIELD_ALTERNATE; */
+ state->field = state->force_field_none ? V4L2_FIELD_NONE :
+ V4L2_FIELD_ALTERNATE;
state->chip_info = (struct adv7180_chip_info *)id->driver_data;

state->pwdn_gpio = devm_gpiod_get_optional(&client->dev, "powerdown",
0 Kudos

404 Views
Maruti
Contributor I

Hello @eduardo3 

Thanks for your resposnse
I have modified the driver code as in your patch but the output has no difference. can you pls share your dts changes .
 

Regards 

Maruti 

Tags (1)
0 Kudos

4,174 Views
raminrad
Contributor I

I have the same problem and I got stuck for a few weeks, anyone got any solution?

BR

0 Kudos