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.

AM6548: PRU Ethernet bonding issue

Part Number: AM6548

Hello TI,

We are working on a custom platform based on the TI's AM6548 reference platform TMDX654GP EVM.The software is based upon the latest release from Texas instruments PROCESSOR-SDK-LINUX-AM65X  06_00_00_07.

In reference code base dts file has the configuration for PRG2 ethernet(Dual Ethernet application node on PRU-ICSSG2). We did not modify any code.
eth1 and eth2 are working fine until we bind them.

We tried to achieve dual mac mode(active backup bonding). we configured the bonding driver as module and inserted the module in the kernel using insmod.

We followed the steps mentioned in the Dual mac mode section (software-dl.ti.com/.../Foundational_Components_PRU-ICSS_PRU_ICSSG.html


While binding the two PRU-ICSS Ethernet ports to the bond0 interface we are facing the following error.

root@am65xx-evm:~# [  146.048250] ------------[ cut here ]------------
[  146.052889] NETDEV WATCHDOG: eth1 (icssg-prueth): transmit queue 0 timed out
[  146.060007] WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x29c/0x2a8
[  146.068254] Modules linked in: bonding rpmsg_proto virtio_rpmsg_bus ti_am335x_adc kfifo_buf dwc3 xfrm_user udc_core xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 a
f_key xfrm_algo icssg_prueth pru_rproc crc32_ce crct10dif_ce pruss irq_pruss_intc ti_k3_r5_remoteproc remoteproc pvrsrvkm(O) ti_am335x_tscadc pruss_soc_bus sa2ul omap_rn
g rng_core authenc phy_omap_usb2 dwc3_keystone sch_fq_codel cryptodev(O) ipv6
[  146.104525] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G           O      4.19.38-g4dae378bbe #1
[  146.112942] Hardware name: Texas Instruments AM654 Base Board (DT)
[  146.119111] pstate: 20000005 (nzCv daif -PAN -UAO)
[  146.123893] pc : dev_watchdog+0x29c/0x2a8
[  146.127895] lr : dev_watchdog+0x29c/0x2a8
[  146.131892] sp : ffff00000806fd80
[  146.135196] x29: ffff00000806fd80 x28: 0000000000000005
[  146.140500] x27: ffff80084016ca80 x26: 00000000ffffffff
[  146.145802] x25: 0000000000000140 x24: ffff8008467d4440
[  146.151106] x23: ffff8008467d441c x22: ffff800845e46680
[  146.156408] x21: ffff000008c11000 x20: ffff8008467d4000
[  146.161711] x19: 0000000000000000 x18: 0000000000000010
[  146.167014] x17: 0000000000000000 x16: 0000000000000000
[  146.172317] x15: ffffffffffffffff x14: ffff000008c13648
[  146.177620] x13: ffff000088cc68a7 x12: ffff000008cc68b0
[  146.182923] x11: ffff000008c29000 x10: ffff00000806fa80
[  146.188225] x9 : 00000000ffffffd0 x8 : ffff0000084b9260
[  146.193528] x7 : 6575657571207469 x6 : ffff80087fb017e0
[  146.198831] x5 : ffff00000840b770 x4 : 0000000000000008
[  146.204134] x3 : 0000000000000004 x2 : 0000000000000040
[  146.209437] x1 : be457ce7715cd800 x0 : 0000000000000000
[  146.214739] Call trace:
[  146.217182]  dev_watchdog+0x29c/0x2a8
[  146.220842]  call_timer_fn+0x20/0x78
[  146.224410]  expire_timers+0xa8/0xb8
[  146.227977]  run_timer_softirq+0xa4/0x190
[  146.231979]  __do_softirq+0x10c/0x208
[  146.235635]  irq_exit+0xb8/0xc8
[  146.238771]  __handle_domain_irq+0x64/0xb8
[  146.242857]  gic_handle_irq+0x7c/0x178
[  146.246596]  el1_irq+0xb0/0x128
[  146.249731]  arch_cpu_idle+0x10/0x18
[  146.253300]  do_idle+0x128/0x140
[  146.256521]  cpu_startup_entry+0x20/0x28
[  146.260436]  secondary_start_kernel+0x148/0x158
[  146.264955] ---[ end trace 9a08eee7263cd65f ]---
[  146.269580] icssg-prueth pruss2_eth eth1: xmit timeout
[  148.513573] icssg-prueth pruss2_eth eth2: Link is Up - 1Gbps/Full - flow control off
[  148.524627] bond0: link status definitely up for interface eth2, 1000 Mbps full duplex
[  152.192261] icssg-prueth pruss2_eth eth1: xmit timeout


Please find the attached minicom logs and base-board.dts files.

U-Boot SPL 2019.01-g53bf205-dirty (Aug 02 2019 - 10:40:31 +0530)
SYSFW ABI: 2.6 (firmware rev 0x0013 '19.4.1-v2019.04a (Curious Crow)')
Trying to boot from MMC1
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.1(release):ti2019.01-rc2
NOTICE:  BL31: Built : 05:14:07, Jul  7 2019
I/TC: 
I/TC: OP-TEE version: 3.2.0-583-g251f7c6-dev #1 Sun Jul  7 05:14:17 UTC 2019 aarch64
I/TC: Initialized

U-Boot SPL 2019.01-g53bf205-dirty (Aug 02 2019 - 11:47:58 +0530)
Trying to boot from MMC1


U-Boot 2019.01-g53bf205-dirty (Aug 02 2019 - 11:47:58 +0530)

Model: Texas Instruments AM654 Base Board
DRAM:  4 GiB
MMC:   sdhci@4f80000: 0, sdhci@04FA0000: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: cpsw_nuss@046000000, eth1: pruss2_eth
Hit any key to stop autoboot:  2  1  0 
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
** Unable to read file boot.scr **
1490 bytes read in 4 ms (363.3 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc1 ...
Running uenvcmd ...
1 bytes read in 7 ms (0 Bytes/s)
Already setup.
12632072 bytes read in 1069 ms (11.3 MiB/s)
71809 bytes read in 12 ms (5.7 MiB/s)
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Loading Device Tree to 00000000fddb8000, end 00000000fdeccfff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 4.19.38-g4dae378bbe (oe-user@oe-host) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 SMP PREEMPT Mon Aug 12 05:54:05 UTC 2019
[    0.000000] Machine model: Texas Instruments AM654 Base Board
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
[    0.000000] bootconsole [ns16550a0] enabled
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009b000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9b000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009b100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@9b100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@9c000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x000000009c100000, size 7 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@9c100000, compatible id shared-dma-pool
[    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.1
[    0.000000] random: get_random_bytes called from start_kernel+0x94/0x3e4 with crng_init=0
[    0.000000] percpu: Embedded 2 pages/cpu s48536 r8192 d74344 u131072
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] Speculative Store Bypass Disable mitigation not required
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64704
[    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs) root=PARTUUID=c961aa59-02 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes)
[    0.000000] software IO TLB: mapped [mem 0xf9db0000-0xfddb0000] (64MB)
[    0.000000] Memory: 3529856K/4145152K available (8062K kernel code, 752K rwdata, 2880K rodata, 576K init, 614K bss, 91008K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[    0.000000] 	Tasks RCU enabled.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: no VLPI support, no direct LPI support
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @8c0800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GIC: using LPI property table @0x00000008c00c0000
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[    0.000000] CPU0: using LPI pending table @0x00000008c00d0000
[    0.000000] GIC: using cache flushing for LPI property table
[    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.008678] Console: colour dummy device 80x25
[    0.013275] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.023967] pid_max: default: 32768 minimum: 301
[    0.028795] Security Framework initialized
[    0.033056] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes)
[    0.039939] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes)
[    0.071377] ASID allocator initialised with 32768 entries
[    0.084942] rcu: Hierarchical SRCU implementation.
[    0.098004] Platform MSI: gic-its@18200000 domain created
[    0.103813] PCI/MSI: /interconnect@100000/interrupt-controller@1800000/gic-its@18200000 domain created
[    0.121377] smp: Bringing up secondary CPUs ...
[    0.158504] Detected VIPT I-cache on CPU1
[    0.158541] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.158601] CPU1: using LPI pending table @0x00000008c0330000
[    0.158645] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.220195] Detected VIPT I-cache on CPU2
[    0.220238] GICv3: CPU2: found redistributor 100 region 0:0x00000000018c0000
[    0.220299] CPU2: using LPI pending table @0x00000008c03c0000
[    0.220350] CPU2: Booted secondary processor 0x0000000100 [0x410fd034]
[    0.252609] Detected VIPT I-cache on CPU3
[    0.252637] GICv3: CPU3: found redistributor 101 region 0:0x00000000018e0000
[    0.252694] CPU3: using LPI pending table @0x00000008c0450000
[    0.252729] CPU3: Booted secondary processor 0x0000000101 [0x410fd034]
[    0.252874] smp: Brought up 1 node, 4 CPUs
[    0.328511] SMP: Total of 4 processors activated.
[    0.333332] CPU features: detected: GIC system register CPU interface
[    0.339943] CPU features: detected: 32-bit EL0 Support
[    0.367785] CPU: All CPU(s) started at EL2
[    0.372008] alternatives: patching kernel code
[    0.377994] devtmpfs: initialized
[    0.392447] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.402451] futex hash table entries: 1024 (order: 0, 65536 bytes)
[    0.410205] pinctrl core: initialized pinctrl subsystem
[    0.416199] NET: Registered protocol family 16
[    0.422030] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[    0.429621] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.443023] DMA: preallocated 256 KiB pool for atomic allocations
[    0.451521] davinci_gpio 42110000.wkup_gpio0: IRQ not populated, err = -517
[    0.465260] davinci_gpio 600000.main_gpio0: IRQ not populated, err = -517
[    0.472418] davinci_gpio 601000.main_gpio1: IRQ not populated, err = -517
[    0.490060] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.496948] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
[    0.505696] cryptd: max_cpu_qlen set to 1000
[    0.511820] media: Linux media interface: v0.10
[    0.516509] videodev: Linux video capture interface: v2.00
[    0.522170] pps_core: LinuxPPS API ver. 1 registered
[    0.527254] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.536615] PTP clock support registered
[    0.540667] EDAC MC: Ver: 3.0.0
[    0.545076] Advanced Linux Sound Architecture Driver Initialized.
[    0.552248] clocksource: Switched to clocksource arch_sys_counter
[    0.558697] VFS: Disk quotas dquot_6.6.0
[    0.562812] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    0.577150] NET: Registered protocol family 2
[    0.582346] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes)
[    0.590503] TCP established hash table entries: 32768 (order: 2, 262144 bytes)
[    0.598197] TCP bind hash table entries: 32768 (order: 3, 524288 bytes)
[    0.605545] TCP: Hash tables configured (established 32768 bind 32768)
[    0.612395] UDP hash table entries: 2048 (order: 0, 65536 bytes)
[    0.618669] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes)
[    0.625551] NET: Registered protocol family 1
[    0.630636] RPC: Registered named UNIX socket transport module.
[    0.636714] RPC: Registered udp transport module.
[    0.641532] RPC: Registered tcp transport module.
[    0.646350] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.654069] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.667159] Initialise system trusted keyrings
[    0.671981] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.683886] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.690560] NFS: Registering the id_resolver key type
[    0.695767] Key type id_resolver registered
[    0.700053] Key type id_legacy registered
[    0.704174] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.711209] 9p: Installing v9fs 9p2000 file system support
[    0.722016] Key type asymmetric registered
[    0.726230] Asymmetric key parser 'x509' registered
[    0.731289] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.738871] io scheduler noop registered
[    0.742894] io scheduler deadline registered
[    0.747411] io scheduler cfq registered (default)
[    0.752273] io scheduler mq-deadline registered
[    0.756914] io scheduler kyber registered
[    0.762590] pinctrl-single 4301c000.pinmux: 70 pins, size 280
[    0.769186] pinctrl-single 11c000.pinmux: 185 pins, size 740
[    0.775154] pinctrl-single 11c2e8.pinmux: 9 pins, size 36
[    0.781885] pinctrl-single a40000.timesync_router: 512 pins, size 2048
[    0.796838] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.819299] brd: module loaded
[    0.829774] loop: module loaded
[    0.835303] libphy: Fixed MDIO Bus: probed
[    0.840126] tun: Universal TUN/TAP device driver, 1.6
[    0.846055] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    0.854080] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.860199] sky2: driver version 1.30
[    0.865335] VFIO - User Level meta-driver version: 0.3
[    0.871424] i2c /dev entries driver
[    0.876317] sdhci: Secure Digital Host Controller Interface driver
[    0.882654] sdhci: Copyright(c) Pierre Ossman
[    0.887550] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.894582] ledtrig-cpu: registered to indicate activity on CPUs
[    0.900829] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: invalid resource
[    0.911626] optee: probing for conduit method from DT.
I/TC: Dynamic shared memory is disabled
[    0.916930] optee: revision 3.4 (251f7c63)
[    0.920864] optee: initialized driver
[    0.930192] NET: Registered protocol family 17
[    0.934832] 9pnet: Installing 9P2000 support
[    0.939273] Key type dns_resolver registered
[    0.944314] registered taskstats version 1
[    0.948516] Loading compiled-in X.509 certificates
[    0.954507] davinci_gpio 42110000.wkup_gpio0: IRQ not populated, err = -517
[    0.962089] davinci_gpio 600000.main_gpio0: IRQ not populated, err = -517
[    0.969289] davinci_gpio 601000.main_gpio1: IRQ not populated, err = -517
[    0.985726] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: invalid resource
[    0.995728] ti-sci interconnect@100000:interconnect@28380000:interconnect@42040000:dmsc: ABI: 2.6 (firmware rev 0x0013 '19.4.1-v2019.04a (Curious Crow)')
[    1.028847] random: fast init done
[    1.526701] davinci_gpio 42110000.wkup_gpio0: IRQ not populated, err = -517
[    1.534240] davinci_gpio 600000.main_gpio0: IRQ not populated, err = -517
[    1.541442] davinci_gpio 601000.main_gpio1: IRQ not populated, err = -517
[    1.549794] omap_i2c 42120000.i2c: bus 0 rev0.12 at 400 kHz
[    1.556307] omap_i2c 40b00000.i2c: bus 1 rev0.12 at 100 kHz
[    1.584937] omap_i2c 2000000.i2c: bus 2 rev0.12 at 400 kHz
[    1.591273] omap_i2c 2010000.i2c: bus 3 rev0.12 at 400 kHz
[    1.597603] omap_i2c 2020000.i2c: bus 4 rev0.12 at 400 kHz
[    1.603890] omap_i2c 2030000.i2c: bus 5 rev0.12 at 100 kHz
[    1.613651] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,160] sci-dev-id:195
[    1.623646] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: enabled
[    1.630334] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66344100, num_proxies:64
[    1.638191] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:818, gp-rings[304,464] sci-dev-id:187
[    1.648269] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: enabled
[    1.654957] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66344100, num_proxies:64
[    1.662745] omap8250 40a00000.serial: PM domain ti_sci_pd will not be powered off
[    1.670801] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 8, base_baud = 6000000) is a 8250
[    1.680560] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 18, base_baud = 3000000) is a 8250
[    1.689332] console [ttyS2] enabled
[    1.689332] console [ttyS2] enabled
[    1.696388] bootconsole [ns16550a0] disabled
[    1.696388] bootconsole [ns16550a0] disabled
[    1.705783] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 19, base_baud = 3000000) is a 8250
[    1.715046] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 20, base_baud = 3000000) is a 8250
[    1.726085] cadence-qspi 47040000.spi: mt35xu512aba (65536 Kbytes)
[    1.732298] 7 cmdlinepart partitions found on MTD device 47040000.spi.0
[    1.738913] Creating 7 MTD partitions on "47040000.spi.0":
[    1.744414] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[    1.750744] 0x000000080000-0x000000280000 : "ospi.tispl"
[    1.756741] 0x000000280000-0x000000680000 : "ospi.u-boot"
[    1.762832] 0x000000680000-0x0000006a0000 : "ospi.env"
[    1.768675] 0x0000006a0000-0x0000006c0000 : "ospi.env.backup"
[    1.775030] 0x0000006c0000-0x0000007c0000 : "ospi.sysfw"
[    1.780971] 0x000000800000-0x000004000000 : "ospi.rootfs"
[    1.984525] cadence-qspi 47040000.spi: Cadence QSPI NOR probe failed -517
[    1.999219] am65-cpsw-nuss 46000000.ethernet: rx-flow-id-base is not set -22
[    2.006391] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA07100, cpsw version 0x6BA80100 Ports: 2
[    2.017991] UDMA has not been proped
[    2.021590] am65-cpsw-nuss 46000000.ethernet: Failed to request tx dma channel -517
[    2.031723] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a2109, freq:200000000, add_val:4 pps:0
[    2.040474] thermal thermal_zone1: failed to read out thermal zone (-22)
[    2.047198] thermal thermal_zone2: failed to read out thermal zone (-22)
[    2.054636] OF: /interconnect@100000/interconnect@28380000/rti@40610000: arguments longer than property
[    2.064044] keystone-wdt 40610000.rti: heartbeat 60 sec
[    2.070191] mmc0: Unknown controller version (4). You may experience problems.
[    2.108538] mmc0: SDHCI controller on 4f80000.sdhci [4f80000.sdhci] using ADMA 64-bit
[    2.117206] mmc1: Unknown controller version (4). You may experience problems.
[    2.155581] mmc1: SDHCI controller on 4fa0000.sdhci [4fa0000.sdhci] using ADMA 64-bit
[    2.171221] mmc0: new HS200 MMC card at address 0001
[    2.177414] mmcblk0: mmc0:0001 R1J56L 14.7 GiB 
[    2.184068] mmcblk0boot0: mmc0:0001 R1J56L partition 1 8.00 MiB
[    2.194014] mmcblk0boot1: mmc0:0001 R1J56L partition 2 8.00 MiB
[    2.200122] mmcblk0rpmb: mmc0:0001 R1J56L partition 3 4.00 MiB, chardev (243:0)
[    2.209945] Alternate GPT is invalid, using primary GPT.
[    2.215341]  mmcblk0: p1 p2 p3 p4 p5 p6
[    2.220855] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc5900
[    2.228690] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc5900
[    2.237370] mmc1: new SDHC card at address e624
[    2.243075] mmcblk1: mmc1:e624 SD04G 3.69 GiB 
[    2.247837] ti-udma 285c0000.udmap: Channels: 96 (tchan: 48, echan: 0, rchan: 48, rflow: 96)
[    2.262958] ti-udma 31150000.udmap: Channels: 267 (tchan: 120, echan: 32, rchan: 150, rflow: 300)
[    2.271955]  mmcblk1: p1 p2
[    2.291441] cadence-qspi 47040000.spi: mt35xu512aba (65536 Kbytes)
[    2.297669] 7 cmdlinepart partitions found on MTD device 47040000.spi.0
[    2.304284] Creating 7 MTD partitions on "47040000.spi.0":
[    2.309775] 0x000000000000-0x000000080000 : "ospi.tiboot3"
[    2.316080] 0x000000080000-0x000000280000 : "ospi.tispl"
[    2.322088] 0x000000280000-0x000000680000 : "ospi.u-boot"
[    2.328127] 0x000000680000-0x0000006a0000 : "ospi.env"
[    2.333876] 0x0000006a0000-0x0000006c0000 : "ospi.env.backup"
[    2.340269] 0x0000006c0000-0x0000007c0000 : "ospi.sysfw"
[    2.346234] 0x000000800000-0x000004000000 : "ospi.rootfs"
[    2.359261] m25p80 spi7.0: n25q128a13 (16384 Kbytes)
[    2.365644] am65-cpsw-nuss 46000000.ethernet: rx-flow-id-base is not set -22
[    2.372819] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA07100, cpsw version 0x6BA80100 Ports: 2
[    2.393081] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[    2.406563] pps pps0: new PPS source ptp1
[    2.410788] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a2109, freq:200000000, add_val:4 pps:1
[    2.419769] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 0.4
[    2.426990] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    2.472265] am65-cpsw-nuss 46000000.ethernet: davinci mdio revision 9.7, bus freq 1000000
[    2.480443] libphy: 46000000.ethernet: probed
[    2.488114] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    2.495104] hctosys: unable to open rtc device (rtc0)
[    2.597382] ALSA device list:
[    2.600367]   No soundcards found.
[    2.633201] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.641357] VFS: Mounted root (ext4 filesystem) on device 179:98.
[    2.662801] devtmpfs: mounted
[    2.666064] Freeing unused kernel memory: 576K
[    2.670551] Run /sbin/init as init process
[    3.336288] systemd[1]: System time before build time, advancing clock.
[    3.512670] NET: Registered protocol family 10
[    3.518219] Segment Routing with IPv6
[    3.586349] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN -PCRE2 default-hierarchy=hybrid)
[    3.608095] systemd[1]: Detected architecture arm64.

