cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Contributor
Contributor
602 Views
Registered: ‎08-10-2020

Error while reserving memory for VCU Decoder: "Failed to get shared dma pool with error : -22"

Jump to solution

Hi,
I'm trying to employ the Use-case 2 described in the PG252 page 85 in Enabling PL-DDR for VCU section using ZCU104 and a proper RAM.
but when I do the instructions and boot the board I get this message in the boot log: 

[    9.557173] al5d a0120000.al5d: Failed to get shared dma pool with error : -22

And when I try to run a simple transcode, the output video is not right.

 

Here is a step by step description of what I do:
1. I create a petalinux project using this command:

petalinux-create -t project -s xilinx-zcu104-v2020.1-final.bsp -n project_name

2. I change the system-user.dtsi file to this:

	/include/ "system-conf.dtsi"
	/ {
		reserved-memory {
			#address-cells = <0x2>;
			#size-cells = <0x2>;
			ranges;
			plmem_vcu_dec: vcu_dma_mem_region {
				compatible = "shared-dma-pool";
				no-map;
				reg = <0x48 0x0 0x0 0x70000000>;
			};
		};
	};
	&amba_pl {
		video_m2m {
			compatible = "xlnx,mem2mem";
			dmas = <&v_frmbuf_rd_0 0>,<&v_frmbuf_wr_0 0>;
			dma-names = "tx", "rx";
		};
	};
	&vcu_ddr4_controller_0 {
		compatible = "xlnx,ddr4-2.2";
		reg = <0x00000048 0x00000000 0x0 0x80000000>;
		ranges;
		#address-cells = <2>;
		#size-cells = <2>;
	};
	&decoder {
		memory-region = <&plmem_vcu_dec>;
	};

	/*pl_ddr vfb*/
	&v_frmbuf_rd_0 {

		reset-gpios = <&gpio 79 1>;	

	};

	&v_frmbuf_wr_0 {

		reset-gpios = <&gpio 80 1>;

	};

3. I export the vivado project hardware (.xsa file) generated from the BSP.
4. I give the hardware description to the petalinux project:

petalinux-config --get-hw-description=hardware/xilinx-zcu104-2020.1

5. I build the petalinux project:

petalinux-build

6. I boot the board using jtag:

petalinux-boot --jtag --kernel --fpga --bitstream ./hardware/xilinx-zcu104-2020.1/xilinx-zcu104-2020.1.runs/impl_1/project_1_wrapper.bit 

7. I configure the devmem configurations needed :

devmem 0xfd3b0008 w 0x3 && devmem 0xfd3b001c w 0x3 && devmem 0xfd3b0004 w 0xf && devmem 0xfd3b0018 w 0xf && devmem 0xfd390008 w 0x3 && devmem 0xfd39001c w 0x3 && devmem 0xfd390004 w 0xf && devmem 0xfd390018 w 0xf && devmem 0xfd3a0008 w 0x3 && devmem 0xfd3a001c w 0x3 && devmem 0xfd3a0004 w 0xf && devmem 0xfd3a0018 w 0xf && devmem 0xfd360008 w 0x3 && devmem 0xfd36001c w 0x3 && devmem 0xfd360004 w 0x7 && devmem 0xfd360018 w 0x7

8. I set the NV12 for mem2mem video node:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat='NV12'

9. I run the Gstreamer pipeline for simple transcode:

gst-launch-1.0 filesrc location="input_file.mp4" ! qtdemux name=demux demux.video_0 ! h264parse ! queue ! omxh264dec internal-entropy-buffers=7 ! queue max-size-bytes=0 ! v4l2convert output-io-mode=5 capture-io-mode=4 disable-passthrough= 1 import-buffer-alignment=true ! omxh265enc num-slices=8 prefetch-buffer=true ! filesink location="result.h264"


Result: 

