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: PRU Ethernet dts configuration

Part Number: AM6442
Other Parts Discussed in Thread: AM6422, DP83869

Is there a PRU ethernet configuration guide, especially PRU0 and MII mode.

The ti-prueth.txt only take PRU1 as example.

The Ethernet connection as bellow:

cpsw_mdio: CPSW_RMII1, icssg1_mii1:Doesn't work.

icssg0_mdio: icssg0_mii0 and icssg0_mii1: worked. 

The problem is how to configure cpsw_mdio for cpsw_rmii1 and cissg1_mii1 

Please help to review and correct. 

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/k3_2D00_am642_2D00_evm_5F00_20230703.dts

#1. The AM64x GPEVM looks like cpsw_mdio control cpsw_rgmii1 and icssg1_rgmii1, but there is a mux device to select mdio, don't understand the control flow.

#2. If configure pad Y6 and AA6  to 0 as icssg1 mdio,, plug/unplug cable, Linux can detect the link up/down. if configure to 4 as cpsw mdio, can't detect PHY.

mdio_pins_default: mdio-pins-default {
pinctrl-single,pins = <
AM64X_IOPAD(0x015c, PIN_OUTPUT_PULLUP, 4) /* (Y6) PRG1_MDIO0_MDC.MDIO0_MDC */
AM64X_IOPAD(0x0158, PIN_INPUT_PULLUP, 4) /* (AA6) PRG1_MDIO0_MDIO.MDIO0_MDIO */
>;

  • Hi Tony,

    I am unable to figure out what might be affecting the output. I'll discuss this with dev team. 

    Thanks and Regards,

    Rimika

  • Now we can make single CPSW_MDIO + CPSW1_RMII work. Single ICSSG1_MDIO + ICSSG1_MII1 working. But can't make one CPSW_MDIO or one ICSSG1_MDIO to control one  CPSW1_RMII + one ICSSG1_MII1.

    So new question is CAN CPSW_MDIO to control ICSSG eth port, or Can ICSSG_MDIO control CPSW_eth?

  • Now we can make single CPSW_MDIO + CPSW1_RMII work. Single ICSSG1_MDIO + ICSSG1_MII1 working. But use one CPSW_MDIO or one ICSSG1_MDIO to control one  CPSW1_RMII + one ICSSG1_MII1, can detect PHY and cable connection and disconnection, but can't ping through.

    So new question is cab CPSW_MDIO to control ICSSG eth port, or can ICSSG_MDIO control CPSW_eth together at the same time?

    If YES, please help on how to configure in dts?

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/0576.AM6422_5F00_20230525.syscfg

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/2821.k3_2D00_am642_2D00_evm.dts_2D00_CPSW_5F00_RMII0_2D00_ICSSG1_5F00_MII1_2D00_MODE4

    From this post, it should be OK, but doesn't work on customer board.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1094795/am6442-mdio-connection-for-cpsw-and-icssg-interface

    On the GPEVM, if configure mux to select CPSW_MDIO to control ICSSG can verify the combo mode. if it is tested?

    mdio_mux: mux-controller {
    compatible = "gpio-mux";
    #mux-control-cells = <0>;

    /* mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>; */
    mux-gpios = <&exp1 12 GPIO_ACTIVE_LOW>;
    };

  • Hi Tony,

    we have one port connected to CPSW, one connected to ICSSG and third one MUX (by default CPSW).

    Kindly refer to this: 3.6.3.3. PRU_ICSSG Ethernet — Processor SDK AM64X Documentation

    It might be of help.

    Thanks and Regards,

    Rimika

  • Rimika,

    You just repeat what I summarized  My question is very specific already.

  • Hi Tony,

    I have reached out to dev team for clarity.

    Will get back to you as soon as I get any update.

    Regards,

    Rimika

  • Rimika,

    It is just a YES or NO checking, develop team should have answer immediately. 

  • How to set PRG1_RGMII2_FET_SEL to LOW in default?

    I set it in .dts to LOW, but still HIGH.

    mdio_mux: mux-controller {
    compatible = "gpio-mux";
    #mux-control-cells = <0>;

    /*mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>; */
    mux-gpios = <&exp1 12 GPIO_ACTIVE_LOW>; /*ENABLE CPSW MIDO TO CISSG ETH*/
    };

  • Hi Tony,

    HW wise this is possible, but not at software level. This is a shared driver between two OS.

    We don't have SW support where MDIO is partially owned by a freeRTOS and partially by Linux.

    Thanks and Regards,

    Rimika

  • e don't have SW support where MDIO is partially owned by a freeRTOS and partially by Linu

    Where is freeRTOS here? do you mean the icssg mdio driver reside in icssg firmware? 

  • Hi Tony,

    Here you are using Linux as the only OS? Meaning Linux CPSW driver and Linux ICSSG driver, and no RTOS control of ICSSG?

    Regards,

    Rimika

  • We did not talk about MCU SDK, we only use Linux, talking about .dts configuration, why involve RTOS and MCU?

  • Can you share boot logs.

    Thanks,

    Rimika


  • U-Boot SPL 2021.01-00001-g1babd0e42c-dirty (Jul 18 2023 - 13:49:52 +0800)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...

    U-Boot SPL 2021.01-00001-g1babd0e42c-dirty (Jul 18 2023 - 13:49:52 +0800)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    #SPL initial stack usage: 13424 bytes #
    SPL malloc() before relocation used 0x1f58 bytes (7 KB)
    >>SPL: board_init_r()
    spl_init
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    Unsupported OS image.. Jumping nevertheless..
    loaded - jumping to U-Boot...
    Starting ATF on ARM64 core...

    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 13:46:23, Feb 27 2023
    I/TC:
    I/TC: OP-TEE version: 3.20.0 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Mon Feb 27 13:47:09 UTC 2023 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot

    U-Boot SPL 2021.01-00001-g1babd0e42c-dirty (Jul 18 2023 - 13:49:23 +0800)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL malloc() before relocation used 0x2480 bytes (9 KB)
    >>SPL: board_init_r()
    spl_init
    Trying to boot from MMC2
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    Jumping to U-Boot
    loaded - jumping to U-Boot...
    image entry point: 0x80800000


    U-Boot 2021.01-00001-g1babd0e42c-dirty (Jul 18 2023 - 13:49:23 +0800)

    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    DRAM:  2 GiB
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from FAT... *** Warning - bad CRC, using default environment

    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    Net:   eth0: ethernet@8000000port@1
    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'
    Failed to load 'uEnv.txt'
    17785344 bytes read in 733 ms (23.1 MiB/s)
    44774 bytes read in 5 ms (8.5 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 000000008fef2000, end 000000008fffffff ... OK

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 5.10.168-rt83-gc1a1291911 (cotrust@ubuntu) (aarch64-oe-linux-gcc (GCC) 9.5.0, GNU ld (GNU Binutils) 2.34.0.20200910) #21 SMP PREEMPT_RT Sat Jul 15 17:12:57 CST 2023
    [    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-0x00000000ffefffff]
    [    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-0x00000000ffefffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffefffff]
    [    0.000000] On node 0 totalpages: 524032
    [    0.000000]   DMA zone: 8188 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 524032 pages, LIFO batch:63
    [    0.000000] On node 0, zone DMA: 256 pages in unavailable ranges
    [    0.000000] cma: Reserved 512 MiB at 0x00000000dd000000
    [    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 18 pages/cpu s35008 r8192 d30528 u73728
    [    0.000000] pcpu-alloc: s35008 r8192 d30528 u73728 alloc=18*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 515844
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=dff41b13-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 1399172K/2096128K available (10176K kernel code, 1304K rwdata, 3916K rodata, 1856K init, 422K bss, 172668K reserved, 524288K cma-reserved)
    [    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] rcu:     RCU priority boosting: priority 1 delay 500 ms.
    [    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000]  Trampoline variant of Tasks RCU enabled.
    [    0.000000]  Tracing 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: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080030000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [    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.000001] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.008574] Console: colour dummy device 80x25
    [    0.013174] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [    0.023847] pid_max: default: 32768 minimum: 301
    [    0.028680] LSM: Security Framework initializing
    [    0.033468] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.041049] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.051280] rcu: Hierarchical SRCU implementation.
    [    0.057268] Platform MSI: msi-controller@1820000 domain created
    [    0.063791] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.073103] EFI services will not be available.
    [    0.078118] smp: Bringing up secondary CPUs ...
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    [    0.091968] Detected VIPT I-cache on CPU1
    [    0.096109] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.103143] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.110582] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.117422] smp: Brought up 1 node, 2 CPUs
    [    0.121657] SMP: Total of 2 processors activated.
    [    0.126478] CPU features: detected: 32-bit EL0 Support
    [    0.131744] CPU features: detected: CRC32 instructions
    [    0.144548] CPU: All CPU(s) started at EL2
    [    0.148758] alternatives: patching kernel code
    [    0.154697] devtmpfs: initialized
    [    0.167551] KASLR disabled due to lack of seed
    [    0.172351] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [    0.182329] futex hash table entries: 512 (order: 4, 65536 bytes, linear)
    [    0.207438] pinctrl core: initialized pinctrl subsystem
    [    0.213526] DMI not present or invalid.
    [    0.218297] NET: Registered protocol family 16
    [    0.225156] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
    [    0.232603] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
    [    0.240744] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
    [    0.249638] thermal_sys: Registered thermal governor 'step_wise'
    [    0.250346] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [    0.263546] ASID allocator initialised with 65536 entries
    [    0.301320] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
    [    0.308263] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
    [    0.315139] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [    0.322040] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
    [    0.330230] cryptd: max_cpu_qlen set to 1000
    [    0.338462] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR2.0 JTAGID[0x1bb3802f] Detected
    [    0.347869] vsys_5v0: supplied by evm_12v0
    [    0.352707] vsys_3v3: supplied by evm_12v0
    [    0.357840] vdd_mmc1: supplied by vsys_3v3
    [    0.362595] vddb_3v3_display: supplied by vsys_3v3
    [    0.369398] iommu: Default domain type: Translated
    [    0.374933] SCSI subsystem initialized
    [    0.379489] pps_core: LinuxPPS API ver. 1 registered
    [    0.384597] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.393997] PTP clock support registered
    [    0.398042] EDAC MC: Ver: 3.0.0
    [    0.402235] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    0.409223] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    0.416061] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    0.423648] FPGA manager framework
    [    0.428473] clocksource: Switched to clocksource arch_sys_counter
    [    0.435033] VFS: Disk quotas dquot_6.6.0
    [    0.439116] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
    [    0.453943] NET: Registered protocol family 2
    [    0.458751] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
    [    0.467872] tcp_listen_portaddr_hash hash table entries: 1024 (order: 4, 65536 bytes, linear)
    [    0.476799] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.485098] TCP bind hash table entries: 16384 (order: 7, 917504 bytes, linear)
    [    0.493631] TCP: Hash tables configured (established 16384 bind 16384)
    [    0.500788] UDP hash table entries: 1024 (order: 5, 131072 bytes, linear)
    [    0.507942] UDP-Lite hash table entries: 1024 (order: 5, 131072 bytes, linear)
    [    0.515773] NET: Registered protocol family 1
    [    0.521055] RPC: Registered named UNIX socket transport module.
    [    0.527184] RPC: Registered udp transport module.
    [    0.531993] RPC: Registered tcp transport module.
    [    0.536801] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.543390] NET: Registered protocol family 44
    [    0.547968] PCI: CLS 0 bytes, default 64
    [    0.552902] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
    [    0.566263] Initialise system trusted keyrings
    [    0.571240] workingset: timestamp_bits=46 max_order=19 bucket_order=0
    [    0.584252] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.591170] NFS: Registering the id_resolver key type
    [    0.596482] Key type id_resolver registered
    [    0.600806] Key type id_legacy registered
    [    0.605049] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [    0.611919] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
    [    0.619804] 9p: Installing v9fs 9p2000 file system support
    [    0.667791] Key type asymmetric registered
    [    0.672043] Asymmetric key parser 'x509' registered
    [    0.677137] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.684720] io scheduler mq-deadline registered
    [    0.689350] io scheduler kyber registered
    [    0.696435] pinctrl-single 4084000.pinctrl: 33 pins, size 132
    [    0.703012] pinctrl-single f4000.pinctrl: 180 pins, size 720
    [    0.710052] pinctrl-single a40000.timesync-router: 512 pins, size 2048
    [    0.727922] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    0.750569] brd: module loaded
    [    0.765036] loop: module loaded
    [    0.769473] megasas: 07.714.04.00-rc1
    [    0.778383] tun: Universal TUN/TAP device driver, 1.6
    [    0.784556] igbvf: Intel(R) Gigabit Virtual Function Network Driver
    [    0.790999] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [    0.797143] sky2: driver version 1.30
    [    0.802415] VFIO - User Level meta-driver version: 0.3
    [    0.808813] i2c /dev entries driver
    [    0.814122] sdhci: Secure Digital Host Controller Interface driver
    [    0.820541] sdhci: Copyright(c) Pierre Ossman
    [    0.825520] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.833368] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    0.842177] optee: probing for conduit method.
    I/TC: Reserved shared memory is enabled
    I/TC: Dynamic shared memory is enabled
    I/TC: Normal World virtualization support is disabled
    I/TC: Asynchronous notifications are disabled
    [    0.846900] optee: revision 3.20 (8e74d476)
    [    0.863599] optee: dynamic shared memory is enabled
    [    0.873423] optee: initialized driver
    [    0.878621] NET: Registered protocol family 17
    [    0.883545] 9pnet: Installing 9P2000 support
    [    0.888068] Key type dns_resolver registered
    [    0.892928] printk: bootconsole [ns16550a0]: printing thread started
    [    0.892995] Loading compiled-in X.509 certificates
    [    0.908015] ti-sci 44043000.dmsc: lpm region is required for suspend but not provided.
    [    0.908124] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    [    0.965931] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    0.965957] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    0.968209] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.000721] rtc-ds1307: probe of 1-0068 failed with error -121
    [    1.007178] rtc-pcf8563 1-0051: registered as rtc0
    [    1.008401] rtc-pcf8563 1-0051: setting system clock to 2023-03-04T18:41:00 UTC (1677955260)
    [    1.009511] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz
    [    1.010125] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created
    [ 2] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created
    [    1.010752] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.056750] printk: console [ttyS2]: printing thread started
    [    1.025171] ti-udma 485c0100.dma-controller: Number of rings: 68
    [    1.056783] printk: console [ttyS2] enabled
    [    1.056787] printk: bootconsole [ns16550a0] disabled
    [    1.077308] printk: bootconsole [ns16550a0]: printing thread stopped
    [    1.083185] omap8250 2810000.serial: unable to register 8250 port
    [    1.083210] omap8250 2810000.serial: PM domain pd:152 will not be powered off
    [    1.084631] omap8250 2820000.serial: unable to register 8250 port
    [    1.085951] omap8250 2830000.serial: unable to register 8250 port
    [    1.087245] 2850000.serial: ttyS7 at MMIO 0x2850000 (irq = 20, base_baud = 3000000) is a 8250
    [    1.089089] 2860000.serial: ttyS8 at MMIO 0x2860000 (irq = 21, base_baud = 3000000) is a 8250
    [    1.102825] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [    1.140487] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.143683] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver unknown
    [    1.143704] davinci_mdio 8000f00.mdio: phy[2]: device 8000f00.mdio:02, driver unknown
    [    1.143859] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000006
    [    1.144024] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    1.144032] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.145066] pps pps0: new PPS source ptp0
    [    1.145487] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.150269] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    1.160667] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    1.161596] k3-j72xx-soc-thermal b00000.temperature-sensor: invalid resource
    [    1.161647] k3-j72xx-soc-thermal: probe of b00000.temperature-sensor failed with error -22
    [    1.164597] mmc0: CQHCI version 5.10
    [    1.182821] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 17, base_baud = 3000000) is a 8250
    [    1.184304] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 18, base_baud = 3000000) is a 8250
    [    1.185925] 2830000.serial: ttyS5 at MMIO 0x2830000 (irq = 19, base_baud = 3000000) is a 8250
    [    1.189848] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present!
    [    1.217704] mmc0: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.238702] Waiting for root device PARTUUID=dff41b13-02...
    [    1.252008] mmc0: new high speed SDHC card at address 59b4
    [    1.253063] mmcblk0: mmc0:59b4 USD00 14.7 GiB
    [    1.255210]  mmcblk0: p1 p2
    [    1.821466] EXT4-fs (mmcblk0p2): 1 orphan inode deleted
    [    1.821501] EXT4-fs (mmcblk0p2): recovery complete
    [    1.839478] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.839617] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.841052] devtmpfs: mounted
    [    1.842571] Freeing unused kernel memory: 1856K
    [    1.842699] Run /sbin/init as init process
    [    1.842705]   with arguments:
    [    1.842710]     /sbin/init
    [    1.842714]   with environment:
    [    1.842717]     HOME=/
    [    1.842720]     TERM=linux
    [    2.282929] NET: Registered protocol family 10
    [    2.284373] Segment Routing with IPv6
    [    2.323205] systemd[1]: systemd 244.5+ 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)
    [    2.323754] systemd[1]: Detected architecture arm64.

    Welcome to Arago 2021.09!

    [    2.373729] systemd[1]: Set hostname to <am64xx-evm>.
    [    2.793523] systemd[1]: /lib/systemd/system/startwlansta.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    2.795289] systemd[1]: /lib/systemd/system/startwlanap.service:7: Unknown key name 'After' in section 'Service', ignoring.
    [    2.839595] systemd[1]: /lib/systemd/system/irqbalanced.service:6: Unknown key name 'ConditionCPUs' in section 'Unit', ignoring.
    [    2.873247] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock → /run/docker.sock; please update the unit file accordingly.
    [    3.028103] random: systemd: uninitialized urandom read (16 bytes read)
    [    3.034289] systemd[1]: Created slice system-getty.slice.
    [  OK  ] Created slice system-getty.slice.
    [  OK  ] Created slice system-serial\x2dgett[    3.060793] random: systemd: uninitialized urandom read (16 bytes read)
    y.slice.
    [    3.063424] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [  OK  ] Created slice system-syslog\x2dng.s[    3.084787] random: systemd: uninitialized urandom read (16 bytes read)
    lice.
    [    3.087411] systemd[1]: Created slice system-syslog\x2dng.slice.
    [  OK  ] Created slice User and Session Slic[    3.110166] systemd[1]: Created slice User and Session Slice.
    e.
    [  OK  ] Started Dispatch Password …ts to [    3.133336] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    Console Directory Watch.
    [  OK  ] Started Forward Password R…uests [    3.157221] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    to Wall Directory Watch.
    [  OK  ] Reached target Paths.[    3.181130] systemd[1]: Reached target Paths.

    [  OK  ] Reached target Remote File Systems   3.200903] systemd[1]: Reached target Remote File Systems.
    [0m.
    [  OK  ] Reached target Slices.[    3.220889] systemd[1]: Reached target Slices.

    [  OK  ] Reached target Swap.
    [    3.240924] systemd[1]: Reached target Swap.
    [  OK  ] Listening on RPCbind Server Activat[    3.275800] systemd[1]: Listening on RPCbind Server Activation Socket.
    ion Socket.
    [  OK  ] Reached target RPC Port Mapper.[    3.296980] systemd[1]: Reached target RPC Port Mapper.

    [  OK  ] Listening on Process Core Dump Sock[    3.323356] systemd[1]: Listening on Process Core Dump Socket.
    et.
    [  OK  ] Listening on initctl Compatibility [    3.345369] systemd[1]: Listening on initctl Compatibility Named Pipe.
    Named Pipe.
    [  OK  ] Listening on Journal Socket (/dev/l[    3.373467] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
    og).
    [    3.374591] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket.
    [    3.401724] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlin[    3.413964] systemd[1]: Listening on Network Service Netlink Socket.
    k Socket.
    [  OK  ] Listening on udev Control Socket    3.437789] systemd[1]: Listening on udev Control Socket.
    m.
    [  OK  ] Listening on udev Kernel Socket[    3.461462] systemd[1]: Listening on udev Kernel Socket.
    .
             Mounting Huge Pages File System...[    3.492003] systemd[1]: Mounting Huge Pages File System...

             Mounting POSIX Message Queue File System..[    3.519560] systemd[1]: Mounting POSIX Message Queue File System...
    .
             Mounting Kernel Debug File System...[    3.547820] systemd[1]: Mounting Kernel Debug File System...

             Mounting Temporary Directory (/tmp)...
    [    3.576326] systemd[1]: Mounting Temporary Directory (/tmp)...
             Starting Create list of st…odes for the curr[    3.597492] systemd[1]: Starting Create list of static device nodes for the current kernel...
    ent kernel...
             Starting RPC Bind...
    [    3.629049] systemd[1]: Starting RPC Bind...
    [    3.641166] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
             Starting Journal Service...
    [    3.658121] systemd[1]: Starting Journal Service...
    [    3.688136] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    3.720245] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems...
    [    3.736923] cryptodev: loading out-of-tree module taints kernel.
             Starting udev Coldplug all Devices...
    [    3.758125] cryptodev: driver 1.10 loaded.
    [    3.760005] systemd[1]: Starting udev Coldplug all Devices...
    [    3.783865] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [  OK  ] Started RPC Bind.
    [    3.808048] systemd[1]: Started RPC Bind.
    [  OK  ] Mounted Huge Pages File System.[    3.829238] systemd[1]: Mounted Huge Pages File System.

    [  OK  ] Mounted POSIX Message Queue File Sy[    3.853816] systemd[1]: Mounted POSIX Message Queue File System.
    stem.
    [  OK  ] Started Journal Service.
    [    3.877801] systemd[1]: Started Journal Service.
    [  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.035989] random: systemd-journal: uninitialized urandom read (16 bytes read)
    0m...
    [    4.053321] systemd-journald[187]: Received client request to flush runtime journal.
    [    4.057318] random: systemd: uninitialized urandom read (16 bytes read)
             Starting Apply Kernel Variables...[    4.070177] random: systemd-journal: uninitialized urandom read (16 bytes read)

             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 Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Update UTMP about System Boot/Shutdown...
    [  OK  ] Started udev Kernel Device Manager.
    [  OK  ] Started Update UTMP about System Boot/Shutdown.
    [  OK  ] Started udev Coldplug all Devices.
             Starting udev Wait for Complete Device Initialization...
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Time Set.[    5.326198] random: systemd: uninitialized urandom read (16 bytes read)

    [  OK  ] Reached target System Time Synchron[    5.349265] random: systemd: uninitialized urandom read (16 bytes read)
    ized.
    [    5.473544] random: systemd: uninitialized urandom read (16 bytes read)
    [    5.614371] random: crng init done
    [    5.614389] random: 62 urandom warning(s) missed due to ratelimiting
    [  OK  ] Started Load/Save Random Seed.
    [    5.719507] CAN device driver interface
    [    5.720325] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    5.874643] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    6.329330] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [    6.340754] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    6.344979] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    6.385530] remoteproc remoteproc0: 5000000.m4fss is available
    [    6.399430] remoteproc remoteproc0: powering up 5000000.m4fss
    [    6.399464] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 86084
    [    6.421389]  remoteproc0#vdev0buffer: assigned reserved memory node m4f-dma-memory@a4000000
    [    6.421630]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [    6.421643] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [    6.424643] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.424908] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    6.428754] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    6.469822] davinci_mdio 30032400.mdio: Configuring MDIO in manual mode
    [    6.504695] platform 78000000.r5f: configured R5F for remoteproc mode
    [    6.506040] k3_r5_rproc bus@f4000:r5fss@78000000: split-mode not permitted, force configuring for single-cpu mode
    [    6.507529] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.508004] remoteproc remoteproc1: 78000000.r5f is available
    [    6.516796] remoteproc remoteproc1: powering up 78000000.r5f
    [    6.516827] remoteproc remoteproc1: Booting fw image am64-main-r5f0_0-fw, size 92288
    [    6.523619] davinci_mdio 30032400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.523798]  remoteproc1#vdev0buffer: assigned reserved memory node r5f-dma-memory@a0000000
    [    6.524616] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    6.524746]  remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [    6.524758] remoteproc remoteproc1: remote processor 78000000.r5f is now up
    [    6.524773] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.524982] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [    6.553363] davinci_mdio 30032400.mdio: phy[2]: device 30032400.mdio:02, driver unknown
    [    6.553393] davinci_mdio 30032400.mdio: phy[3]: device 30032400.mdio:03, driver unknown
    [    6.630515] platform 78400000.r5f: configured R5F for remoteproc mode
    [    6.632622] k3_r5_rproc bus@f4000:r5fss@78400000: split-mode not permitted, force configuring for single-cpu mode
    [    6.642459] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [    6.661745] remoteproc remoteproc2: 78400000.r5f is available
    [    6.682637] remoteproc remoteproc2: powering up 78400000.r5f
    [    6.682671] remoteproc remoteproc2: Booting fw image am64-main-r5f1_0-fw, size 92416
    [    6.711252]  remoteproc2#vdev0buffer: assigned reserved memory node r5f-dma-memory@a2000000
    [    6.720991] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    6.721819] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xd
    [    6.722086] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [    6.724693]  remoteproc2#vdev0buffer: registered virtio2 (type 7)
    [    6.724720] remoteproc remoteproc2: remote processor 78400000.r5f is now up
    [    6.750764] davinci_mdio 300b2400.mdio: Configuring MDIO in manual mode
    [    6.788587] davinci_mdio 300b2400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    6.788622] davinci_mdio 300b2400.mdio: no live phy, scanning all
    [    7.049431] m_can_platform 20701000.can: m_can device registered (irq=33, version=32)
    [    7.106262] m_can_platform 20711000.can: m_can device registered (irq=35, version=32)
    [    7.322099] davinci_mdio 300b2400.mdio: phy[0]: device 300b2400.mdio:00, driver unknown
    [    7.322126] davinci_mdio 300b2400.mdio: phy[1]: device 300b2400.mdio:01, driver unknown
    [    7.322135] davinci_mdio 300b2400.mdio: phy[2]: device 300b2400.mdio:02, driver unknown
    [    7.322143] davinci_mdio 300b2400.mdio: phy[3]: device 300b2400.mdio:03, driver unknown
    [    7.322151] davinci_mdio 300b2400.mdio: phy[4]: device 300b2400.mdio:04, driver unknown
    [    7.322159] davinci_mdio 300b2400.mdio: phy[5]: device 300b2400.mdio:05, driver unknown
    [    7.322167] davinci_mdio 300b2400.mdio: phy[6]: device 300b2400.mdio:06, driver unknown
    [    7.322175] davinci_mdio 300b2400.mdio: phy[7]: device 300b2400.mdio:07, driver unknown
    [    7.322183] davinci_mdio 300b2400.mdio: phy[8]: device 300b2400.mdio:08, driver unknown
    [    7.322191] davinci_mdio 300b2400.mdio: phy[9]: device 300b2400.mdio:09, driver unknown
    [    7.322199] davinci_mdio 300b2400.mdio: phy[10]: device 300b2400.mdio:0a, driver unknown
    [    7.322206] davinci_mdio 300b2400.mdio: phy[11]: device 300b2400.mdio:0b, driver unknown
    [    7.322214] davinci_mdio 300b2400.mdio: phy[12]: device 300b2400.mdio:0c, driver unknown
    [    7.322222] davinci_mdio 300b2400.mdio: phy[13]: device 300b2400.mdio:0d, driver unknown
    [    7.322230] davinci_mdio 300b2400.mdio: phy[14]: device 300b2400.mdio:0e, driver unknown
    [    7.322238] davinci_mdio 300b2400.mdio: phy[15]: device 300b2400.mdio:0f, driver unknown
    [    7.322246] davinci_mdio 300b2400.mdio: phy[16]: device 300b2400.mdio:10, driver unknown
    [    7.322253] davinci_mdio 300b2400.mdio: phy[17]: device 300b2400.mdio:11, driver unknown
    [    7.322261] davinci_mdio 300b2400.mdio: phy[18]: device 300b2400.mdio:12, driver unknown
    [    7.322269] davinci_mdio 300b2400.mdio: phy[19]: device 300b2400.mdio:13, driver unknown
    [    7.322277] davinci_mdio 300b2400.mdio: phy[20]: device 300b2400.mdio:14, driver unknown
    [    7.322285] davinci_mdio 300b2400.mdio: phy[21]: device 300b2400.mdio:15, driver unknown
    [    7.322293] davinci_mdio 300b2400.mdio: phy[22]: device 300b2400.mdio:16, driver unknown
    [    7.322301] davinci_mdio 300b2400.mdio: phy[23]: device 300b2400.mdio:17, driver unknown
    [    7.322309] davinci_mdio 300b2400.mdio: phy[24]: device 300b2400.mdio:18, driver unknown
    [    7.322316] davinci_mdio 300b2400.mdio: phy[25]: device 300b2400.mdio:19, driver unknown
    [    7.322324] davinci_mdio 300b2400.mdio: phy[26]: device 300b2400.mdio:1a, driver unknown
    [    7.322332] davinci_mdio 300b2400.mdio: phy[27]: device 300b2400.mdio:1b, driver unknown
    [    7.322340] davinci_mdio 300b2400.mdio: phy[28]: device 300b2400.mdio:1c, driver unknown
    [    7.322348] davinci_mdio 300b2400.mdio: phy[29]: device 300b2400.mdio:1d, driver unknown
    [    7.322356] davinci_mdio 300b2400.mdio: phy[30]: device 300b2400.mdio:1e, driver unknown
    [    7.322364] davinci_mdio 300b2400.mdio: phy[31]: device 300b2400.mdio:1f, driver unknown
    [    7.441984] remoteproc remoteproc3: 30034000.pru is available
    [    7.443678] remoteproc remoteproc4: 30004000.rtu is available
    [    7.444282] remoteproc remoteproc5: 3000a000.txpru is available
    [    7.450649] remoteproc remoteproc6: 30038000.pru is available
    [    7.451376] remoteproc remoteproc7: 30006000.rtu is available
    [    7.453266] remoteproc remoteproc8: 3000c000.txpru is available
    [    7.461401] remoteproc remoteproc9: 300b4000.pru is available
    [    7.462289] remoteproc remoteproc10: 30084000.rtu is available
    [    7.469155] remoteproc remoteproc11: 3008a000.txpru is available
    [    7.503833] remoteproc remoteproc12: 300b8000.pru is available
    [    7.517132] remoteproc remoteproc13: 30086000.rtu is available
    [    7.525255] remoteproc remoteproc14: 3008c000.txpru is available
    [    9.801849] icssg-prueth icssg0-eth: port 1: using random MAC addr: d2:59:58:06:59:61
    [    9.814252] icssg-prueth icssg0-eth: port 2: using random MAC addr: 42:57:c6:aa:42:6e
    [    9.815920] Generic PHY 30032400.mdio:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=30032400.mdio:02, irq=POLL)
    [    9.818030] Generic PHY 30032400.mdio:03: attached PHY driver [Generic PHY] (mii_bus:phy_addr=30032400.mdio:03, irq=POLL)
    [    9.818058] icssg-prueth icssg0-eth: TI PRU ethernet driver initialized: dual EMAC mode
    [    9.831924] icssg-prueth icssg1-eth: port 2: using random MAC addr: 9e:37:94:c0:b3:a7
    [    9.833844] Generic PHY 8000f00.mdio:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=8000f00.mdio:01, irq=POLL)
    [    9.833869] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: single EMAC mode
    [   10.494495] usbcore: registered new interface driver usbfs
    [   10.494571] usbcore: registered new interface driver hub
    [   10.494647] usbcore: registered new device driver usb
    [  OK  ] Created slice system-systemd\x2dfsck.slice.
    [   11.194607] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.194683] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   11.195135] xhci-hcd xhci-hcd.0.auto: hcc params 0x200073c9 hci version 0x100 quirks 0x0000002000010010
    [   11.195647] xhci-hcd xhci-hcd.0.auto: irq 533, io mem 0x0f410000
    [   11.195995] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.196029] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   11.196062] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   11.196341] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
    [  OK  ] Found device /dev/mmcblk0p1.[   11.196355] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

    [   11.196364] usb usb1: Product: xHCI Host Controller
    [   11.196370] usb usb1: Manufacturer: Linux 5.10.168-rt83-gc1a1291911 xhci-hcd
    [   11.196377] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   11.237023] hub 1-0:1.0: USB hub found
             Starting File System Check on /dev/mmcblk0p1   11.237083] hub 1-0:1.0: 1 port detected
    0m...
    [   11.237635] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.237787] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
    [   11.237797] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.237805] usb usb2: Product: xHCI Host Controller
    [   11.237811] usb usb2: Manufacturer: Linux 5.10.168-rt83-gc1a1291911 xhci-hcd
    [   11.237817] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   11.249266] hub 2-0:1.0: USB hub found
    [   11.249343] hub 2-0:1.0: 1 port detected
    [  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.
             Starting Docker Socket for the API.
    [  OK  ] Listening on dropbear.socket.
             Starting Reboot and dump vmcore via kexec...
    [  OK  ] Listening on Docker Socket for the API.
    [  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 Matrix GUI...
             Starting startwlanap...
             Starting startwlansta...
             Starting System Logger Daemon "default" instance...
             Starting Login Service...
    [  OK  ] Started TEE Supplicant.
             Starting telnetd.service...
    [  OK  ] Started IPv6 Packet Filtering Framework.
    [  OK  ] Started startwlanap.
    [  OK  ] Started startwlansta.
    [  OK  ] Started Reboot and dump vmcore via kexec.
    [  OK  ] Started IPv4 Packet Filtering Framework.
    [  OK  ] Reached target Network (Pre).
             Starting Network Service...
    [  OK  ] Started Matrix GUI.
    [  OK  ] Started Ethernet Bridge Filtering Tables.
    [  OK  ] Started File System Check on /dev/mmcblk0p1.
             Mounting /run/media/mmcblk0p1...
    [   11.904925] startwlansta.sh[610]: mount: /media/mmcblk1p1: special device /dev/mmcblk1p1 does not exist.
    [  OK  ] Started telnetd.service.
             Starting LSB: Expand Rootfs of boot device...
             Starting syslog.service...
    [  OK  ] Mounted /run/media/mmcblk0p1.
    [  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
    [   12.387583] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [   12.422059] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [  OK  ] Started Network Service.
             Starting Wait for Network to be Configured...
             Starting Network Name Resolution...
    [  OK  ] Created slice system-systemd\x2dcoredump.slice.
    [   12.925775] remoteproc remoteproc12: powering up 300b8000.pru
    [  OK  ] Started Process Core Dump (PID 647/UID 0).
    [   12.954090] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-sr2-pru1-prueth-fw.elf, size 38496
    [   12.954140] remoteproc remoteproc12: unsupported resource 5
    [   12.954169] remoteproc remoteproc12: remote processor 300b8000.pru is now up
    [   12.954218] remoteproc remoteproc13: powering up 30086000.rtu
    [   12.969121] remoteproc remoteproc13: Booting fw image ti-pruss/am65x-sr2-rtu1-prueth-fw.elf, size 30104
    [   12.969188] remoteproc remoteproc13: remote processor 30086000.rtu is now up
    [   12.969240] remoteproc remoteproc14: powering up 3008c000.txpru
    [   12.986448] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-txpru1-prueth-fw.elf, size 35836
    [   12.986526] remoteproc remoteproc14: remote processor 3008c000.txpru is now up
    [  OK  ] Started syslog.service.[   12.998476] icssg-prueth icssg1-eth: settime timeout

    [   13.000830] pps pps1: new PPS source ptp2
    [   13.026702] net eth3: started
    [   13.202401] remoteproc remoteproc6: powering up 30038000.pru
    [   13.202698] remoteproc remoteproc6: Booting fw image ti-pruss/am65x-sr2-pru1-prueth-fw.elf, size 38496
    [   13.202739] remoteproc remoteproc6: unsupported resource 5
    [   13.202768] remoteproc remoteproc6: remote processor 30038000.pru is now up
    [   13.202814] remoteproc remoteproc7: powering up 30006000.rtu
    [   13.203025] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-rtu1-prueth-fw.elf, size 30104
    [   13.203071] remoteproc remoteproc7: remote processor 30006000.rtu is now up
    [   13.203106] remoteproc remoteproc8: powering up 3000c000.txpru
    [   13.203271] remoteproc remoteproc8: Booting fw image ti-pruss/am65x-sr2-txpru1-prueth-fw.elf, size 35836
    [   13.203317] remoteproc remoteproc8: remote processor 3000c000.txpru is now up
    [   13.211078] icssg-prueth icssg0-eth: settime timeout
    [   13.219243] pps pps2: new PPS source ptp3
    [   13.290011] net eth2: started
    [   13.424045] remoteproc remoteproc3: powering up 30034000.pru
    [   13.441062] remoteproc remoteproc3: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 38224
    [   13.441119] remoteproc remoteproc3: unsupported resource 5
    [   13.441148] remoteproc remoteproc3: remote processor 30034000.pru is now up
    [   13.441204] remoteproc remoteproc4: powering up 30004000.rtu
    [   13.444876] remoteproc remoteproc4: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30872
    [   13.444938] remoteproc remoteproc4: remote processor 30004000.rtu is now up
    [   13.444983] remoteproc remoteproc5: powering up 3000a000.txpru
    [   13.447844] remoteproc remoteproc5: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 37328
    [   13.447913] remoteproc remoteproc5: remote processor 3000a000.txpru is now up
    [   13.452048] net eth1: started
    [  OK  ] Started LSB: Expand Rootfs of boot device.
    [   13.662765] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:02] driver [Generic PHY] (irq=POLL)
    [   13.662804] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rmii link mode
    [   13.870222] startwlansta.sh[596]: Wi-Fi user configuration file missing, exit
    [  OK  ] Started Login Service.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
             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.
    [FAILED] Failed to start System Logger Daemon "default" instance.
    See 'systemctl status syslog-ng@default.service' for details.
    [  OK  ] Stopped System Logger Daemon "default" instance.
             Starting System Logger Daemon "default" instance...
    [  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...
    [  OK  ] Started System Logger Daemon "default" instance.
    [   15.729066] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [   15.729160] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [  OK  ] Started Simple Network Man…ement Protocol (SNMP) Daemon..
    [  OK  ] Started Synchronize System and HW clocks.
    ***************************************************************
    ***************************************************************
    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.

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

    Arago Project am64xx-evm ttyS2

    Arago 2021.09 am64xx-evm ttyS2

    am64xx-evm login: root
    root@am64xx-evm:~# ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
            inet 192.168.250.211  netmask 255.255.255.0  broadcast 192.168.250.255
            inet6 fe80::1e63:49ff:fe1d:15aa  prefixlen 64  scopeid 0x20<link>
            ether 1c:63:49:1d:15:aa  txqueuelen 1000  (Ethernet)
            RX packets 38  bytes 4744 (4.6 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 49  bytes 6214 (6.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 4e:0c:28:6e:2b:df  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    eth2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 0e:7e:1c:40:92:a0  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    eth3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 0a:e9:6d:44:38:a8  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536  metric 1
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 82  bytes 6220 (6.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 82  bytes 6220 (6.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    root@am64xx-evm:~# [   32.975520] Initializing XFRM netlink socket
    [   36.321822] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [   36.345442] Bridge firewalling registered
    [   38.958463] process 'docker/tmp/qemu-check411123192/check' started with executable stack

  • Hi Tony,

    This is not recommended.

    You cannot configure MDIO for CPSW and ICSSG1 dynamically. You need it to configure for required system and then use it.

    Thanks and Regards,

    Rimika

  • If you are using ICSSG in MII mode, you need to use 'k3-am642-evm-icssg1-dualemac-miii.dts' over dts file for setting icssg to mii mode.

    Thanks and Regards,

    Rimika

  • Rimika,

    How do you think we are configure  MDIO for CPSW and ICSSG1 dynamically, did you check the dts I uploaded in previous post?

    we added icssg1-eth in dts already, would you really look into this issue and information provided?

    icssg1_eth: icssg1-eth {
    compatible = "ti,am642-icssg-prueth";
    pinctrl-names = "default";
    pinctrl-0 = <&pru_icssg1_mii_g_rt_pins_default>;

    sram = <&oc_sram>;
    ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>, <&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
    firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
    "ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
    "ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
    "ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
    "ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
    "ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";

    ti,pruss-gp-mux-sel = <2>, /* MII mode */
    <2>,
    <2>,
    <2>, /* MII mode */
    <2>,
    <2>;

    mii-g-rt = <&icssg1_mii_g_rt>;
    mii-rt = <&icssg1_mii_rt>;
    iep = <&icssg1_iep0>, <&icssg1_iep1>;

    interrupt-parent = <&icssg1_intc>;
    interrupts = <24 0 2>, <25 1 3>;
    interrupt-names = "tx_ts0", "tx_ts1";

    dmas = <&main_pktdma 0xc200 15>, /* egress slice 0 */
    <&main_pktdma 0xc201 15>, /* egress slice 0 */
    <&main_pktdma 0xc202 15>, /* egress slice 0 */
    <&main_pktdma 0xc203 15>, /* egress slice 0 */
    <&main_pktdma 0xc204 15>, /* egress slice 1 */
    <&main_pktdma 0xc205 15>, /* egress slice 1 */
    <&main_pktdma 0xc206 15>, /* egress slice 1 */
    <&main_pktdma 0xc207 15>, /* egress slice 1 */
    <&main_pktdma 0x4200 15>, /* ingress slice 0 */
    <&main_pktdma 0x4201 15>, /* ingress slice 1 */
    <&main_pktdma 0x4202 0>, /* mgmnt rsp slice 0 */
    <&main_pktdma 0x4203 0>; /* 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";

    icssg1_emac0: ethernet-mii0 {
    status = "disabled";
    fixed-link;
    };

    icssg1_emac1: ethernet-mii1 {
    phy-handle = <&cpsw3g_phy1>;
    phy-mode = "mii";
    /* Filled in by bootloader */
    local-mac-address = [00 00 00 00 00 00];
    };
    };

    and in the log it is initialized.

  • Hi Jou,

    Apologies for delayed responses.

    Our EVM has DP83867 ethernet PHY running CPSW and DP83869 PHY running ICSSG.

    As per our finding DP83867 supports RGMII and SGMII while DP83869 supports SGMII, RGMII, MII MAC interface.

    CPSW in RMII mode as not supported is expected to show the above issue seen.

    Thanks and Regards,

    Rimika

  • Hello Tony,

    Following up on your question "So new question is can CPSW_MDIO control ICSSG eth port, or can ICSSG_MDIO control CPSW_eth?":

    Without checking with the HW design team, my assumption is that this is not a supported hardware configuration (I have not heard of any requirements for the HW designers to add signal traces from CPSW_MDIO --> ICSSG ethernet, or ICSSG_MDIO --> CPSW Ethernet). However, we will verify and get back to you.

    Can you help us understand the reasoning behind that question? (e.g., pinmux limitations, need to use specific kinds of MII interfaces, need to have specific networking protocols supported, etc).

    Regards,

    Nick

  • Nick,

    Thanks. I should say it is a "wrong" customer design, as there is no notice to tell it is not supported, so customer would like to try it given the hardware already designed in that way.

    If so, would suggest to add a notice in somewhere to alert user.

    I think for MDIO should be no limitation, it can support up to 31 PHY, also as we saw, the PHY is detected already.

    I don't know how MDIO driver work with Ethernet driver. the limitation should be there. 

  • Followup questions:

    1) Is there a specific reason the customer cannot just use two different MDIOs, one for CPSW, and one for the PRU_ICSSG?

    2) Is this just 3 instances of generic Ethernet? Or are specific networking protocols used?

    We will have more information early this coming week, but the summary as far as I can tell so far is "we do not support controlling PRU Ethernet PHYs from the CPSW MDIO, or CPSW Ethernet PHYs from the PRU_ICSSG MDIO".

    Regards,

    Nick

  • Hello Tony,

    Summary: We are not able to support getting both CPSW and PRU Ethernet PHYs working when controlled by a single MDIO. 

    Details: 

    We are going to have to draw a distinction between what might be theoretically possible in hardware, and what has actually been tested and validated by the TI development and applications teams.

    What is theoretically possible in hardware

    You are correct that a single MDIO should be able to support up to 31 PHYs. Pekka's response in the thread you linked above agrees that theoretically, this should be possible in hardware.

    As per Pratheesh's guidance on the thread you linked above, the latency between PRU MDIO and PRU Ethernet is optimized, and the PRU MDIO has MLINK inputs to allow for fast link down detect. So if those things matter for PRU Ethernet in a customer design, and the customer design is controlling all PHYs from a single MDIO, it should be connected to the PRU_ICSSG MDIO, not the CPSW MDIO.

    You might even be able to test this usecase on the AM64x GP EVM, using the PHY that can be swapped between CPSW and PRU Ethernet. This would use RGMII, and the hardware mux would need to be adjusted so that it was no longer muxing MDIO signals around between CPSW and ICSSG.

    We are aware of at least one customer on AM335x who managed to get the same MDIO working for both ICSS and CPSW. So on a previous device, at some time in the past, someone out there got this concept working (though I do not have any additional design details).

    What has been tested in software, and what the apps team can support on the forums 

    The challenge is that nobody at TI has tested using the same MDIO to control both CPSW and PRU Ethernet signals on ANY Sitara device. The software teams have developed and tested their code with the assumption that a CPSW PHY will be controlled by a CPSW MDIO, and a PRU Ethernet PHY will be controlled by the MDIO in that PHY's PRU subsystem.

    So it might work fine once the software is figured out, but our team cannot provide guidance on what needs to change in the software since we've never done it ourselves. Some of our team members have given it a best effort in the background over the past couple of weeks, but were not able to get it working.

    If the customer wants additional support around getting the Ethernet interfaces working, we suggest redesigning the board connections along the pattern that was tested by our developers.

    Regards,

    Nick

  • we suggest redesigning the board connections along the pattern that was tested by our developers.

    What is mean of the "Pattern" , do you mean the MAC connection pattern? SK board only has RGMII pattern. if customers use RMII, or MII which supported on datasheet and TRM, does TI and SDK support?

    BTW, if highlight the limitation somewhere, for example hardware check list, would helps. I knew another customer made same wrong connection, now need to redesign board, waste money and time.

  • Hello Tony,

    Good clarification question. By "pattern", I meant "CPSW MDIO controlling the CPSW PHYs, PRU MDIO controlling the PHYs connected to that PRU subsystem".

    Thank you for that suggestion! We will take an action to followup and document the supported usecase somewhere.

    Regards,

    Nick