Welcome to Arago 2019.05!

[    3.649488] systemd[1]: Set hostname to <am65xx-evm>.
[    3.955859] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    3.972959] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    4.275978] random: systemd: uninitialized urandom read (16 bytes read)
[    4.283238] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    4.337797] random: systemd: uninitialized urandom read (16 bytes read)
[    4.346315] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    4.364404] random: systemd: uninitialized urandom read (16 bytes read)
[    4.371068] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    4.388576] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[    4.413481] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[  OK  ] Started Hardware RNG Entropy Gatherer Daemon.
         Starting Create list of required st…ce nodes for the current kernel...
[  OK  ] Listening on Process Core Dump Socket.
[  OK  ] Listening on udev Control Socket.
         Starting Load Kernel Modules...
[  OK  ] Listening on Journal Socket (/dev/log).
[    4.566350] cryptodev: loading out-of-tree module taints kernel.
[    4.578170] cryptodev: driver 1.9 loaded.
         Mounting Huge Pages File System...
         Mounting Kernel Debug File System...
[  OK  ] Listening on Network Service Netlink Socket.
         Starting Journal Service...
[  OK  ] Listening on initctl Compatibility Named Pipe.
         Starting Remount Root and Kernel File Systems...
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    4.687991] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Paths.
[  OK  ] Listening on udev Kernel Socket.
         Starting udev Coldplug all Devices...