[ 1473.386950] xilinx-mem2mem amba_pl@0:video_m2m: Created instance 00000000e8af6394, m2m_ctx: 00000000aecbf3c2
[ 1473.608156] xilinx-mem2mem amba_pl@0:video_m2m: Created instance 0000000034d59e81, m2m_ctx: 0000000067b1d40b
Setting pipeline to PAUSED ...
[ 1473.646495] xilinx-mem2mem amba_pl@0:video_m2m: Created instance 00000000b3e7d8e2, m2m_ctx: 00000000d8f31995
Pipeline is PREROLLING ...
Redistribute latency...
Redistribute latency...
!! The specified Level is too low and will be adjusted !!
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[WARNING] Filler data (586955) doesn't fit in the current buffer. Clip it to 488001 !
Got EOS from element "pipeline0".
Execution ended after 0:00:15.898330670
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


But the result file is false.

 

 

My boot log (some errors are highlighted): 

dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.4.0-xilinx-v2020.1 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Sat Oct 10 18:25:50 UTC 2020
[    0.000000] Machine model: ZynqMP ZCU104 RevC
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 1000 MiB at 0x0000000036400000
[    0.000000] On node 0 totalpages: 524032
[    0.000000]   DMA32 zone: 8188 pages used for memmap
[    0.000000]   DMA32 zone: 0 pages reserved
[    0.000000]   DMA32 zone: 524032 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 22 pages/cpu s49944 r8192 d31976 u90112
[    0.000000] pcpu-alloc: s49944 r8192 d31976 u90112 alloc=22*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] Speculative Store Bypass Disable mitigation not required
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 515844
[    0.000000] Kernel command line:  earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/ram0 rw cma=1000M
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 944908K/2096128K available (11644K kernel code, 672K rwdata, 3624K rodata, 704K init, 323K bss, 127220K reserved, 1024000K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    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] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x2a8/0x42c with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000003] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008381] Console: colour dummy device 80x25
[    0.012477] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.022840] pid_max: default: 32768 minimum: 301
[    0.027562] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.034784] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.043507] ASID allocator initialised with 32768 entries
[    0.047984] rcu: Hierarchical SRCU implementation.
[    0.052912] EFI services will not be available.
[    0.057315] smp: Bringing up secondary CPUs ...
[    0.128526] Detected VIPT I-cache on CPU1
[    0.128558] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.185452] Detected VIPT I-cache on CPU2
[    0.185472] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.238397] Detected VIPT I-cache on CPU3
[    0.238416] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.238463] smp: Brought up 1 node, 4 CPUs
[    0.268317] SMP: Total of 4 processors activated.
[    0.272989] CPU features: detected: 32-bit EL0 Support
[    0.278093] CPU features: detected: CRC32 instructions
[    0.283225] CPU: All CPU(s) started at EL2
[    0.287272] alternatives: patching kernel code
[    0.292733] devtmpfs: initialized
[    0.299932] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.304662] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.332316] xor: measuring software checksum speed
[    0.371625]    8regs     :  2375.000 MB/sec
[    0.411652]    32regs    :  2725.000 MB/sec
[    0.451682]    arm64_neon:  2365.000 MB/sec
[    0.451718] xor: using function: 32regs (2725.000 MB/sec)
[    0.455591] pinctrl core: initialized pinctrl subsystem
[    0.461417] NET: Registered protocol family 16
[    0.466488] DMA: preallocated 256 KiB pool for atomic allocations
[    0.471269] audit: initializing netlink subsys (disabled)
[    0.476678] audit: type=2000 audit(0.420:1): state=initialized audit_enabled=0 res=1
[    0.484326] cpuidle: using governor menu
[    0.488342] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.507377] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.508430] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.515100] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.521765] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.602264] DRBG: Continuing without Jitter RNG
[    1.677593] raid6: neonx8   gen()  1544 MB/s
[    1.745618] raid6: neonx8   xor()  1461 MB/s
[    1.813708] raid6: neonx4   gen()  1480 MB/s
[    1.881721] raid6: neonx4   xor()  1419 MB/s
[    1.949776] raid6: neonx2   gen()  1124 MB/s
[    2.017836] raid6: neonx2   xor()  1172 MB/s
[    2.085891] raid6: neonx1   gen()   728 MB/s
[    2.153941] raid6: neonx1   xor()   880 MB/s
[    2.222013] raid6: int64x8  gen()  1162 MB/s
[    2.290059] raid6: int64x8  xor()   760 MB/s
[    2.358132] raid6: int64x4  gen()   977 MB/s
[    2.426175] raid6: int64x4  xor()   733 MB/s
[    2.494257] raid6: int64x2  gen()   678 MB/s
[    2.562255] raid6: int64x2  xor()   591 MB/s
[    2.630299] raid6: int64x1  gen()   449 MB/s
[    2.698364] raid6: int64x1  xor()   450 MB/s
[    2.698401] raid6: using algorithm neonx8 gen() 1544 MB/s
[    2.702358] raid6: .... xor() 1461 MB/s, rmw enabled
[    2.707288] raid6: using neon recovery algorithm
[    2.712225] iommu: Default domain type: Translated 
[    2.716925] SCSI subsystem initialized
[    2.720457] libata version 3.00 loaded.
[    2.720569] usbcore: registered new interface driver usbfs
[    2.725915] usbcore: registered new interface driver hub
[    2.731186] usbcore: registered new device driver usb
[    2.736226] mc: Linux media interface: v0.10
[    2.740434] videodev: Linux video capture interface: v2.00
[    2.745883] pps_core: LinuxPPS API ver. 1 registered
[    2.750798] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    2.759891] PTP clock support registered
[    2.763784] EDAC MC: Ver: 3.0.0
[    2.767252] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.775549] FPGA manager framework
[    2.778858] Advanced Linux Sound Architecture Driver Initialized.
[    2.785053] Bluetooth: Core ver 2.22
[    2.788354] NET: Registered protocol family 31
[    2.792752] Bluetooth: HCI device and connection manager initialized
[    2.799068] Bluetooth: HCI socket layer initialized
[    2.803911] Bluetooth: L2CAP socket layer initialized
[    2.808933] Bluetooth: SCO socket layer initialized
[    2.814082] clocksource: Switched to clocksource arch_sys_counter
[    2.819924] VFS: Disk quotas dquot_6.6.0
[    2.823765] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.834488] NET: Registered protocol family 2
[    2.835204] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    2.843396] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    2.851329] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    2.858681] TCP: Hash tables configured (established 16384 bind 16384)
[    2.865044] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    2.871679] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    2.878854] NET: Registered protocol family 1
[    2.883315] RPC: Registered named UNIX socket transport module.
[    2.888947] RPC: Registered udp transport module.
[    2.893612] RPC: Registered tcp transport module.
[    2.898282] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.904950] PCI: CLS 0 bytes, default 64
[    2.908676] Trying to unpack rootfs image as initramfs...
[    6.356360] Freeing initrd memory: 69596K
[    6.357069] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    6.361998] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    6.370399] Initialise system trusted keyrings
[    6.374068] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    6.381162] NFS: Registering the id_resolver key type
[    6.385371] Key type id_resolver registered
[    6.389510] Key type id_legacy registered
[    6.393493] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    6.400161] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    6.421425] NET: Registered protocol family 38
[    6.421468] Key type asymmetric registered
[    6.424302] Asymmetric key parser 'x509' registered
[    6.429163] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    6.436500] io scheduler mq-deadline registered
[    6.440993] io scheduler kyber registered
[    6.446833] xilinx-frmbuf a0000000.v_frmbuf_rd: Probe deferred due to GPIO reset defer
[    6.452889] xilinx-frmbuf a0010000.v_frmbuf_wr: Probe deferred due to GPIO reset defer
[    6.484454] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    6.488549] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    6.495555] brd: module loaded
[    6.499973] loop: module loaded
[    6.500744] mtdoops: mtd device (mtddev=name/number) must be supplied
[    6.504968] libphy: Fixed MDIO Bus: probed
[    6.508919] tun: Universal TUN/TAP device driver, 1.6
[    6.513047] CAN device driver interface
[    6.517602] usbcore: registered new interface driver asix
[    6.522176] usbcore: registered new interface driver ax88179_178a
[    6.528215] usbcore: registered new interface driver cdc_ether
[    6.534008] usbcore: registered new interface driver net1080
[    6.539632] usbcore: registered new interface driver cdc_subset
[    6.545513] usbcore: registered new interface driver zaurus
[    6.551058] usbcore: registered new interface driver cdc_ncm
[    6.557401] usbcore: registered new interface driver uas
[    6.561961] usbcore: registered new interface driver usb-storage
[    6.568438] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    6.573141] i2c /dev entries driver
[    6.577343] xilinx-mem2mem amba_pl@0:video_m2m: DMA initialization failed
[    6.583299] xilinx-mem2mem amba_pl@0:video_m2m: DMA initialization failed
[    6.590814] usbcore: registered new interface driver uvcvideo
[    6.595750] USB Video Class driver (1.1.1)
[    6.600311] Bluetooth: HCI UART driver ver 2.3
[    6.604234] Bluetooth: HCI UART protocol H4 registered
[    6.609333] Bluetooth: HCI UART protocol BCSP registered
[    6.614622] Bluetooth: HCI UART protocol LL registered
[    6.619710] Bluetooth: HCI UART protocol ATH3K registered
[    6.625087] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    6.631336] Bluetooth: HCI UART protocol Intel registered
[    6.636679] Bluetooth: HCI UART protocol QCA registered
[    6.641879] usbcore: registered new interface driver bcm203x
[    6.647502] usbcore: registered new interface driver bpa10x
[    6.653035] usbcore: registered new interface driver bfusb
[    6.658487] usbcore: registered new interface driver btusb
[    6.663950] usbcore: registered new interface driver ath3k
[    6.669474] EDAC MC: ECC not enabled
[    6.673055] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    6.685402] sdhci: Secure Digital Host Controller Interface driver
[    6.691160] sdhci: Copyright(c) Pierre Ossman
[    6.695485] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.701410] ledtrig-cpu: registered to indicate activity on CPUs
[    6.707119] zynqmp_firmware_probe Platform Management API v1.1
[    6.712875] zynqmp_firmware_probe Trustzone version v1.0
[    6.721113] zynqmp-pinctrl firmware:zynqmp-firmware:pinctrl: zynqmp pinctrl initialized
[    6.749627] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    6.751549] zynqmp_aes zynqmp_aes: AES Successfully Registered
[    6.751549] 

