This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM6442:IPC_rpmsg_echo_linux

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1087821/am6442-ipc_rpmsg_echo_linux

部件号:AM6442
Thread:sysconfig中讨论的其它部件

您好,TI的专家,

我正在使用AM64xx EVM。 512 MB DDR上的IPC (M4 <> Linux)出现问题。 请看一下,并帮助我解决此错误。

我在测试IPC (M4F和Linux)上有案例

案例1:原始DTS和2 GB DDR,IPC工作正常。

在Linux上:

root@am64xx-evm:~# insmod ti_k3_m4_remoteproc.ko 
[   32.695335] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
[   32.703952] k3-m4-rproc 5000000.m4fss: configured M4 for IPC-only mode
[   32.710643] remoteproc remoteproc0: 5000000.m4fss is available
[   32.716590] remoteproc remoteproc0: attaching to 5000000.m4fss
[   32.722834] k3-m4-rproc 5000000.m4fss: M4 initialized in IPC-only mode
[   32.729402]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
[   32.737906]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
[   32.744010] remoteproc remoteproc0: remote processor 5000000.m4fss is now attached
root@am64xx-evm:~# insmod rpmsg_char.ko 
root@am64xx-evm:~# insmod virtio_rpmsg_bus.ko 
[  662.071181] virtio_rpmsg_bus virtio0: rpmsg host is online
[  662.072286] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
root@am64xx-evm:~# [  662.084485] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe

root@am64xx-evm:~# ./rpmsg_char_simple -r 9 -n 10
Created endpt device rpmsg-char-9-350, fd = 3 port = 1024
Exchanging 10 messages with rpmsg device ti.ipc4.ping-pong on rproc id 9 ...

Sending message #0: hello there 0!
Receiving message #0: hello there 0!
Sending message #1: hello there 1!
Receiving message #1: hello there 1!
Sending message #2: hello there 2!
Receiving message #2: hello there 2!
Sending message #3: hello there 3!
Receiving message #3: hello there 3!
Sending message #4: hello there 4!
Receiving message #4: hello there 4!
Sending message #5: hello there 5!
Receiving message #5: hello there 5!
Sending message #6: hello there 6!
Receiving message #6: hello there 6!
Sending message #7: hello there 7!
Receiving message #7: hello there 7!
Sending message #8: hello there 8!
Receiving message #8: hello there 8!
Sending message #9: hello there 9!
Receiving message #9: hello there 9!

Communicated 10 messages successfully on rpmsg-char-9-350

TEST STATUS: PASSED

在M4F上:我添加了UART用于调试

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB1, 09:05:18

Press CTRL-A Z for help on special keys

[IPC RPMSG ECHO] ipc_rpmsg_echo_main Mar 23 2022 09:31:07
[IPC RPMSG ECHO] IPC Linux is ready 
[IPC RPMSG ECHO] Remote Core waiting for messages at end point 13 ... !!!
[IPC RPMSG ECHO] Remote Core waiting for messages at end point 14 ... !!!
hello there 0!
hello there 1!
hello there 2!
hello there 3!
hello there 4!
hello there 5!
hello there 6!
hello there 7!
hello there 8!
hello there 9!
hello there 0!
hello there 1!
hello there 2!
hello there 3!
hello there 4!
hello there 5!
hello there 6!
hello there 7!
hello there 8!
hello there 9!

案例2:使用512 MB DDR的自定义配置(因为我的客户使用512 MB 作为新产品),IPC无法工作。

我为检测到主板的512 MB DDR更改了Linux和U-Boot的DTS,如下所示:

Linux DTS:

	memory@80000000 {
		device_type = "memory";
		/* 2G RAM */
		/* reg = <0x00000000 0x80000000 0x00000000 0x80000000>; */
		/* 512MB RAM */
		reg = <0x00000000 0x80000000 0x00000000 0x20000000>;

	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		secure_ddr: optee@9e800000 {
			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
			alignment = <0x1000>;
			no-map;
		};
#if 0
		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa0000000 0x00 0x100000>;
			no-map;
		};

		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa0100000 0x00 0xf00000>;
			no-map;
		};

		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa1000000 0x00 0x100000>;
			no-map;
		};

		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa1100000 0x00 0xf00000>;
			no-map;
		};

		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa2000000 0x00 0x100000>;
			no-map;
		};

		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa2100000 0x00 0xf00000>;
			no-map;
		};

		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa3000000 0x00 0x100000>;
			no-map;
		};

		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0xa3100000 0x00 0xf00000>;
			no-map;
		};
#endif
		mcu_m4fss_dma_memory_region: m4f-dma-memory@94000000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x94000000 0x00 0x100000>;
			no-map;
		};

		mcu_m4fss_memory_region: m4f-memory@94100000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x94100000 0x00 0xf00000>;
			no-map;
		};

		/* 8 MB */
		rtos_ipc_memory_region: ipc-memories@95000000 {
			reg = <0x00 0x95000000 0x00 0x00800000>;
			alignment = <0x1000>;
			no-map;
		};
	};

Linux引导日志创建通道IPC时出错

U-Boot 2021.01-00001-g99f587db85-dirty (Mar 24 2022 - 13:57:20 +0700)

SoC:   AM64X SR1.0
Model: Texas Instruments AM642 EVM
Board: AM64-GPEVM rev E2
DRAM:  512 MiB
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
In:    serial@2800000
Out:   serial@2800000
Err:   serial@2800000
Net:   eth0: ethernet@8000000
Hit any key to stop autoboot:  0 
=> 
=> 
=> 
=> setenv mtdparts mtdparts=fc40000.spi.0:512k(ospi.tiboot3),2560k(ospi.multicore),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.en;
=> run args_all
=> setenv bootargs console=${console} ${optargs} root=ubi0:rootfs rw ubi.mtd=ospi.rootfs rootfstype=ubifs rootwait=1;
=> sf probe; sf read ${loadaddr} 0xa80000 0x1400000;sf read ${fdtaddr} 0x980000 0x100000;run run_kern
SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
device 0 offset 0xa80000, size 0x1400000
SF: 20971520 bytes @ 0xa80000 Read: OK
device 0 offset 0x980000, size 0x100000
SF: 1048576 bytes @ 0x980000 Read: OK
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000)
   Loading Device Tree to 000000008fff0000, end 000000008ffffe1d ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.65-gdcc6bedb2c (brian@brian) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2