[  OK  ] Reached target Slices.
[  OK  ] Reached target Swap.
         Mounting Temporary Directory (/tmp)...
[  OK  ] Started Journal Service.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Started Create list of required sta…vice nodes for the current kernel.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Mounted Temporary Directory (/tmp).
         Mounting Kernel Configuration File System...
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...
         Starting Flush Journal to Persistent Storage...
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Started Apply Kernel Variables.
[    5.092835] systemd-journald[163]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
         Mounting /media/ram...
[  OK  ] Reached target Containers.
         Starting udev Kernel Device Manager...
[  OK  ] Mounted /var/volatile.
[  OK  ] Mounted /media/ram.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started udev Kernel Device Manager.
         Starting Network Service...
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Started Network Service.
         Starting Network Name Resolution...
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Listening on RPCbind Server Activation Socket.
[    5.833262] omap_rng 4e10000.trng: Random Number Generator ver. 230b34c
[  OK  ] Listening on dropbear.socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
         Starting Login Service...
         Starting RPC Bind Service...
         Starting rng-tools.service...
[    6.002808] [drm] Initialized pvr 1.17.4948957 20110701 for 7000000.gpu on minor 0
[  OK  ] Started strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf.
[  OK  ] Started Periodic Command Scheduler.
[  OK  ] Started D-Bus System Message Bus.
         Starting TI IPC Daemon...
[  OK  ] Started Job spooling tools.
[  OK  ] Started irqbalance daemon.
         Starting Reboot and dump vmcore via kexec...
[  OK  ] Started Daily rotation of log files.
[  OK  ] Reached target Timers.
         Starting Print notice about GPLv3 packages...
[  OK  ] Started Network Name Resolution.
[    6.317087] k3_r5_rproc interconnect@100000:interconnect@28380000:r5fss@41000000: creating child devices for R5F cores
[  OK  ] Found device /dev/ttyS2.
[    6.335272] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@9c000000
[    6.346439] remoteproc remoteproc0: 41000000.r5f is available
[  OK  ] Started TI IPC Daemon.
[  OK  ] Reached target Network.
         Starting Lightning Fast Webserver With Light System Requirements...
         Starting Permit User Sessions...
         Starting Simple Network Management Protocol (SNMP) Daemon....
