OpenAMP / libmetal

An abstraction layer across RTOS, baremetal, and user-space Linux environments
https://www.openampproject.org/
Other
262 stars 170 forks source link

ZynqMP Demo Doesn't Work On ZCU102 #8

Closed kf6uzf closed 6 years ago

kf6uzf commented 6 years ago

I am having trouble running the libmetal demo on Linux. It seems the IPI device is not defined. During boot the drivers say the IPI device is not defined.

Here is the boot message related to the remoteproc initialization: [ 5.099446] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU core_conf: split0 [ 5.106917] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: IPI resource is not specified. [ 5.116141] remoteproc remoteproc0: ff9a0100.zynqmp_r5_rproc is available [ 5.122966] remoteproc remoteproc0: Note: remoteproc is still under development and considered experimental. [ 5.132820] remoteproc remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed. [ 5.144174] zynqmp_r5_remoteproc ff9a0200.zynqmp_r5_rproc: RPU core_conf: split1 [ 5.152017] remoteproc remoteproc1: ff9a0200.zynqmp_r5_rproc is available [ 5.158828] remoteproc remoteproc1: Note: remoteproc is still under development and considered experimental. [ 5.168691] remoteproc remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.

When loading the R5 code (linmetal-AMP-demo) it emits this: [ 20.922576] remoteproc remoteproc0: powering up ff9a0100.zynqmp_r5_rproc [ 20.931915] remoteproc remoteproc0: Booting fw image libmetal-demo, size 541332 [ 20.941412] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU boot from TCM. [ registering: 0, name=ff310000.ipi registering: 1, name=3ed80000.shm registering: 2, name=ff110000.ttc

SERVER> ====== libmetal demo: shared memory ======

SERVER> Wait for shared memory demo to start. 20.951156] remoteproc remoteproc0: remote processor ff9a0100.zynqmp_r5_rproc is now up

The libmetal demo common.h file has this:

/ Devices names /

define BUS_NAME "generic"

define IPI_DEV_NAME "ff310000.ipi"

define SHM_DEV_NAME "3ed80000.shm"

define TTC_DEV_NAME "ff110000.ttc"

My linux demo application common.h files has this:

define BUS_NAME "platform"

define IPI_DEV_NAME "ff340000.ipi"

define SHM_DEV_NAME "3ed80000.shm"

define TTC_DEV_NAME "ff110000.timer"

It seem the R5 app is using a different address for IPI than the Linux app. My device file (attached) also uses the "ff340000.ipi" definition.

When running the Linux app I get this" CLIENT> ** libmetal demo: shared memory ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Setting up shared memory demo. CLIENT> Starting shared memory demo. CLIENT> Sending message: Hello World - libmetal shared memory demo CLIENT> Message Received: Hello World - libmetal shared memory demo CLIENT> Shared memory demo: Passed. CLIENT> ** libmetal demo: atomic operation over shared memory ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. metal: error: failed to bind ff340000.ipi to uio_pdrv_genirq metal: error: metal_irq_register: irq fd -1 is less than 0. CLIENT> ERROR: Failed to open device ff340000.ipi. CLIENT> ERROR: shared memory atomic demo failed.

Any help would be appreciated

Attached is my device file system-user.dtsi.txt

wjliang commented 6 years ago

from your .dtsi file, you have specified interrupts in the test_r50 and test_r51, the ipi uio also uses the same interrupt which is the IPI interrupt. The UIO doesn't support interrupt sharing. you can remove "interrupt-parent = <&gic>; interrupts = <0 29 4>;" from the test_r50 and test_r51

kf6uzf commented 6 years ago

Removed the interrupt lines and still the same problem. Why does the IPI_DEV_NAME value differ in the rpu application (ff310000.ipi) as opposed to the Linux app (ff340000.ipi). The other values are the same (SHM_DEV_NAME & TTC_DEV_NAME). Also, why do I get the " IPI resource is not specified." message during boot?

wjliang commented 6 years ago

The Linux is using registers of PL0 IPI agent and the RPU0 is using registers of RPU0 IPI agent. you can check the TRM on the IPI description for more details in the remoteproc boot code, it will check if you have IPI specified, if yes, it will setup IPI notification. If you use RPMsg in kernel space, you will need to have IPI resource in the RPU remoteproc node. But if your userspace directly use IPI and the remoteproc is just to load firmware, you don't set the IPI resource. Please check your /sys/bus/platform, see if you see IPI devices there, the IPI device name needs to match the one there

Also in your DTS, " reg = <0x0 0xff9a0100 0 0x100>, <0x0 0xff340000 0 0x100>, <0x0 0xff9a0000 0 0x100>; reg-names = "rpu_base", "rpu_glbl_base"; "

you will also need to remove ", <0x0 0xff340000 0 0x100>", that's the IPI PL0 agent address, you use it as "rpu_glbl_base".

You will need to remove the IPI from reg and reg-names for both remoteproc nodes.

kf6uzf commented 6 years ago