[    6.757119] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    6.764766] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    6.770314] usbcore: registered new interface driver usbhid
[    6.774125] usbhid: USB HID core driver
[    6.780276] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    6.784636] usbcore: registered new interface driver snd-usb-audio
[    6.791311] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    6.798541] Initializing XFRM netlink socket
[    6.802316] NET: Registered protocol family 10
[    6.807057] Segment Routing with IPv6
[    6.810390] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    6.816489] NET: Registered protocol family 17
[    6.820584] NET: Registered protocol family 15
[    6.825005] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    6.837873] can: controller area network core (rev 20170425 abi 9)
[    6.844035] NET: Registered protocol family 29
[    6.848428] can: raw protocol (rev 20170425)
[    6.852664] can: broadcast manager protocol (rev 20170425 t)
[    6.858291] can: netlink gateway (rev 20190810) max_hops=1
[    6.863819] Bluetooth: RFCOMM TTY layer initialized
[    6.868587] Bluetooth: RFCOMM socket layer initialized
[    6.873696] Bluetooth: RFCOMM ver 1.11
[    6.877407] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    6.882678] Bluetooth: BNEP filters: protocol multicast
[    6.887872] Bluetooth: BNEP socket layer initialized
[    6.892799] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    6.898685] Bluetooth: HIDP socket layer initialized
[    6.903721] 9pnet: Installing 9P2000 support
[    6.907878] Key type dns_resolver registered
[    6.912356] registered taskstats version 1
[    6.916159] Loading compiled-in X.509 certificates
[    6.921306] Btrfs loaded, crc32c=crc32c-generic
[    6.934408] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 41, base_baud = 6249999) is a xuartps
[    6.943422] printk: console [ttyPS0] enabled
[    6.947718] printk: bootconsole [cdns0] disabled
[    6.957209] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 42, base_baud = 6249999) is a xuartps
[    6.970443] of-fpga-region fpga-full: FPGA Region probed
[    6.976828] xilinx-dpdma fd4c0000.dma: Xilinx DPDMA engine is probed
[    6.983394] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    6.990495] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    6.997596] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    7.004695] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    7.011800] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    7.018905] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    7.026007] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    7.033110] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    7.040282] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    7.047383] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    7.054485] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    7.061586] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    7.068683] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    7.075785] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    7.082884] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    7.089994] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    7.097094] xilinx-frmbuf a0000000.v_frmbuf_rd: Xilinx AXI frmbuf DMA_MEM_TO_DEV
[    7.104534] xilinx-frmbuf a0000000.v_frmbuf_rd: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    7.113182] xilinx-frmbuf a0010000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[    7.120628] xilinx-frmbuf a0010000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[    7.129483] xilinx-psgtr fd400000.zynqmp_phy: Lane:1 type:8 protocol:4 pll_locked:yes
[    7.140355] xilinx-dp-snd-codec fd4a0000.zynqmp-display:zynqmp_dp_snd_codec0: Xilinx DisplayPort Sound Codec probed
[    7.151029] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[    7.159064] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[    7.167624] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[    7.180107] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: xilinx-dp-snd-codec-dai <-> xilinx-dp-snd-codec-dai mapping ok
[    7.192752] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: Xilinx DisplayPort Sound Card probed
[    7.202925] OF: graph: no port node found in /amba/zynqmp-display@fd4a0000
[    7.209912] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    7.216523] [drm] No driver support for vblank timestamp query.
[    7.222498] xlnx-drm xlnx-drm.0: bound fd4a0000.zynqmp-display (ops 0xffffffc010ca7138)
[    8.310100] [drm] Cannot find any crtc or sizes
[    8.314847] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.zynqmp-display on minor 0
[    8.322942] zynqmp-display fd4a0000.zynqmp-display: ZynqMP DisplayPort Subsystem driver probed
[    8.331745] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply ahci not found, using dummy regulator
[    8.340474] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply phy not found, using dummy regulator
[    8.349124] ahci-ceva fd0c0000.ahci: fd0c0000.ahci supply target not found, using dummy regulator
[    8.358141] xilinx-psgtr fd400000.zynqmp_phy: Lane:3 type:3 protocol:2 pll_locked:yes
[    8.376082] ahci-ceva fd0c0000.ahci: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    8.385043] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst 
[    8.395451] scsi host0: ahci-ceva
[    8.399012] scsi host1: ahci-ceva
[    8.402440] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 39
[    8.410355] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 39
[    8.418825] spi-nor spi0.0: found mt25qu512a (n25q512a), expected m25p80
[    8.425778] spi-nor spi0.0: mt25qu512a (n25q512a) (65536 Kbytes)
[    8.431793] 3 fixed-partitions partitions found on MTD device spi0.0
[    8.438137] Creating 3 MTD partitions on "spi0.0":
[    8.442921] 0x000000000000-0x000001e00000 : "boot"
[    8.448480] 0x000001e00000-0x000001e40000 : "bootenv"
[    8.454250] 0x000001e40000-0x000004000000 : "kernel"
[    8.462118] macb ff0e0000.ethernet: Not enabling partial store and forward
[    8.469447] libphy: MACB_mii_bus: probed
[    8.476716] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)
[    8.489758] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 30 (00:0a:35:00:22:01)
[    8.499902] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    8.506437] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    8.512920] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    8.519422] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    8.527554] dwc3 fe200000.dwc3: Failed to get clk 'ref': -2
[    8.533340] xilinx-psgtr fd400000.zynqmp_phy: Lane:2 type:0 protocol:3 pll_locked:yes
[    8.543566] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    8.549054] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    8.556795] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000202010810
[    8.566197] xhci-hcd xhci-hcd.0.auto: irq 51, io mem 0xfe200000
[    8.572315] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    8.580572] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.587789] usb usb1: Product: xHCI Host Controller
[    8.592657] usb usb1: Manufacturer: Linux 5.4.0-xilinx-v2020.1 xhci-hcd
[    8.599262] usb usb1: SerialNumber: xhci-hcd.0.auto
[    8.604403] hub 1-0:1.0: USB hub found
[    8.608166] hub 1-0:1.0: 1 port detected
[    8.612267] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    8.617752] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    8.625409] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    8.632137] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[    8.640394] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    8.647612] usb usb2: Product: xHCI Host Controller
[    8.652480] usb usb2: Manufacturer: Linux 5.4.0-xilinx-v2020.1 xhci-hcd
[    8.659087] usb usb2: SerialNumber: xhci-hcd.0.auto
[    8.664189] hub 2-0:1.0: USB hub found
[    8.667949] hub 2-0:1.0: 1 port detected
[    8.672972] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[    8.681658] at24 2-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[    8.688376] i2c i2c-0: Added multiplexed i2c bus 2
[    8.693359] i2c i2c-0: Added multiplexed i2c bus 3
[    8.698402] i2c i2c-0: Added multiplexed i2c bus 4
[    8.704062] i2c i2c-0: Added multiplexed i2c bus 5
[    8.708969] i2c i2c-0: Added multiplexed i2c bus 6
[    8.713871] i2c i2c-0: Added multiplexed i2c bus 7
[    8.718821] i2c i2c-0: Added multiplexed i2c bus 8
[    8.723724] i2c i2c-0: Added multiplexed i2c bus 9
[    8.728514] pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
[    8.732293] ata2: SATA link down (SStatus 0 SControl 330)
[    8.736111] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 32
[    8.741490] ata1: SATA link down (SStatus 0 SControl 330)
[    8.747645] OF: graph: no port node found in /amba_pl@0/video_m2m
[    8.758857] xilinx-mem2mem amba_pl@0:video_m2m: no subdev found in graph
[    8.765548] xilinx-mem2mem amba_pl@0:video_m2m: mem2mem device registered
[    8.772824] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    8.780295] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    8.820613] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    8.830756] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-10-11T16:50:35 UTC (1602435035)
[    8.839625] of_cfs_init
[    8.842077] of_cfs_init: OK
[    8.845002] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    8.890600] mmc0: new high speed SDHC card at address aaaa
[    8.896488] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
[    8.906710]  mmcblk0: p1 p2 < p5 >
[    8.986514] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    8.993038] clk: Not disabling unused clocks
[    8.997303] ALSA device list:
[    9.000261]   #0: DisplayPort monitor
[    9.004234] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    9.004426] Freeing unused kernel memory: 704K
[    9.012842] cfg80211: failed to load regulatory.db
[    9.038114] Run /init as init process
[    9.139682] udevd[165]: starting version 3.2.8
[    9.144441] random: udevd: uninitialized urandom read (16 bytes read)
[    9.150933] random: udevd: uninitialized urandom read (16 bytes read)
[    9.157437] random: udevd: uninitialized urandom read (16 bytes read)
[    9.169123] udevd[166]: starting eudev-3.2.8
[    9.218788] mali: loading out-of-tree module taints kernel.
[    9.268173] xilinx-mem2mem amba_pl@0:video_m2m: Created instance (____ptrval____), m2m_ctx: (____ptrval____)
[    9.434388] [drm] Cannot find any crtc or sizes
[    9.482152] EXT4-fs (mmcblk0p2): unable to read superblock
[    9.488349] EXT4-fs (mmcblk0p2): unable to read superblock
[    9.494256] EXT4-fs (mmcblk0p2): unable to read superblock
[    9.503711] isofs_fill_super: bread failed, dev=mmcblk0p2, iso_blknum=16, block=32
[    9.543661] VCU PLL: enable
[    9.547286] xilinx-vcu xilinx-vcu: xvcu_probe: Probed successfully
[    9.557173] al5d a0120000.al5d: Failed to get shared dma pool with error : -22
[    9.582765] al5e a0100000.al5e: l2 prefetch size:12451840 (bits), l2 color bitdepth:10
[    9.584303] al5d a0120000.al5d: l2 prefetch size:12451840 (bits), l2 color bitdepth:10
[    9.608481] random: fast init done
[    9.619467] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    9.645963] EXT4-fs (mmcblk0p5): recovery complete
[    9.650811] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
[   10.013783] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[   10.053828] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[   10.082217] Warn: update-alternatives: libmali-xlnx has multiple providers with the same priority, please check /usr/lib/opkg/alternatives/libmali-xlnx for details
[   10.108513] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[   10.149184] update-alternatives: Linking /usr/lib/libMali.so.9.0 to /usr/lib/x11/libMali.so.9.0
[   10.229712] pps pps0: new PPS source ptp0
[   10.233732] macb ff0e0000.ethernet: gem-ptp-timer ptp clock registered.
[   12.282637] macb ff0e0000.ethernet eth0: link up (1000/Full)
[   12.288327] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   19.142533] urandom_read: 5 callbacks suppressed
[   19.142538] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
[   19.154224] random: dbus-uuidgen: uninitialized urandom read (8 bytes read)
[   19.970825] random: crng init done