[  OK  ] Reached target Host and Network Name Lookups.
[    6.455472] random: crng init done
[    6.459556] random: 7 urandom warning(s) missed due to ratelimiting
[    6.525236] TI DP83867 k3-cpsw-mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=k3-cpsw-mdio:00, irq=POLL)
[    6.545416] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    7.008389] davinci_mdio b232400.mdio: davinci mdio revision 1.7, bus freq 1000000
[    7.018197] libphy: b232400.mdio: probed
[    7.065645] remoteproc remoteproc0: powering up 41000000.r5f
[    7.071715] remoteproc remoteproc0: Booting fw image am65x-mcu-r5f0_0-fw, size 4050720
[    7.084888] davinci_mdio b232400.mdio: phy[0]: device b232400.mdio:00, driver TI DP83867
[    7.094159] platform 41000000.r5f: booting R5F core using boot addr = 0x0
[    7.101268] davinci_mdio b232400.mdio: phy[3]: device b232400.mdio:03, driver TI DP83867
[    7.109962] remoteproc remoteproc0: registered virtio0 (type 7)
[    7.116326] remoteproc remoteproc0: remote processor 41000000.r5f is now up
[    7.184104] remoteproc remoteproc1: b034000.pru is available
[    7.194123] pru-rproc b034000.pru: PRU rproc node pru@b034000 probed successfully
[    7.229023] remoteproc remoteproc2: b004000.rtu is available
[    7.253155] pru-rproc b004000.rtu: PRU rproc node rtu@b004000 probed successfully
[    7.299330] remoteproc remoteproc3: b038000.pru is available
[    7.332715] pru-rproc b038000.pru: PRU rproc node pru@b038000 probed successfully
[    7.359073] remoteproc remoteproc4: b006000.rtu is available
[    7.379491] pru-rproc b006000.rtu: PRU rproc node rtu@b006000 probed successfully
[    7.395993] remoteproc remoteproc5: b134000.pru is available
[    7.422714] pru-rproc b134000.pru: PRU rproc node pru@b134000 probed successfully
[    7.435256] remoteproc remoteproc6: b104000.rtu is available
[    7.470869] pru-rproc b104000.rtu: PRU rproc node rtu@b104000 probed successfully
[    7.490129] remoteproc remoteproc7: b138000.pru is available
[    7.514518] pru-rproc b138000.pru: PRU rproc node pru@b138000 probed successfully
[    7.529136] remoteproc remoteproc8: b106000.rtu is available
[    7.543592] pru-rproc b106000.rtu: PRU rproc node rtu@b106000 probed successfully
[    7.556024] am65-cpsw-nuss 46000000.ethernet eth0: Link is Down
[    7.565341] remoteproc remoteproc9: b234000.pru is available
[    7.591827] pru-rproc b234000.pru: PRU rproc node pru@b234000 probed successfully
[    7.626304] remoteproc remoteproc10: b204000.rtu is available
[    7.632743] pru-rproc b204000.rtu: PRU rproc node rtu@b204000 probed successfully
[    7.643158] remoteproc remoteproc11: b238000.pru is available
[    7.652864] pru-rproc b238000.pru: PRU rproc node pru@b238000 probed successfully
[    7.662874] remoteproc remoteproc12: b206000.rtu is available
[    7.678047] pru-rproc b206000.rtu: PRU rproc node rtu@b206000 probed successfully
[    7.801504] icssg-prueth pruss2_eth: css:probing
[    7.816373] icssg-prueth pruss2_eth: css:match
[    7.821168] icssg-prueth pruss2_eth: css:alloc
[    7.825901] icssg-prueth pruss2_eth: css:least
[    7.830786] icssg-prueth pruss2_eth: css:miigrt
[    7.835642] icssg-prueth pruss2_eth: css:miigrt_paired
[    7.844747] icssg-prueth pruss2_eth: css:mii rt
[    7.873847] icssg-prueth pruss2_eth: css:mii rt paired
[    7.891297] icssg-prueth pruss2_eth: sram: ICSSG0 pa 0x0000000070020000 va 0000000015aa0053 size 18800
[    7.931989] icssg-prueth pruss2_eth: css_net:port check
[    7.942807] icssg-prueth pruss2_eth: css_net:port ok
[  OK  ] Started Login Service.
[  OK  ] Started RPC Bind Service.
[  OK  ] Started rng-tools.service.
[    7.957857] icssg-prueth pruss2_eth: css_net:mac ok
[  OK  ] Started Reboot and dump vmcore via kexec.
[  OK  ] Started Lightning Fast Webserver With Light [    7.974779] icssg-prueth pruss2_eth: css_net:alloc ok
System Requirements.
[  OK  ] Started Permit User Sessions.
[    7.994043] icssg-prueth pruss2_eth: css_net:iep ok
[    8.001192] icssg-prueth pruss2_eth: css_net:phy ok
[    8.006309] icssg-prueth pruss2_eth: css_net:link phy ok
[    8.014406] icssg-prueth pruss2_eth: css_net:phy-mode ok
[    8.054584] icssg-prueth pruss2_eth: css_net:connect phy ok
[    8.062437] icssg-prueth pruss2_eth: css_net:iep init ok
[    8.086045] icssg-prueth pruss2_eth: css:eth0 net_init
[    8.109026] icssg-prueth pruss2_eth: css:eth0 pass
[    8.128413] icssg-prueth pruss2_eth: css_net:port check
[    8.134579] NET: Registered protocol family 15
[    8.169899] icssg-prueth pruss2_eth: css_net:port ok
[    8.180937] icssg-prueth pruss2_eth: css_net:mac ok
[    8.191931] icssg-prueth pruss2_eth: css_net:alloc ok
[    8.199752] icssg-prueth pruss2_eth: css_net:iep ok
[    8.205015] icssg-prueth pruss2_eth: css_net:phy ok
[    8.210237] icssg-prueth pruss2_eth: css_net:link phy ok
[    8.218845] icssg-prueth pruss2_eth: css_net:phy-mode ok
[    8.252462] icssg-prueth pruss2_eth: css_net:connect phy ok
[    8.259314] icssg-prueth pruss2_eth: css_net:iep init ok
[    8.272036] icssg-prueth pruss2_eth: css:eth1 pass
[    8.300055] icssg-prueth pruss2_eth: css:eth0 register pass
[    8.323575] icssg-prueth pruss2_eth: css:eth1 register pass
[    8.331799] icssg-prueth pruss2_eth: TI PRU ethernet initialized: dual EMAC mode, dual_icssg 0
[    8.401188] Initializing XFRM netlink socket
[    8.463226] dwc3 4030000.usb: Failed to get clk 'ref': -2
[    8.508428] OF: graph: no port node found in /interconnect@100000/phy@4110000
[    8.659953] virtio_rpmsg_bus virtio0: rpmsg host is online
[    8.660830] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
[    8.715260] NET: Registered protocol family 45
[    8.723547] icssg-prueth pruss2_eth eth2: flow id base = 150
[    8.736353] icssg-prueth pruss2_eth eth2: mgm flow id base = 154
[    8.749391] remoteproc remoteproc11: powering up b238000.pru
[    8.768031] remoteproc remoteproc11: Booting fw image ti-pruss/am65x-pru1-prueth-fw.elf, size 14868
[    8.777449] remoteproc remoteproc11: remote processor b238000.pru is now up
[    8.788480] remoteproc remoteproc12: powering up b206000.rtu
[    8.820580] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-rtu1-prueth-fw.elf, size 15488
[    8.830022] remoteproc remoteproc12: remote processor b206000.rtu is now up
[    8.841882] net eth2: started
[    8.845377] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
[    8.892989] icssg-prueth pruss2_eth eth1: flow id base = 157
[    8.913786] icssg-prueth pruss2_eth eth1: mgm flow id base = 161
[    8.927511] remoteproc remoteproc9: powering up b234000.pru
[    8.951026] remoteproc remoteproc9: Booting fw image ti-pruss/am65x-pru0-prueth-fw.elf, size 14868
[    8.960886] remoteproc remoteproc9: remote processor b234000.pru is now up
[    8.969199] remoteproc remoteproc10: powering up b204000.rtu
[    9.007574] remoteproc remoteproc10: Booting fw image ti-pruss/am65x-rtu0-prueth-fw.elf, size 15488
[    9.016898] remoteproc remoteproc10: remote processor b204000.rtu is now up
[    9.025291] net eth1: started
[    9.028758] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  OK  ] Created slice system-systemd\x2dfsck.slice.
         Starting File System Check on /dev/mmcblk0p4...
         Starting File System Check on /dev/mmcblk0p1...
         Starting File System Check on /dev/mmcblk0p6...
         Starting File System Check on /dev/mmcblk0p5...
[  OK  ] Started Serial Getty on ttyS2.
[  OK  ] Started Getty on tty1.
[  OK  ] Reached target Login Prompts.
         Starting Synchronize System and HW clocks...
         Starting rc.pvr.service...
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
[FAILED] Failed to start Synchronize System and HW clocks.
See 'systemctl status sync-clocks.service' for details.
[  OK  ] Started File System Check on /dev/mmcblk0p1.
         Mounting /run/media/mmcblk0p1...
[  OK  ] Mounted /run/media/mmcblk0p1.
data: fsck 0.0% complete...[   11.077916] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
[  OK  ] Started rc.pvr.service.
         Starting weston.service...
                             [  OK  ] Started File System Check on /dev/mmcblk0p4.
[  OK  ] Started File System Check on /dev/mmcblk0p5.
         Mounting /run/media/mmcblk0p5...
         Mounting /run/media/mmcblk0p4...
[FAILED] Failed to start File System Check on /dev/mmcblk0p6.
See 'systemctl status systemd-fsck@dev-mmcblk0p6.serv[   11.236395] EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: (null)
ice' for details.
[DEPEND] Dependency failed for /[   11.237802] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Opts: (null)
run/media/mmcblk0p6.
[  OK  ] Mounted /run/media/mmcblk0p5.
[  OK  ] Mounted /run/media/mmcblk0p4.
[  OK  ] Started weston.service.
         Starting Matrix GUI...
         Starting telnetd.service...
[  OK  ] Started telnetd.service.
         Starting thttpd.service...
[  OK  ] Started Matrix GUI.
[  OK  ] Started thttpd.service.
         Starting thermal-zone-init.service...
[  OK  ] Started thermal-zone-init.service.
[  OK  ] Found device /dev/mmcblk1p1.
         Starting File System Check on /dev/mmcblk1p1...
[  OK  ] Started Simple Network Management Protocol (SNMP) Daemon..
[  OK  ] Started File System Check on /dev/mmcblk1p1.
         Mounting /run/media/mmcblk1p1...
[  OK  ] Mounted /run/media/mmcblk1p1.

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

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

Arago 2019.05 am65xx-evm ttyS2