[    0.000000] Machine model: Texas Instruments AM642 EVM
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000094000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node m4f-dma-memory@94000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x0000000094100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node m4f-memory@94100000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x0000000093ffffff]
[    0.000000]   node   0: [mem 0x0000000094000000-0x00000000957fffff]
[    0.000000]   node   0: [mem 0x0000000095800000-0x000000009e7fffff]
[    0.000000]   node   0: [mem 0x000000009e800000-0x000000009fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000] cma: Failed to reserve 512 MiB
[    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: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 2 pages/cpu s49880 r8192 d73000 u131072
[    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 off.  Total pages: 8184
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:512k(ospi.tiboot3),25601
[    0.000000] Dentry cache hash table entries: 65536 (order: 3, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 2, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 452864K/524288K available (10880K kernel code, 1346K rwdata, 4288K rodata, 1856K init, 757K bss, 71424K reserved, 0K c)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=2.
[    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=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 256 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:0x0000000001840000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @83800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x000000008ff80000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x000000008ff90000
[    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 225.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x33e45310bc, max_idle_ns: 440795207391 ns
[    0.000007] sched_clock: 56 bits at 225MHz, resolution 4ns, wraps every 4398046511101ns
[    0.008592] Console: colour dummy device 80x25
[    0.013192] Calibrating delay loop (skipped), value calculated using timer frequency.. 450.00 BogoMIPS (lpj=900000)
[    0.023878] pid_max: default: 32768 minimum: 301
[    0.028703] LSM: Security Framework initializing
[    0.033525] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.041126] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.051710] rcu: Hierarchical SRCU implementation.
[    0.057019] Platform MSI: msi-controller@1820000 domain created
[    0.063416] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.072726] EFI services will not be available.
[    0.077746] smp: Bringing up secondary CPUs ...
[    0.083212] Detected VIPT I-cache on CPU1
[    0.083253] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
[    0.083269] GICv3: CPU1: using allocated LPI pending table @0x000000008ffa0000
[    0.083339] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.083495] smp: Brought up 1 node, 2 CPUs
[    0.112909] SMP: Total of 2 processors activated.
[    0.117730] CPU features: detected: 32-bit EL0 Support
[    0.123009] CPU features: detected: CRC32 instructions
[    0.137734] CPU: All CPU(s) started at EL2
[    0.141948] alternatives: patching kernel code
[    0.147851] devtmpfs: initialized
[    0.160573] KASLR disabled due to lack of seed
[    0.165456] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.175437] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
[    0.182743] pinctrl core: initialized pinctrl subsystem
[    0.188722] DMI not present or invalid.
[    0.193421] NET: Registered protocol family 16
[    0.198699] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.205986] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.213964] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.222719] thermal_sys: Registered thermal governor 'step_wise'
[    0.222725] thermal_sys: Registered thermal governor 'power_allocator'
[    0.229454] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.243169] ASID allocator initialised with 65536 entries
[    0.284531] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[    0.291417] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
[    0.298182] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.307054] cryptd: max_cpu_qlen set to 1000
[    0.315901] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR1.0 JTAGID[0x0bb3802f] Detected
[    0.325291] vsys_5v0: supplied by evm_12v0
[    0.330199] vsys_3v3: supplied by evm_12v0
[    0.335055] vddb_3v3_display: supplied by vsys_3v3
[    0.341403] iommu: Default domain type: Translated 
[    0.346882] SCSI subsystem initialized
[    0.351568] mc: Linux media interface: v0.10
[    0.355980] videodev: Linux video capture interface: v2.00
[    0.361734] pps_core: LinuxPPS API ver. 1 registered
[    0.366817] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.376172] PTP clock support registered
[    0.380224] EDAC MC: Ver: 3.0.0
[    0.384382] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
[    0.391363] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
[    0.398212] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
[    0.405808] FPGA manager framework
[    0.409447] Advanced Linux Sound Architecture Driver Initialized.
[    0.417105] clocksource: Switched to clocksource arch_sys_counter
[    0.423935] VFS: Disk quotas dquot_6.6.0
[    0.428098] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    0.443052] NET: Registered protocol family 2
[    0.447710] IP idents hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.456123] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
[    0.465053] TCP established hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.473072] TCP bind hash table entries: 8192 (order: 1, 131072 bytes, linear)
[    0.480635] TCP: Hash tables configured (established 8192 bind 8192)
[    0.487338] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.494306] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.501886] NET: Registered protocol family 1
[    0.507022] RPC: Registered named UNIX socket transport module.
[    0.513123] RPC: Registered udp transport module.
[    0.517970] RPC: Registered tcp transport module.
[    0.522786] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.529395] PCI: CLS 0 bytes, default 64
[    0.534311] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.548189] Initialise system trusted keyrings
[    0.553142] workingset: timestamp_bits=46 max_order=13 bucket_order=0
[    0.566017] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.572764] NFS: Registering the id_resolver key type
[    0.577997] Key type id_resolver registered
[    0.582276] Key type id_legacy registered
[    0.586463] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.593318] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.601252] 9p: Installing v9fs 9p2000 file system support
[    0.662213] Key type asymmetric registered
[    0.666434] Asymmetric key parser 'x509' registered
[    0.671485] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
[    0.679055] io scheduler mq-deadline registered
[    0.683689] io scheduler kyber registered
[    0.690932] pinctrl-single f4000.pinctrl: 180 pins, size 720
[    0.698196] pinctrl-single a40000.timesync-router: 512 pins, size 2048
[    0.716715] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.743682] brd: module loaded
[    0.756028] loop: module loaded
[    0.760142] megasas: 07.714.04.00-rc1
[    0.767701] libphy: Fixed MDIO Bus: probed
[    0.773820] tun: Universal TUN/TAP device driver, 1.6
[    0.779930] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    0.786360] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.792480] sky2: driver version 1.30
[    0.797759] VFIO - User Level meta-driver version: 0.3
[    0.804267] i2c /dev entries driver
[    0.809324] sdhci: Secure Digital Host Controller Interface driver
[    0.815660] sdhci: Copyright(c) Pierre Ossman
[    0.820924] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.828381] ledtrig-cpu: registered to indicate activity on CPUs
[    0.835054] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    0.843298] optee: probing for conduit method.
[    0.847938] optee: revision 3.12 (3d47a131)
[    0.848656] optee: initialized driver
[    0.859721] NET: Registered protocol family 17
[    0.864494] 9pnet: Installing 9P2000 support
[    0.868941] Key type dns_resolver registered
[    0.873607] Loading compiled-in X.509 certificates
[    0.896914] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0015 '21.5.0--v2021.05 (Terrific Llam')
[    0.945533] random: fast init done
[    0.954479] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
[    0.960943] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
[    0.969720] omap_i2c 20000000.i2c: bus 0 rev0.12 at 100 kHz
[    0.977836] pca953x 1-0022: supply vcc not found, using dummy regulator
[    0.984790] pca953x 1-0022: using AI
[    1.039078] Console: switching to mono frame buffer device 12x2
[    1.074016] ssd1307fb 1-003c: fb0: Solomon SSD1307 framebuffer device registered, using 192 bytes of video memory
[    1.084766] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
[    1.091947] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz
[    1.099117] omap_i2c 20030000.i2c: bus 3 rev0.12 at 100 kHz
[    1.105446] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
[    1.115380] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
[    1.124423] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
[    1.146374] j721e-pcie f102000.pcie: host bridge /bus@f4000/pcie@f102000 ranges:
[    1.154016] j721e-pcie f102000.pcie:       IO 0x0068001000..0x0068010fff -> 0x0068001000
[    1.162316] j721e-pcie f102000.pcie:      MEM 0x0068011000..0x006fffffff -> 0x0068011000
[    1.170616] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x0000000000
[    2.191384] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
[    2.197838] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.203461] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x68001000-0x68010fff])
[    2.213166] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
[    2.220250] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
[    2.226415] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xfffffffff 64bit pref]
[    2.233981] pci 0000:00:00.0: supports D1
[    2.238089] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    2.247397] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.250363] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    2.263891] pci 0000:00:00.0: BAR 0: no space for [mem size 0x1000000000 64bit pref]
[    2.271821] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x1000000000 64bit pref]
[    2.280105] pci 0000:00:00.0: PCI bridge to [bus 01]
[    2.285797] pcieport 0000:00:00.0: PME: Signaling with IRQ 44
[    2.292577] ti-bcdma 485c0100.dma-controller: Number of rings: 68
[    2.300433] ti-bcdma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
[    2.311071] ti-pktdma 485c0000.dma-controller: Number of rings: 288
[    2.326548] ti-pktdma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
[    2.338385] printk: console [ttyS2] disabled
[    2.342866] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250
[    2.351647] printk: console [ttyS2] enabled
[    2.351647] printk: console [ttyS2] enabled
[    2.360099] printk: bootconsole [ns16550a0] disabled
[    2.360099] printk: bootconsole [ns16550a0] disabled
[    2.374896] spi-nor spi0.0: s28hs512t (65536 Kbytes)
[    2.379942] 10 cmdlinepart partitions found on MTD device fc40000.spi.0
[    2.386572] Creating 10 MTD partitions on "fc40000.spi.0":
[    2.392060] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[    2.399202] 0x000000080000-0x000000300000 : "ospi.multicore"
[    2.406319] 0x000000300000-0x000000500000 : "ospi.tispl"
[    2.413078] 0x000000500000-0x000000900000 : "ospi.u-boot"
[    2.419941] 0x000000900000-0x000000940000 : "ospi.env"
[    2.426446] 0x000000940000-0x000000980000 : "ospi.env.backup"
[    2.433658] 0x000000980000-0x0000009c0000 : "ospi.dtb"
[    2.440268] 0x000000a80000-0x000001e80000 : "ospi.kernel"
[    2.447225] 0x000001e80000-0x000003fc0000 : "ospi.rootfs"
[    2.454082] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
[    2.517122] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
[    2.524728] libphy: 8000f00.mdio: probed
[    2.531054] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
[    2.539316] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:000002
[    2.552642] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
[    2.559419] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
[    2.566574] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
[    2.573254] pps pps0: new PPS source ptp0
[    2.577728] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
[    2.590974] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
[    2.602799] mmc1: CQHCI version 5.10
[    2.602987] gpio-mux mux-controller: 2-way mux-controller registered
[    2.622243] vdd_mmc1: supplied by vsys_3v3
[    2.628048] libphy: mdio_mux: probed
[    2.640533] mmc0: CQHCI version 5.10
[    2.640954] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
[    2.651578] mmc1: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
[    2.653439] ubi0: attaching mtd8
[    2.671862] ubi0: scanning is finished
[    2.677076] ubi0: attached mtd8 (name "ospi.rootfs", size 33 MiB)
[    2.683465] ubi0: PEB size: 262144 bytes (256 KiB), LEB size: 262016 bytes
[    2.689760] mmc0: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
[    2.690365] ubi0: min./max. I/O unit sizes: 16/256, sub-page size 16
[    2.704299] ubi0: VID header offset: 64 (aligned 64), data offset: 128
[    2.711018] ubi0: good PEBs: 133, bad PEBs: 0, corrupted PEBs: 0
[    2.717062] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.724311] ubi0: max/mean erase counter: 6/1, WL threshold: 4096, image sequence number: 34526582
[    2.733386] ubi0: available PEBs: 0, total reserved PEBs: 133, PEBs reserved for bad PEB handling: 0
[    2.742608] ubi0: background thread "ubi_bgt0d" started, PID 133
[    2.749311] ALSA device list:
[    2.752295]   No soundcards found.
[    2.756702] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    2.762740] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 139
[    2.773365] UBIFS (ubi0:0): recovery needed
[    2.793087] mmc1: Command Queue Engine enabled
[    2.797633] mmc1: new HS400 MMC card at address 0001
[    2.803870] mmcblk1: mmc1:0001 S0J56X 14.8 GiB 
[    2.808896] mmcblk1boot0: mmc1:0001 S0J56X partition 1 31.5 MiB
[    2.815166] mmcblk1boot1: mmc1:0001 S0J56X partition 2 31.5 MiB
[    2.821509] mmcblk1rpmb: mmc1:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
[    2.937492] mmc0: new ultra high speed SDR104 SDHC card at address aaaa
[    2.945024] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
[    2.954895]  mmcblk0: p1 p2
[    3.121452] random: crng init done
[    4.963071] UBIFS (ubi0:0): recovery completed
[    4.967765] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    4.975188] UBIFS (ubi0:0): LEB size: 262016 bytes (255 KiB), min./max. I/O unit sizes: 16 bytes/256 bytes
[    4.984882] UBIFS (ubi0:0): FS size: 31179904 bytes (29 MiB, 119 LEBs), journal size 4978304 bytes (4 MiB, 19 LEBs)
[    4.995322] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    5.001173] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 31731E1A-8FD3-44DB-815C-31114F64156A, small LPT model
[    5.985801] VFS: Mounted root (ubifs filesystem) on device 0:19.
[    5.992279] devtmpfs: mounted
[    5.996227] Freeing unused kernel memory: 1856K
[    6.000853] Run /sbin/init as init process
INIT: version 2.96 booting
/etc/init.d/rc: /etc/rcS.d/S05modutils.sh: line 21: depmod: not found
hwclock: can't open '/dev/misc/rtc': No such file or directory
Wed Jan 12 11:47:46 UTC 2022
hwclock: can't open '/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5
Configuring network interfaces... [    7.834987] TI DP83867 8000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:)
[    7.848236] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
udhcpc: started, v1.31.1
udhcpc: sending discover
udhcpc: sending discover
[   11.958696] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
udhcpc: sending discover
udhcpc: sending select for 192.168.1.8
udhcpc: lease of 192.168.1.8 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 123.26.26.26
/etc/udhcpc.d/50default: Adding DNS 123.23.23.23
done.
Starting OpenBSD Secure Shell server: sshd
done.
hwclock: can't open '/dev/misc/rtc': No such file or directory
Starting syslogd/klogd: done

 _____                    _____           _         _   
|  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
|     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
|__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
              |___|                    |___|            

Arago Project http://arago-project.org am64xx-evm /dev/ttyS2

Arago 2020.09 am64xx-evm /dev/ttyS2

am64xx-evm login: root
root@am64xx-evm:~# ls
a0_checker_apps         dts.image3              image                   rpmsg_char.ko           ti_k3_m4_remoteproc.ko
bsww                    gmsl1.ko                iperf                   rpmsg_char_simple       virtio_rpmsg_bus.ko
dmlw                    gmsl1_i2c_bus.ko        libdmlas.so             rpmsg_client_sample.ko  vsomeip_zDML3.json
dts.image               gmsl2.ko                libgcc_s.so.1           rpmsg_kdrv_switch.ko
dts.image1              gmsl2_i2c_bus.ko        libnl-genl-3.so.200     run-bsw.sh
dts.image2              htop                    libstdc++.so.6          run-dml.sh
root@am64xx-evm:~# insmod ti_k3_m4_remoteproc.ko 
[  128.581565] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@94000000
[  128.590166] k3-m4-rproc 5000000.m4fss: configured M4 for IPC-only mode
[  128.596854] remoteproc remoteproc0: 5000000.m4fss is available
[  128.602877] remoteproc remoteproc0: attaching to 5000000.m4fss
[  128.609123] k3-m4-rproc 5000000.m4fss: M4 initialized in IPC-only mode
[  128.615672]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@94000000
[  128.624171]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
[  128.630270] remoteproc remoteproc0: remote processor 5000000.m4fss is now attached
root@am64xx-evm:~# insmod rpmsg_char.ko 
root@am64xx-evm:~# insmod virtio_rpmsg_bus.ko 
[  139.834817] virtio_rpmsg_bus virtio0: rpmsg host is online
root@am64xx-evm:~#

MCU M4F上的代码:

我更改了linker.cmd中的内存以匹配Linux DTS。

内存

   M4F_VECS:原点= 0x0万,长度= 0x0.02万
   M4F_IRAM:原点= 0x0.02万,长度= 0x0002FE00
   M4F_DRAM:原点= 0x3万,长度= 0x1万

   /*当使用多核应用程序时,即多个R5F/M4F处于活动状态时,请确保
    *此内存不与R5F重叠
    */
   /*当M4内核使用Linux */进行早期引导时,必须将资源表放在DDR_0的起始位置
   DDR_0      :源站= 0x9410万,长度= 0x1000

   USER_SHM_MEM   :原点= 0x9500万,长度= 0x80
   LOG_SHM_MEM    :原点= 0x9500万 + 0x80,长度= 0x0.4万 - 0x80
   IPC_VRING_MEM  :原点= 0x9500.4万,长度= 0x0000C000
}

和M4上的IPC日志:

OPTIONS: I18n 
Compiled on Aug 13 2017, 15:25:34.
Port /dev/ttyUSB1

Press CTRL-A Z for help on special keys

[IPC RPMSG ECHO] ipc_rpmsg_echo_main Mar 24 2022 14:44:09