First of all I would like to thank you from all your help so far...but I am still unable to run the Libmetal AMP Demo (following the instructions in UG1186 (v2017.3) October 18, 2017). I am still getting the metal: error: failed to bind ff340000.ipi to uio_pdrv_genirq error. I tried what you suggested (removing the entries in your previous post) but then got IPI errors on boot. There is a an device in /sys/bus/platform/devices called ff340000.ipi. When I query the defined interupts for that device I get this root@zcu102:/sys/bus/platform/devices/ff340000.ipi# cat of_node/interrupts | od -x 0000000 0000 0000 0000 1d00 0000 0400 0000014 which matches the deploy/images/plnx_aarch64/plnx_aarch64-system.dts entries for the ipi device. Example ipi@ff340000 { compatible = "ipi_uio"; reg = <0x0 0xff340000 0x0 0x1000>; interrupt-parent = <0x4>; interrupts = <0x0 0x1d 0x4>; }; My system-user.dtsi has this ipi: ipi@ff340000 { compatible = "ipi_uio"; reg = <0x0 0xff340000 0x0 0x1000>; interrupt-parent = <&gic>; interrupts = <0 29 4>; }; Why are they different? I have followed in the instruction in the UG1186 to a tee and have done it many times to exclude any errors. I there anyone else that is having the same problem? Thanks again and I apologize if I am being annoying. Let me know if you need further details. Brad

wjliang commented 6 years ago

Hi Brad, Could you paste the DTS generated by your DTB used in your Linux bringup? I am not seeing this issue?

you can also try manually bind the ipi device with UIO driver by directly accessing the sysfs:

# echo "uio_pdrv_genirq" > /sys/bus/platform/devices/ff340000.ipi/driver_override
# echo "ff340000.ipi" > /sys/bus/platform/drivers/uio_pdrv_genirq/bind

You should see the same issue without using libmetal application.

I still think it related to DTS at this point

kf6uzf commented 6 years ago

Did you mean provide the DTB from the DTS and DTSI files. Either way I include the entire folder. Also included is my system-user.dts for reference.

system-user.dtsi.zip

device-tree-generation-folder.zip

Thanks again!

kf6uzf commented 6 years ago

I ran the second command line command above (bind) and the is what was output

root@zcu102:~# echo "ff340000.ipi" > /sys/bus/platform/drivers/uio_pdrv_genirq/bind [ 58.992558] genirq: Flags mismatch irq 55. 00000004 (ipi) vs. 00000084 (ff9a0100.zynqmp_r5_rproc) [ 59.003773] uio_pdrv_genirq ff340000.ipi: unable to register uio device [ 59.012520] uio_pdrv_genirq: probe of ff340000.ipi failed with error -16 -sh: echo: write error: No such device

wjliang commented 6 years ago

from your system-user.dtsi, you have used the same interrupt as the ipi device node, UIO doesn't support shared interrupt. You will need to remove the IPI and the interrupts in the remoteproc device node: " in the remoteproc boot code, it will check if you have IPI specified, if yes, it will setup IPI notification. If you use RPMsg in kernel space, you will need to have IPI resource in the RPU remoteproc node. But if your userspace directly use IPI and the remoteproc is just to load firmware, you don't set the IPI resource. Please check your /sys/bus/platform, see if you see IPI devices there, the IPI device name needs to match the one there

Also in your DTS, " reg = <0x0 0xff9a0100 0 0x100>, <0x0 0xff340000 0 0x100>, <0x0 0xff9a0000 0 0x100>; reg-names = "rpu_base", "rpu_glbl_base"; "

you will also need to remove ", <0x0 0xff340000 0 0x100>", that's the IPI PL0 agent address, you use it as "rpu_glbl_base".

You will need to remove the IPI from reg and reg-names for both remoteproc nodes. "

kf6uzf commented 6 years ago

OK, I have made the changes you requested and most of the test pass except one. Thank you for getting me this far. I don't know hwy when you had mentioned the steps above that my process didn't work. I will pay more attention in the future.

The output of the tests are below with the "shared mem throughput demo" test failing. Amy ideas on why only this test failed based on the files I have sent you.

Thanks