am65xx-evm login: [   18.245605] icssg-prueth pruss2_eth eth1: Link is Up - 1Gbps/Full - flow control off
[   18.253475] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   20.097582] icssg-prueth pruss2_eth eth2: Link is Up - 1Gbps/Full - flow control off
[   20.105456] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
***************************************************************
***************************************************************
NOTICE: This file system contains the following GPLv3 packages:
	autoconf
	bash
	bc
	binutils
	cifs-utils
	cpio
	cpp-symlinks
	cpp
	dosfstools
	elfutils
	g++-symlinks
	g++
	gawk
	gcc-symlinks
	gcc
	gdb
	gdbserver
	gettext
	glmark2
	gstreamer1.0-libav
	gzip
	hidapi
	libbfd
	libdw1
	libelf1
	libgdbm-compat4
	libgdbm6
	libgettextlib
	libgettextsrc
	libgmp10
	libidn2-0
	libmpc3
	libmpfr6
	libreadline7
	libunistring2
	m4
	make
	nettle
	parted
	pdm-anomaly-detection
	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
***************************************************************
***************************************************************

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

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

Arago 2019.05 am65xx-evm ttyS2

am65xx-evm login: root
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# ifconfig
eth0      Link encap:Ethernet  HWaddr F4:84:4C:EB:B5:12  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 70:FF:76:1D:23:56  
          inet addr:192.168.13.37  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::72ff:76ff:fe1d:2356/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:232 errors:0 dropped:5 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:33878 (33.0 KiB)  TX bytes:3467 (3.3 KiB)