I would like to know if the mentioned error could be the problem, and if not any suggestions on what the issue might be?

Do I need to change any settings of the VCU IP Core for NV12 1920x1080 transcoding?  
Also, is there any way to check if the ram used for PL is working fine and is compatible with the design? 

Note: I didn't change the vcu_ddr4_controller settings because the default settings appropriate for my ram.
Thanks a lot

 

 

0 Kudos
Reply
1 Solution

Accepted Solutions
Contributor
Contributor
362 Views
Registered: ‎08-10-2020

Update: The problem was actually a typo in the device tree and after fixing the typo the pl ddr worked properly.

View solution in original post

0 Kudos
Reply
5 Replies
Mentor
Mentor
465 Views
Registered: ‎06-09-2011

Hi @ali_flt ,

could you please first share the layout of connection between ZYNQ, VCU and vcu_DDR4 controller. Then please tell me which SODIMM of the module you have selected?

 

Thanks,
Hossein
0 Kudos
Reply
Contributor
Contributor
446 Views
Registered: ‎08-10-2020

Hi @embedded ,

The block design layout of the project is the same block design of the ZCU104 2020.1 BSP, so that we make sure we are doing nothing wrong in the Block design connections. As Xilinx claims that this design needs no changes in order to enable the PL DDR. (in PG252)