谢谢!

Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,TI的专家,

    您是否为我提供了更新。

    我的意思是,我的问题与在M4和A53之间移动共享内存有关

    		mcu_m4fss_dma_memory_region: m4f-dma-memory@94000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x94000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@94100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x94100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		/* 8 MB */
    		rtos_ipc_memory_region: ipc-memories@95000000 {
    			reg = <0x00 0x95000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};

    如果我想自定义两个内核之间的共享内存,请告诉我如何更正它们。

    非常感谢。

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    初步想法

    对Linux设备树所做的更改与linker.cmd文件所做的更改尽可能匹配。 对于未来的读者, 有关修改linker.cmd文件的详细信息请参见https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_01_00_36/exports/docs/api_guide_am64x/IPC_GUIDE.html, 有关修改Linux devic松 树的详细信息请参见 https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_01_00_39/exports/docs/linux/Foundational_Components_IPC64x.html#dma-memory-carveouts 。

    您似乎在使用AM64x Linux处理器SDK 8.1 ,这很好(处理器SDK 8.0 和更早版本不支持从Linux加载M4F)。

    后续步骤

    1)我假设您在此处进行了几项更改,因为RemoteProc在启动过程中未加载M4固件。 让我们从已知良好的状态构建。 尝试默认的IPC示例,只需修改链接器命令文件和Linux设备树即可。 这是否有效?

    在运行未经修改的tisdk-default-image文件系统的AM64x EVM上,IPC示例可以使用预构建的用户空间应用程序/usr/bin/rpmsg_char_simple:

    am64xx-evm login: root
    root@am64xx-evm:~# uname -a
    Linux am64xx-evm 5.10.65-gdcc6bedb2c #1 SMP PREEMPT Sun Jan 9 20:40:42 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
    root@am64xx-evm:~# ls -al /lib/firmware
    total 39304
    drwxr-xr-x  8 root root    4096 Jan  9  2022 .
    drwxr-xr-x 10 root root    4096 Jan  9  2022 ..
    -rw-r--r--  1 root root    2040 Jan  9  2022 LICENCE.ibt_firmware
    -rw-r--r--  1 root root    2046 Jan  9  2022 LICENCE.iwlwifi_firmware
    lrwxrwxrwx  1 root root      55 Jan  9  2022 am64-main-r5f0_0-fw -> /lib/firmware/mcusdk-benchmark_demo/am64-main-r5f0_0-fw
    lrwxrwxrwx  1 root root      55 Jan  9  2022 am64-main-r5f0_1-fw -> /lib/firmware/mcusdk-benchmark_demo/am64-main-r5f0_1-fw
    lrwxrwxrwx  1 root root      55 Jan  9  2022 am64-main-r5f1_0-fw -> /lib/firmware/mcusdk-benchmark_demo/am64-main-r5f1_0-fw
    lrwxrwxrwx  1 root root      55 Jan  9  2022 am64-main-r5f1_1-fw -> /lib/firmware/mcusdk-benchmark_demo/am64-main-r5f1_1-fw
    lrwxrwxrwx  1 root root      72 Jan  9  2022 am64-mcu-m4f0_0-fw -> /lib/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f
    ...
    root@am64xx-evm:~# dmesg | grep m4
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
    [    6.649164] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [    6.821752] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.962171] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    7.062077] remoteproc remoteproc0: 5000000.m4fss is available
    [    7.179532] remoteproc remoteproc0: powering up 5000000.m4fss
    [    7.179555] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 107804
    [    7.181061]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
    [    7.181610] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    root@am64xx-evm:~# cd /usr/bin/
    root@am64xx-evm:/usr/bin# rpmsg_char_simple -r 9 -n 3
    Created endpt device rpmsg-char-9-1196, fd = 3 port = 1024
    Exchanging 3 messages with rpmsg device ti.ipc4.ping-pong on rproc id 9 ...
    
    Sending message #0: hello there 0!
    Receiving message #0: hello there 0!
    Sending message #1: hello there 1!
    Receiving message #1: hello there 1!
    Sending message #2: hello there 2!
    Receiving message #2: hello there 2!
    
    Communicated 3 messages successfully on rpmsg-char-9-1196
    
    TEST STATUS: PASSED
     

    2)如果您无法获得默认IPC示例,请附加终端输出,显示 复制问题的步骤。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nick:

    您是否已阅读第一篇文章的case1。  

    默认的IPC示例在EVM上运行良好,您可以看到第一个POST的case1的日志控制台。 请注意,我通过添加UART打印输出更改了IPC M4F。

    目前,我需要更多信息来调整M4F和Linux之间的共享IPC内存,因为我的产品具有紧凑的内存(512 MB DDR)

    和启动系统:

       -> SBL启动加载M4F固件,

                   然后SBL引导Linux

    感谢您的回复。 我会仔细阅读你给我的链接。

    谢谢!

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请尝试以下链接  

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_00_00_21/exports/docs/api_guide_am64x/IPC_GUIDE.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Mukul,

    不方便,我已经在Linux和MCU SDK上阅读了IPC。

    在AM64x-EVM上,我通过以下情况使用默认IPC (Linux-M4F)完成:

    - SBL启动M4F-IPC固件,然后使用微型rootfs启动Linux (作为案例1 POST)。 由于微小的rootfs不会嵌入与IPC相关的内核模块,因此我需要手动插入它们。

    root@am64xx-evm:~# uname -r
    5.10.65-gdcc6bedb2c
    
    root@am64xx-evm:~# insmod ti_k3_m4_remoteproc.ko 
    [   75.206528] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [   75.215157] k3-m4-rproc 5000000.m4fss: configured M4 for IPC-only mode
    [   75.221855] remoteproc remoteproc0: 5000000.m4fss is available
    [   75.227779] remoteproc remoteproc0: attaching to 5000000.m4fss
    [   75.233939] k3-m4-rproc 5000000.m4fss: M4 initialized in IPC-only mode
    [   75.240499]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
    [   75.248996]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [   75.255101] remoteproc remoteproc0: remote processor 5000000.m4fss is now attached
    root@am64xx-evm:~# insmod rpmsg_char.ko 
    root@am64xx-evm:~# insmod virtio_rpmsg_bus.ko 
    [   93.318470] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   93.319995] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [   93.331963] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    root@am64xx-evm:~# ./rpmsg_char_simple -r 9 -n 10
    Created endpt device rpmsg-char-9-1247, fd = 3 port = 1024
    Exchanging 10 messages with rpmsg device ti.ipc4.ping-pong on rproc id 9 ...
       
    Sending message #0: hello there 0!                                                     
    Receiving message #0: hello there 0!                                                   
    Sending message #1: hello there 1!                                                     
    Receiving message #1: hello there 1!
    Sending message #2: hello there 2!
    Receiving message #2: hello there 2!
    Sending message #3: hello there 3!
    Receiving message #3: hello there 3!
    Sending message #4: hello there 4!
    Receiving message #4: hello there 4!
    Sending message #5: hello there 5!
    Receiving message #5: hello there 5!
    Sending message #6: hello there 6!
    Receiving message #6: hello there 6!
    Sending message #7: hello there 7!
    Receiving message #7: hello there 7!
    Sending message #8: hello there 8!
    Receiving message #8: hello there 8!
    Sending message #9: hello there 9!
    Receiving message #9: hello there 9!
    
    Communicated 10 messages successfully on rpmsg-char-9-340
    
    TEST STATUS: PASSED
    root@am64xx-evm:~# 

    我还在IPC固件中添加了MCU_UART日志,以将来自Linux内核的回显消息作为日志打印:

    [IPC RPMSG ECHO] ipc_rpmsg_echo_main Mar 28 2022 14:37:18                              
    [IPC RPMSG ECHO] IPC Linux is ready 
    [IPC RPMSG ECHO] Remote Core waiting for messages at end point 13 ... !!!
    [IPC RPMSG ECHO] Remote Core waiting for messages at end point 14 ... !!!
    hello there 0!
    hello there 1!
    hello there 2!
    hello there 3!
    hello there 4!
    hello there 5!
    hello there 6!
    hello there 7!
    hello there 8!
    hello there 9!

    =========

    根据默认的IPC示例,我将它们自定义为与我的产品兼容。

    -器件:AM64x-EVM

    -更改DDR大小:512 MB

    -更改Linux DTS:

    reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    #if 0
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    #endif
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@91000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x91000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@91100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x91100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		/* 8 MB */
    		rtos_ipc_memory_region: ipc-memories@92000000 {
    			reg = <0x00 0x92000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    

    -更改MCU的linker.cmd:

    MEMORY
    {
        M4F_VECS : ORIGIN = 0x00000000 , LENGTH = 0x00000200
        M4F_IRAM : ORIGIN = 0x00000200 , LENGTH = 0x0002FE00
        M4F_DRAM : ORIGIN = 0x00030000 , LENGTH = 0x00010000
    
        /* when using multi-core application's i.e more than one R5F/M4F active, make sure
         * this memory does not overlap with R5F's
         */
        /* Resource table must be placed at the start of DDR_0 when M4 core is early booting with Linux */
        DDR_0       : ORIGIN = 0x91100000 , LENGTH = 0x1000
    
        USER_SHM_MEM    : ORIGIN = 0x92000000, LENGTH = 0x80
        LOG_SHM_MEM     : ORIGIN = 0x92000000 + 0x80, LENGTH = 0x00004000 - 0x80
        IPC_VRING_MEM   : ORIGIN = 0x92004000, LENGTH = 0x0000C000
    }

    - syscnf

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM64x_beta" --package "ALV" --part "Default" --context "m4fss0-0" --product "MCU_PLUS_SDK_AM64x@08.02.00"
     * @versions {"tool":"1.11.0+2225"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const ipc             = scripting.addModule("/drivers/ipc/ipc");
    const addr_translate  = scripting.addModule("/kernel/dpl/addr_translate", {}, false);
    const addr_translate1 = addr_translate.addInstance();
    const addr_translate2 = addr_translate.addInstance();
    const addr_translate3 = addr_translate.addInstance();
    const addr_translate4 = addr_translate.addInstance();
    const clock           = scripting.addModule("/kernel/dpl/clock");
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    ipc.enableLinuxIpc = true;
    
    addr_translate1.$name     = "CONFIG_ADDR_TRANSLATE_REGION0";
    addr_translate1.localAddr = 0x80000000;
    addr_translate1.size      = 28;
    
    addr_translate2.$name      = "CONFIG_ADDR_TRANSLATE_REGION1";
    addr_translate2.size       = 28;
    addr_translate2.systemAddr = 0x10000000;
    addr_translate2.localAddr  = 0x90000000;
    
    addr_translate3.systemAddr = 0x60000000;
    addr_translate3.localAddr  = 0x60000000;
    addr_translate3.size       = 28;
    addr_translate3.$name      = "CONFIG_ADDR_TRANSLATE_REGION2";
    
    addr_translate4.localAddr  = 0x70000000;
    addr_translate4.systemAddr = 0x70000000;
    addr_translate4.size       = 28;
    addr_translate4.$name      = "CONFIG_ADDR_TRANSLATE_REGION3";
    
    debug_log.enableCssLog             = false;
    debug_log.enableUartLog            = true;
    debug_log.uartLog.$name            = "CONFIG_UART_CONSOLE";
    debug_log.uartLog.MCU_UART.$assign = "MCU_USART0";
    
    mpu_armv71.$name        = "CONFIG_MPU_REGION0";
    mpu_armv71.allowExecute = false;
    mpu_armv71.attributes   = "NonCached";
    mpu_armv71.size         = 29;
    
    mpu_armv72.$name = "CONFIG_MPU_REGION1";
    mpu_armv72.size  = 18;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    debug_log.uartLog.MCU_UART.RXD.$suggestSolution = "ball.A9";
    debug_log.uartLog.MCU_UART.TXD.$suggestSolution = "ball.A8";

    然后在Linux上记录结果:

    root@am64xx-evm:~# ls /proc/device-tree/reserved-memory/ -l                                           
    -r--r--r--    1 root     root             4 Jan 12 11:48 #address-cells                               
    -r--r--r--    1 root     root             4 Jan 12 11:48 #size-cells                                  
    drwxr-xr-x    2 root     root             0 Jan 12 11:48 ipc-memories@92000000                        
    drwxr-xr-x    2 root     root             0 Jan 12 11:48 m4f-dma-memory@91000000                      
    drwxr-xr-x    2 root     root             0 Jan 12 11:48 m4f-memory@91100000                          
    -r--r--r--    1 root     root            16 Jan 12 11:48 name                                         
    drwxr-xr-x    2 root     root             0 Jan 12 11:48 optee@9e800000                               
    -r--r--r--    1 root     root             0 Jan 12 11:48 ranges                                       
    root@am64xx-evm:~# dmesg | grep reserved                                                              
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@91000000, compatible id shared-dma-pl
    [    0.000000] OF: reserved mem: initialized node m4f-memory@91100000, compatible id shared-dma-pool  
    [    0.000000]   DMA zone: 0 pages reserved                                                           
    [    0.000000] Memory: 452864K/524288K available (10880K kernel code, 1346K rwdata, 4288K rodata, 185)
    [    2.726145] ubi0: available PEBs: 0, total reserved PEBs: 133, PEBs reserved for bad PEB handling:0
    [    5.003374] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)                                     
    root@am64xx-evm:~# insmod ti_k3_m4_remoteproc.ko                                                      
    [  179.098372] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@91000000       
    [  179.106985] k3-m4-rproc 5000000.m4fss: configured M4 for IPC-only mode                             
    root@am64xx-evm:~# [  179.114170] remoteproc remoteproc0: 5000000.m4fss is available                  
    [  179.114249] remoteproc remoteproc0: attaching to 5000000.m4fss                                     
    [  179.114539] k3-m4-rproc 5000000.m4fss: M4 initialized in IPC-only mode                             
    [  179.114557]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@91000000        
    [  179.114653]  remoteproc0#vdev0buffer: registered virtio0 (type 7)                                  
    [  179.114661] remoteproc remoteproc0: remote processor 5000000.m4fss is now attached                 
                                                                                                          
    root@am64xx-evm:~#                           
    root@am64xx-evm:~# insmod rpmsg_char.ko                                                        
    root@am64xx-evm:~# insmod virtio_rpmsg_bus.ko                                                         
    [  203.609725] virtio_rpmsg_bus virtio0: rpmsg host is online                                     
    root@am64xx-evm:~# 

    并登录MCU M4F,等待来自Linux的remotproc

    [IPC RPMSG ECHO] ipc_rpmsg_echo_main Mar 28 2022 14:37:18

    我对内核驱动程序源代码没有任何修改。

    请告诉我为什么它不能创建通道rpmsg_chrdev和pin-pong

    谢谢!

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    下一个调试步骤

    是的,我看到您的案例1测试表明,开箱即用的IPC工作正常。 但听起来似乎有多种情况在从案例1变为案例2 (文件系统,Linux内核的加载方式,内存设置,如果您在自定义主板上进行测试,则可能是硬件等)。 因此,我希望我们只更改您的内存映射设置,看看它们是否按预期工作。

    澄清:
    使用AM64x EVM
    使用 tisdk-default-image 文件系统(来自SDK 8.1)
    使用完整的2 GB DDR

    唯一的更改是:
    禁用R5F内核并删除其内存映射部分
    在Linux devic松 树文件中移动M4F保留内存位置
    按照 https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_00_00_21/exports/docs/api_guide_am64x/IPC_GUIDE.html修改M4F linker.cmd文件 
    将文件系统中的M4F IPC二进制文件替换为新的二进制文件

    然后运行我在上一个响应中包含的终端命令。 如果它工作正常,则您知道问题不在于您移动了共享内存位置。 然后您可以进入下一调试阶段。

    引导顺序讨论  

    请提供有关"SBL boots Load M4F firmware,and after that SBL boot Linux"(SBL引导加载M4F固件,以及在该SBL引导Linux之后)的更多详细信息。 请注意,TI尚未针对远程内核在Linux启动之前已经运行的情况测试AM64x RemoteProc和RPMsg行为。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nick:

    将M4F保留的内存位置移至另一个区域,否则无法正常工作。

    步骤:

    1.将ti-processor-SDK-linux-am64xx-EVM-EVM-am64xx-evp.wic.xz的08.01 闪存 至00.39 卡。

    2.使用命令运行默认的M4F IPC示例

    root@am64xx-EVM:~# rpmsg_char_simple -r 9 -n 5.

    =>结果:效果很好。

    3.保留原来的M4F IPC固件,只需添加UART打印调试日志,构建并复制到/lib/firmware/pdm-IPC/

    =>结果:效果好。 请参阅日志:

    ==============Linux Log ===================================================
    U-Boot SPL 2021.01-g15769936a5 (Jan 17 2022 - 20:40:34 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
    SPL initial stack usage: 13392 bytes
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.5(release):08.01.00.006-dirty
    NOTICE:  BL31: Built : 20:34:54, Jan 17 2022
    
    U-Boot SPL 2021.01-g15769936a5 (Jan 17 2022 - 20:39:22 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
    Trying to boot from MMC2
    
    
    U-Boot 2021.01-g15769936a5 (Jan 17 2022 - 20:39:22 +0000)
    
    SoC:   AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    Board: AM64-GPEVM rev E2
    DRAM:  2 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    Failed to load 'boot.scr'
    1490 bytes read in 2 ms (727.5 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    Running uenvcmd ...
    1 bytes read in 1 ms (1000 Bytes/s)
    Already setup.
    19270144 bytes read in 733 ms (25.1 MiB/s)
    54542 bytes read in 5 ms (10.4 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 000000008ffef000, end 000000008ffff50d ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.65-gdcc6bedb2c (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 2
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
    [    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: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.2
    [    0.000000] percpu: Embedded 2 pages/cpu s49880 r8192 d73000 u131072
    [    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 off.  Total pages: 32736
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:512k(ospi.tiboot3),2m(ot
    [    0.000000] Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1432320K/2097152K available (10880K kernel code, 1346K rwdata, 4288K rodata, 1856K init, 757K bss, 140544K reserved, 5)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=2.
    [    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=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 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:0x0000000001840000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @a6000000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x00000000a58c0000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000a58d0000
    [    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000005] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008534] Console: colour dummy device 80x25
    [    0.013123] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023797] pid_max: default: 32768 minimum: 301
    [    0.028600] LSM: Security Framework initializing
    [    0.033408] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.041000] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.051340] rcu: Hierarchical SRCU implementation.
    [    0.056599] Platform MSI: msi-controller@1820000 domain created
    [    0.062964] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.072254] EFI services will not be available.
    [    0.077246] smp: Bringing up secondary CPUs ...
    [    0.082955] Detected VIPT I-cache on CPU1
    [    0.082991] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.083006] GICv3: CPU1: using allocated LPI pending table @0x00000000a58e0000
    [    0.083072] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.083202] smp: Brought up 1 node, 2 CPUs
    [    0.112586] SMP: Total of 2 processors activated.
    [    0.117398] CPU features: detected: 32-bit EL0 Support
    [    0.122672] CPU features: detected: CRC32 instructions
    [    0.135981] CPU: All CPU(s) started at EL2
    [    0.140187] alternatives: patching kernel code
    [    0.145956] devtmpfs: initialized
    [    0.157434] KASLR disabled due to lack of seed
    [    0.162277] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.172246] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
    [    0.181219] pinctrl core: initialized pinctrl subsystem
    [    0.187219] DMI not present or invalid.
    [    0.191829] NET: Registered protocol family 16
    [    0.204117] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.211786] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.219815] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.228537] thermal_sys: Registered thermal governor 'step_wise'
    [    0.228544] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.235217] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.248918] ASID allocator initialised with 65536 entries
    [    0.284076] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
    [    0.290955] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
    [    0.297714] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.306560] cryptd: max_cpu_qlen set to 1000
    [    0.314819] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR1.0 JTAGID[0x0bb3802f] Detected
    [    0.324077] vsys_5v0: supplied by evm_12v0
    [    0.328958] vsys_3v3: supplied by evm_12v0
    [    0.333718] vddb_3v3_display: supplied by vsys_3v3
    [    0.340022] iommu: Default domain type: Translated 
    [    0.345423] SCSI subsystem initialized
    [    0.350006] mc: Linux media interface: v0.10
    [    0.354410] videodev: Linux video capture interface: v2.00
    [    0.360109] pps_core: LinuxPPS API ver. 1 registered
    [    0.365184] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.374529] PTP clock support registered
    [    0.378570] EDAC MC: Ver: 3.0.0
    [    0.382616] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    0.389528] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    0.396339] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    0.403847] FPGA manager framework
    [    0.407447] Advanced Linux Sound Architecture Driver Initialized.
    [    0.414886] clocksource: Switched to clocksource arch_sys_counter
    [    0.421651] VFS: Disk quotas dquot_6.6.0
    [    0.425800] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
    [    0.439461] NET: Registered protocol family 2
    [    0.444188] IP idents hash table entries: 32768 (order: 2, 262144 bytes, linear)
    [    0.453239] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
    [    0.462132] TCP established hash table entries: 16384 (order: 1, 131072 bytes, linear)
    [    0.470366] TCP bind hash table entries: 16384 (order: 2, 262144 bytes, linear)
    [    0.478091] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.484998] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.491937] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.499480] NET: Registered protocol family 1
    [    0.504554] RPC: Registered named UNIX socket transport module.
    [    0.510632] RPC: Registered udp transport module.
    [    0.515445] RPC: Registered tcp transport module.
    [    0.520256] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.526849] PCI: CLS 0 bytes, default 64
    [    0.531681] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.544918] Initialise system trusted keyrings
    [    0.549742] workingset: timestamp_bits=46 max_order=15 bucket_order=0
    [    0.561462] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.568217] NFS: Registering the id_resolver key type
    [    0.573464] Key type id_resolver registered
    [    0.577739] Key type id_legacy registered
    [    0.581913] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.588766] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.596548] 9p: Installing v9fs 9p2000 file system support
    [    0.645184] Key type asymmetric registered
    [    0.649392] Asymmetric key parser 'x509' registered
    [    0.654434] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [    0.661995] io scheduler mq-deadline registered
    [    0.666624] io scheduler kyber registered
    [    0.673307] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    0.680313] pinctrl-single a40000.timesync-router: 512 pins, size 2048
    [    0.697093] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.720797] brd: module loaded
    [    0.732117] loop: module loaded
    [    0.736242] megasas: 07.714.04.00-rc1
    [    0.743237] libphy: Fixed MDIO Bus: probed
    [    0.748946] tun: Universal TUN/TAP device driver, 1.6
    [    0.754941] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.761354] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.767459] sky2: driver version 1.30
    [    0.772441] VFIO - User Level meta-driver version: 0.3
    [    0.778832] i2c /dev entries driver
    [    0.783656] sdhci: Secure Digital Host Controller Interface driver
    [    0.789988] sdhci: Copyright(c) Pierre Ossman
    [    0.794827] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.801907] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.808518] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.816530] optee: probing for conduit method.
    [    0.821160] optee: revision 3.12 (3d47a131)
    [    0.821812] optee: initialized driver
    [    0.832575] NET: Registered protocol family 17
    [    0.837318] 9pnet: Installing 9P2000 support
    [    0.841750] Key type dns_resolver registered
    [    0.846362] Loading compiled-in X.509 certificates
    [    0.866818] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
    [    0.931597] random: fast init done
    [    0.941274] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.947780] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    0.956307] omap_i2c 20000000.i2c: bus 0 rev0.12 at 100 kHz
    [    0.964211] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    0.971156] pca953x 1-0022: using AI
    [    1.024440] Console: switching to mono frame buffer device 12x2
    [    1.059301] ssd1307fb 1-003c: fb0: Solomon SSD1307 framebuffer device registered, using 192 bytes of video memory
    [    1.070013] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.077326] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.084368] omap_i2c 20030000.i2c: bus 3 rev0.12 at 100 kHz
    [    1.090653] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
    [    1.100601] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
    [    1.109452] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.131091] j721e-pcie f102000.pcie: host bridge /bus@f4000/pcie@f102000 ranges:
    [    1.138716] j721e-pcie f102000.pcie:       IO 0x0068001000..0x0068010fff -> 0x0068001000
    [    1.147010] j721e-pcie f102000.pcie:      MEM 0x0068011000..0x006fffffff -> 0x0068011000
    [    1.155296] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x0000000000
    [    2.175947] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
    [    2.182388] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    2.187999] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x68001000-0x68010fff])
    [    2.197690] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
    [    2.204764] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
    [    2.210921] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xfffffffff 64bit pref]
    [    2.218468] pci 0000:00:00.0: supports D1
    [    2.222569] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    2.231151] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    2.233533] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
    [    2.248306] pci 0000:00:00.0: BAR 0: no space for [mem size 0x1000000000 64bit pref]
    [    2.256224] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x1000000000 64bit pref]
    [    2.264507] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    2.270137] pcieport 0000:00:00.0: PME: Signaling with IRQ 44
    [    2.276820] ti-bcdma 485c0100.dma-controller: Number of rings: 68
    [    2.284466] ti-bcdma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    2.294813] ti-pktdma 485c0000.dma-controller: Number of rings: 288
    [    2.309982] ti-pktdma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
    [    2.321254] printk: console [ttyS2] disabled
    [    2.325725] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250
    [    2.334491] printk: console [ttyS2] enabled
    [    2.334491] printk: console [ttyS2] enabled
    [    2.342937] printk: bootconsole [ns16550a0] disabled
    [    2.342937] printk: bootconsole [ns16550a0] disabled
    [    2.358217] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [    2.363248] 7 cmdlinepart partitions found on MTD device fc40000.spi.0
    [    2.369769] Creating 7 MTD partitions on "fc40000.spi.0":
    [    2.375166] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [    2.381985] 0x000000080000-0x000000280000 : "ospi.tispl"
    [    2.388635] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [    2.395327] 0x000000680000-0x0000006c0000 : "ospi.env"
    [    2.401657] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [    2.408768] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    2.415449] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    2.478899] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    2.486499] libphy: 8000f00.mdio: probed
    [    2.492897] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    2.501135] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:000002
    [    2.514535] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    2.521380] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    2.528526] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    2.535286] pps pps0: new PPS source ptp0
    [    2.539753] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    2.553186] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    2.564872] mmc1: CQHCI version 5.10
    [    2.568817] gpio-mux mux-controller: 2-way mux-controller registered
    [    2.584093] vdd_mmc1: supplied by vsys_3v3
    [    2.589758] libphy: mdio_mux: probed
    [    2.602196] mmc0: CQHCI version 5.10
    [    2.602300] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
    [    2.613225] mmc1: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    2.638289] ALSA device list:
    [    2.638295]   No soundcards found.
    [    2.642718] mmc0: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.655061] Waiting for root device PARTUUID=f95fa140-02...
    [    2.707156] mmc0: new ultra high speed SDR104 SDHC card at address aaaa
    [    2.714682] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
    [    2.724674]  mmcblk0: p1 p2
    [    2.732830] mmc1: Command Queue Engine enabled
    [    2.737311] mmc1: new HS400 MMC card at address 0001
    [    2.743024] mmcblk1: mmc1:0001 S0J56X 14.8 GiB 
    [    2.747776] mmcblk1boot0: mmc1:0001 S0J56X partition 1 31.5 MiB
    [    2.753894] mmcblk1boot1: mmc1:0001 S0J56X partition 2 31.5 MiB
    [    2.760041] mmcblk1rpmb: mmc1:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [    2.869573] EXT4-fs (mmcblk0p2): recovery complete
    [    2.875453] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.883704] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.893294] devtmpfs: mounted
    [    2.897231] Freeing unused kernel memory: 1856K
    [    2.901809] Run /sbin/init as init process
    [    3.011696] systemd[1]: System time before build time, advancing clock.
    [    3.066593] NET: Registered protocol family 10
    [    3.072291] Segment Routing with IPv6
    [    3.097439] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP )
    [    3.119712] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2021.09!
    
    [    3.161798] systemd[1]: Set hostname to <am64xx-evm>.
    [    3.497850] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.512620] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.698801] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.705816] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    3.718185] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    3.730223] systemd[1]: Created slice system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [    3.751208] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.759379] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.783126] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.791277] systemd[1]: Created slice system-syslog\x2dng.slice.
    [  OK  ] Created slice system-syslog\x2dng.slice.
    [    3.816630] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.839529] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password ��…ts to Console Directory Watch.
    [    3.863577] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Started Forward Password R��…uests to Wall Directory Watch.
    [    3.887399] systemd[1]: Reached target Paths.
    [  OK  ] Reached target Paths.
    [    3.903198] systemd[1]: Reached target Remote File Systems.
    [  OK  ] Reached target Remote File Systems.
    [    3.923171] systemd[1]: Reached target Slices.
    [  OK  ] Reached target Slices.
    [    3.939306] systemd[1]: Reached target Swap.
    [  OK  ] Reached target Swap.
    [    3.958858] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [    3.983195] systemd[1]: Reached target RPC Port Mapper.
    [  OK  ] Reached target RPC Port Mapper.
    [    4.010807] systemd[1]: Listening on Process Core Dump Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [    4.031544] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    4.065682] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [    4.066600] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    4.099901] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    4.116110] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    4.139900] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    4.163630] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    4.192945] systemd[1]: Mounting Huge Pages File System...
             Mounting Huge Pages File System...
    [    4.217250] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
    [    4.244855] systemd[1]: Mounting Kernel Debug File System...
             Mounting Kernel Debug File System...
    [    4.271301] systemd[1]: Mounting Temporary Directory (/tmp)...
             Mounting Temporary Directory (/tmp)...
    [    4.293773] systemd[1]: Starting Create list of static device nodes for the current kernel...
             Starting Create list of st��…odes for the current kernel...
    [    4.325623] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.339605] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [    4.356426] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [    4.379872] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    4.410562] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems...
    [    4.430989] cryptodev: loading out-of-tree module taints kernel.
    [    4.443898] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    4.454354] systemd[1]: Starting udev Coldplug all Devices...
    [    4.460670] cryptodev: driver 1.10 loaded.
             Starting udev Coldplug all Devices...
    [    4.510262] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    4.535888] systemd[1]: Started Journal Service.
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted Huge Pages File System.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Started Create list of sta��… nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
             Starting Apply Kernel Variables...
    [    4.778270] systemd-journald[160]: Received client request to flush runtime journal.
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting udev Kernel Device Manager...
    [  OK  ] Mounted /media/ram.
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started udev Coldplug all Devices.
             Starting udev Wait for Complete Device Initialization...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target System Time Synchronized.
    [    5.767899] CAN device driver interface
    [  OK  ] Created slice system-systemd\x2dbacklight.slice.
    [    5.980412] 93xx46 spi1.0: 16-bit eeprom 
             Starting Load/Save Screen ��…ess of backlight:ssd1307fb0...
    [  OK  ] Started Load/Save Screen B��…tness of backlight:ssd1307fb0.
    [    6.577096] davinci_mdio 300b2400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.676423] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [    6.708011] libphy: 300b2400.mdio: probed
    [    6.789918] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.832345] davinci_mdio 300b2400.mdio: phy[15]: device 300b2400.mdio:0f, driver TI DP83869
    [    6.898689] rti-wdt bus@f4000:watchdog@e000000: invalid resource
    [    6.908193] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    6.915241] platform 78000000.r5f: configured R5F for remoteproc mode
    [    6.929072] rti-wdt: probe of bus@f4000:watchdog@e000000 failed with error -22
    [    6.983391] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.997896] remoteproc remoteproc0: 5000000.m4fss is available
    [    7.010212] rti-wdt bus@f4000:watchdog@e010000: invalid resource
    [    7.072894] remoteproc remoteproc0: powering up 5000000.m4fss
    [    7.080398] rti-wdt: probe of bus@f4000:watchdog@e010000 failed with error -22
    [    7.088678] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 91268
    [    7.103605]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
    [    7.120105] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    7.120955] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    7.129571]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [    7.139238] remoteproc remoteproc1: 78000000.r5f is available
    [    7.145996] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    7.147002] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [    7.171274] platform 78200000.r5f: configured R5F for remoteproc mode
    [    7.183158] remoteproc remoteproc1: powering up 78000000.r5f
    [    7.188895] remoteproc remoteproc1: Booting fw image am64-main-r5f0_0-fw, size 86352
    [    7.209554]  remoteproc1#vdev0buffer: assigned reserved memory node r5f-dma-memory@a0000000
    [    7.223554] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    7.224051] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [    7.238392]  remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [    7.259295] remoteproc remoteproc1: remote processor 78000000.r5f is now up
    [    7.323664] platform 78200000.r5f: assigned reserved memory node r5f-dma-memory@a1000000
    [    7.371638] remoteproc remoteproc2: 78200000.r5f is available
    [    7.411757] remoteproc remoteproc2: powering up 78200000.r5f
    [    7.418811] remoteproc remoteproc2: Booting fw image am64-main-r5f0_1-fw, size 141772
    [    7.475648] platform 78400000.r5f: configured R5F for remoteproc mode
    [    7.482235]  remoteproc2#vdev0buffer: assigned reserved memory node r5f-dma-memory@a1000000
    [    7.493970] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    7.505980]  remoteproc2#vdev0buffer: registered virtio2 (type 7)
    [    7.518622] remoteproc remoteproc2: remote processor 78200000.r5f is now up
    [    7.533147] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [    7.544446] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [    7.581855] m_can_platform 20701000.can: m_can device registered (irq=36, version=32)
    [    7.607708] m_can_platform 20711000.can: m_can device registered (irq=38, version=32)
    [    7.723255] remoteproc remoteproc3: 78400000.r5f is available
    [    7.730961] random: crng init done
    [    7.734384] random: 7 urandom warning(s) missed due to ratelimiting
    [  OK  ] Started Load/Save Random Seed.
    [    7.833784] remoteproc remoteproc3: powering up 78400000.r5f
    [    7.839700] remoteproc remoteproc3: Booting fw image am64-main-r5f1_0-fw, size 93260
    [    7.848897] platform 78600000.r5f: configured R5F for remoteproc mode
    [    7.856829]  remoteproc3#vdev0buffer: assigned reserved memory node r5f-dma-memory@a2000000
    [    7.868229] remoteproc remoteproc5: 30034000.pru is available
    [    7.869036] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    7.886101]  remoteproc3#vdev0buffer: registered virtio3 (type 7)
    [    7.892294] remoteproc remoteproc3: remote processor 78400000.r5f is now up
    [    7.903204] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xe
    [    7.919625] platform 78600000.r5f: assigned reserved memory node r5f-dma-memory@a3000000
    [    7.927730] remoteproc remoteproc6: 30004000.rtu is available
    [    7.933595] remoteproc remoteproc7: 3000a000.txpru is available
    [    7.955566] remoteproc remoteproc8: 30038000.pru is available
    [    8.066615] remoteproc remoteproc9: 30006000.rtu is available
    [    8.073943] remoteproc remoteproc4: 78600000.r5f is available
    [    8.091187] remoteproc remoteproc10: 3000c000.txpru is available
    [    8.099660] remoteproc remoteproc4: powering up 78600000.r5f
    [    8.105385] remoteproc remoteproc4: Booting fw image am64-main-r5f1_1-fw, size 91520
    [    8.118774]  remoteproc4#vdev0buffer: assigned reserved memory node r5f-dma-memory@a3000000
    [    8.127918] virtio_rpmsg_bus virtio4: rpmsg host is online
    [    8.139293]  remoteproc4#vdev0buffer: registered virtio4 (type 7)
    [    8.147778] remoteproc remoteproc4: remote processor 78600000.r5f is now up
    [    8.147863] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xe
    [    8.163544] remoteproc remoteproc11: 300b4000.pru is available
    [    8.206394] remoteproc remoteproc12: 30084000.rtu is available
    [    8.213813] remoteproc remoteproc13: 3008a000.txpru is available
    [    8.224545] remoteproc remoteproc14: 300b8000.pru is available
    [    8.246664] remoteproc remoteproc15: 30086000.rtu is available
    [    8.260791] remoteproc remoteproc16: 3008c000.txpru is available
    [   10.284362] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: single EMAC mode
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
    [   10.495301] omap_rng 40910000.rng: Random Number Generator ver. 241b34c
    [   10.698152] usbcore: registered new interface driver usbfs
    [   10.815223] usbcore: registered new interface driver hub
    [   10.875944] usbcore: registered new device driver usb
    [  OK  ] Found device /dev/mmcblk0p1.
             Starting File System Check on /dev/mmcblk0p1...
    [  OK  ] Started File System Check on /dev/mmcblk0p1.
             Mounting /run/media/mmcblk0p1...
    [  OK  ] Mounted /run/media/mmcblk0p1.
    [  OK  ] Started udev Wait for Complete Device Initialization.
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Started Timer service to update the IP on OLED each 10s.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on dropbear.socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started D-Bus System Message Bus.
             Starting Ethernet Bridge Filtering Tables...
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started irqbalance daemon.
             Starting Reboot and dump vmcore via kexec...
             Starting Matrix GUI...
             Starting startwlanap...
             Starting startwlansta...
             Starting System Logger Daemon "default" instance...
    [   12.768615] startwlansta.sh[768]: mount: /media/mmcblk1p1: special device /dev/mmcblk1p1 does not exist.
             Starting Login Service...
             Starting telnetd.service...
    [   13.024740] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [  OK  ] Started Ethernet Bridge Filtering Tables.
    [  OK  ] Started IPv6 Packet Filtering Framework.
    [  OK  ] Started IPv4 Packet Filtering Framework.
    [  OK  ] Started Reboot and dump vmcore via [   13.160480] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    kexec.
    [  OK  ] Started Matrix GUI.
    [  OK  ] Started telnetd.service.
    [  OK  ] Started startwlansta.
    [  OK  ] Started startwlanap.
    [  OK  ] Reached target Network (Pre).
    [  OK  ] Listening on Load/Save RF ��…itch Status /dev/rfkill Watch.
             Starting syslog.service...
             Starting Network Service...
    [  OK  ] Started System Logger Daemon "default" instance.
    [  OK  ] Started syslog.service.
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
             Starting Network Name Resolution...
    [   14.202515] remoteproc remoteproc11: powering up 300b4000.pru
    [   14.216007] remoteproc remoteproc11: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 37264
    [   14.216037] remoteproc remoteproc11: unsupported resource 5
    [   14.216064] remoteproc remoteproc11: remote processor 300b4000.pru is now up
    [   14.216103] remoteproc remoteproc12: powering up 30084000.rtu
    [   14.217997] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30832
    [   14.218042] remoteproc remoteproc12: remote processor 30084000.rtu is now up
    [   14.218083] remoteproc remoteproc13: powering up 3008a000.txpru
    [   14.222555] remoteproc remoteproc13: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 36656
    [   14.222606] remoteproc remoteproc13: remote processor 3008a000.txpru is now up
    [   14.227102] pps pps1: new PPS source ptp2
    [   14.265010] TI DP83869 300b2400.mdio:0f: attached PHY driver [TI DP83869] (mii_bus:phy_addr=300b2400.mdio:0f, irq=POLL)
    [   14.265297] net eth2: started
    [   14.359724] TI DP83869 0.1:03: attached PHY driver [TI DP83869] (mii_bus:phy_addr=0.1:03, irq=POLL)
    [   14.370474] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [  OK  ] Started Login Service.
    [   14.227208] startwlansta.sh[765]: Wi-Fi user configuration file missing, exit
    [   14.484749] TI DP83867 8000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:00, irq=POLL)
    [   14.514144] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [   14.690545] startwlanap.sh[822]: sed: unmatched '/'
    [   14.712560] startwlanap.sh[823]: adding wlan1 interface
    [   14.744179] startwlanap.sh[825]: command failed: No such file or directory (-2)
    [   14.828591] startwlanap.sh[826]: Configuration file: /usr/share/wl18xx/hostapd.conf
    [   14.898985] startwlanap.sh[826]: Could not read interface wlan1 flags: No such device
    [   14.899673] startwlanap.sh[826]: nl80211: Driver does not support authentication/association or connect commands
    [   14.901206] startwlanap.sh[826]: nl80211: deinit ifname=wlan1 disabled_11b_rates=0
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
    [   14.967048] startwlanap.sh[826]: Could not read interface wlan1 flags: No such device
    [   14.967683] startwlanap.sh[826]: nl80211 driver initialization failed.
    [   14.968671] startwlanap.sh[826]: wlan1: interface state UNINITIALIZED->DISABLED
    [   14.969203] startwlanap.sh[826]: wlan1: AP-DISABLED
    [   14.970052] startwlanap.sh[826]: wlan1: CTRL-EVENT-TERMINATING
    [   14.970497] startwlanap.sh[826]: hostapd_free_hapd_data: Interface wlan1 wasn't started
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Enable and configure wl18xx bluetooth stack...
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Simple Network Ma��…ent Protocol (SNMP) Daemon....
             Starting Permit User Sessions...
    [  OK  ] Started Vsftpd ftp daemon.
    [  OK  ] Started Enable and configure wl18xx bluetooth stack.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [  OK  ] Started Simple Network Man��…ement Protocol (SNMP) Daemon..
    [   15.848199] startwlanap.sh[859]: SIOCSIFADDR: No such device
    [   15.873158] startwlanap.sh[859]: wlan1: ERROR while getting interface flags: No such device
    [   15.896530] startwlanap.sh[859]: SIOCSIFNETMASK: No such device
    [   15.914877] startwlanap.sh[859]: wlan1: ERROR while getting interface flags: No such device
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            autoconf
            bash
            bc
            binutils
            cifs-utils
            coreutils-stdbuf
            coreutils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbserver
            gettext
            gstreamer1.0-libav
            gzip
            hidapi
            less
            libasm1
            libbfd
            libdw1
            libelf1
            libgdbm-compat4
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmpc3
            libmpfr6
            libreadline8
            libunistring2
            m4
            make
            nettle
            parted
            tar
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [   17.162770] startwlanap.sh[1005]: iperf3: error - unable to start listener for connections: Cannot assign requested address
    [   17.184643] startwlanap.sh[1005]: iperf3: exiting
    [   18.616429] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [   18.624909] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: [   24.904906] Initializing XFRM netlink socket
    root
    
    ^[[34;142Rroot@am64xx-evm:~# ;142R
    -sh: syntax error near unexpected token `;'
    root@am64xx-evm:~# 
    root@am64xx-evm:~# 
    root@am64xx-evm:~# rpmsg_char_simple -r 9 -n 5
    Created endpt device rpmsg-char-9-1191, fd = 3 port = 1024
    Exchanging 5 messages with rpmsg device ti.ipc4.ping-pong on rproc id 9 ...
    
    Sending message #0: hello there 0!
    Receiving message #0: hello there 0!
    Sending message #1: hello there 1!
    Receiving message #1: hello there 1!
    Sending message #2: hello there 2!
    Receiving message #2: hello there 2!
    Sending message #3: hello there 3!
    Receiving message #3: hello there 3!
    Sending message #4: hello there 4!
    Receiving message #4: hello there 4!
    
    Communicated 5 messages successfully on rpmsg-char-9-1191
    
    TEST STATUS: PASSED
    root@am64xx-evm:~#
    
    ==================M4F MCU log ===========================
    [IPC RPMSG ECHO] ipc_rpmsg_echo_main Mar 28 2022 14:37:18
    [IPC RPMSG ECHO] IPC Linux is ready 
    [IPC RPMSG ECHO] Remote Core waiting for messages at end point 13 ... !!!
    [IPC RPMSG ECHO] Remote Core waiting for messages at end point 14 ... !!!
    hello there 0!
    hello there 1!
    hello there 2!
    hello there 3!
    hello there 4!
    ======================================================
    
    

    4.唯一的改变是:

       -从Linux DTS中禁用R5保留内存

       -从Linux DTS中移动M4F保留内存位置

       - DDR大小保留原始卷2 GB。

       -更正MCU linker.cmd中的内存

       -保留syscfg文件,因为DDR大小不会更改。

     请参阅修改内容

    	memory@80000000 {
    		device_type = "memory";
    		/* 2G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
    
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    #if 0
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a5000000 {
    			reg = <0x00 0xa5000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    #endif
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@91000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x91000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@91100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0x91100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		/* 8 MB */
    		rtos_ipc_memory_region: ipc-memories@a5000000 {
    			reg = <0x00 0xa5000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    ...
    #if 0
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
    	memory-region = <&main_r5fss0_core0_dma_memory_region>,
    			<&main_r5fss0_core0_memory_region>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
    	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    			<&main_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
    	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    			<&main_r5fss1_core1_memory_region>;
    };
    #endif
    
    
    The Changed point of MCU Linker.cmd
    MEMORY
    {
        M4F_VECS : ORIGIN = 0x00000000 , LENGTH = 0x00000200
        M4F_IRAM : ORIGIN = 0x00000200 , LENGTH = 0x0002FE00
        M4F_DRAM : ORIGIN = 0x00030000 , LENGTH = 0x00010000
    
        /* when using multi-core application's i.e more than one R5F/M4F active, make sure
         * this memory does not overlap with R5F's
         */
        /* Resource table must be placed at the start of DDR_0 when M4 core is early booting with Linux */
        DDR_0       : ORIGIN = 0x91100000 , LENGTH = 0x1000
    
        USER_SHM_MEM    : ORIGIN = 0xA5000000, LENGTH = 0x80
        LOG_SHM_MEM     : ORIGIN = 0xA5000000 + 0x80, LENGTH = 0x00004000 - 0x80
        IPC_VRING_MEM   : ORIGIN = 0xA5004000, LENGTH = 0x0000C000
    }
    
    

    =>结果:工作不好。

         日志:

    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.65-gdcc6bedb2c (oe-user@oe-host) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 2
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000091000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@91000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000091100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@91100000, compatible id shared-dma-pool
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x0000000090ffffff]
    [    0.000000]   node   0: [mem 0x0000000091000000-0x0000000091ffffff]
    [    0.000000]   node   0: [mem 0x0000000092000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x000000009fffffff]
    [    0.000000]   node   0: [mem 0x00000000a0000000-0x00000000a4ffffff]
    [    0.000000]   node   0: [mem 0x00000000a5000000-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
    [    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: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.2
    [    0.000000] percpu: Embedded 2 pages/cpu s49880 r8192 d73000 u131072
    [    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 off.  Total pages: 32736
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:512k(ospi.tiboot3),2m(ot
    [    0.000000] Dentry cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 4, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1497920K/2097152K available (10880K kernel code, 1346K rwdata, 4288K rodata, 1856K init, 757K bss, 74944K reserved, 52)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, 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=2.
    [    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=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 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:0x0000000001840000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @a4000000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x00000000a58c0000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000000a58d0000
    [    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x4c4 with crng_init=0
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000005] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008526] Console: colour dummy device 80x25
    [    0.013117] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023792] pid_max: default: 32768 minimum: 301
    [    0.028593] LSM: Security Framework initializing
    [    0.033401] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.040991] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
    [    0.051311] rcu: Hierarchical SRCU implementation.
    [    0.056569] Platform MSI: msi-controller@1820000 domain created
    [    0.062920] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.072199] EFI services will not be available.
    [    0.077188] smp: Bringing up secondary CPUs ...
    [    0.082893] Detected VIPT I-cache on CPU1
    [    0.082929] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.082945] GICv3: CPU1: using allocated LPI pending table @0x00000000a58e0000
    [    0.083010] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.083143] smp: Brought up 1 node, 2 CPUs
    [    0.112532] SMP: Total of 2 processors activated.
    [    0.117346] CPU features: detected: 32-bit EL0 Support
    [    0.122619] CPU features: detected: CRC32 instructions
    [    0.135922] CPU: All CPU(s) started at EL2
    [    0.140128] alternatives: patching kernel code
    [    0.145902] devtmpfs: initialized
    [    0.157174] KASLR disabled due to lack of seed
    [    0.162013] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.171982] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
    [    0.181283] pinctrl core: initialized pinctrl subsystem
    [    0.187286] DMI not present or invalid.
    [    0.191892] NET: Registered protocol family 16
    [    0.204667] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.212336] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.220366] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.229083] thermal_sys: Registered thermal governor 'step_wise'
    [    0.229089] thermal_sys: Registered thermal governor 'power_allocator'
    [    0.235755] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.249450] ASID allocator initialised with 65536 entries
    [    0.284372] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
    [    0.291250] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
    [    0.298010] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.306847] cryptd: max_cpu_qlen set to 1000
    [    0.315072] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR1.0 JTAGID[0x0bb3802f] Detected
    [    0.324292] vsys_5v0: supplied by evm_12v0
    [    0.329204] vsys_3v3: supplied by evm_12v0
    [    0.333959] vddb_3v3_display: supplied by vsys_3v3
    [    0.340268] iommu: Default domain type: Translated 
    [    0.345663] SCSI subsystem initialized
    [    0.350195] mc: Linux media interface: v0.10
    [    0.354592] videodev: Linux video capture interface: v2.00
    [    0.360323] pps_core: LinuxPPS API ver. 1 registered
    [    0.365396] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.374743] PTP clock support registered
    [    0.378784] EDAC MC: Ver: 3.0.0
    [    0.382839] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    0.389747] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    0.396555] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    0.404049] FPGA manager framework
    [    0.407646] Advanced Linux Sound Architecture Driver Initialized.
    [    0.415097] clocksource: Switched to clocksource arch_sys_counter
    [    0.421851] VFS: Disk quotas dquot_6.6.0
    [    0.425999] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
    [    0.439639] NET: Registered protocol family 2
    [    0.444359] IP idents hash table entries: 32768 (order: 2, 262144 bytes, linear)
    [    0.453403] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
    [    0.462302] TCP established hash table entries: 16384 (order: 1, 131072 bytes, linear)
    [    0.470532] TCP bind hash table entries: 16384 (order: 2, 262144 bytes, linear)
    [    0.478258] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.485167] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.492103] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
    [    0.499643] NET: Registered protocol family 1
    [    0.504716] RPC: Registered named UNIX socket transport module.
    [    0.510810] RPC: Registered udp transport module.
    [    0.515650] RPC: Registered tcp transport module.
    [    0.520458] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.527054] PCI: CLS 0 bytes, default 64
    [    0.531872] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.545250] Initialise system trusted keyrings
    [    0.550083] workingset: timestamp_bits=46 max_order=15 bucket_order=0
    [    0.561841] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.568552] NFS: Registering the id_resolver key type
    [    0.573805] Key type id_resolver registered
    [    0.578080] Key type id_legacy registered
    [    0.582250] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.589101] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.596883] 9p: Installing v9fs 9p2000 file system support
    [    0.645659] Key type asymmetric registered
    [    0.649869] Asymmetric key parser 'x509' registered
    [    0.654911] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243)
    [    0.662473] io scheduler mq-deadline registered
    [    0.667106] io scheduler kyber registered
    [    0.673767] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    0.680859] pinctrl-single a40000.timesync-router: 512 pins, size 2048
    [    0.697545] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.721269] brd: module loaded
    [    0.732741] loop: module loaded
    [    0.736814] megasas: 07.714.04.00-rc1
    [    0.743760] libphy: Fixed MDIO Bus: probed
    [    0.749527] tun: Universal TUN/TAP device driver, 1.6
    [    0.755559] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.761973] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.768077] sky2: driver version 1.30
    [    0.773055] VFIO - User Level meta-driver version: 0.3
    [    0.779519] i2c /dev entries driver
    [    0.784259] sdhci: Secure Digital Host Controller Interface driver
    [    0.790591] sdhci: Copyright(c) Pierre Ossman
    [    0.795438] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.802497] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.809122] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.817184] optee: probing for conduit method.
    [    0.821823] optee: revision 3.12 (3d47a131)
    [    0.822478] optee: initialized driver
    [    0.833191] NET: Registered protocol family 17
    [    0.837936] 9pnet: Installing 9P2000 support
    [    0.842370] Key type dns_resolver registered
    [    0.846982] Loading compiled-in X.509 certificates
    [    0.867444] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0015 '21.9.1--v2021.09a (Terrific Lla')
    [    0.932153] random: fast init done
    [    0.941768] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.948253] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    0.956786] omap_i2c 20000000.i2c: bus 0 rev0.12 at 100 kHz
    [    0.964620] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    0.971563] pca953x 1-0022: using AI
    [    1.028611] Console: switching to mono frame buffer device 12x2
    [    1.063482] ssd1307fb 1-003c: fb0: Solomon SSD1307 framebuffer device registered, using 192 bytes of video memory
    [    1.074190] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.081475] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz
    [    1.088506] omap_i2c 20030000.i2c: bus 3 rev0.12 at 100 kHz
    [    1.094787] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
    [    1.104732] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
    [    1.113573] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.135018] j721e-pcie f102000.pcie: host bridge /bus@f4000/pcie@f102000 ranges:
    [    1.142696] j721e-pcie f102000.pcie:       IO 0x0068001000..0x0068010fff -> 0x0068001000
    [    1.150987] j721e-pcie f102000.pcie:      MEM 0x0068011000..0x006fffffff -> 0x0068011000
    [    1.159284] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x0000000000
    [    2.179940] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
    [    2.186378] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    2.191989] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x68001000-0x68010fff])
    [    2.201682] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
    [    2.208753] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
    [    2.214910] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xfffffffff 64bit pref]
    [    2.222459] pci 0000:00:00.0: supports D1
    [    2.226562] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    2.235027] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    2.237366] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
    [    2.252287] pci 0000:00:00.0: BAR 0: no space for [mem size 0x1000000000 64bit pref]
    [    2.260207] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x1000000000 64bit pref]
    [    2.268484] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    2.274176] pcieport 0000:00:00.0: PME: Signaling with IRQ 44
    [    2.280869] ti-bcdma 485c0100.dma-controller: Number of rings: 68
    [    2.288551] ti-bcdma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    2.298856] ti-pktdma 485c0000.dma-controller: Number of rings: 288
    [    2.313919] ti-pktdma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
    [    2.325208] printk: console [ttyS2] disabled
    [    2.329674] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250
    [    2.338442] printk: console [ttyS2] enabled
    [    2.338442] printk: console [ttyS2] enabled
    [    2.346886] printk: bootconsole [ns16550a0] disabled
    [    2.346886] printk: bootconsole [ns16550a0] disabled
    [    2.362030] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [    2.367053] 7 cmdlinepart partitions found on MTD device fc40000.spi.0
    [    2.373576] Creating 7 MTD partitions on "fc40000.spi.0":
    [    2.378972] 0x000000000000-0x000000080000 : "ospi.tiboot3"
    [    2.385743] 0x000000080000-0x000000280000 : "ospi.tispl"
    [    2.392403] 0x000000280000-0x000000680000 : "ospi.u-boot"
    [    2.399014] 0x000000680000-0x0000006c0000 : "ospi.env"
    [    2.405473] 0x0000006c0000-0x000000700000 : "ospi.env.backup"
    [    2.412456] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    2.419178] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    2.483110] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    2.490709] libphy: 8000f00.mdio: probed
    [    2.496887] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    2.505126] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:000002
    [    2.518523] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    2.525361] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    2.532510] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    2.539318] pps pps0: new PPS source ptp0
    [    2.543801] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    2.557205] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    2.568679] gpio-mux mux-controller: 2-way mux-controller registered
    [    2.569102] mmc1: CQHCI version 5.10
    [    2.587040] vdd_mmc1: supplied by vsys_3v3
    [    2.592633] libphy: mdio_mux: probed
    [    2.604743] mmc0: CQHCI version 5.10
    [    2.604893] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
    [    2.615810] mmc1: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    2.633288] ALSA device list:
    [    2.636288]   No soundcards found.
    [    2.652293] mmc0: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    2.660692] Waiting for root device PARTUUID=f95fa140-02...
    [    2.716057] mmc0: new ultra high speed SDR104 SDHC card at address aaaa
    [    2.723739] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
    [    2.730654] mmc1: Command Queue Engine enabled
    [    2.735162] mmc1: new HS400 MMC card at address 0001
    [    2.740175]  mmcblk0: p1 p2
    [    2.744618] mmcblk1: mmc1:0001 S0J56X 14.8 GiB 
    [    2.749426] mmcblk1boot0: mmc1:0001 S0J56X partition 1 31.5 MiB
    [    2.755551] mmcblk1boot1: mmc1:0001 S0J56X partition 2 31.5 MiB
    [    2.761670] mmcblk1rpmb: mmc1:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [    2.791076] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    2.799320] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    2.808003] devtmpfs: mounted
    [    2.811937] Freeing unused kernel memory: 1856K
    [    2.816510] Run /sbin/init as init process
    [    2.947553] systemd[1]: System time before build time, advancing clock.
    [    3.003143] NET: Registered protocol family 10
    [    3.008837] Segment Routing with IPv6
    [    3.032330] systemd[1]: systemd 244.5+ running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP )
    [    3.054619] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2021.09!
    
    [    3.098090] systemd[1]: Set hostname to <am64xx-evm>.
    [    3.421423] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.436220] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    3.622977] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.629994] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    3.642363] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
    [    3.654156] systemd[1]: Created slice system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [    3.675431] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.683607] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-serial\x2dgetty.slice.
    [    3.707328] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.715496] systemd[1]: Created slice system-syslog\x2dng.slice.
    [  OK  ] Created slice system-syslog\x2dng.slice.
    [    3.740785] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    3.763730] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password ��…ts to Console Directory Watch.
    [    3.787647] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Started Forward Password R��…uests to Wall Directory Watch.
    [    3.811626] systemd[1]: Reached target Paths.
    [  OK  ] Reached target Paths.
    [    3.827395] systemd[1]: Reached target Remote File Systems.
    [  OK  ] Reached target Remote File Systems.
    [    3.847360] systemd[1]: Reached target Slices.
    [  OK  ] Reached target Slices.
    [    3.863507] systemd[1]: Reached target Swap.
    [  OK  ] Reached target Swap.
    [    3.883076] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [    3.907420] systemd[1]: Reached target RPC Port Mapper.
    [  OK  ] Reached target RPC Port Mapper.
    [    3.934979] systemd[1]: Listening on Process Core Dump Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [    3.955770] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    3.989832] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    [    3.998800] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    4.020062] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    4.036305] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    4.060083] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    4.083844] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    4.112881] systemd[1]: Mounting Huge Pages File System...
             Mounting Huge Pages File System...
    [    4.141205] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
    [    4.169513] systemd[1]: Mounting Kernel Debug File System...
             Mounting Kernel Debug File System...
    [    4.195857] systemd[1]: Mounting Temporary Directory (/tmp)...
             Mounting Temporary Directory (/tmp)...
    [    4.217546] systemd[1]: Starting Create list of static device nodes for the current kernel...
             Starting Create list of st��…odes for the current kernel...
    [    4.249813] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.267830] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
    [    4.285001] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [    4.306343] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    4.328649] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems...
    [    4.345377] cryptodev: loading out-of-tree module taints kernel.
    [    4.372365] systemd[1]: Starting udev Coldplug all Devices...
    [    4.378834] cryptodev: driver 1.10 loaded.
             Starting udev Coldplug all Devices...[    4.392896] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    
    [    4.419777] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    4.436307] systemd[1]: Mounted Huge Pages File System.
    [  OK  ] Mounted Huge Pages File System.
    [    4.464110] systemd[1]: Started Journal Service.
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory (/tmp).
    [  OK  ] Started Create list of sta��… nodes for the current kernel.
    [  OK  ] Started Load Kernel Modules.
    [  OK  ] Started Remount Root and Kernel File Systems.
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
    [    4.648865] systemd-journald[158]: Received client request to flush runtime journal.
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Started Flush Journal to Persistent Storage.
    [  OK  ] Started Create Static Device Nodes in /dev.
    [  OK  ] Started Apply Kernel Variables.
    [  OK  ] Reached target Local File Systems (Pre).
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting udev Kernel Device Manager...
    [  OK  ] Mounted /media/ram.
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Started Create Volatile Files and Directories.
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started udev Coldplug all Devices.
             Starting Network Time Synchronization...
             Starting udev Wait for Complete Device Initialization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target System Time Synchronized.
    [    5.646545] CAN device driver interface
    [    5.836945] 93xx46 spi1.0: 16-bit eeprom 
    [  OK  ] Created slice system-systemd\x2dbacklight.slice.
             Starting Load/Save Screen ��…ess of backlight:ssd1307fb0...
    [  OK  ] Started Load/Save Screen B��…tness of backlight:ssd1307fb0.
    [    6.313257] davinci_mdio 300b2400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.422060] libphy: 300b2400.mdio: probed
    [    6.504261] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@91000000
    [    6.510017] davinci_mdio 300b2400.mdio: phy[15]: device 300b2400.mdio:0f, driver TI DP83869
    [    6.577936] rti-wdt bus@f4000:watchdog@e000000: invalid resource
    [    6.584338] platform 78000000.r5f: configured R5F for remoteproc mode
    [    6.623696] rti-wdt: probe of bus@f4000:watchdog@e000000 failed with error -22
    [    6.654880] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.681653] platform 78000000.r5f: device does not have reserved memory regions, ret = -22
    [    6.685364] rti-wdt bus@f4000:watchdog@e010000: invalid resource
    [    6.761447] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    6.770027] rti-wdt: probe of bus@f4000:watchdog@e010000 failed with error -22
    [    6.825183] k3_r5_rproc bus@f4000:r5fss@78000000: reserved memory init failed, ret = -22
    [    6.918152] remoteproc remoteproc1: releasing 78000000.r5f
    [    6.937440] remoteproc remoteproc0: 5000000.m4fss is available
    [    6.983078] k3_r5_rproc bus@f4000:r5fss@78000000: k3_r5_cluster_rproc_init failed, ret = -22
    [    6.999857] remoteproc remoteproc0: powering up 5000000.m4fss
    [    7.007242] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 91268
    [    7.027920]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@91000000
    [    7.043723] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    7.055266]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [    7.065055] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [    7.103526] k3_r5_rproc: probe of bus@f4000:r5fss@78000000 failed with error -22
    [    7.136589] platform 78400000.r5f: configured R5F for remoteproc mode
    [    7.148333] platform 78400000.r5f: device does not have reserved memory regions, ret = -22
    [    7.247270] k3_r5_rproc bus@f4000:r5fss@78400000: reserved memory init failed, ret = -22
    [    7.294467] m_can_platform 20701000.can: m_can device registered (irq=36, version=32)
    [    7.315008] m_can_platform 20711000.can: m_can device registered (irq=38, version=32)
    [    7.375192] remoteproc remoteproc1: releasing 78400000.r5f
    [    7.458796] k3_r5_rproc bus@f4000:r5fss@78400000: k3_r5_cluster_rproc_init failed, ret = -22
    [    7.591214] random: crng init done
    [    7.594643] random: 7 urandom warning(s) missed due to ratelimiting
    [    7.612577] remoteproc remoteproc1: 30034000.pru is available
    [    7.619881] remoteproc remoteproc2: 30004000.rtu is available
    
    [    7.634638] remoteproc remoteproc3: 3000a000.txpru is available
    [    7.641211] remoteproc remoteproc4: 30038000.pru is available
    [    7.652112] k3_r5_rproc: probe of bus@f4000:r5fss@78400000 failed with error -22
    [    7.660203] remoteproc remoteproc5: 30006000.rtu is available
    [    7.694542] remoteproc remoteproc6: 3000c000.txpru is available
    [    7.766581] remoteproc remoteproc7: 300b4000.pru is available
    [    7.854490] remoteproc remoteproc8: 30084000.rtu is available
    [    7.929906] remoteproc remoteproc9: 3008a000.txpru is available
    [    7.959744] remoteproc remoteproc10: 300b8000.pru is available
    [    7.995366] remoteproc remoteproc11: 30086000.rtu is available
    [    8.033693] remoteproc remoteproc12: 3008c000.txpru is available
    [    9.756072] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: single EMAC mode
    [    9.863510] omap_rng 40910000.rng: Random Number Generator ver. 241b34c
    [   10.270314] usbcore: registered new interface driver usbfs
    [   10.306216] usbcore: registered new interface driver hub
    [   10.355456] usbcore: registered new device driver usb
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
    [  OK  ] Found device /dev/mmcblk0p1.
             Starting File System Check on /dev/mmcblk0p1...
    [  OK  ] Started File System Check on /dev/mmcblk0p1.
             Mounting /run/media/mmcblk0p1...
    [  OK  ] Started udev Wait for Complete Device Initialization.
    [  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Started Timer service to update the IP on OLED each 10s.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target Timers.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on dropbear.socket.
    [  OK  ] Reached target Sockets.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
    [  OK  ] Started Periodic Command Scheduler.
    [  OK  ] Started D-Bus System Message Bus.
             Starting Ethernet Bridge Filtering Tables...
             Starting Print notice about GPLv3 packages...
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started irqbalance daemon.
             Starting Reboot and dump vmcore via kexec...
             Starting Matrix GUI...
             Starting startwlanap...
             Starting startwlansta...
    [   11.188375] startwlansta.sh[756]: mount: /media/mmcblk1p1: special device /dev/mmcblk1p1 does not exist.
             Starting System Logger Daemon "default" instance...
             Starting Login Service...
             Starting telnetd.service...
    [   11.495394] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [  OK  ] Mounted /run/media/mmcblk0p1.
    [  OK  ] Started Ethernet Bridge Filtering Tables.
    [  OK  ] Started IPv6 Packet Filtering Framework.
    [   11.604544] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [  OK  ] Started IPv4 Packet Filtering Framework.
    [  OK  ] Started Reboot and dump vmcore via kexec.
    [  OK  ] Started Matrix GUI.
    [  OK  ] Started System Logger Daemon "default" instance.
    [  OK  ] Started telnetd.service.
    [  OK  ] Started startwlanap.
    [  OK  ] Started startwlansta.
    [  OK  ] Reached target Network (Pre).
    [  OK  ] Listening on Load/Save RF ��…itch Status /dev/rfkill Watch.
             Starting syslog.service...
             Starting Network Service...
    [  OK  ] Started syslog.service.
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
    [   12.407623] remoteproc remoteproc7: powering up 300b4000.pru
             Starting Network Name Resolution...[   12.453389] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, si4
    
    [   12.505572] remoteproc remoteproc7: unsupported resource 5
    [   12.541219] remoteproc remoteproc7: remote processor 300b4000.pru is now up
    [   12.585767] remoteproc remoteproc8: powering up 30084000.rtu
    [   12.627412] remoteproc remoteproc8: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30832
    [   12.683918] remoteproc remoteproc8: remote processor 30084000.rtu is now up
    [   12.732135] remoteproc remoteproc9: powering up 3008a000.txpru
    [   12.780502] remoteproc remoteproc9: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 36656
    [   12.780553] remoteproc remoteproc9: remote processor 3008a000.txpru is now up
    [   12.793345] pps pps1: new PPS source ptp2
    [   12.819155] TI DP83869 300b2400.mdio:0f: attached PHY driver [TI DP83869] (mii_bus:phy_addr=300b2400.mdio:0f, irq=POLL)
    [   12.819434] net eth2: started
    [   12.936193] TI DP83869 0.1:03: attached PHY driver [TI DP83869] (mii_bus:phy_addr=0.1:03, irq=POLL)
    [   12.943601] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [   12.996425] TI DP83867 8000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=8000f00.mdio:00, irq=POLL)
    [   13.050867] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [   12.756283] startwlansta.sh[754]: Wi-Fi user configuration file missing, exit
    [  OK  ] Started Login Service.
    [   13.256769] startwlanap.sh[811]: sed: unmatched '/'
    [   13.275581] startwlanap.sh[812]: adding wlan1 interface
    [   13.306953] startwlanap.sh[814]: command failed: No such file or directory (-2)
    [   13.364567] startwlanap.sh[815]: Configuration file: /usr/share/wl18xx/hostapd.conf
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
    [   13.472615] startwlanap.sh[815]: Could not read interface wlan1 flags: No such device
    [   13.473254] startwlanap.sh[815]: nl80211: Driver does not support authentication/association or connect commands
    [   13.473715] startwlanap.sh[815]: nl80211: deinit ifname=wlan1 disabled_11b_rates=0
    [   13.508892] startwlanap.sh[815]: Could not read interface wlan1 flags: No such device
    [   13.509551] startwlanap.sh[815]: nl80211 driver initialization failed.
    [   13.509971] startwlanap.sh[815]: wlan1: interface state UNINITIALIZED->DISABLED
    [   13.510290] startwlanap.sh[815]: wlan1: AP-DISABLED
    [   13.510559] startwlanap.sh[815]: wlan1: CTRL-EVENT-TERMINATING
    [   13.510835] startwlanap.sh[815]: hostapd_free_hapd_data: Interface wlan1 wasn't started
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Enable and configure wl18xx bluetooth stack...
    [  OK  ] Started NFS status monitor for NFSv2/3 locking..
             Starting Simple Network Ma��…ent Protocol (SNMP) Daemon....
             Starting Permit User Sessions...
    [  OK  ] Started Vsftpd ftp daemon.
    [  OK  ] Started Enable and configure wl18xx bluetooth stack.
    [  OK  ] Started Permit User Sessions.
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [  OK  ] Started Simple Network Man��…ement Protocol (SNMP) Daemon..
    [   14.362298] startwlanap.sh[866]: SIOCSIFADDR: No such device
    [   14.396602] startwlanap.sh[866]: wlan1: ERROR while getting interface flags: No such device
    [   14.432691] startwlanap.sh[866]: SIOCSIFNETMASK: No such device
    [   14.452349] startwlanap.sh[866]: wlan1: ERROR while getting interface flags: No such device
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPLv3 packages:
            autoconf
            bash
            bc
            binutils
            cifs-utils
            coreutils-stdbuf
            coreutils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbserver
            gettext
            gstreamer1.0-libav
            gzip
            hidapi
            less
            libasm1
            libbfd
            libdw1
            libelf1
            libgdbm-compat4
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmpc3
            libmpfr6
            libreadline8
            libunistring2
            m4
            make
            nettle
            parted
            tar
            which
    
    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Started Print notice about GPLv3 packages.
    [   15.731069] startwlanap.sh[994]: iperf3: error - unable to start listener for connections: Cannot assign requested address
    [   15.748494] startwlanap.sh[994]: iperf3: exiting
    [   17.144634] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
    [   17.153113] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am64xx-evm ttyS2
    
    Arago 2021.09 am64xx-evm ttyS2
    
    am64xx-evm login: ro[   24.219606] Initializing XFRM netlink socket 
    root@am64xx-evm:~# rpmsg_char_simple -r 9 n 10
    _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio0.rpmsg_chrdev.-1.14
    Can't create an endpoint device: Success
    TEST STATUS: FAILED
    root@am64xx-evm:~# dmesg | grep reserved
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@91000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: initialized node m4f-memory@91100000, compatible id shared-dma-pool
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000] Memory: 1497920K/2097152K available (10880K kernel code, 1346K rwdata, 4288K rodata, 1856K init, 757K bss, 74944K reserved, 52)
    [    6.504261] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@91000000
    [    6.681653] platform 78000000.r5f: device does not have reserved memory regions, ret = -22
    [    6.825183] k3_r5_rproc bus@f4000:r5fss@78000000: reserved memory init failed, ret = -22
    [    7.027920]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@91000000
    [    7.148333] platform 78400000.r5f: device does not have reserved memory regions, ret = -22
    [    7.247270] k3_r5_rproc bus@f4000:r5fss@78400000: reserved memory init failed, ret = -22
    root@am64xx-evm:~# dmesg | grep rpm     
    [    2.761670] mmcblk1rpmb: mmc1:0001 S0J56X partition 3 4.00 MiB, chardev (237:0)
    [    7.043723] virtio_rpmsg_bus virtio0: rpmsg host is online
    root@am64xx-evm:~# 

    Nick说:

    引导顺序讨论  

    请提供有关"SBL boots Load M4F firmware,and after that SBL boot Linux"(SBL引导加载M4F固件,以及在该SBL引导Linux之后)的更多详细信息。 请注意,TI尚未针对远程内核在Linux启动之前已经运行的情况测试AM64x RemoteProc和RPMsg行为。

    =>我使用MCU SDK中的SBL_ospi_Linux示例来支持启动顺序,因为我的产品需要MCU内核先于Linux内核启动。

    Nick,请帮助我重新制作您在您的网站上推荐我的测试用例,因为在我的网站中,它不起作用。

    非常感谢。

    Brian。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    请注意,默认情况下启用设备树注释。 这意味着如果要禁用特定的内核,则需要在设备树节点中将状态设置为禁用。 应该在主板DTS文件中禁用内核,而不是在其中一个dtsi文件中禁用内核。

    我可以毫无问题地加载M4F二进制文件。 您是否记得更新指向此处所示M4固件的符号链接?  https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_01_00_39/exports/docs/linux/Foundational_Components_IPC64x.html#booting-remote-cores-from-linux-console-user-space

    使用新的devic133和M4F固件后仍出现错误:

    root@am64xx-evm:/usr/bin# dmesg | grep m4
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@91000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: initialized node m4f-memory@91100000, compatible id shared-dma-pool
    [    6.560915] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@91000000
    [    6.732562] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.828482] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    6.847288] remoteproc remoteproc0: 5000000.m4fss is available
    [    6.895175] remoteproc remoteproc0: powering up 5000000.m4fss
    [    6.901488] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 336260
    [    6.923347]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@91000000
    [    6.969915] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    root@am64xx-evm:/usr/bin# rpmsg_char_simple -r 9 -n 3
    _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio0.rpmsg_chrdev.-1.14
    Can't create an endpoint device: Success
    TEST STATUS: FAILED
    root@am64xx-evm:/usr/bin# dmesg | grep rpmsg
    [    6.943975] virtio_rpmsg_bus virtio0: rpmsg host is online
    

    需要更多时间从我身边看一下。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nick:

    您的站点的错误与我的站点相同。

    M4F固件启动并等待运行"RPMessage_waitForLinuxReady"(SystemP_Wait_Forever)的Linux IPC准备就绪;

    我正在等待您的回复。

    关于R5,我知道,我将在DTS中禁用它们。

    非常感谢。

    Brian。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    仍在这一端进行调试。明天将提供另一个更新。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nick:

    您是否有任何更新

    谢谢!

    Brian,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    我花了一些时间与另一位比我更熟悉MCU+ SDK的团队成员进行调试。 他没有看到任何明显的错误-至少对于M4F,如果我们只是更改内存分配的位置,链接器命令文件应该是唯一需要更新的文件。 (对于R5F,如果更改内存位置,还需要确保新区域仍被映射为非高速缓存)。

    R5F在linker.cmd中有一个额外的部分,我在M4F示例中看不到。 例如,  
    MCU_PLUS_SDK_am64x_08_01_00_36/examples/drivers/IPC/IPC_rpmsg_echo_linux/am64x-EVM-/r5fss0-0_FreeRTOS/ti-arm-clang/linker .cmd列表
    LINUX_IPC_SHM_MEM    :原始= 0xA0万,长度= 0x10万

    在Linux devic递交 的文件中,我们为R5F0-0 DMA内存区域(即,用于vrings和vrring缓冲区等DMA分配的内存)预留了0xA0万。 因此,至少对于R5F,这需要调整。

    由于M4F Linux设备树节点也使用DMA分配,我很惊讶在linker.cmd中没有看到类似的Linux_IPC_SHM_MEM部分。 也许这就是问题的根源所在?

    我必须签核当天的工作。 如果您在您的方面取得了任何进展,请告诉我。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Brian:

    好消息,我们非常接近让它工作!

    结果是,在更改共享内存位置时(除了更新linker.cmd文件之外),实际上必须更新M4f sysconfig项目。

    在Code Composer Studio中打开M4F项目。 单击example.sysconfig,然后转到"TI驱动程序移植层(DPL)">"RAT"。 在默认IPC Echo示例中,我看到CONFIG_ADDR_TRANSLATE_Region2将0xA000_0000转换为 0xA000_0000 (需要此选项,因为M4的默认内存分配在0xA000_0000 - 0xB000_0000范围内)。

    在您所做的示例中,我们将共享内存位置移动到0x9000_0000。0000。 检查 CONFIG_ADDR_TRANSLATE_REGION1。 您必须更改此变量,以便将本地地址0x9000_0000转换0000转换为0x9000_0000。0000。

    我做了这些更改后,就可以让您的项目正常运行,而无需对linker.cmd进行任何其他更改。

    我不确定此信息是否在任何地方都有记录。 我会继续挖掘,如果找到文档,我会将其发布在这里。

    此致,

    尼克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Nick:

    非常感谢您提供的有用信息。

    它在我的网站上运行良好。

    Brian。