eth2      Link encap:Ethernet  HWaddr 70:FF:76:1D:23:57  
          inet addr:192.168.13.38  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::72ff:76ff:fe1d:2357/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:177 errors:0 dropped:13 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:26824 (26.1 KiB)  TX bytes:2975 (2.9 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:140 (140.0 B)  TX bytes:140 (140.0 B)

root@am65xx-evm:~# insmod /lib/modules/4.19.38-g4dae378bbe/kernel/drivers/net/bonding/bonding.ko 
[   60.287568] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
root@am65xx-evm:~# ifconfig eth1 down
[   72.285974] remoteproc remoteproc10: stopped remote processor b204000.rtu
[   72.292828] remoteproc remoteproc9: stopped remote processor b234000.pru
[   72.303959] net eth1: stopped
root@am65xx-evm:~# [   72.512324] icssg-prueth pruss2_eth eth1: Link is Down

root@am65xx-evm:~# ifconfig eth2 down
[   76.478229] remoteproc remoteproc12: stopped remote processor b206000.rtu
[   76.485057] remoteproc remoteproc11: stopped remote processor b238000.pru
[   76.496079] net eth2: stopped
root@am65xx-evm:~# [   77.440318] icssg-prueth pruss2_eth eth2: Link is Down

root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# echo 1 > /sys/class/net/bond0/bonding/mode
root@am65xx-evm:~# echo 100 > /sys/class/net/bond0/bonding/miimon
root@am65xx-evm:~# ifconfig bond0 192.168.13.37 netmask 255.255.255.0 up
[  116.781452] IPv6: ADDRCONF(NETDEV_UP): bond0: link is not ready
root@am65xx-evm:~# echo +eth1 > /sys/class/net/bond0/bonding/primary
root@am65xx-evm:~# echo +eth1 > /sys/class/net/bond0/bonding/slaves 
[  137.068346] icssg-prueth pruss2_eth eth1: flow id base = 150
[  137.077265] icssg-prueth pruss2_eth eth1: mgm flow id base = 154
[  137.085870] remoteproc remoteproc9: powering up b234000.pru
[  137.091933] remoteproc remoteproc9: Booting fw image ti-pruss/am65x-pru0-prueth-fw.elf, size 14868
[  137.100938] remoteproc remoteproc9: remote processor b234000.pru is now up
[  137.107845] remoteproc remoteproc10: powering up b204000.rtu
[  137.113613] remoteproc remoteproc10: Booting fw image ti-pruss/am65x-rtu0-prueth-fw.elf, size 15488
[  137.122693] remoteproc remoteproc10: remote processor b204000.rtu is now up
[  137.131154] net eth1: started
[  137.135161] bond0: Enslaving eth1 as a backup interface with a down link
root@am65xx-evm:~# [  140.193565] icssg-prueth pruss2_eth eth1: Link is Up - 1Gbps/Full - flow control off
[  140.288574] bond0: link status definitely up for interface eth1, 1000 Mbps full duplex
[  140.296530] bond0: making interface eth1 the new active one
[  140.302626] bond0: first active interface up!
[  140.307042] IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready

root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# echo +eth2 > /sys/class/net/bond0/bonding/slaves
[  145.387812] icssg-prueth pruss2_eth eth2: flow id base = 157
[  145.396727] icssg-prueth pruss2_eth eth2: mgm flow id base = 161
[  145.405357] remoteproc remoteproc11: powering up b238000.pru
[  145.411247] remoteproc remoteproc11: Booting fw image ti-pruss/am65x-pru1-prueth-fw.elf, size 14868
[  145.420337] remoteproc remoteproc11: remote processor b238000.pru is now up
[  145.427335] remoteproc remoteproc12: powering up b206000.rtu
[  145.433102] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-rtu1-prueth-fw.elf, size 15488
[  145.442178] remoteproc remoteproc12: remote processor b206000.rtu is now up
[  145.450654] net eth2: started
[  145.454700] bond0: Enslaving eth2 as a backup interface with a down link
root@am65xx-evm:~# [  146.048250] ------------[ cut here ]------------
[  146.052889] NETDEV WATCHDOG: eth1 (icssg-prueth): transmit queue 0 timed out
[  146.060007] WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x29c/0x2a8
[  146.068254] Modules linked in: bonding rpmsg_proto virtio_rpmsg_bus ti_am335x_adc kfifo_buf dwc3 xfrm_user udc_core xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 ah4 af_key xfrm_algo icssg_prueth pru_rproc crc32_ce crct10dif_ce pruss irq_pruss_intc ti_k3_r5_remoteproc remoteproc pvrsrvkm(O) ti_am335x_tscadc pruss_soc_bus sa2ul omap_rng rng_core authenc phy_omap_usb2 dwc3_keystone sch_fq_codel cryptodev(O) ipv6
[  146.104525] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G           O      4.19.38-g4dae378bbe #1
[  146.112942] Hardware name: Texas Instruments AM654 Base Board (DT)
[  146.119111] pstate: 20000005 (nzCv daif -PAN -UAO)
[  146.123893] pc : dev_watchdog+0x29c/0x2a8
[  146.127895] lr : dev_watchdog+0x29c/0x2a8
[  146.131892] sp : ffff00000806fd80
[  146.135196] x29: ffff00000806fd80 x28: 0000000000000005 
[  146.140500] x27: ffff80084016ca80 x26: 00000000ffffffff 
[  146.145802] x25: 0000000000000140 x24: ffff8008467d4440 
[  146.151106] x23: ffff8008467d441c x22: ffff800845e46680 
[  146.156408] x21: ffff000008c11000 x20: ffff8008467d4000 
[  146.161711] x19: 0000000000000000 x18: 0000000000000010 
[  146.167014] x17: 0000000000000000 x16: 0000000000000000 
[  146.172317] x15: ffffffffffffffff x14: ffff000008c13648 
[  146.177620] x13: ffff000088cc68a7 x12: ffff000008cc68b0 
[  146.182923] x11: ffff000008c29000 x10: ffff00000806fa80 
[  146.188225] x9 : 00000000ffffffd0 x8 : ffff0000084b9260 
[  146.193528] x7 : 6575657571207469 x6 : ffff80087fb017e0 
[  146.198831] x5 : ffff00000840b770 x4 : 0000000000000008 
[  146.204134] x3 : 0000000000000004 x2 : 0000000000000040 
[  146.209437] x1 : be457ce7715cd800 x0 : 0000000000000000 
[  146.214739] Call trace:
[  146.217182]  dev_watchdog+0x29c/0x2a8
[  146.220842]  call_timer_fn+0x20/0x78
[  146.224410]  expire_timers+0xa8/0xb8
[  146.227977]  run_timer_softirq+0xa4/0x190
[  146.231979]  __do_softirq+0x10c/0x208
[  146.235635]  irq_exit+0xb8/0xc8
[  146.238771]  __handle_domain_irq+0x64/0xb8
[  146.242857]  gic_handle_irq+0x7c/0x178
[  146.246596]  el1_irq+0xb0/0x128
[  146.249731]  arch_cpu_idle+0x10/0x18
[  146.253300]  do_idle+0x128/0x140
[  146.256521]  cpu_startup_entry+0x20/0x28
[  146.260436]  secondary_start_kernel+0x148/0x158
[  146.264955] ---[ end trace 9a08eee7263cd65f ]---
[  146.269580] icssg-prueth pruss2_eth eth1: xmit timeout
[  148.513573] icssg-prueth pruss2_eth eth2: Link is Up - 1Gbps/Full - flow control off
[  148.524627] bond0: link status definitely up for interface eth2, 1000 Mbps full duplex
[  152.192261] icssg-prueth pruss2_eth eth1: xmit timeout
[  158.080260] icssg-prueth pruss2_eth eth1: xmit timeout
[  162.944263] icssg-prueth pruss2_eth eth1: xmit timeout
[  168.064252] icssg-prueth pruss2_eth eth1: xmit timeout
[  173.184250] icssg-prueth pruss2_eth eth1: xmit timeout
[  179.072251] icssg-prueth pruss2_eth eth1: xmit timeout

root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# ping 192.168[  184.192253] icssg-prueth pruss2_eth eth1: xmit timeout
.10.114
PING 192.168.10.114 (192.168.10.114): 56 data bytes
[  190.080258] icssg-prueth pruss2_eth eth1: xmit timeout
[  194.944256] icssg-prueth pruss2_eth eth1: xmit timeout
^C
--- 192.168.10.114 ping statistics ---
10 packets transmitted, 0 packets received, 100% packet loss
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# [  200.064257] icssg-prueth pruss2_eth eth1: xmit timeout
ping 192.168.10.114[  205.184253] icssg-prueth pruss2_eth eth1: xmit timeout

root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# ifconfig
bond0     Link encap:Ethernet  HWaddr 70:FF:76:1D:23:56  
          inet addr:192.168.13.37  Bcast:192.168.13.255  Mask:255.255.255.0
          inet6 addr: fe80::72ff:76ff:fe1d:2356/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:532 errors:0 dropped:31 overruns:0 frame:0
          TX packets:21 errors:12 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:63174 (61.6 KiB)  TX bytes:2184 (2.1 KiB)

eth0      Link encap:Ethernet  HWaddr F4:84:4C:EB:B5:12  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth1      Link encap:Ethernet  HWaddr 70:FF:76:1D:23:56  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:409 errors:0 dropped:11 overruns:0 frame:0
          TX packets:35 errors:12 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:56717 (55.3 KiB)  TX bytes:3731 (3.6 KiB)

eth2      Link encap:Ethernet  HWaddr 70:FF:76:1D:23:56  
          inet addr:192.168.13.38  Bcast:192.168.13.255  Mask:255.255.255.0
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:941 errors:0 dropped:60 overruns:0 frame:0
          TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:119266 (116.4 KiB)  TX bytes:5729 (5.5 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1364 (1.3 KiB)  TX bytes:1364 (1.3 KiB)

root@am65xx-evm:~# [  210.048261] icssg-prueth pruss2_eth eth1: xmit timeout
[  215.168259] icssg-prueth pruss2_eth eth1: xmit timeout
[  220.032256] icssg-prueth pruss2_eth eth1: xmit timeout
[  225.152256] icssg-prueth pruss2_eth eth1: xmit timeout
[  230.016254] icssg-prueth pruss2_eth eth1: xmit timeout

root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# 
root@am65xx-evm:~# [  235.136255] icssg-prueth pruss2_eth eth1: xmit timeout
mo  [  240.000252] icssg-prueth pruss2_eth eth1: xmit timeout

root@am65xx-evm:~# 
root@am65xx-evm:~# [  245.120254] icssg-prueth pruss2_eth eth1: xmit timeout
mdio ^C
root@am65xx-evm:~# ^C
root@am65xx-evm:~# dmesg | rep[  249.984254] icssg-prueth pruss2_eth eth1: xmit timeout
  ^C
root@am65xx-evm:~# ^C
root@am65xx-evm:~# ^C
root@am65xx-evm:~# dmesg | grep mdio
[    2.472265] am65-cpsw-nuss 46000000.ethernet: davinci mdio revision 9.7, bus freq 1000000
[    6.525236] TI DP83867 k3-cpsw-mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=k3-cpsw-mdio:00, irq=POLL)
[    7.008389] davinci_mdio b232400.mdio: davinci mdio revision 1.7, bus freq 1000000
[    7.018197] libphy: b232400.mdio: probed
[    7.084888] davinci_mdio b232400.mdio: phy[0]: device b232400.mdio:00, driver TI DP83867
[    7.101268] davinci_mdio b232400.mdio: phy[3]: device b232400.mdio:03, driver TI DP83867
root@am65xx-evm:~# [  255.104260] icssg-prueth pruss2_eth eth1: xmit timeout


// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
 */

/dts-v1/;

#include "k3-am654.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/net/ti-dp83867.h>

/ {
	compatible =  "ti,am654-evm", "ti,am654";
	model = "Texas Instruments AM654 Base Board";

	aliases {
		ethernet1 = &pruss2_emac0;
		ethernet2 = &pruss2_emac1;
	};

	chosen {
		stdout-path = "serial2:115200n8";
		bootargs = "earlycon=ns16550a,mmio32,0x02800000";
	};

	memory@80000000 {
		device_type = "memory";
		/* 4G RAM */
		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
		      <0x00000008 0x80000000 0x00000000 0x80000000>;
	};

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

		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@9b000000 {
			compatible = "shared-dma-pool";
			reg = <0 0x9b000000 0 0x100000>;
			no-map;
		};

		mcu_r5fss0_core1_memory_region: r5f-memory@9b100000 {
			compatible = "shared-dma-pool";
			reg = <0 0x9b100000 0 0xf00000>;
			no-map;
		};

		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@9c000000 {
			compatible = "shared-dma-pool";
			reg = <0 0x9c000000 0 0x100000>;
			no-map;
		};

		mcu_r5fss0_core0_memory_region: r5f-memory@9c100000 {
			compatible = "shared-dma-pool";
			reg = <0 0x9c100000 0 0x700000>;
			no-map;
		};

		secure_ddr: secure_ddr@9e800000 {
			reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
			alignment = <0x1000>;
			no-map;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;
		pinctrl-names = "default";
		pinctrl-0 = <&push_button_pins_default>;

		sw5 {
			label = "GPIO Key USER1";
			linux,code = <BTN_0>;
			gpios = <&wkup_gpio0 24 GPIO_ACTIVE_LOW>;
		};

		sw6 {
			label = "GPIO Key USER2";
			linux,code = <BTN_1>;
			gpios = <&wkup_gpio0 27 GPIO_ACTIVE_LOW>;
		};
	};

	/* Dual Ethernet application node on PRU-ICSSG2 */
	pruss2_eth {
		compatible = "ti,am654-icssg-prueth";
		pinctrl-names = "default";
		pinctrl-0 = <&icssg2_rgmii_pins_default>;
		sram = <&msmc_ram>;
		interrupt-parent = <&main_udmass_inta>;

		prus = <&pru2_0>, <&rtu2_0>, <&pru2_1>, <&rtu2_1>;
		firmware-name = "ti-pruss/am65x-pru0-prueth-fw.elf",
				"ti-pruss/am65x-rtu0-prueth-fw.elf",
				"ti-pruss/am65x-pru1-prueth-fw.elf",
				"ti-pruss/am65x-rtu1-prueth-fw.elf";
		mii-g-rt = <&icssg2_mii_g_rt>;
		mii-rt = <&icssg2_mii_rt>;
		dma-coherent;
		dmas = <&main_udmap &icssg2 0 UDMA_DIR_TX>, /* egress slice 0 */
		       <&main_udmap &icssg2 1 UDMA_DIR_TX>, /* egress slice 0 */
		       <&main_udmap &icssg2 2 UDMA_DIR_TX>, /* egress slice 0 */
		       <&main_udmap &icssg2 3 UDMA_DIR_TX>, /* egress slice 0 */
		       <&main_udmap &icssg2 4 UDMA_DIR_TX>, /* egress slice 1 */
		       <&main_udmap &icssg2 5 UDMA_DIR_TX>, /* egress slice 1 */
		       <&main_udmap &icssg2 6 UDMA_DIR_TX>, /* egress slice 1 */
		       <&main_udmap &icssg2 7 UDMA_DIR_TX>, /* egress slice 1 */

		       <&main_udmap &icssg2 0 UDMA_DIR_RX>, /* ingress slice 0 */
		       <&main_udmap &icssg2 1 UDMA_DIR_RX>, /* ingress slice 1 */
		       <&main_udmap &icssg2 2 UDMA_DIR_RX>, /* mgmnt rsp slice 0 */
		       <&main_udmap &icssg2 3 UDMA_DIR_RX>; /* mgmnt rsp slice 1 */
		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
			    "rx0", "rx1",
			    "rxmgm0", "rxmgm1";

		pruss2_emac0: ethernet-mii0 {
			phy-handle = <&pruss2_eth0_phy>;
			phy-mode = "rgmii-id";
			syscon-rgmii-delay = <&scm_conf 0x4120>;
			iep = <&icssg2_iep0>;
			/* Filled in by bootloader */
			local-mac-address = [00 00 00 00 00 00];
		};

		pruss2_emac1: ethernet-mii1 {
			phy-handle = <&pruss2_eth1_phy>;
			phy-mode = "rgmii-id";
			syscon-rgmii-delay = <&scm_conf 0x4124>;
			iep = <&icssg2_iep1>;
			/* Filled in by bootloader */
			local-mac-address = [00 00 00 00 00 00];
		};
	};
};

&wkup_pmx0 {
	wkup_i2c0_pins_default: wkup-i2c0-pins-default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0) /* (AC7) WKUP_I2C0_SCL */
			AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0) /* (AD6) WKUP_I2C0_SDA */
		>;
	};

	push_button_pins_default: push_button__pins_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x0030, PIN_INPUT, 7) /* (R5) WKUP_GPIO0_24 */
			AM65X_WKUP_IOPAD(0x003c, PIN_INPUT, 7) /* (P2) WKUP_GPIO0_27 */
		>;
	};

	mcu_cpsw_pins_default: mcu_cpsw_pins_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 0) /* (N4) MCU_RGMII1_TX_CTL */
			AM65X_WKUP_IOPAD(0x005c, PIN_INPUT, 0) /* (N5) MCU_RGMII1_RX_CTL */
			AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 0) /* (M2) MCU_RGMII1_TD3 */
			AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 0) /* (M3) MCU_RGMII1_TD2 */
			AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* (M4) MCU_RGMII1_TD1 */
			AM65X_WKUP_IOPAD(0x006c, PIN_OUTPUT, 0) /* (M5) MCU_RGMII1_TD0 */
			AM65X_WKUP_IOPAD(0x0078, PIN_INPUT, 0) /* (L2) MCU_RGMII1_RD3 */
			AM65X_WKUP_IOPAD(0x007c, PIN_INPUT, 0) /* (L5) MCU_RGMII1_RD2 */
			AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 0) /* (M6) MCU_RGMII1_RD1 */
			AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* (L6) MCU_RGMII1_RD0 */
			AM65X_WKUP_IOPAD(0x0070, PIN_INPUT, 0) /* (N1) MCU_RGMII1_TXC */
			AM65X_WKUP_IOPAD(0x0074, PIN_INPUT, 0) /* (M1) MCU_RGMII1_RXC */
		>;
	};

	mcu_mdio_pins_default: mcu_mdio1_pins_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x008c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
			AM65X_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
		>;
	};

	wkup_pca554_default: wkup_pca554_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x0034, PIN_INPUT, 7) /* (T1) MCU_OSPI1_CLK.WKUP_GPIO0_25 */

		>;
	};

	mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins_default {
		pinctrl-single,pins = <
			AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* (V1) MCU_OSPI0_CLK */
			AM65X_WKUP_IOPAD(0x0008, PIN_INPUT, 0)	 /* (U2) MCU_OSPI0_DQS */
			AM65X_WKUP_IOPAD(0x000c, PIN_INPUT, 0)  /* (U4) MCU_OSPI0_D0 */
			AM65X_WKUP_IOPAD(0x0010, PIN_INPUT, 0)  /* (U5) MCU_OSPI0_D1 */
			AM65X_WKUP_IOPAD(0x0014, PIN_INPUT, 0)  /* (T2) MCU_OSPI0_D2 */
			AM65X_WKUP_IOPAD(0x0018, PIN_INPUT, 0)  /* (T3) MCU_OSPI0_D3 */
			AM65X_WKUP_IOPAD(0x001c, PIN_INPUT, 0)  /* (T4) MCU_OSPI0_D4 */
			AM65X_WKUP_IOPAD(0x0020, PIN_INPUT, 0)  /* (T5) MCU_OSPI0_D5 */
			AM65X_WKUP_IOPAD(0x0024, PIN_INPUT, 0)  /* (R2) MCU_OSPI0_D6 */
			AM65X_WKUP_IOPAD(0x0028, PIN_INPUT, 0)  /* (R3) MCU_OSPI0_D7 */
			AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0) /* (R4) MCU_OSPI0_CSn0 */
		>;
	};
};