The SODIMM we wanted to have was the "X8 (KVR21SE15S8/4)"  Part listed in the Table-47 of PG252. 
But unfortunately it seems like this memory parts are quite deprecated and really hard to find, so we had to find a memory part similar to this part.
The part that we have here is the HMA451S6AFR8N-TF with 2133MT/s and 15-15-15 specifications. 
I'm pretty sure this part is compatible with the system but can you suggest any ways for me to get sure it is? is there any commands I could run to see the device has recognized the ram and can work with it?

0 Kudos
Reply
Mentor
Mentor
437 Views
Registered: ‎06-09-2011

Hi@ali_flt,

Please be more specific and tell me which design you are exactly using. Are you referring to this design? Otherwise, please give the right information about your hardware setup.

What I can recommend you is to test MTA4ATF51264HZ SODIMM that is available in the IP GUI list. It worked for our case. However, you need to make necessary changes at boot to configure the mig_sys clock pin to 125MHz.

According to long discussions I had with Xilinx staff it seems that those figures related to COMPONENT part are all related to ZCU106 board. So, do not waste your time by hard work to get ZCU104 running on 2400!. That is impossible. They had limitations and couldn't get it running by SODIMM. That's why they have changed PL-DDR SODIMM in ZCU106 to COMPONENT.

 

 

Thanks,
Hossein
0 Kudos
Reply
Contributor
Contributor
416 Views
Registered: ‎08-10-2020

Hi @embedded , 
The BSP or Board support package is a prebuilt design that xilinx provides for some evaluation board such as the ZCU104 EVB. In the BSP of the ZCU104, there is a proper connection between the VCU, ZYNQ and Vcu_ddr4_controller IPs. You can find the BSPs for several boards here.

ali_flt_0-1602690414322.png

I've attached a tcl of the design.
As for the ram, I'm afraid  after searching the available parts we couldn't find any of the parts listed in the document so we had to use the mentioned part.
I would want to know if there is a way for testing the ram with the board on ubuntu 18.04. 
Thanks

0 Kudos
Reply
Contributor
Contributor
363 Views
Registered: ‎08-10-2020

Update: The problem was actually a typo in the device tree and after fixing the typo the pl ddr worked properly.

View solution in original post

0 Kudos
Reply