CLIENT>` ** libmetal demo: shared memory ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Setting up shared memory demo. CLIENT> Starting shared memory demo. CLIENT> Sending message: Hello World - libmetal shared memory demo CLIENT> Message Received: Hello World - libmetal shared memory demo CLIENT> Shared memory demo: Passed. CLIENT> ** libmetal demo: atomic operation over shared memory ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Starting atomic shared memory task. CLIENT> shm atomic demo PASSED! CLIENT> ** libmetal demo: IPI and shared memory ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Start echo flood testing.... CLIENT> Sending msgs to the remote. CLIENT> Waiting for messages to echo back and verify. CLIENT> Kick remote to notify shutdown message sent... CLIENT> Total packages: 1024, time_avg = 0s, 1545ns CLIENT> ** libmetal demo: IPI latency ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Starting IPI latency task CLIENT> IPI latency result with 1000 iterations: CLIENT> APU to RPU average latency: 34 ns CLIENT> RPU to APU average latency: 34 ns CLIENT> Finished IPI latency task CLIENT> ** libmetal demo: shared memory latency ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Starting IPI latency task CLIENT> package size 16 latency result: CLIENT> APU to RPU average latency: 37 ns CLIENT> RPU to APU average latency: 0 ns CLIENT> package size 32 latency result: CLIENT> APU to RPU average latency: 6 ns CLIENT> RPU to APU average latency: 14 ns CLIENT> package size 64 latency result: CLIENT> APU to RPU average latency: 17 ns CLIENT> RPU to APU average latency: 23 ns CLIENT> package size 128 latency result: CLIENT> APU to RPU average latency: 13 ns CLIENT> RPU to APU average latency: 33 ns CLIENT> package size 256 latency result: CLIENT> APU to RPU average latency: 17 ns CLIENT> RPU to APU average latency: 10 ns CLIENT> package size 512 latency result: CLIENT> APU to RPU average latency: 32 ns CLIENT> RPU to APU average latency: 34 ns CLIENT> package size 1024 latency result: CLIENT> APU to RPU average latency: 40 ns CLIENT> RPU to APU average latency: 21 ns CLIENT> Finished shared memory latency task CLIENT> ** libmetal demo: shared memory throughput ** metal: info: metal_uio_dev_open: No IRQ for device 3ed80000.shm. CLIENT> Starting shared mem throughput demo CLIENT> ERROR: [0]failed to get rx offset: 0x3f780000, 0x3ef80004. CLIENT> ERROR: shared memory throughput demo failed.

wjliang commented 6 years ago

The libmetal shared memory test uses quite some memory, and thus needs to reserve more memory. I have checked the ug1186, the device tree memory example is wrong in the DTS, we will fix. And thanks for pointing it out.

Here is the change: reserved-memory {

address-cells = <2>;

            #size-cells = <2>;
            ranges;
            rproc_0_reserved: rproc@3ed000000 {
                    no-map;
                    reg = <0x0 0x3ed00000 0x0 0x2000000>;
            };
    };

shm0: shm@0 { compatible = "shm"; reg = <0x0 0x3ed80000 0x0 0x1000000>; };

kf6uzf commented 6 years ago

The last DTS change has solve my issue and the Libmetal AMP Demo test application runs to completion. I did notice that I cannot run the test application more than once without a reboot but I can figure that out on my own and will forward my findings to you. Thank you again for your help and your patience. I really appreciate both!.

wjliang commented 6 years ago

did you need to reboot the whole ZCU102 board or just the RPU? Once the RPU application finishes running , it will not automatically started, you can use remoteproc sysfs to restart the RPU only.

But if you need to restart the whole board that will be a different issue.

kf6uzf commented 6 years ago

I have confirmed that only an RPU restart is required to re-run the Linux demo app which makes sense because the RPU firmware's main function exits after the tests are complete. Maybe a note in the UG1186 explaining this behavior would benefit others when running the tests. Just a suggestion....

Thanks again!

justdoGIT commented 5 years ago

Hi, I am trying to implement the ZynqMP Linux Master running on APU with RPMsg in userspace and 2 RPU slaves. the dts file compiled from dtb is attached here. I've followed the steps in ug1186 but I am not able to boot r5 core. the bootgen.bif file is also attached. bootgen.txt device-tree.txt I didn't see any logs related to r5 while booting the boot time logs are as follows:

Xilinx Zynq MP First Stage Boot Loader
Release 2018.2   Jul 26 2018  -  17:46:19
PMU Firmware 2018.2     Jul 26 2018   17:51:15
PMU_ROM Version: xpbr-v8.1.0-0
NOTICE:  ATF running on XCZU2EG/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: Secure code at 0x0
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v1.4(release):xilinx-v2018.2
NOTICE:  BL31: Built : 17:43:05, Jul 26 2018

U-Boot 2018.07 (Jul 26 2018 - 16:39:55 +0000) IFM PDM3

I2C:   ready
DRAM:  1 GiB
EL Level:       EL2
Chip ID:        zu2eg
MMC:   sdhci@ff160000: 0
Loading Environment from SPI Flash... SF: Detected n25q256a with page size 256 Bytes, erase size 64 KiB, total 32 MiB
OK
FPGA: Using normal mode image.
sha1+   design filename = "b_v0_11_wrapper;UserID=0XFFFFFFFF;Version=2017.2"
  part number = "xczu2eg-sfva625-1-i"
  date = "2017/09/22"
  time = "14:11:52"
  bytes in bitstream = 5568668
zynqmp_align_dma_buffer: Align buffer at 0000000010000077 to 000000000fffff80(swap 1)
In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Net:   ZYNQ GEM: ff0b0000, phyaddr 0, interface rgmii-id
eth0: ethernet@ff0b0000
## Copying 'logo@1' subimage from FIT image at 3dd72bc0 ...
sha1+    Uncompressing part 0 ... OK
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
13995756 bytes read in 2205 ms (6.1 MiB/s)
## Loading kernel from FIT Image at 01000000 ...
   Using 'conf@xilinx_zynqmp-pdm3-medium-revB.dtb' configuration
   Trying 'kernel@1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x01000100
     Data Size:    13920768 Bytes = 13.3 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00080000
     Entry Point:  0x00080000
     Hash algo:    sha1
     Hash value:   1cf787a578e8890cc48d194da34599018e308d02
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 01000000 ...
   Using 'conf@xilinx_zynqmp-pdm3-medium-revB.dtb' configuration
   Trying 'fdt@xilinx_zynqmp-pdm3-medium-revB.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x01d4fbac
     Data Size:    36069 Bytes = 35.2 KiB
     Architecture: AArch64
     Hash algo:    sha1
     Hash value:   33614d073755d5e82425128b5ec4377a4e84a33d
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x1d4fbac
   Loading Kernel Image ... OK
   Loading Device Tree to 000000003dc9c000, end 000000003dca7ce4 ... OK
WARNING: reserved memory node not in DT!
Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.79-yocto-standard (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #4 SMP Tue Jan 22 15:32:03 UTC 2019
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: IFM PDM3 Medium rev. B
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 192 MiB at 0x0000000031c00000
[    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 21 pages/cpu @ffffffc03ff93000 s45080 r8192 d32744 u86016
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 254464
[    0.000000] Kernel command line: console=ttyPS0,115200n8 consoleblank=0 clk_ignore_unused mtdparts=spi0.0:3584k(u-boot),256k(env1),256k(env2),-(recovery) root=/dev/mmcblk0p1 rw rootwait
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[    0.000000] Memory: 803480K/1032192K available (9596K kernel code, 602K rwdata, 2844K rodata, 512K init, 2113K bss, 32104K reserved, 196608K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     modules : 0xffffff8000000000 - 0xffffff8008000000   (   128 MB)
[    0.000000]     vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000   (   250 GB)
[    0.000000]       .text : 0xffffff8008080000 - 0xffffff80089e0000   (  9600 KB)
[    0.000000]     .rodata : 0xffffff80089e0000 - 0xffffff8008cb0000   (  2880 KB)
[    0.000000]       .init : 0xffffff8008cb0000 - 0xffffff8008d30000   (   512 KB)
[    0.000000]       .data : 0xffffff8008d30000 - 0xffffff8008dc6a00   (   603 KB)
[    0.000000]        .bss : 0xffffff8008dc6a00 - 0xffffff8008fd6f88   (  2114 KB)
[    0.000000]     fixed   : 0xffffffbefe7fb000 - 0xffffffbefec00000   (  4116 KB)
[    0.000000]     PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000   (    16 MB)
[    0.000000]     vmemmap : 0xffffffbf00000000 - 0xffffffc000000000   (     4 GB maximum)
[    0.000000]               0xffffffbf00000000 - 0xffffffbf00e00000   (    14 MB actual)
[    0.000000]     memory  : 0xffffffc000000000 - 0xffffffc040000000   (  1024 MB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU event tracing is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 99.99MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171015c90f, max_idle_ns: 440795203080 ns
[    0.000003] sched_clock: 56 bits at 99MHz, resolution 10ns, wraps every 4398046511101ns
[    0.000312] Console: colour dummy device 80x25
[    0.000332] Calibrating delay loop (skipped), value calculated using timer frequency.. 199.99 BogoMIPS (lpj=399996)
[    0.000340] pid_max: default: 32768 minimum: 301
[    0.000433] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[    0.000441] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[    0.001078] ASID allocator initialised with 32768 entries
[    0.001128] Hierarchical SRCU implementation.
[    0.001307] EFI services will not be available.
[    0.001331] zynqmp_plat_init Platform Management API v1.0
[    0.001336] zynqmp_plat_init Trustzone version v1.0
[    0.001411] smp: Bringing up secondary CPUs ...
[    0.001690] Detected VIPT I-cache on CPU1
[    0.001722] CPU1: Booted secondary processor [410fd034]
[    0.001780] smp: Brought up 1 node, 2 CPUs
[    0.001788] SMP: Total of 2 processors activated.
[    0.001794] CPU features: detected feature: 32-bit EL0 Support
[    0.001799] CPU features: detected feature: Kernel page table isolation (KPTI)
[    0.003536] CPU: All CPU(s) started at EL2
[    0.003546] alternatives: patching kernel code
[    0.004186] devtmpfs: initialized
[    0.008647] random: get_random_u32 called from bucket_table_alloc+0x108/0x260 with crng_init=0
[    0.008962] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.008973] futex hash table entries: 512 (order: 4, 65536 bytes)
[    0.013295] xor: measuring software checksum speed
[    0.052034]    8regs     :  2303.000 MB/sec
[    0.092061]    8regs_prefetch:  2053.000 MB/sec
[    0.132090]    32regs    :  2830.000 MB/sec
[    0.172119]    32regs_prefetch:  2379.000 MB/sec
[    0.172123] xor: using function: 32regs (2830.000 MB/sec)
[    0.172134] pinctrl core: initialized pinctrl subsystem
[    0.173056] NET: Registered protocol family 16
[    0.173984] cpuidle: using governor menu
[    0.174286] vdso: 2 pages (1 code @ ffffff80089e6000, 1 data @ ffffff8008d34000)
[    0.174297] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.175027] DMA: preallocated 256 KiB pool for atomic allocations
[    0.212470] reset_zynqmp reset-controller: Xilinx zynqmp reset driver probed
[    0.234013] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.300389] raid6: int64x1  gen()   398 MB/s
[    0.368462] raid6: int64x1  xor()   444 MB/s
[    0.436549] raid6: int64x2  gen()   686 MB/s
[    0.504538] raid6: int64x2  xor()   602 MB/s
[    0.572643] raid6: int64x4  gen()  1040 MB/s
[    0.640709] raid6: int64x4  xor()   742 MB/s
[    0.708749] raid6: int64x8  gen()   979 MB/s
[    0.776806] raid6: int64x8  xor()   746 MB/s
[    0.844882] raid6: neonx1   gen()   724 MB/s
[    0.912951] raid6: neonx1   xor()   850 MB/s
[    0.981038] raid6: neonx2   gen()  1162 MB/s
[    1.049074] raid6: neonx2   xor()  1204 MB/s
[    1.117152] raid6: neonx4   gen()  1503 MB/s
[    1.185193] raid6: neonx4   xor()  1438 MB/s
[    1.253276] raid6: neonx8   gen()  1647 MB/s
[    1.321326] raid6: neonx8   xor()  1527 MB/s
[    1.321330] raid6: using algorithm neonx8 gen() 1647 MB/s
[    1.321334] raid6: .... xor() 1527 MB/s, rmw enabled
[    1.321338] raid6: using neon recovery algorithm
[    1.323139] SCSI subsystem initialized
[    1.323355] usbcore: registered new interface driver usbfs
[    1.323388] usbcore: registered new interface driver hub
[    1.323439] usbcore: registered new device driver usb
[    1.323498] media: Linux media interface: v0.10
[    1.323522] Linux video capture interface: v2.00
[    1.323560] pps_core: LinuxPPS API ver. 1 registered
[    1.323564] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.323578] PTP clock support registered
[    1.323840] zynqmp-ipi ff9905c0.mailbox: Probed ZynqMP IPI Mailbox driver.
[    1.324090] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 26, base_baud = 6249999) is a xuartps
[    1.328621] FPGA manager framework
[    1.328725] fpga-region fpga-full: FPGA Region probed
[    1.328817] Advanced Linux Sound Architecture Driver Initialized.
[    1.329084] Bluetooth: Core ver 2.22
[    1.329109] NET: Registered protocol family 31
[    1.329111] Bluetooth: HCI device and connection manager initialized
[    1.329118] Bluetooth: HCI socket layer initialized
[    1.329122] Bluetooth: L2CAP socket layer initialized
[    1.329135] Bluetooth: SCO socket layer initialized
[    1.345694] clocksource: Switched to clocksource arch_sys_counter
[    1.345771] VFS: Disk quotas dquot_6.6.0
[    1.345808] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.388486] NET: Registered protocol family 2
[    1.388803] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    1.388858] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[    1.388980] TCP: Hash tables configured (established 8192 bind 8192)
[    1.389043] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.389064] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.389191] NET: Registered protocol family 1
[    1.390516] RPC: Registered named UNIX socket transport module.
[    1.390518] RPC: Registered udp transport module.
[    1.390520] RPC: Registered tcp transport module.
[    1.390521] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.396031] hw perfevents: no interrupt-affinity property for /pmu, guessing.
[    1.399885] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.400500] audit: initializing netlink subsys (disabled)
[    1.401245] audit: type=2000 audit(1.396:1): state=initialized audit_enabled=0 res=1
[    1.401305] workingset: timestamp_bits=62 max_order=18 bucket_order=0
[    1.406814] NFS: Registering the id_resolver key type
[    1.406828] Key type id_resolver registered
[    1.406830] Key type id_legacy registered
[    1.406837] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.406851] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.468182] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    1.468187] io scheduler noop registered
[    1.468189] io scheduler deadline registered
[    1.468206] io scheduler cfq registered (default)
[    1.468208] io scheduler mq-deadline registered
[    1.468210] io scheduler kyber registered
[    1.476163] xilinx-vdma a00a0000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
[    1.476629] xilinx-vdma a00b0000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
[    1.476887] xilinx-vdma a00c0000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
[    1.477165] xilinx-vdma a00d0000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
[    1.477443] xilinx-vdma a0100000.axidma: Xilinx AXI DMA Engine Driver Probed!!
[    1.477735] xilinx-vdma a0110000.axidma: Xilinx AXI DMA Engine Driver Probed!!
[    1.525052] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.240327] console [ttyPS0] enabled
[    2.244462] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 27, base_baud = 6249999) is a xuartps
[    2.254638] a0020000.uart: ttyUL0 at MMIO 0xa0020000 (irq = 31, base_baud = 0) is a uartlite
[    2.264861] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.271391] [drm] No driver support for vblank timestamp query.
[    2.277339] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.284048] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.295585] brd: module loaded
[    2.302542] loop: module loaded
[    2.305979] ifm-fpga-version a0000000.ver: IFM FPGA version: 20170919
[    2.312959] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.319495] [drm] No driver support for vblank timestamp query.
[    2.326121] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.333230] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.340055] m25p80 spi0.0: found n25q256a, expected m25p80
[    2.345998] m25p80 spi0.0: n25q256a (32768 Kbytes)
[    2.350718] 4 cmdlinepart partitions found on MTD device spi0.0
[    2.356608] Creating 4 MTD partitions on "spi0.0":
[    2.361385] 0x000000000000-0x000000380000 : "u-boot"
[    2.366874] 0x000000380000-0x0000003c0000 : "env1"
[    2.372059] 0x0000003c0000-0x000000400000 : "env2"
[    2.377263] 0x000000400000-0x000002000000 : "recovery"
[    2.383255] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.389786] [drm] No driver support for vblank timestamp query.
[    2.394450] libphy: Fixed MDIO Bus: probed
[    2.395400] tun: Universal TUN/TAP device driver, 1.6
[    2.404011] CAN device driver interface
[    2.406141] macb ff0b0000.ethernet: Not enabling partial store and forward
[    2.415557] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.422797] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.426125] libphy: MACB_mii_bus: probed
[    2.433235] [drm] No driver support for vblank timestamp query.
[    2.439181] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.446104] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.452636] [drm] No driver support for vblank timestamp query.
[    2.458575] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.493816] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 15 (00:02:01:05:34:71)
[    2.503561] SMSC LAN8710/LAN8720 ff0b0000.ethernet-ffffffff:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=ff0b0000.ethernet-ffffffff:00, irq=POLL)
[    2.518698] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.525229] [drm] No driver support for vblank timestamp query.
[    2.531711] usbcore: registered new interface driver asix
[    2.537102] usbcore: registered new interface driver ax88179_178a
[    2.543156] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.549763] usbcore: registered new interface driver cdc_ether
[    2.555621] usbcore: registered new interface driver cdc_eem
[    2.561252] usbcore: registered new interface driver net1080
[    2.566895] usbcore: registered new interface driver rndis_host
[    2.572794] usbcore: registered new interface driver cdc_subset
[    2.578698] usbcore: registered new interface driver zaurus
[    2.584278] usbcore: registered new interface driver cdc_ncm
[    2.591368] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.594022] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.594035] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    2.611003] [drm] No driver support for vblank timestamp query.
[    2.616950] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.623866] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.630397] [drm] No driver support for vblank timestamp query.
[    2.636337] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    2.643223] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x02010010
[    2.651899] xhci-hcd xhci-hcd.0.auto: irq 40, io mem 0xfe200000
[    2.657827] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.664530] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.671731] usb usb1: Product: xHCI Host Controller
[    2.676592] usb usb1: Manufacturer: Linux 4.14.79-yocto-standard xhci-hcd
[    2.683362] usb usb1: SerialNumber: xhci-hcd.0.auto
[    2.688573] hub 1-0:1.0: USB hub found
[    2.692261] hub 1-0:1.0: 1 port detected
[    2.696606] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.703138] [drm] No driver support for vblank timestamp query.
[    2.703258] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    2.703266] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    2.703274] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0  SuperSpeed
[    2.703309] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.703361] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    2.703365] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.703369] usb usb2: Product: xHCI Host Controller
[    2.703372] usb usb2: Manufacturer: Linux 4.14.79-yocto-standard xhci-hcd
[    2.703375] usb usb2: SerialNumber: xhci-hcd.0.auto
[    2.703602] hub 2-0:1.0: USB hub found
[    2.703616] hub 2-0:1.0: 1 port detected
[    2.703843] usbcore: registered new interface driver uas
[    2.703897] usbcore: registered new interface driver usb-storage
[    2.703950] usbcore: registered new interface driver usbserial
[    2.703971] usbcore: registered new interface driver usbserial_generic
[    2.703989] usbserial: USB Serial support registered for generic
[    2.704010] usbcore: registered new interface driver ftdi_sio
[    2.704028] usbserial: USB Serial support registered for FTDI USB Serial Device
[    2.704501] i2c /dev entries driver
[    2.704902] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 17
[    2.722162] atmel_mxt_ts 1-004a: __mxt_read_reg: i2c transfer failed (-6)
[    2.728751] atmel_mxt_ts 1-004a: mxt_bootloader_read: i2c recv failed (-6)
[    2.728754] atmel_mxt_ts 1-004a: Trying alternate bootloader address
[    2.736822] atmel_mxt_ts 1-004a: mxt_bootloader_read: i2c recv failed (-6)
[    2.750843] at24 1-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[    2.762472] at24 1-0051: 16384 byte 24c128 EEPROM, writable, 1 bytes/write
[    2.771030] rtc-abx80x 1-0069: model 1805, revision 2.3, lot c, wafer 6, uid 2a47
[    2.827016] rtc-abx80x 1-0069: rtc core: registered abx8xx as rtc0
[    2.827049] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 18
[    2.827974] tw9984 2-0028: chip found @ 0x50 (xiic-i2c)
[    2.860431] IR NEC protocol handler initialized
[    2.860433] IR RC5(x/sz) protocol handler initialized
[    2.860435] IR RC6 protocol handler initialized
[    2.860436] IR JVC protocol handler initialized
[    2.860438] IR Sony protocol handler initialized
[    2.860440] IR SANYO protocol handler initialized
[    2.860441] IR Sharp protocol handler initialized
[    2.860443] IR MCE Keyboard/mouse protocol handler initialized
[    2.860444] IR XMP protocol handler initialized
[    2.861440] ifm_bt656_demux a0090000.bt656demux: IFM BT656 demuxer v2017-09-19.13 loaded.
[    2.861549] usbcore: registered new interface driver uvcvideo
[    2.861550] USB Video Class driver (1.1.1)
[    2.862267] Bluetooth: HCI UART driver ver 2.3
[    2.862271] Bluetooth: HCI UART protocol H4 registered
[    2.862273] Bluetooth: HCI UART protocol BCSP registered
[    2.862275] Bluetooth: HCI UART protocol ATH3K registered
[    2.862314] Bluetooth: HCI UART protocol Intel registered
[    2.862315] Bluetooth: HCI UART protocol QCA registered
[    2.862351] usbcore: registered new interface driver bcm203x
[    2.862381] usbcore: registered new interface driver bpa10x
[    2.862409] usbcore: registered new interface driver bfusb
[    2.862438] usbcore: registered new interface driver btusb
[    2.862440] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[    2.862490] usbcore: registered new interface driver ath3k
[    2.862822] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1199999 KHz
[    2.862836] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1199999988 (-34)
[    2.862878] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 799999 KHz
[    2.862898] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1199999988 (-34)
[    2.863084] sdhci: Secure Digital Host Controller Interface driver
[    2.863085] sdhci: Copyright(c) Pierre Ossman
[    2.863086] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.066164] ledtrig-cpu: registered to indicate activity on CPUs
[    3.066211] ifm_dc a00e0000.displaycontroller: Failed to create outputs
[    3.073459] ifm-panel a00e0400.panel: Valid panel found: sn=00000015 vid:pid=0001:0501
[    3.074024] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.074025] [drm] No driver support for vblank timestamp query.
[    3.099329] hidraw: raw HID events driver (C) Jiri Kosina
[    3.104783] usbcore: registered new interface driver usbhid
[    3.104785] usbhid: USB HID core driver
[    3.105412] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU core_conf: split0
[    3.105426] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: IPI resource is not specified.
[    3.105593] remoteproc remoteproc0: ff9a0100.zynqmp_r5_rproc is available
[    3.105658] zynqmp_r5_remoteproc ff9a0200.zynqmp_r5_rproc: RPU core_conf: split1
[    3.105666] zynqmp_r5_remoteproc ff9a0200.zynqmp_r5_rproc: IPI resource is not specified.
[    3.105831] remoteproc remoteproc1: ff9a0200.zynqmp_r5_rproc is available
[    3.109668] Console: switching to colour frame buffer device 100x30
[    3.174598] ifm_dc a00e0000.displaycontroller: fb0:  frame buffer device
[    3.181332] ifm_dc a00e0000.displaycontroller: IFM DisplayController v2017-09-21.24 loaded.
[    3.182029] ifm-i2s a00f0000.ifm_i2s_master: IFM I2S v2017-08-25.14 loaded.
[    3.182117] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    3.204167] Netfilter messages via NETLINK v0.30.
[    3.208949] [drm] Initialized ifm_dc 1.0.0 20170127 for a00e0000.displaycontroller on minor 0
[    3.209053] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.222868] Initializing XFRM netlink socket
[    3.227196] NET: Registered protocol family 10
[    3.232161] Segment Routing with IPv6
[    3.235780] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    3.241224] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.247375] NET: Registered protocol family 17
[    3.251744] NET: Registered protocol family 15
[    3.256176] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.269093] Ebtables v2.0 registered
[    3.272718] can: controller area network core (rev 20170425 abi 9)
[    3.273628] mmc0: SDHCI controller on ff160000.sdhci [ff160000.sdhci] using ADMA 64-bit
[    3.273686] PLL: shutdown
[    3.273775] PLL: enable
[    3.292109] NET: Registered protocol family 29
[    3.292395] ifm-i2s a00f0000.ifm_i2s_master: Failed to get DMA channel capabilities, falling back to period counting: -6
[    3.293041] ifm-i2s a00f0000.ifm_i2s_master: Failed to get DMA channel capabilities, falling back to period counting: -6
[    3.293045] asoc-simple-card sound: wm8960-hifi <-> a00f0000.ifm_i2s_master mapping ok
[    3.326102] can: raw protocol (rev 20170425)
[    3.330333] can: broadcast manager protocol (rev 20170425 t)
[    3.335972] can: netlink gateway (rev 20170425) max_hops=1
[    3.336668] mmc0: new HS200 MMC card at address 0001
[    3.341652] mmcblk0: mmc0:0001 Q2J55L 3.55 GiB
[    3.341724] mmcblk0boot0: mmc0:0001 Q2J55L partition 1 16.0 MiB
[    3.341879] mmcblk0boot1: mmc0:0001 Q2J55L partition 2 16.0 MiB
[    3.341951] mmcblk0rpmb: mmc0:0001 Q2J55L partition 3 4.00 MiB
[    3.350310]  mmcblk0: p1 p2 p3
[    3.371618] Bluetooth: RFCOMM TTY layer initialized
[    3.376423] Bluetooth: RFCOMM socket layer initialized
[    3.381541] Bluetooth: RFCOMM ver 1.11
[    3.385270] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.390561] Bluetooth: BNEP filters: protocol multicast
[    3.395771] Bluetooth: BNEP socket layer initialized
[    3.400717] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.406621] Bluetooth: HIDP socket layer initialized
[    3.411727] 9pnet: Installing 9P2000 support
[    3.415925] Key type dns_resolver registered
[    3.420563] registered taskstats version 1
[    3.424874] Btrfs loaded, crc32c=crc32c-generic
[    3.440206] rtc-abx80x 1-0069: setting system clock to 2019-01-22 21:03:30 UTC (1548191010)
[    3.448598] clk: Not disabling unused clocks
[    3.452817] ALSA device list:
[    3.455732]   #0: a00f0000.ifm_i2s_master-wm8960-hifi
[    3.559691] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)
[    3.567720] VFS: Mounted root (ext4 filesystem) on device 179:1.
[    3.575214] devtmpfs: mounted
[    3.578214] Freeing unused kernel memory: 512K
[    3.585497] random: fast init done
INIT: version 2.88 booting
Starting udev
[    3.769351] udevd[1664]: starting version 3.2.2
[    3.779833] random: udevd: uninitialized urandom read (16 bytes read)
[    3.786464] random: udevd: uninitialized urandom read (16 bytes read)
[    3.793114] random: udevd: uninitialized urandom read (16 bytes read)
[    3.817273] udevd[1665]: starting eudev-3.2.2
[    3.907479] mali: loading out-of-tree module taints kernel.
[    3.921737] i2c_hid 1-002a: 1-002a supply vdd not found, using dummy regulator
[    4.531234] input: hid-over-i2c 0EEF:C000 as /devices/platform/amba/ff030000.i2c/i2c-1/1-002a/0018:0EEF:C000.0001/input/input0
[    4.542815] input: hid-over-i2c 0EEF:C000 Pen as /devices/platform/amba/ff030000.i2c/i2c-1/1-002a/0018:0EEF:C000.0001/input/input3
[    4.554624] hid-multitouch 0018:0EEF:C000.0001: input,hidraw0: I2C HID v1.00 Pointer [hid-over-i2c 0EEF:C000] on 1-002a
[    4.634309] EXT4-fs (mmcblk0p1): re-mounted. Opts: data=ordered
[    4.949780] PLL: shutdown
[    5.051581] urandom_read: 6 callbacks suppressed
[    5.051585] random: dd: uninitialized urandom read (512 bytes read)
ALSA: Restoring mixer settings...
INIT: Entering runlevel: 5
Configuring network interfaces... [    5.162238] pps pps0: new PPS source ptp0
[    5.166889] macb ff0b0000.ethernet: gem-ptp-timer ptp clock registered.
[    5.173640] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Cannot find device "eth1"
Cannot find device "eth1"
Cannot find device "eth1"
Cannot find device "usb0"
resize2fs 1.43.5 (04-Aug-2017)
Filesystem at /dev/mmcblk0p1 is mounted on /; o[    5.256906] EXT4-fs (mmcblk0p1): resizing filesystem from 487272 to 2097152 blocks
n-line resizing required
old_desc_blocks = 2, new_desc_blocks = 8
[    5.290713] EXT4-fs (mmcblk0p1): resized filesystem to 2097152
The filesystem on /dev/mmcblk0p1 is now 2097152 (1k) blocks long.

resize2fs 1.43.5 (04-Aug-2017)
The filesystem is already 262144 (4k) blocks long.  Nothing to do!

Starting system message bus: dbus.
/etc/rc5.d/S03disable_splash_screen.sh: line 12: /sys/devices/platform/amba_pl/a00e0000.displaycontroller/splash_state: Permission denied
Starting OpenBSD Secure Shell server: sshd
  generating ssh RSA key...
  generating ssh ECDSA key...
  generating ssh DSA key...
[    6.177853] macb ff0b0000.ethernet eth0: link up (100/Full)
[    6.183372] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
  generating ssh ED25519 key...
done.

Saw this warning at bootup WARNING: reserved memory node not in DT! but my dts file has reserved_memory.

any pointers will be helpful