&main_pmx0 {
	main_uart0_pins_default: main-uart0-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x01e4, PIN_INPUT, 0)	/* (AF11) UART0_RXD */
			AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0)	/* (AE11) UART0_TXD */
			AM65X_IOPAD(0x01ec, PIN_INPUT, 0)	/* (AG11) UART0_CTSn */
			AM65X_IOPAD(0x01f0, PIN_OUTPUT, 0)	/* (AD11) UART0_RTSn */
		>;
	};

	main_i2c2_pins_default: main-i2c2-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0074, PIN_INPUT, 5) /* (T27) GPMC0_CSn3.I2C2_SCL */
			AM65X_IOPAD(0x0070, PIN_INPUT, 5) /* (R25) GPMC0_CSn2.I2C2_SDA */
		>;
	};

	main_mmc0_pins_default: main-mmc0-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
			AM65X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
			AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
			AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
			AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
			AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
			AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
			AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
			AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
			AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
			AM65X_IOPAD(0x01b4, PIN_INPUT_PULLUP, 0) /* (A23) MMC0_SDCD */
			AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
		>;
	};

	main_mmc1_pins_default: main_mmc1_pins_default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x02d4, PIN_INPUT_PULLDOWN, 0) /* (C27) MMC1_CLK */
			AM65X_IOPAD(0x02d8, PIN_INPUT_PULLUP, 0) /* (C28) MMC1_CMD */
			AM65X_IOPAD(0x02d0, PIN_INPUT_PULLUP, 0) /* (D28) MMC1_DAT0 */
			AM65X_IOPAD(0x02cc, PIN_INPUT_PULLUP, 0) /* (E27) MMC1_DAT1 */
			AM65X_IOPAD(0x02c8, PIN_INPUT_PULLUP, 0) /* (D26) MMC1_DAT2 */
			AM65X_IOPAD(0x02c4, PIN_INPUT_PULLUP, 0) /* (D27) MMC1_DAT3 */
			AM65X_IOPAD(0x02dc, PIN_INPUT_PULLUP, 0) /* (B24) MMC1_SDCD */
			AM65X_IOPAD(0x02e0, PIN_INPUT, 0) /* (C24) MMC1_SDWP */
		>;
	};

	usb1_pins_default: usb1_pins_default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) USB1_DRVVBUS */
		>;
	};

	main_spi0_pins_default: main-spi0-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x01c4, PIN_INPUT, 0) /* (AH13) SPI0_CLK */
			AM65X_IOPAD(0x01c8, PIN_INPUT, 0) /* (AE13) SPI0_D0 */
			AM65X_IOPAD(0x01cc, PIN_INPUT, 0) /* (AD13) SPI0_D1 */
			AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (AG13) SPI0_CS0 */
		>;
	};

	icssg2_mdio_pins_default: icssg2_mdio_pins_default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0094, PIN_INPUT, 2) /* (AC19) PRG2_PRU0_GPO7.PRG2_MDIO0_MDIO */
			AM65X_IOPAD(0x00c8, PIN_OUTPUT, 2) /* (AE15) PRG2_PRU1_GPO7.PRG2_MDIO0_MDC */
		>;
	};

	icssg2_rgmii_pins_default: icssg2_rgmii_pins_default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x00ac, PIN_INPUT, 2) /* (AH15) PRG2_PRU1_GPO0.PRG2_RGMII2_RD0 */
			AM65X_IOPAD(0x00b0, PIN_INPUT, 2) /* (AC16) PRG2_PRU1_GPO1.PRG2_RGMII2_RD1 */
			AM65X_IOPAD(0x00b4, PIN_INPUT, 2) /* (AD17) PRG2_PRU1_GPO2.PRG2_RGMII2_RD2 */
			AM65X_IOPAD(0x00b8, PIN_INPUT, 2) /* (AH14) PRG2_PRU1_GPO3.PRG2_RGMII2_RD3 */
			AM65X_IOPAD(0x00cc, PIN_OUTPUT, 2) /* (AD15) PRG2_PRU1_GPO8.PRG2_RGMII2_TD0 */
			AM65X_IOPAD(0x00d0, PIN_OUTPUT, 2) /* (AF14) PRG2_PRU1_GPO9.PRG2_RGMII2_TD1 */
			AM65X_IOPAD(0x00d4, PIN_OUTPUT, 2) /* (AC15) PRG2_PRU1_GPO10.PRG2_RGMII2_TD2 */
			AM65X_IOPAD(0x00d8, PIN_OUTPUT, 2) /* (AD14) PRG2_PRU1_GPO11.PRG2_RGMII2_TD3 */
			AM65X_IOPAD(0x00dc, PIN_INPUT, 2) /* (AE14) PRG2_PRU1_GPO16.PRG2_RGMII2_TXC */
			AM65X_IOPAD(0x00c4, PIN_OUTPUT, 2) /* (AC17) PRG2_PRU1_GPO6.PRG2_RGMII2_TX_CTL */
			AM65X_IOPAD(0x00c0, PIN_INPUT, 2) /* (AG15) PRG2_PRU1_GPO5.PRG2_RGMII2_RXC */
			AM65X_IOPAD(0x00bc, PIN_INPUT, 2) /* (AG14) PRG2_PRU1_GPO4.PRG2_RGMII2_RX_CTL */

			AM65X_IOPAD(0x0078, PIN_INPUT, 2) /* (AF18) PRG2_PRU0_GPO0.PRG2_RGMII1_RD0 */
			AM65X_IOPAD(0x007c, PIN_INPUT, 2) /* (AE18) PRG2_PRU0_GPO1.PRG2_RGMII1_RD1 */
			AM65X_IOPAD(0x0080, PIN_INPUT, 2) /* (AH17) PRG2_PRU0_GPO2.PRG2_RGMII1_RD2 */
			AM65X_IOPAD(0x0084, PIN_INPUT, 2) /* (AG18) PRG2_PRU0_GPO3.PRG2_RGMII1_RD3 */
			AM65X_IOPAD(0x0098, PIN_OUTPUT, 2) /* (AH16) PRG2_PRU0_GPO8.PRG2_RGMII1_TD0 */
			AM65X_IOPAD(0x009c, PIN_OUTPUT, 2) /* (AG16) PRG2_PRU0_GPO9.PRG2_RGMII1_TD1 */
			AM65X_IOPAD(0x00a0, PIN_OUTPUT, 2) /* (AF16) PRG2_PRU0_GPO10.PRG2_RGMII1_TD2 */
			AM65X_IOPAD(0x00a4, PIN_OUTPUT, 2) /* (AE16) PRG2_PRU0_GPO11.PRG2_RGMII1_TD3 */
			AM65X_IOPAD(0x00a8, PIN_INPUT, 2) /* (AD16) PRG2_PRU0_GPO16.PRG2_RGMII1_TXC */
			AM65X_IOPAD(0x0090, PIN_OUTPUT, 2) /* (AE17) PRG2_PRU0_GPO6.PRG2_RGMII1_TX_CTL */
			AM65X_IOPAD(0x008c, PIN_INPUT, 2) /* (AF17) PRG2_PRU0_GPO5.PRG2_RGMII1_RXC */
			AM65X_IOPAD(0x0088, PIN_INPUT, 2) /* (AG17) PRG2_PRU0_GPO4.PRG2_RGMII1_RX_CTL */
		>;
	};
};

&main_pmx1 {
	main_i2c0_pins_default: main-i2c0-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
			AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
		>;
	};

	main_i2c1_pins_default: main-i2c1-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0008, PIN_INPUT, 0) /* (B21) I2C1_SCL */
			AM65X_IOPAD(0x000c, PIN_INPUT, 0) /* (E21) I2C1_SDA */
		>;
	};

	ecap0_pins_default: ecap0-pins-default {
		pinctrl-single,pins = <
			AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
		>;
	};
};

&wkup_uart0 {
	/* Wakeup UART is used by System firmware */
	status = "disabled";
};

&main_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart0_pins_default>;
};

&wkup_i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&wkup_i2c0_pins_default>;
	clock-frequency = <400000>;

	pca9554: gpio@39 {
		compatible = "nxp,pca9554";
		reg = <0x39>;
		gpio-controller;
		#gpio-cells = <2>;
		pinctrl-names = "default";
		pinctrl-0 = <&wkup_pca554_default>;
		interrupt-parent = <&wkup_gpio0>;
		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};
};

&main_i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c0_pins_default>;
	clock-frequency = <400000>;

	pca9555: gpio@21 {
		compatible = "nxp,pca9555";
		reg = <0x21>;
		gpio-controller;
		#gpio-cells = <2>;
	};
};

&main_i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c1_pins_default>;
	clock-frequency = <400000>;
};

&main_i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_i2c2_pins_default>;
	clock-frequency = <400000>;
};

&mcu_cpsw {
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;

	cpts {
		ti,pps = <3 1>;
	};
};

&davinci_mdio {
	phy0: ethernet-phy@0 {
		reg = <0>;
		/* TODO: phy reset: TCA9555RTWR(i2c:0x21)[p04].GPIO_MCU_RGMII_RSTN */
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};
};

&cpsw_port1 {
	phy-mode = "rgmii-id";
	phy-handle = <&phy0>;
};

&ecap0 {
	pinctrl-names = "default";
	pinctrl-0 = <&ecap0_pins_default>;
};

&sdhci0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc0_pins_default>;
	bus-width = <8>;
	non-removable;
	ti,driver-strength-ohm = <50>;
};

&sdhci1 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc1_pins_default>;
	ti,driver-strength-ohm = <50>;
};

&gpu {
	status = "okay";
};

&dwc3_1 {
	status = "okay";
};

&usb1_phy {
	status = "okay";
};

&usb1 {
	pinctrl-names = "default";
	pinctrl-0 = <&usb1_pins_default>;
	dr_mode = "otg";
};

&dwc3_0 {
	status = "disabled";
};

&usb0_phy {
	status = "disabled";
};

&main_spi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_spi0_pins_default>;
	#address-cells = <1>;
	#size-cells= <0>;
	ti,pindir-d0-out-d1-in = <1>;

	flash@0{
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <1>;
		spi-rx-bus-width = <1>;
		spi-max-frequency = <48000000>;
		#address-cells = <1>;
		#size-cells= <1>;
	};
};

&tscadc0 {
	adc {
		ti,adc-channels = <0 1 2 3 4 5 6 7>;
	};
};

&tscadc1 {
	adc {
		ti,adc-channels = <0 1 2 3 4 5 6 7>;
	};
};

&mcu_r5fss0_core0 {
	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
			<&mcu_r5fss0_core0_memory_region>;
};

&mcu_r5fss0_core1 {
	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
			<&mcu_r5fss0_core1_memory_region>;
};

&ospi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;

	flash@0{
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-tx-bus-width = <1>;
		spi-rx-bus-width = <8>;
		spi-max-frequency = <50000000>;
		spi-dqs;
		cdns,tshsl-ns = <60>;
		cdns,tsd2d-ns = <60>;
		cdns,tchsh-ns = <60>;
		cdns,tslch-ns = <60>;
		cdns,read-delay = <2>;
		cdns,phy-mode;
		#address-cells = <1>;
		#size-cells = <1>;
	};
};

&icssg2_mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&icssg2_mdio_pins_default>;

	pruss2_eth0_phy: ethernet-phy@0 {
		reg = <0>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};

	pruss2_eth1_phy: ethernet-phy@3 {
		reg = <3>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};
};

#define TS_OFFSET(pa, val)     (0x4+(pa)*4) (0x80000000 | val)

&timesync_router {
	pinctrl-names = "default";
	pinctrl-0 = <&mcu_cpts>;

	/* Example of the timesync routing */
	mcu_cpts: mcu_cpts {
		pinctrl-single,pins = <
			/* pps [cpts genf1] in13 -> out25 [cpts hw4_push] */
			TS_OFFSET(25, 13)
		>;
	};
};

1.Does SDK-06_00_00_07 supports active backup bonding?
2.Could you point us what we are missing?

Thanks and Regards,
Johni

  • Hello Johni,

    Let me check if AM65x ICSSG Ethernet supports bonding in SDK 6.0. It could be that the feature just has not been implemented yet.

    Regards,

    Nick

  • Hello Johni,

    We have not implemented bonding for ICSSG Ethernet in Processor Linux SDK 6.0 or 6.1. I will submit a feature request for bonding, but I do not currently have a timeline for when it will be implemented.

    Regards,

    Nick

  • Thanks for the Update Nick.

    Assuming if we want to realize this feature on AM6548, How much amount of work do you forsee to get the Active backup mode?

    Regards,

    Johni

  • Hello Johni,

    I am still trying to get an idea of what work would be involved to implement Active backup mode. I should have an update for you next week - feel free to ping if I don't reply by Monday or Tuesday.

    Regards,

    Nick

  • Hello Nick,

    I was wondering if you have any updates on this.

    Regards,

    Johni.

  • Hi Johni,

    I was able to test this on an AM65x IDK board with the current release (6.01), and it appears active backup bonding mode is functional (so we may not have explicitly implemented it, but rather it fortunately works by default in this case). I was able to configure eth1/2 as bonded and successfully maintain a ping connection while disconnecting either cable. I was not able to reproduce the error you encountered. I can take a look at the DTS file you provided for ideas, but can you also provide any more information you think may be helpful, such as what steps you followed to enable building the bonding module, what the device ports were connected to, or any additional information on your test board? It may also be possible the issue you encountered is not related to bonding, can/have you tried rerunning this test several times, or on different sets of ports?

    Best,

    Aaron

  • Thanks Aaron for the update.

    We were using TMDX654GP EVM (PROCESSOR-SDK-LINUX-AM65X  06_00_00_07) to perform this test. Unfortunately we do not have TMDX654 IDK platform at our end. Is there any difference between the IDK and GPEVM with respect to Etherenet bonding?

    We will also do further test with the latest release on different ports and keep you updated.

    Regards,

    Johni

  • Hello Johni,

    We do not expect there to be any difference between Ethernet bonding on IDK and GPEVM. Aaron tested the PRU ETH ports on the main board, as you would with the GPEVM.

    Regards,

    Nick

  • Hello Johni,

    I am assuming that you got Ethernet bonding working for AM65x. If not, feel free to reply and we can continue the conversation.

    Regards,

    Nick