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: iccg1_eth modprobe fails

Part Number: AM6548

meta-ti 09.01.00.007

kernel branch ti-linux-6.1.y

Below is u-boot, kernel log

U-Boot 2021.01 (Apr 25 2024 - 08:46:52 -0400)

SoC:   AM65X SR2.0
Model: Texas Instruments AM654 Base Board
i2c_omap i2c@42120000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
Reading on-board EEPROM at 0x50 failed -1
Board: AM6-COMPROCEVM rev E3
DRAM:  4 GiB
MMC:   sdhci@4f80000: 0, sdhci@4fa0000: 1
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
am65_cpsw_nuss ethernet@46000000: K3 CPSW: nuss_ver: 0x6BA00102 cpsw_ver: 0x6BA80102 ale_ver: 0x00293904 Ports:1 mdio_freq:1000000
Reading on-board EEPROM at 0x50 failed -1
Detected: Silicon SR2.0
set_Eth_mac_add: I2C EEPROM MAC 6a:f5:5c:d2:20:00
Net:   eth1: icssg2-eth, eth0: ethernet@46000000port@1
Hit any key to stop autoboot:  2  1  0 
996 bytes read in 2 ms (486.3 KiB/s)
1 bytes read in 2 ms (0 Bytes/s)
byte at 0x81600000 (0x0) != byte at 0x81600010 (0x1)
Total of 0 byte(s) were the same
21254656 bytes read in 875 ms (23.2 MiB/s)
69342 bytes read in 5 ms (13.2 MiB/s)
21254656 bytes read in 875 ms (23.2 MiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 000000008ffec000, end 000000008ffffedd ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.46-g5da2f861d7 (oe-user@oe-host) (aarch64-none-linux-gcc (GCC) 11.2.1 20220111, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP PREEMPT Thu Nov 30 22:19:30 UTC 2023
[    0.000000] Machine model: Texas Instruments AM654 Base Board
[    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 256 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 0x00000000b1000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@b1000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000b1100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@b1100000, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000008ffffffff]
[    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-0x00000000b00fffff]
[    0.000000]   node   0: [mem 0x00000000b0100000-0x00000000b0ffffff]
[    0.000000]   node   0: [mem 0x00000000b1000000-0x00000000b21fffff]
[    0.000000]   node   0: [mem 0x00000000b2200000-0x00000000ffffffff]
[    0.000000]   node   0: [mem 0x0000000880000000-0x00000008ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000008ffffffff]
[    0.000000] cma: Reserved 512 MiB at 0x00000000e0000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 2 pages/cpu s34280 r8192 d88600 u131072
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 65472
[    0.000000] Kernel command line: rootdelay=5 root=/dev/mmcblk1p2 rw init=/linuxrc rootfstype=ext4 console=ttyS3,115200n8
[    0.000000] Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 2.
[    0.000000] software IO TLB: mapped [mem 0x00000000dc000000-0x00000000e0000000] (64MB)
[    0.000000] Memory: 3263616K/4194304K available (10816K kernel code, 1364K rwdata, 3712K rodata, 4416K init, 1302K bss, 406400K 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 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: 960 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @880800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000008800c0000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008800d0000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000460] Console: colour dummy device 80x25
[    0.000520] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.000535] pid_max: default: 32768 minimum: 301
[    0.000606] LSM: Security Framework initializing
[    0.000727] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.000753] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.003528] rcu: Hierarchical SRCU implementation.
[    0.003540] rcu: Max phase no-delay instances is 1000.
[    0.004035] Platform MSI: msi-controller@1820000 domain created
[    0.004339] PCI/MSI: /bus@100000/interrupt-controller@1800000/msi-controller@1820000 domain created
[    0.004451] EFI services will not be available.
[    0.004845] smp: Bringing up secondary CPUs ...
[    0.006166] Detected VIPT I-cache on CPU1
[    0.006308] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
[    0.006330] GICv3: CPU1: using allocated LPI pending table @0x00000008800e0000
[    0.006393] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.006543] smp: Brought up 1 node, 2 CPUs
[    0.006552] SMP: Total of 2 processors activated.
[    0.006559] CPU features: detected: 32-bit EL0 Support
[    0.006565] CPU features: detected: CRC32 instructions
[    0.006651] CPU: All CPU(s) started at EL2
[    0.006655] alternatives: applying system-wide alternatives
[    0.008288] devtmpfs: initialized
[    0.019541] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.019570] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
[    0.020886] pinctrl core: initialized pinctrl subsystem
[    0.021548] DMI not present or invalid.
[    0.022456] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.028250] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.028556] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.028791] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.029405] thermal_sys: Registered thermal governor 'step_wise'
[    0.029413] thermal_sys: Registered thermal governor 'power_allocator'
[    0.029761] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.029884] ASID allocator initialised with 65536 entries
[    0.052369] KASLR disabled due to lack of seed
[    0.060816] HugeTLB: registered 16.0 GiB page size, pre-allocated 0 pages
[    0.060830] HugeTLB: 0 KiB vmemmap can be freed for a 16.0 GiB page
[    0.060837] HugeTLB: registered 512 MiB page size, pre-allocated 0 pages
[    0.060842] HugeTLB: 0 KiB vmemmap can be freed for a 512 MiB page
[    0.060849] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.060853] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.062104] cryptd: max_cpu_qlen set to 1000
[    0.063929] k3-chipinfo 43000014.chipid: Family:AM65X rev:SR2.0 JTAGID[0x1bb5a02f] Detected
[    0.065938] iommu: Default domain type: Translated 
[    0.065948] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.066298] SCSI subsystem initialized
[    0.066763] pps_core: LinuxPPS API ver. 1 registered
[    0.066770] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.066787] PTP clock support registered
[    0.066831] EDAC MC: Ver: 3.0.0
[    0.067884] FPGA manager framework
[    0.069172] clocksource: Switched to clocksource arch_sys_counter
[    0.069688] VFS: Disk quotas dquot_6.6.0
[    0.069763] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    0.079006] NET: Registered PF_INET protocol family
[    0.079482] IP idents hash table entries: 65536 (order: 3, 524288 bytes, linear)
[    0.083840] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
[    0.084000] Table-perturb hash table entries: 65536 (order: 2, 262144 bytes, linear)
[    0.084023] TCP established hash table entries: 32768 (order: 2, 262144 bytes, linear)
[    0.084329] TCP bind hash table entries: 32768 (order: 4, 1048576 bytes, linear)
[    0.085765] TCP: Hash tables configured (established 32768 bind 32768)
[    0.085938] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.086060] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.086363] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.087028] RPC: Registered named UNIX socket transport module.
[    0.087038] RPC: Registered udp transport module.
[    0.087042] RPC: Registered tcp transport module.
[    0.087046] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.087058] PCI: CLS 0 bytes, default 64
[    0.093846] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    0.095913] Initialise system trusted keyrings
[    0.096211] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.103292] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.104191] NFS: Registering the id_resolver key type
[    0.104233] Key type id_resolver registered
[    0.104239] Key type id_legacy registered
[    0.104320] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.104327] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.104573] fuse: init (API version 7.37)
[    0.104927] 9p: Installing v9fs 9p2000 file system support
[    0.160182] Key type asymmetric registered
[    0.160205] Asymmetric key parser 'x509' registered
[    0.160351] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    0.160361] io scheduler mq-deadline registered
[    0.160368] io scheduler kyber registered
[    0.165729] pinctrl-single 4301c000.pinctrl: 70 pins, size 280
[    0.166420] pinctrl-single 11c000.pinctrl: 185 pins, size 740
[    0.166680] pinctrl-single 11c2e8.pinctrl: 9 pins, size 36
[    0.177716] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.193215] brd: module loaded
[    0.199223] loop: module loaded
[    0.200319] megasas: 07.719.03.00-rc1
[    0.203723] tun: Universal TUN/TAP device driver, 1.6
[    0.204641] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    0.204648] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.204705] sky2: driver version 1.30
[    0.205887] VFIO - User Level meta-driver version: 0.3
[    0.206931] i2c_dev: i2c /dev entries driver
[    0.208841] sdhci: Secure Digital Host Controller Interface driver
[    0.208848] sdhci: Copyright(c) Pierre Ossman
[    0.209419] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.211275] ledtrig-cpu: registered to indicate activity on CPUs
[    0.211473] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    0.213553] optee: probing for conduit method.
[    0.213584] optee: revision 3.12 (3d47a131)
[    0.214258] optee: initialized driver
[    0.216061] NET: Registered PF_PACKET protocol family
[    0.216225] 9pnet: Installing 9P2000 support
[    0.216310] Key type dns_resolver registered
[    0.216837] Loading compiled-in X.509 certificates
[    0.234108] ti-sci 44083000.system-controller: ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')
[    0.281895] omap_i2c 40b00000.i2c: bus 1 rev0.12 at 100 kHz
[    0.283190] pca953x 2-0021: supply vcc not found, using dummy regulator
[    0.283324] pca953x 2-0021: using no AI
[    0.306661] rtc-ds1307 2-0068: SET TIME!
[    0.307448] rtc-ds1307 2-0068: registered as rtc0
[    0.307768] rtc-ds1307 2-0068: setting system clock to 2000-01-01T00:00:15 UTC (946684815)
[    0.308372] omap_i2c 2000000.i2c: bus 2 rev0.12 at 400 kHz
[    0.309617] omap_i2c 2010000.i2c: bus 3 rev0.12 at 400 kHz
[    0.310651] omap_i2c 2020000.i2c: bus 4 rev0.12 at 400 kHz
[    0.311039] ti-sci-intr 42200000.interrupt-controller: Interrupt Router 156 domain created
[    0.311287] ti-sci-intr bus@100000:interrupt-controller@a00000: Interrupt Router 100 domain created
[    0.311521] ti-sci-intr 310e0000.interrupt-controller: Interrupt Router 182 domain created
[    0.311902] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 179 created
[    0.314848] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,32] sci-dev-id:195
[    0.314867] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
[    0.314876] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66348100, num_proxies:64
[    0.318485] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:818, gp-rings[304,100] sci-dev-id:187
[    0.318505] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
[    0.318513] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66348100, num_proxies:64
[    0.319622] 42300000.serial: ttyS0 at MMIO 0x42300000 (irq = 152, base_baud = 6000000) is a 8250
[    0.320843] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 153, base_baud = 6000000) is a 8250
[    0.322006] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 154, base_baud = 3000000) is a 8250
[    0.323243] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 155, base_baud = 3000000) is a 8250
[    1.564331] printk: console [ttyS3] enabled
[    1.569895] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 156, base_baud = 3000000) is a 8250
[    1.584625] pinctrl-single 4301c000.pinctrl: pin PIN35 already requested by 46000000.ethernet; cannot claim for 46000f00.mdio
[    1.595954] pinctrl-single 4301c000.pinctrl: pin-35 (46000f00.mdio) status -22
[    1.603188] pinctrl-single 4301c000.pinctrl: could not request pin 35 (PIN35) from group mcu-mdio1-pins-default  on device pinctrl-single
[    1.615527] davinci_mdio 46000f00.mdio: Error applying setting, reverse things back
[    1.623193] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[    1.636078] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    1.643304] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    1.650382] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.662421] am65-cpts 310d0000.cpts: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.673996] clk: failed to reparent clk:130:1 to clk:130:5: -22
[    1.682431] mmc0: CQHCI version 5.10
[    1.682896] mmc1: CQHCI version 5.10
[    1.700488] omap-mailbox 31f80000.mailbox: omap mailbox rev 0x66fc7100
[    1.707580] omap-mailbox 31f81000.mailbox: omap mailbox rev 0x66fc7100
[    1.715950] ti-udma 285c0000.dma-controller: Channels: 28 (tchan: 14, rchan: 14, gp-rflow: 16)
[    1.729697] mmc0: SDHCI controller on 4f80000.mmc [4f80000.mmc] using ADMA 64-bit
[    1.730962] ti-udma 31150000.dma-controller: Channels: 119 (tchan: 53, rchan: 66, gp-rflow: 64)
[    1.762162] spi-nor spi1.0: cy15b104q (0 Kbytes)
[    1.774417] spi-nor spi2.0: unrecognized JEDEC id bytes: 00 00 00 00 00 00
[    1.782718] pinctrl-single 4301c000.pinctrl: pin PIN35 already requested by 46000000.ethernet; cannot claim for 46000f00.mdio
[    1.794043] pinctrl-single 4301c000.pinctrl: pin-35 (46000f00.mdio) status -22
[    1.801302] pinctrl-single 4301c000.pinctrl: could not request pin 35 (PIN35) from group mcu-mdio1-pins-default  on device pinctrl-single
[    1.813672] davinci_mdio 46000f00.mdio: Error applying setting, reverse things back
[    1.821409] am65-cpsw-nuss 46000000.ethernet: initializing am65 cpsw nuss version 0x6BA00102, cpsw version 0x6BA80102 Ports: 2 quirks:00000000
[    1.834386] am65-cpsw-nuss 46000000.ethernet: initialized cpsw ale version 1.4
[    1.841644] am65-cpsw-nuss 46000000.ethernet: ALE Table size 64
[    1.848580] am65-cpsw-nuss 46000000.ethernet: CPTS ver 0x4e8a010b, freq:200000000, add_val:4 pps:0
[    1.859437] am65-cpsw-nuss 46000000.ethernet: set new flow-id-base 48
[    1.870191] debugfs: Directory 'pd:121' with parent 'pm_genpd' already present!
[    1.874465] mmc0: Command Queue Engine enabled
[    1.877666] debugfs: Directory 'pd:120' with parent 'pm_genpd' already present!
[    1.882005] mmc0: new HS400 MMC card at address 0001
[    1.891668] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    1.895067] mmcblk0: mmc0:0001 S0J57X 29.6 GiB 
[    1.908331] mmcblk0boot0: mmc0:0001 S0J57X 31.5 MiB 
[    1.914885] mmcblk0boot1: mmc0:0001 S0J57X 31.5 MiB 
[    1.921278] mmcblk0rpmb: mmc0:0001 S0J57X 4.00 MiB, chardev (239:0)
[    2.745852] mmc1: SDHCI controller on 4fa0000.mmc [4fa0000.mmc] using ADMA 64-bit
[    2.756245] Freeing unused kernel memory: 4416K
[    2.760925] Run /init as init process

Edge Linux initramfs loader
[    2.811557] mmc1: new ultra high speed SDR104 SDHC card at address 59b4
[    2.819070] mmcblk1: mmc1:59b4 ABNG0 14.5 GiB 
[    2.826690]  mmcblk1: p1 p2
Running fsck on '/dev/mmcblk1p2'...
e2fsck 1.45.6 (20-Mar-2020)
rootfs: recovering journal
Setting free inodes count to 522217 (was 522223)
Setting free blocks count to 2008718 (was 2008724)
rootfs: clean, 23/522240 files, 80242/2088960 blocks
[    3.882784] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
[    3.892399] EXT4-fs (mmcblk1p2): unmounting filesystem.
Mounting ext4 filesystem on '/dev/mmcblk1p2'...
[    3.906947] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
Booting partition 0...
Checking integrity of file /container/rootfs0.img... Checksum check successful
Verifying digital signature of /container/image0.sums, from /container/image0.sums.sig... 
Acceptable code verification certificates:
(unsigned images)
    O = Eaton Corporation, CN = Eaton Commercial Root CA 1
    O = Eaton, OU = CCIS PX Red, CN = Ref1 Product Development Root CA

Succeeded
[    6.680811] loop7: detected capacity change from 0 to 133432
Loop-mounting SquashFS image at '/container/rootfs0.img'...
Moving '/container' -> '/newroot/initlo'...
Changing root & launching '/linuxrc'...
Mounting /proc...
Mounting /sys...
Mounting /tmp...
Overlaying /dev read-write...
[    7.474203] overlayfs: failed to set xattr on upper
Mounting /dev/pts...
mount: mounting none on /dev/pts failed: No such file or directory
Mounting /dev/shm...
mount: mounting none on /dev/shm failed: No such file or directory
chmod: /dev/shm: No such file or directory
Mounting /run...
Synchronizing time with RTC...
Setting MAC (if needed)...
Overlaying read-only filesystems... [    7.606483] overlayfs: failed to set xattr on upper
[    7.635775] overlayfs: failed to set xattr on upper
[    7.640863] overlayfs: failed to resolve '/ro/var': -2
mount: mounting none on /var failed: No such file or directory
[    7.663339] overlayfs: failed to set xattr on upper
[    7.687914] overlayfs: failed to set xattr on upper
...done
Do everything manually from here

In below log at line 20, probe of icssg1_eth failed.

I have tried tweaking related changes to icssg1_eth, mdio and its pin ctrls but no luck as of  now.

[  976.087747] NET: Registered PF_INET6 protocol family
[  976.094057] Segment Routing with IPv6
[  976.097798] In-situ OAM (IOAM) with IPv6
[  976.184695] davinci_mdio b132400.mdio: Configuring MDIO in manual mode
[  976.229204] davinci_mdio b132400.mdio: davinci mdio revision 1.7, bus freq 1000000
[  976.291910] davinci_mdio b132400.mdio: phy[0]: device b132400.mdio:00, driver TI DP83867
[  976.300065] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867
[  976.382613] platform 41000000.r5f: configured R5F for remoteproc mode
[  976.389530] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
[  976.397999] remoteproc remoteproc0: 41000000.r5f is available
[  976.404394] platform 41400000.r5f: configured R5F for remoteproc mode
[  976.411301] platform 41400000.r5f: assigned reserved memory node r5f-dma-memory@b1000000
[  976.419581] remoteproc remoteproc1: 41400000.r5f is available
[  976.521940] remoteproc remoteproc2: b00a000.txpru is available
[  976.529589] remoteproc remoteproc3: b00c000.txpru is available
[  976.535839] remoteproc remoteproc4: b10a000.txpru is available
[  976.542042] remoteproc remoteproc5: b10c000.txpru is available
[  976.548378] remoteproc remoteproc6: b20a000.txpru is available
[  976.554538] remoteproc remoteproc7: b20c000.txpru is available
[  976.682062] icssg-prueth: probe of icssg1_eth failed with error -2
[  976.908119] remoteproc remoteproc8: b138000.pru is available
[  976.916359] remoteproc remoteproc9: b106000.rtu is available
[  976.926045] remoteproc remoteproc10: b134000.pru is available
[  976.938012] remoteproc remoteproc11: b104000.rtu is available
[  976.950273] remoteproc remoteproc12: b038000.pru is available
[  976.956798] remoteproc remoteproc13: b006000.rtu is available
[  976.963834] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
[  976.970568] random: crng init done
[  976.972620] remoteproc remoteproc14: b034000.pru is available
[  976.986057] remoteproc remoteproc15: b004000.rtu is available
[  976.992468] remoteproc remoteproc16: b238000.pru is available
[  977.001875] remoteproc remoteproc17: b206000.rtu is available
[  977.016254] remoteproc remoteproc18: b234000.pru is available
[  977.024013] remoteproc remoteproc19: b204000.rtu is available
[  977.178498] usbcore: registered new interface driver usbfs
[  977.186526] usbcore: registered new interface driver hub
[  977.201277] usbcore: registered new device driver usb
[  977.209939] remoteproc remoteproc1: powering up 41400000.r5f
[  977.215658] remoteproc remoteproc1: Booting fw image am65x-mcu-r5f0_1-fw, size 3769444
[  977.229873] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@b1000000
[  977.235465] remoteproc remoteproc0: powering up 41000000.r5f
[  977.240194] virtio_rpmsg_bus virtio0: rpmsg host is online
[  977.246738] remoteproc remoteproc0: Booting fw image am65x-mcu-r5f0_0-fw, size 3886076
[  977.258235] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[  977.261308] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7)
[  977.272521] remoteproc remoteproc1: remote processor 41400000.r5f is now up
[  977.276063] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@a0000000
[  977.291274] virtio_rpmsg_bus virtio1: rpmsg host is online
[  977.298784] rproc-virtio rproc-virtio.3.auto: registered virtio1 (type 7)
[  977.305655] remoteproc remoteproc0: remote processor 41000000.r5f is now up
[  977.452501] Initializing XFRM netlink socket
[  977.546613] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
ip: SIOCGIFFLAGS: No such device
ip: SIOCGIFFLAGS: No such device
[  977.956697] remoteproc remoteproc15: powering up b004000.rtu
[  977.974832] remoteproc remoteproc15: Booting fw image am65x-rtu0_0-fw, size 68456
[  977.982468] Unable to handle kernel paging request at virtual address ffff80000a381104
[  977.990423] Mem abort info:
[  977.993239]   ESR = 0x0000000096000061
[  977.996989]   EC = 0x25: DABT (current EL), IL = 32 bits
[  978.002332]   SET = 0, FnV = 0
[  978.005403]   EA = 0, S1PTW = 0
[  978.008544]   FSC = 0x21: alignment fault
[  978.012599] Data abort info:
[  978.015535]   ISV = 0, ISS = 0x00000061
[  978.019405]   CM = 0, WnR = 1
[  978.022393] swapper pgtable: 64k pages, 48-bit VAs, pgdp=0000000082e90000
[  978.029214] [ffff80000a381104] pgd=10000008ffff0003, p4d=10000008ffff0003, pud=10000008ffff0003, pmd=10000008fffe0003, pte=006800000b000713
[  978.041783] Internal error: Oops: 0000000096000061 [#1] PREEMPT SMP
[  978.048063] Modules linked in: at24 xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables bridge stp llc xfrm_user xfrm_algo md5 ecb aes_neon_bs aes_neon_blk des_generic libdes cbc ecdh_generic ecc xhci_plat_hcd xhci_hcd rpmsg_char usbcore ti_am335x_adc kfifo_buf omap_rng rng_core irq_pruss_intc dwc3 udc_core roles usb_common icssg_prueth hsr crct10dif_ce pru_rproc icss_iep ti_k3_r5_remoteproc virtio_rpmsg_bus rpmsg_ns ti_am335x_tscadc sa2ul pruss authenc phy_omap_usb2 dwc3_keystone sch_fq_codel ipv6
[  978.100417] CPU: 0 PID: 171 Comm: rcS.platform Not tainted 6.1.46-g5da2f861d7 #1
[  978.107817] Hardware name: Texas Instruments AM654 Base Board (DT)
[  978.113995] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  978.120960] pc : __memcpy+0x30/0x240
[  978.124555] lr : rproc_start+0x84/0x168
[  978.128405] sp : ffff80000baefc00
[  978.131716] x29: ffff80000baefc00 x28: ffff000803473a00 x27: 0000000000000000
[  978.138859] x26: 0000000000000000 x25: 0000000000000000 x24: ffff000804186780
[  978.146002] x23: ffff00080380c080 x22: ffff00080380c080 x21: ffff000802100838
[  978.153141] x20: ffff80000a381100 x19: ffff000802100800 x18: ffffffffffffffff
[  978.160281] x17: 20657a6973202c77 x16: 662d305f30757472 x15: 2d7835366d612065
[  978.167420] x14: 67616d6920776620 x13: 0000000000000000 x12: 0000000000000000
[  978.174563] x11: 000000000000013f x10: fffffffffbe34015 x9 : 0000000000000010
[  978.181702] x8 : 0101010101010101 x7 : 0000000000000000 x6 : 0000000000000001
[  978.188843] x5 : ffff80000a381114 x4 : ffff00080380c394 x3 : ffff00080293f480
[  978.195984] x2 : 0000000000000014 x1 : ffff00080380c380 x0 : ffff80000a381100
[  978.203127] Call trace:
[  978.205574]  __memcpy+0x30/0x240
[  978.208820]  rproc_boot+0x35c/0x570
[  978.212319]  state_store+0x44/0x110
[  978.215819]  dev_attr_store+0x18/0x30
[  978.219489]  sysfs_kf_write+0x44/0x54
[  978.223166]  kernfs_fop_write_iter+0x118/0x1b0
[  978.227626]  vfs_write+0x1e0/0x270
[  978.231037]  ksys_write+0x68/0xf4
[  978.234355]  __arm64_sys_write+0x1c/0x2c
[  978.238284]  invoke_syscall+0x48/0x114
[  978.242044]  el0_svc_common.constprop.0+0x44/0xfc
[  978.246758]  do_el0_svc+0x30/0xd0
[  978.250086]  el0_svc+0x2c/0x84
[  978.253149]  el0t_64_sync_handler+0xbc/0x140
[  978.257426]  el0t_64_sync+0x18c/0x190
[  978.261105] Code: 540000c3 a9401c26 a97f348c a9001c06 (a93f34ac) 
[  978.267198] ---[ end trace 0000000000000000 ]---
Segmentation fault
/ # [  978.722236] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0x65
[  978.730091] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.HC addr 0x66
[  978.737142] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[  978.744448] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.HC addr 0xf

We have migrated from TI linux kernel 5.10 to 6.1 after that started seeing this issue.

On our board for kernel 5.10 the icssg modprobe passes.

We are using prebuilt PRU and R5F binaries which we used in kernel 5.10.

Below is our patch

diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index f777f313c9a8..b6b8f29f3888 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -91,7 +91,6 @@ main_uart0: serial@2800000 {
 		clock-frequency = <48000000>;
 		current-speed = <115200>;
 		power-domains = <&k3_pds 146 TI_SCI_PD_EXCLUSIVE>;
-		status = "disabled";
 	};
 
 	main_uart1: serial@2810000 {
@@ -100,7 +99,6 @@ main_uart1: serial@2810000 {
 		interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
-		status = "disabled";
 	};
 
 	main_uart2: serial@2820000 {
@@ -109,7 +107,6 @@ main_uart2: serial@2820000 {
 		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
 		clock-frequency = <48000000>;
 		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
-		status = "disabled";
 	};
 
 	crypto: crypto@4e00000 {
@@ -128,7 +125,6 @@ rng: rng@4e10000 {
 			compatible = "inside-secure,safexcel-eip76";
 			reg = <0x0 0x4e10000 0x0 0x7d>;
 			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
-			status = "disabled"; /* Used by OP-TEE */
 		};
 	};
 
@@ -273,7 +269,7 @@ sdhci0: mmc@4f80000 {
 		clock-names = "clk_ahb", "clk_xin";
 		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
 		mmc-ddr-1_8v;
-		mmc-hs200-1_8v;
+		mmc-hs400-1_8v;
 		ti,otap-del-sel-legacy = <0x0>;
 		ti,otap-del-sel-mmc-hs = <0x0>;
 		ti,otap-del-sel-sd-hs = <0x0>;
@@ -697,6 +693,15 @@ main_gpio0: gpio@600000 {
 		clock-names = "gpio";
 	};
 
+	main_rti0: rti@2200000 {
+                  compatible = "ti,j7-rti-wdt";
+                  reg = <0x0 0x2200000 0x0 0x100>;
+                  clocks = <&k3_clks 130 1>;
+                  power-domains = <&k3_pds 130 TI_SCI_PD_EXCLUSIVE>;
+                  assigned-clocks = <&k3_clks 130 1>;
+                  assigned-clock-parents = <&k3_clks 130 5>;
+        };                 
+
 	main_gpio1: gpio@601000 {
 		compatible = "ti,am654-gpio", "ti,keystone-gpio";
 		reg = <0x0 0x601000 0x0 0x100>;
@@ -1076,6 +1081,16 @@ icssg0_pa_stats: pa-stats@2c000 {
 			reg = <0x2c000 0x1000>;
 		};
 
+                pruss_uart0: serial@28000 {
+                          compatible = "ti,pruss-uart";
+                          reg = <0x28000 0x38>;
+                          clocks = <&k3_clks 62 4>;
+                          interrupt-parent = <&icssg0_intc>;
+                          interrupts = <6>;
+                          prus = <&pru0_0>;
+                };
+ 
+                
 		icssg0_intc: interrupt-controller@20000 {
 			compatible = "ti,icssg-intc";
 			reg = <0x20000 0x2000>;
@@ -1173,6 +1188,15 @@ icssg0_mdio: mdio@32400 {
 		};
 	};
 
+	pruss_uart1: serial@28000 {
+	     compatible = "ti,pruss-uart";
+	     reg = <0x28000 0x38>;
+	     clocks = <&k3_clks 63 4>;
+	     interrupt-parent = <&icssg1_intc>;
+	     interrupts = <6>;
+	     prus = <&pru1_0>; 
+	};
+
 	icssg1: icssg@b100000 {
 		compatible = "ti,am654-icssg";
 		reg = <0x00 0xb100000 0x00 0x80000>;
@@ -1340,7 +1364,6 @@ icssg1_mdio: mdio@32400 {
 			#address-cells = <1>;
 			#size-cells = <0>;
 			bus_freq = <1000000>;
-			status = "disabled";
 		};
 	};
 
@@ -1418,6 +1441,15 @@ icssg2_pa_stats: pa-stats@2c000 {
 			reg = <0x2c000 0x1000>;
 		};
 
+                pruss_uart2: serial@28000 {
+                	compatible = "ti,pruss-uart";
+                        reg = <0x28000 0x38>;
+                        clocks = <&k3_clks 64 4>;
+                        interrupt-parent = <&icssg2_intc>;
+                        interrupts = <6>;
+                        prus = <&pru2_0>;
+                };
+
 		icssg2_intc: interrupt-controller@20000 {
 			compatible = "ti,icssg-intc";
 			reg = <0x20000 0x2000>;
diff --git a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
index 9ceae8a5b7e2..5fa57ae47dad 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
@@ -27,7 +27,6 @@ mcu_uart0: serial@40a00000 {
 		clock-frequency = <96000000>;
 		current-speed = <115200>;
 		power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
-		status = "disabled";
 	};
 
 	mcu_ram: sram@41c00000 {
@@ -280,7 +279,6 @@ davinci_mdio: mdio@f00 {
 			clocks = <&k3_clks 5 10>;
 			clock-names = "fck";
 			bus_freq = <1000000>;
-			status = "disabled";
 		};
 
 		cpts@3d000 {
@@ -307,7 +305,7 @@ mcu_cpsw_cpts_mux: refclk-mux {
 
 	mcu_r5fss0: r5fss@41000000 {
 		compatible = "ti,am654-r5fss";
-		ti,cluster-mode = <1>;
+		ti,cluster-mode = <0>;
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x41000000 0x00 0x41000000 0x20000>,
diff --git a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
index fd2b998ebddc..236d40bfa885 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-wakeup.dtsi
@@ -51,10 +51,9 @@ wkup_uart0: serial@42300000 {
 		compatible = "ti,am654-uart";
 		reg = <0x42300000 0x100>;
 		interrupts = <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>;
-		clock-frequency = <48000000>;
+		clock-frequency = <96000000>;
 		current-speed = <115200>;
 		power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>;
-		status = "disabled";
 	};
 
 	wkup_i2c0: i2c@42120000 {
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
index b598fb27804b..f3f8286e6cd5 100644
--- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -14,13 +14,13 @@ / {
 	model = "Texas Instruments AM654 Base Board";
 
 	aliases {
-		ethernet1 = &icssg2_emac0;
-		ethernet2 = &icssg2_emac1;
+		ethernet1 = &icssg1_emac0;
+		ethernet2 = &icssg1_emac1;
 	};
 
 	chosen {
-		stdout-path = "serial2:115200n8";
-		bootargs = "earlycon=ns16550a,mmio32,0x02800000";
+		stdout-path = "serial3:115200n8";
+		bootargs = "earlycon=ns16550a,mmio32,0x2810000";
 	};
 
 	memory@80000000 {
@@ -49,24 +49,24 @@ mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
 
 		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
 			compatible = "shared-dma-pool";
-			reg = <0 0xa0100000 0 0xf00000>;
+			reg = <0 0xa0100000 0 0x10000000>;
 			no-map;
 		};
 
-		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
+		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@b1000000 {
 			compatible = "shared-dma-pool";
-			reg = <0 0xa1000000 0 0x100000>;
+			reg = <0 0xb1000000 0 0x100000>;
 			no-map;
 		};
 
-		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
+		mcu_r5fss0_core1_memory_region: r5f-memory@b1100000 {
 			compatible = "shared-dma-pool";
-			reg = <0 0xa1100000 0 0xf00000>;
+			reg = <0 0xb1100000 0 0xf00000>;
 			no-map;
 		};
 
-		rtos_ipc_memory_region: ipc-memories@a2000000 {
-			reg = <0x00 0xa2000000 0x00 0x00100000>;
+		rtos_ipc_memory_region: ipc-memories@b2000000 {
+			reg = <0x00 0xb2000000 0x00 0x00200000>;
 			alignment = <0x1000>;
 			no-map;
 		};
@@ -120,11 +120,91 @@ vdd_mmc1_sd: fixedregulator-sd {
 		regulator-boot-on;
 		enable-active-high;
 		vin-supply = <&vcc3v3_io>;
-		gpio = <&pca9554 4 GPIO_ACTIVE_HIGH>;
 	};
 
+        leds1 {
+                compatible = "gpio-leds";
+
+                led0 {
+                        label = "status0:red";
+                gpios = <&main_gpio0 74 GPIO_ACTIVE_HIGH>;
+                        default-state = "off";
+                };
+
+                led1 {
+                        label = "status0:green";
+                        gpios = <&main_gpio0 84 GPIO_ACTIVE_HIGH>;
+                        linux,default-trigger = "timer";
+                        default-state = "on";
+                };
+        };
+
+        /* Dual Ethernet application node on PRU-ICSSG1 */
+        icssg1_eth: icssg1_eth {
+                compatible = "ti,am654-icssg-prueth";
+                pinctrl-names = "default";
+                pinctrl-0 = <&icssg1_rgmii_pins_default>;
+                sram = <&msmc_ram>;
+                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_udmap 0xc200>, /* egress slice 0 */
+                       <&main_udmap 0xc201>, /* egress slice 0 */
+                       <&main_udmap 0xc202>, /* egress slice 0 */
+                       <&main_udmap 0xc203>, /* egress slice 0 */
+                       <&main_udmap 0xc204>, /* egress slice 1 */
+                       <&main_udmap 0xc205>, /* egress slice 1 */
+                       <&main_udmap 0xc206>, /* egress slice 1 */
+                       <&main_udmap 0xc207>, /* egress slice 1 */
+                       <&main_udmap 0x4200>, /* ingress slice 0 */
+                       <&main_udmap 0x4201>, /* ingress slice 1 */
+                       <&main_udmap 0x4202>, /* mgmnt rsp slice 0 */
+                       <&main_udmap 0x4203>; /* 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 {
+                        phy-handle = <&icssg1_phy0>;
+                        phy-mode = "rgmii-rxid";
+                        syscon-rgmii-delay = <&scm_conf 0x4110>;
+                        /* Filled in by bootloader */
+                        local-mac-address = [00 00 00 00 00 00];
+                };
+
+                icssg1_emac1: ethernet-mii1 {
+                        phy-handle = <&icssg1_phy1>;
+                        phy-mode = "rgmii-rxid";
+                        syscon-rgmii-delay = <&scm_conf 0x4114>;
+                        /* Filled in by bootloader */
+                        local-mac-address = [00 00 00 00 00 00];
+                };
+
+        };
+
+
 	/* Dual Ethernet application node on PRU-ICSSG2 */
-	icssg2_eth: icssg2-eth {
+	/*icssg2_eth: icssg2-eth {
 		compatible = "ti,am654-icssg-prueth";
 		pinctrl-names = "default";
 		pinctrl-0 = <&icssg2_rgmii_pins_default>;
@@ -139,10 +219,10 @@ icssg2_eth: icssg2-eth {
 				"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
 
 		ti,pruss-gp-mux-sel = <2>,      /* MII mode */
-				      <2>,
+	/*				      <2>,
 				      <2>,
 				      <2>,	/* MII mode */
-				      <2>,
+	/*			      <2>,
 				      <2>;
 
 		ti,mii-g-rt = <&icssg2_mii_g_rt>;
@@ -155,19 +235,19 @@ icssg2_eth: icssg2-eth {
 		interrupt-names = "tx_ts0", "tx_ts1";
 
 		dmas = <&main_udmap 0xc300>, /* egress slice 0 */
-		       <&main_udmap 0xc301>, /* egress slice 0 */
-		       <&main_udmap 0xc302>, /* egress slice 0 */
-		       <&main_udmap 0xc303>, /* egress slice 0 */
-		       <&main_udmap 0xc304>, /* egress slice 1 */
-		       <&main_udmap 0xc305>, /* egress slice 1 */
-		       <&main_udmap 0xc306>, /* egress slice 1 */
-		       <&main_udmap 0xc307>, /* egress slice 1 */
-
-		       <&main_udmap 0x4300>, /* ingress slice 0 */
-		       <&main_udmap 0x4301>, /* ingress slice 1 */
-		       <&main_udmap 0x4302>, /* mgmnt rsp slice 0 */
-		       <&main_udmap 0x4303>; /* mgmnt rsp slice 1 */
-		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
+	/*	       <&main_udmap 0xc301>, /* egress slice 0 */
+	/*	       <&main_udmap 0xc302>, /* egress slice 0 */
+	/*	       <&main_udmap 0xc303>, /* egress slice 0 */
+	/*	       <&main_udmap 0xc304>, /* egress slice 1 */
+	/*	       <&main_udmap 0xc305>, /* egress slice 1 */
+	/*	       <&main_udmap 0xc306>, /* egress slice 1 */
+	/*	       <&main_udmap 0xc307>, /* egress slice 1 */
+
+	/*	       <&main_udmap 0x4300>, /* ingress slice 0 */
+	/*	       <&main_udmap 0x4301>, /* ingress slice 1 */
+	/*	       <&main_udmap 0x4302>, /* mgmnt rsp slice 0 */
+	/*	       <&main_udmap 0x4303>; /* mgmnt rsp slice 1 */
+	/*	dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
 			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
 			    "rx0", "rx1";
 
@@ -180,7 +260,7 @@ icssg2_emac0: port@0 {
 				phy-mode = "rgmii-id";
 				ti,syscon-rgmii-delay = <&scm_conf 0x4120>;
 				/* Filled in by bootloader */
-				local-mac-address = [00 00 00 00 00 00];
+	/*			local-mac-address = [00 00 00 00 00 00];
 			};
 			icssg2_emac1: port@1 {
 				reg = <1>;
@@ -188,10 +268,10 @@ icssg2_emac1: port@1 {
 				phy-mode = "rgmii-id";
 				ti,syscon-rgmii-delay = <&scm_conf 0x4124>;
 				/* Filled in by bootloader */
-				local-mac-address = [00 00 00 00 00 00];
+	/*			local-mac-address = [00 00 00 00 00 00];
 			};
 		};
-	};
+	};*/
 };
 
 &wkup_pmx0 {
@@ -209,6 +289,22 @@ AM65X_WKUP_IOPAD(0x003c, PIN_INPUT, 7) /* (P2) WKUP_GPIO0_27 */
 		>;
 	};
 
+        wkup_gpio0_pins_default: wkup-gpio0-pins-default {
+                pinctrl-single,pins = <
+                        AM65X_WKUP_IOPAD(0x00ac, PIN_OUTPUT, 7) /* (W2) WKUP_GPIO0_55     VDDR_VTT */
+                        AM65X_WKUP_IOPAD(0x00a8, PIN_OUTPUT, 7) /* (W1) WKUP_GPIO0_54   VPP_1V8  */
+                        AM65X_WKUP_IOPAD(0x0054, PIN_INPUT, 7) /* (N3) WKUP_GPIO0_33   ENERGY SWITCH  */
+                >;
+        };
+
+        wkup_uart0_pins_default: wkup-uart0-pins-default {
+                pinctrl-single,pins = <
+                        AM65X_WKUP_IOPAD(0x00a0, PIN_INPUT, 0)  /* (AB1) UART0_RXD */
+                        AM65X_WKUP_IOPAD(0x00a4, PIN_OUTPUT, 0) /* (AB5) UART0_TXD */
+                        AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 1) /* (AC1) UART0_RTSn */
+                >;
+        };
+
 	mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins-default {
 		pinctrl-single,pins = <
 			AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* (V1) MCU_OSPI0_CLK */
@@ -225,6 +321,15 @@ AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0) /* (R4) MCU_OSPI0_CSn0 */
 		>;
 	};
 
+        mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-pins_default {
+                pinctrl-single,pins = <
+                        AM65X_WKUP_IOPAD(0x0034, PIN_INPUT, 0) /* (T1) MCU_OSPI1_CLK */
+                        AM65X_WKUP_IOPAD(0x0040, PIN_INPUT, 0)  /* (P3) MCU_OSPI1_D0 */
+                        AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 0)  /* (P4) MCU_OSPI1_D1 */
+                        AM65X_WKUP_IOPAD(0x0050, PIN_OUTPUT, 0) /* (N2) MCU_OSPI1_CSn0 */
+                >;
+        };
+
 	wkup_pca554_default: wkup-pca554-default {
 		pinctrl-single,pins = <
 			AM65X_WKUP_IOPAD(0x0034, PIN_INPUT, 7) /* (T1) MCU_OSPI1_CLK.WKUP_GPIO0_25 */
@@ -257,15 +362,79 @@ AM65X_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
 };
 
 &main_pmx0 {
+
+        main_gpio0_pins_default: main-gpio0-pins-default{
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0128, PIN_OUTPUT, 7)      /* (AG25) GPIO0_74      red_led*/
+                        AM65X_IOPAD(0x0150, PIN_OUTPUT, 7)      /* (AE24) GPIO0_84      green_led*/
+                        AM65X_IOPAD(0x0178, PIN_INPUT, 7)       /* (AD22) GPIO0_94      LAN  INT*/
+                        AM65X_IOPAD(0x0040, PIN_OUTPUT, 7)      /* (R28) GPIO0_16      RESET_PSIO*/
+                        AM65X_IOPAD(0x0064, PIN_OUTPUT, 7)      /* (T24) GPIO0_25      TRIG_HSVM*/
+                        AM65X_IOPAD(0x0060, PIN_INPUT, 7)       /* (T25) GPIO0_24      BUSY_HSVM*/
+                        AM65X_IOPAD(0x0050, PIN_OUTPUT, 7)      /* (T28) GPIO0_20      INTERRUPT PSIO*/
+                        AM65X_IOPAD(0x0054, PIN_OUTPUT, 7)      /* (P23) GPIO0_21      INTERRUPT HSVM*/
+                        AM65X_IOPAD(0x0068, PIN_INPUT, 7)       /* (R24) GPIO0_26      POWER OK FROM PSIO*/
+                        AM65X_IOPAD(0x006c, PIN_OUTPUT, 7)      /* (T23) GPIO0_27      RESET_HSVM_MCU*/
+                        AM65X_IOPAD(0x0058, PIN_INPUT, 7)       /* (R26) GPIO0_22      INT2_EXP_MOD*/
+                        AM65X_IOPAD(0x005c, PIN_INPUT, 7)       /* (R23) GPIO0_23     INT3_EXP_MOD*/
+                        AM65X_IOPAD(0x00f4, PIN_OUTPUT, 7)      /* (AF27) GPIO0_61     RANGE_MCU*/
+                        AM65X_IOPAD(0x00fc, PIN_OUTPUT, 7)      /* (AG27) GPIO0_63     OE_SSXM*/
+                        AM65X_IOPAD(0x0100, PIN_OUTPUT, 7)      /* (AF28) GPIO0_64     SSXM_RESET_MCU*/
+                        AM65X_IOPAD(0x0104, PIN_OUTPUT, 7)      /* (AF26) GPIO0_65     F_SSCM_INT_MCU*/
+                        AM65X_IOPAD(0x0124, PIN_INPUT, 7)       /* (AH26) GPIO0_73     USER_GPIO_RSTn*/
+                        AM65X_IOPAD(0x0144, PIN_OUTPUT, 7)      /* (AC22) GPIO0_81     OE_PSIO*/
+                        AM65X_IOPAD(0x01f4, PIN_INPUT, 1)       /* (V24) PRG0_PRU0_GPO0     ADC1_DB0_MCU*/
+                        AM65X_IOPAD(0x01f8, PIN_INPUT, 1)       /* (W25) PRG0_PRU0_GPO1     ADC1_DB1_MCU*/
+                        AM65X_IOPAD(0x01fc, PIN_INPUT, 1)       /* (W24) PRG0_PRU0_GPO2     ADC1_DB2_MCU*/
+                        AM65X_IOPAD(0x0200, PIN_INPUT, 1)       /* (AA27) PRG0_PRU0_GPO3     ADC1_DB3_MCU*/
+                        AM65X_IOPAD(0x0204, PIN_INPUT, 1)       /* (Y24) PRG0_PRU0_GPO4     ADC1_DB4_MCU*/
+                        AM65X_IOPAD(0x0208, PIN_INPUT, 1)       /* (V28) PRG0_PRU0_GPO5     ADC1_DB5_MCU*/
+                        AM65X_IOPAD(0x020c, PIN_INPUT, 1)       /* (Y25) PRG0_PRU0_GPO6     ADC1_DB6_MCU*/
+                        AM65X_IOPAD(0x0210, PIN_INPUT, 1)       /* (U27) PRG0_PRU0_GPO7     ADC1_DB7_MCU*/
+                        AM65X_IOPAD(0x0214, PIN_INPUT, 1)       /* (V27) PRG0_PRU0_GPO8     ADC1_DB8_MCU*/
+                        AM65X_IOPAD(0x0218, PIN_INPUT, 1)       /* (V26) PRG0_PRU0_GPO9     ADC1_DB9_MCU*/
+                        AM65X_IOPAD(0x021c, PIN_INPUT, 1)       /* (U25) PRG0_PRU0_GPO10     ADC1_DB10_MCU*/
+                        AM65X_IOPAD(0x0220, PIN_INPUT, 1)       /* (AB25) PRG0_PRU0_GPO11     ADC1_DB11_MCU*/
+                        AM65X_IOPAD(0x0224, PIN_INPUT, 1)       /* (AD27) PRG0_PRU0_GPO12     ADC1_DB12_MCU*/
+                        AM65X_IOPAD(0x0228, PIN_INPUT, 1)       /* (AC26) PRG0_PRU0_GPO13     ADC1_DB13_MCU*/
+                        AM65X_IOPAD(0x022c, PIN_INPUT, 1)       /* (AD26) PRG0_PRU0_GPO14     ADC1_DB14_MCU*/
+                        AM65X_IOPAD(0x0230, PIN_INPUT, 1)       /* (AA24) PRG0_PRU0_GPO15     ADC1_DB15_MCU*/
+                        AM65X_IOPAD(0x0234, PIN_OUTPUT, 0)      /* (AD28) GPIO1_45        SSVM ADC1 CSn+RD*/
+                        AM65X_IOPAD(0x0238, PIN_INPUT, 1)       /* (U26) GPIO1_46          ADC1 BUSY from SSVM*/
+                        AM65X_IOPAD(0x023c, PIN_OUTPUT, 0)      /* (V25) GPIO1_47          ADC1 CONVSTA/B*/
+                        AM65X_IOPAD(0x0240, PIN_INPUT, 1)       /* (U24) GPIO1_48          ADC1_FRSTDATA_MCU*/
+                        AM65X_IOPAD(0x0284, PIN_OUTPUT, 0)      /* (AC24) GPIO1_65        SSVM ADC2 CSn+RD*/
+                        AM65X_IOPAD(0x0288, PIN_INPUT, 1)       /* (Y27) GPIO1_66          ADC2 BUSY from SSVM*/
+                        AM65X_IOPAD(0x028c, PIN_OUTPUT, 0)      /* (Y26) GPIO1_67          ADC2 CONVSTA/B*/
+                        AM65X_IOPAD(0x0290, PIN_INPUT, 1)       /* (W26) GPIO1_68          ADC2_FRSTDATA_MCU*/
+                >;
+        };
+
+
 	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(0x01ec, PIN_INPUT, 0)	/* (AG11) UART0_CTSn */
 			AM65X_IOPAD(0x01f0, PIN_OUTPUT, 0)	/* (AD11) UART0_RTSn */
 		>;
 	};
 
+        main_uart1_pins_default: main_uart1_pins_default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0174, PIN_INPUT, 6)       /* (AE23) UART1_RXD */
+                        AM65X_IOPAD(0x014C, PIN_OUTPUT, 6)      /* (AD23) UART1_TXD */
+                >;
+        };
+
+        /*prg1_uart0_pins_default: prg1-uart0-pins-default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0154, PIN_INPUT, 2)       /* (AF25) UART0_RXD */
+        /*              AM65X_IOPAD(0x0158, PIN_OUTPUT, 2)      /* (AF24) UART0_TXD */
+        /*              AM65X_IOPAD(0x0108, PIN_OUTPUT, 2)      /* (AH25) UART0_RTSn */
+        /*      >;
+        };*/
+
 	main_i2c2_pins_default: main-i2c2-pins-default {
 		pinctrl-single,pins = <
 			AM65X_IOPAD(0x0074, PIN_INPUT, 5) /* (T27) GPMC0_CSn3.I2C2_SCL */
@@ -273,6 +442,13 @@ AM65X_IOPAD(0x0070, PIN_INPUT, 5) /* (R25) GPMC0_CSn2.I2C2_SDA */
 		>;
 	};
 
+        main_i2c3_pins_default: main-i2c3-pins-default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x01c0, PIN_INPUT_PULLUP, 2) /* (AF13) I2C3_SCL */
+                        AM65X_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (AG12) I2C3_SDA */
+                >;
+        };
+
 	main_spi0_pins_default: main-spi0-pins-default {
 		pinctrl-single,pins = <
 			AM65X_IOPAD(0x01c4, PIN_INPUT, 0) /* (AH13) SPI0_CLK */
@@ -308,7 +484,7 @@ 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 */
+			/* AM65X_IOPAD(0x02e0, PIN_INPUT, 0) /* (C24) MMC1_SDWP */
 		>;
 	};
 
@@ -318,42 +494,93 @@ AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) USB1_DRVVBUS */
 		>;
 	};
 
-	icssg2_mdio_pins_default: icssg2-mdio-pins-default {
+        icssg1_mdio_pins_default: icssg1_mdio_pins_default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0180, PIN_INPUT, 0) /* (AD18) PRG1_PRU0_GPO7.PRG1_MDIO0_MDIO */
+                        AM65X_IOPAD(0x0184, PIN_OUTPUT, 0) /* (AH18) PRG1_PRU1_GPO7.PRG1_MDIO0_MDC */
+                >;
+        };
+
+	/* 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 {
+			/* AM65X_IOPAD(0x00c8, PIN_OUTPUT, 2) /* (AE15) PRG2_PRU1_GPO7.PRG2_MDIO0_MDC */
+		/* >;
+	}; */
+
+        icssg1_rgmii_pins_default: icssg1_rgmii_pins_default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0130, PIN_INPUT, 2) /* (AH24) PRG1_PRU1_GPO0.PRG1_RGMII2_RD0 */
+                        AM65X_IOPAD(0x0134, PIN_INPUT, 2) /* (AH23) PRG1_PRU1_GPO1.PRG1_RGMII2_RD1 */
+                        AM65X_IOPAD(0x0138, PIN_INPUT, 2) /* (AG21) PRG1_PRU1_GPO2.PRG1_RGMII2_RD2 */
+                        AM65X_IOPAD(0x013c, PIN_INPUT, 2) /* (AH22) PRG1_PRU1_GPO3.PRG1_RGMII2_RD3 */
+                        AM65X_IOPAD(0x0160, PIN_OUTPUT, 2) /* (AE20) PRG1_PRU1_GPO8.PRG1_RGMII2_TD0 */
+                        AM65X_IOPAD(0x0164, PIN_OUTPUT, 2) /* (AF19) PRG1_PRU1_GPO9.PRG1_RGMII2_TD1 */
+                        AM65X_IOPAD(0x0168, PIN_OUTPUT, 2) /* (AH19) PRG1_PRU1_GPO10.PRG1_RGMII2_TD2 */
+                        AM65X_IOPAD(0x016c, PIN_OUTPUT, 2) /* (AG19) PRG1_PRU1_GPO11.PRG1_RGMII2_TD3 */
+                        AM65X_IOPAD(0x0170, PIN_INPUT, 2) /* (AE19) PRG1_PRU1_GPO16.PRG1_RGMII2_TXC */
+                        AM65X_IOPAD(0x015c, PIN_OUTPUT, 2) /* (AC20) PRG1_PRU1_GPO6.PRG1_RGMII2_TX_CTL */
+                        AM65X_IOPAD(0x0148, PIN_INPUT, 2) /* (AG22) PRG1_PRU1_GPO5.PRG1_RGMII2_RXC */
+                        AM65X_IOPAD(0x0140, PIN_INPUT, 2) /* (AE21) PRG1_PRU1_GPO4.PRG1_RGMII2_RX_CTL */
+
+                        AM65X_IOPAD(0x00e0, PIN_INPUT, 2) /* (AE22) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
+                        AM65X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AG24) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
+                        AM65X_IOPAD(0x00e8, PIN_INPUT, 2) /* (AF23) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
+                        AM65X_IOPAD(0x00ec, PIN_INPUT, 2) /* (AD21) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
+                        AM65X_IOPAD(0x0110, PIN_OUTPUT, 2) /* (AH20) PRG1_PRU0_GPO8.PRG1_RGMII1_TD0 */
+                        AM65X_IOPAD(0x0114, PIN_OUTPUT, 2) /* (AH21) PRG1_PRU0_GPO9.PRG1_RGMII1_TD1 */
+                        AM65X_IOPAD(0x0118, PIN_OUTPUT, 2) /* (AG20) PRG1_PRU0_GPO10.PRG1_RGMII1_TD2 */
+                        AM65X_IOPAD(0x011c, PIN_OUTPUT, 2) /* (AD19) PRG1_PRU0_GPO11.PRG1_RGMII1_TD3 */
+                        AM65X_IOPAD(0x0120, PIN_INPUT, 2) /* (AD20) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
+                        AM65X_IOPAD(0x010c, PIN_OUTPUT, 2) /* (AF21) PRG1_PRU0_GPO6.PRG1_RGMII1_TX_CTL */
+                        AM65X_IOPAD(0x00f8, PIN_INPUT, 2) /* (AF22) PRG1_PRU0_GPO5.PRG1_RGMII1_RXC */
+                        AM65X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AG23) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
+
+                        /*AM65X_IOPAD(0x017C, PIN_INPUT, 2) /* (AC21) PRG1_PRU1_GPO19.PRG1_IEP1_EDC_SYNC_OUT0 */
+                >;
+        };
+
+        /*icssg1_iep1_pins_default: icssg1_iep1_pins_default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x017C, PIN_INPUT, 2) /* (AC21) PRG1_PRU1_GPO19.PRG1_IEP1_EDC_SYNC_OUT0 */
+        /*      >;
+        };*/
+
+        icssg1_iep0_pins_default: icssg1_iep0_pins_default {
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x012C, PIN_INPUT, 2) /* (AG26) PRG1_PRU0_GPO19.PRG1_IEP0_EDC_SYNC_OUT0 */
+                >;
+        };
+
+	/* 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 */
-		>;
-	};
+			/* 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 {
@@ -371,6 +598,14 @@ AM65X_IOPAD(0x000c, PIN_INPUT, 0) /* (E21) I2C1_SDA */
 		>;
 	};
 
+        main_gpio1_pins_default: main-gpio1-pins-default{
+                pinctrl-single,pins = <
+                        AM65X_IOPAD(0x0018, PIN_OUTPUT, 7)      /* (B22) GPIO1_88      ENERGY_LED1 ssxm*/
+                        AM65X_IOPAD(0x001c, PIN_OUTPUT, 7)      /* (C23) GPIO1_89      ENERGY_LED1 ssxm*/
+                        AM65X_IOPAD(0x0014, PIN_INPUT, 7)       /* (A22) GPIO1_87          WAN  INT*/
+                >;
+        };
+
 	ecap0_pins_default: ecap0-pins-default {
 		pinctrl-single,pins = <
 			AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
@@ -378,48 +613,74 @@ AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
 	};
 
 	/* Select GPIO1_87 for ICSSG2 PHY interrupt */
-	icssg2_phy_irq_pins_default: icssg2-phy-irq-default-pins {
+	/* icssg2_phy_irq_pins_default: icssg2-phy-irq-default-pins {
 		pinctrl-single,pins = <
 			AM65X_IOPAD(0x0014, PIN_INPUT, 7) /* (A22) EXT_REFCLK1.GPIO1_87 */
-		>;
-	};
+		/* >;
+	};*/
 };
 
+
 &wkup_uart0 {
-	/* Wakeup UART is used by System firmware */
-	status = "reserved";
+        /* Wakeup UART is used by System firmware */
+        status = "okay";
+        pinctrl-names = "default";
+        pinctrl-0 = <&wkup_uart0_pins_default>;
+/*      linux,rs485-enabled-at-boot-time;*/
+        rs485-rts-active-high;
+/*      rs485-rts-delay = <0 0>;*/
+};
+
+&main_uart0 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&main_uart0_pins_default>;
+        power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
+/*      linux,rs485-enabled-at-boot-time;*/
+        rs485-rts-active-high;
+/*      rs485-rts-delay = <0 0>; */
 };
 
-&mcu_uart0 {
+/* &mcu_uart0 {
 	status = "okay";
 	/* Default pinmux */
-};
+/* }; */
 
-&main_uart0 {
+/* &main_uart0 {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&main_uart0_pins_default>;
 	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
+}; */
+
+&main_uart1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&main_uart1_pins_default>;
+        status = "okay";
 };
 
-&wkup_i2c0 {
-	status = "okay";
-	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>;
-	};
+&wkup_i2c0 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&wkup_i2c0_pins_default>;
+        clock-frequency = <400000>;
+
+        pca9554: gpio@38 {
+                compatible = "nxp,pca9554";
+                reg = <0x38>;
+                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>;*/
+        };
+
+        eeprom: eeprom@50 {
+                compatible = "atmel,24c256";
+                reg = <0x50>;
+        };
 };
 
 &mcu_i2c0 {
@@ -439,6 +700,12 @@ pca9555: gpio@21 {
 		gpio-controller;
 		#gpio-cells = <2>;
 	};
+	
+	rtc: rtc@68 {
+                compatible = "maxim,ds3231";
+                reg = <0x68>;
+        };
+
 };
 
 &main_i2c1 {
@@ -455,6 +722,37 @@ &main_i2c2 {
 	clock-frequency = <400000>;
 };
 
+&main_i2c3 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&main_i2c3_pins_default>;
+        clock-frequency = <200000>;
+
+        eeprom_ser2: eeprom@56 {
+                compatible = "atmel,24c256";
+                reg = <0x56>;
+        };
+        eeprom_ser1_ser2: eeprom@55 {
+                compatible = "atmel,24c256";
+                reg = <0x55>;
+        };
+        eeprom_hsvm_ser1: eeprom@54 {
+                compatible = "atmel,24c256";
+                reg = <0x54>;
+        };
+        eeprom_psio: eeprom@53 {
+                compatible = "atmel,24c256";
+                reg = <0x53>;
+        };
+        eeprom_ssm: eeprom@52 {
+                compatible = "atmel,24c256";
+                reg = <0x52>;
+        };
+        eeprom_ftmk: eeprom@50 {
+                compatible = "atmel,24c256";
+                reg = <0x50>;
+        };
+};
+
 &ecap0 {
 	status = "okay";
 	pinctrl-names = "default";
@@ -500,6 +798,14 @@ &sdhci1 {
 	disable-wp;
 };
 
+&dwc3_1 {
+        status = "okay";
+};
+
+&usb1_phy {
+        status = "okay";
+};
+
 &usb1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&usb1_pins_default>;
@@ -566,6 +872,7 @@ &mcu_r5fss0_core1 {
 	mboxes = <&mailbox0_cluster1 &mbox_mcu_r5fss0_core1>;
 };
 
+/*
 &ospi0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
@@ -628,18 +935,17 @@ partition@3fe0000 {
 			};
 		};
 	};
-};
+}; */
 
 &mcu_cpsw {
 	pinctrl-names = "default";
-	pinctrl-0 = <&mcu_cpsw_pins_default>;
+	pinctrl-0 = <&mcu_cpsw_pins_default> ;
 };
 
 &davinci_mdio {
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&mcu_mdio_pins_default>;
-
 	phy0: ethernet-phy@0 {
 		reg = <0>;
 		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
@@ -656,15 +962,60 @@ &dss {
 	status = "disabled";
 };
 
-&icssg0_mdio {
-	status = "disabled";
+&ospi1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&mcu_fss0_ospi1_pins_default>;
+
+        flash@0{
+                compatible = "jedec,spi-nor";
+                reg = <0x0>;
+                spi-tx-bus-width = <1>;
+                spi-rx-bus-width = <1>;
+                spi-max-frequency = <48000000>;
+                cdns,tshsl-ns = <60>;
+                cdns,tsd2d-ns = <60>;
+                cdns,tchsh-ns = <60>;
+                cdns,tslch-ns = <60>;
+                cdns,read-delay = <0>;
+                cdns,phy-mode;
+                #address-cells = <1>;
+                #size-cells = <1>;
+
+        };
+};
+
+&icssg1_iep0 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&icssg1_iep0_pins_default>;
 };
 
+/* &icssg1_iep1 {
+        pinctrl-names = "default";
+        pinctrl-0 = <&icssg1_iep0_pins_default>;
+};*/
+
+
 &icssg1_mdio {
-	status = "disabled";
+        status = "okay";
+        pinctrl-names = "default";
+        pinctrl-0 = <&icssg1_mdio_pins_default>;
+
+        icssg1_phy0: ethernet-phy@0 {
+                reg = <0>;
+                ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+                rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
+        };
+
+        icssg1_phy1: ethernet-phy@1 {
+                reg = <1>;
+                ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
+                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
+                rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
+        };
 };
 
-&icssg2_mdio {
+/* &icssg2_mdio {
 	status = "okay";
 	pinctrl-names = "default", "icssg2-phy-irq";
 	pinctrl-0 = <&icssg2_mdio_pins_default>, <&icssg2_phy_irq_pins_default>;
@@ -684,4 +1035,25 @@ icssg2_phy1: ethernet-phy@3 {
 		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
 		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
 	};
+}; */
+
+&wkup_gpio0{
+        status = "okay";
+        pinctrl-names = "default";
+        pinctrl-0 = <&wkup_gpio0_pins_default>;
+};
+
+&main_gpio0{
+        status = "okay";
+        pinctrl-names = "default";
+        pinctrl-0 = <&main_gpio0_pins_default>;
+
 };
+
+&main_gpio1{
+        status = "okay";
+        pinctrl-names = "default";
+        pinctrl-0 = <&main_gpio1_pins_default>;
+
+};
+
diff --git a/arch/arm64/boot/dts/ti/k3-am654.dtsi b/arch/arm64/boot/dts/ti/k3-am654.dtsi
index 4cc329b271ac..2f38b4dbf162 100644
--- a/arch/arm64/boot/dts/ti/k3-am654.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am654.dtsi
@@ -22,7 +22,7 @@ core1 {
 				};
 			};
 
-			cluster1: cluster1 {
+			/*cluster1: cluster1 {
 				core0 {
 					cpu = <&cpu2>;
 				};
@@ -30,7 +30,7 @@ core0 {
 				core1 {
 					cpu = <&cpu3>;
 				};
-			};
+			};*/
 		};
 
 		cpu0: cpu@0 {
@@ -61,7 +61,7 @@ cpu1: cpu@1 {
 			next-level-cache = <&L2_0>;
 		};
 
-		cpu2: cpu@100 {
+		/*cpu2: cpu@100 {
 			compatible = "arm,cortex-a53";
 			reg = <0x100>;
 			device_type = "cpu";
@@ -87,7 +87,7 @@ cpu3: cpu@101 {
 			d-cache-line-size = <64>;
 			d-cache-sets = <128>;
 			next-level-cache = <&L2_1>;
-		};
+		};*/
 	};
 
 	L2_0: l2-cache0 {
diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
index 4a97cb745788..eaf7068ea3f4 100644
--- a/drivers/leds/led-core.c
+++ b/drivers/leds/led-core.c
@@ -181,7 +181,7 @@ static void led_blink_setup(struct led_classdev *led_cdev,
 
 	/* blink with 1 Hz as default if nothing specified */
 	if (!*delay_on && !*delay_off)
-		*delay_on = *delay_off = 500;
+		*delay_on = *delay_off = 1000;
 
 	led_set_software_blink(led_cdev, *delay_on, *delay_off);
 }
diff --git a/drivers/mtd/spi-nor/spansion.c b/drivers/mtd/spi-nor/spansion.c
index 7e7c68fc7776..c442eb2bce1a 100644
--- a/drivers/mtd/spi-nor/spansion.c
+++ b/drivers/mtd/spi-nor/spansion.c
@@ -401,6 +401,7 @@ static const struct flash_info spansion_nor_parts[] = {
 		NO_SFDP_FLAGS(SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)
 		MFR_FLAGS(USE_CLSR)
 		.fixups = &s25fs_s_nor_fixups, },
+	{ "cy15b104q",  INFO(0x505180, 0,        512 * 1024, 0) },
 	{ "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024,  64) },
 	{ "s25sl12801", INFO(0x012018, 0x0301,  64 * 1024, 256) },
 	{ "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024,  64)
diff --git a/drivers/net/ethernet/ti/icssg_ethtool.c b/drivers/net/ethernet/ti/icssg_ethtool.c
index dfe58cd8a295..6e372882f2c8 100644
--- a/drivers/net/ethernet/ti/icssg_ethtool.c
+++ b/drivers/net/ethernet/ti/icssg_ethtool.c
@@ -8,6 +8,8 @@
 #include "icssg_prueth.h"
 #include <linux/regmap.h>
 
+#define STATS_TIME_LIMIT_MS 25000000
+
 #define STATS_TIME_LIMIT_1G_MS    25000    /* 25 seconds @ 1G */
 #define ICSSG_TX_PACKET_OFFSET	0xA0
 #define ICSSG_TX_BYTE_OFFSET	0xEC
diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
index f7436191fa80..9ecf5da2daf8 100644
--- a/drivers/net/phy/dp83867.c
+++ b/drivers/net/phy/dp83867.c
@@ -911,27 +911,8 @@ static int dp83867_phy_reset(struct phy_device *phydev)
 
 	usleep_range(10, 20);
 
-	err = phy_modify(phydev, MII_DP83867_PHYCTRL,
+	return phy_modify(phydev, MII_DP83867_PHYCTRL,
 			 DP83867_PHYCR_FORCE_LINK_GOOD, 0);
-	if (err < 0)
-		return err;
-
-	/* Configure the DSP Feedforward Equalizer Configuration register to
-	 * improve short cable (< 1 meter) performance. This will not affect
-	 * long cable performance.
-	 */
-	err = phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_DSP_FFE_CFG,
-			    0x0e81);
-	if (err < 0)
-		return err;
-
-	err = phy_write(phydev, DP83867_CTRL, DP83867_SW_RESTART);
-	if (err < 0)
-		return err;
-
-	usleep_range(10, 20);
-
-	return 0;
 }
 
 static void dp83867_link_change_notify(struct phy_device *phydev)
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
index 905ac7910c98..dc2dff2a94ed 100644
--- a/drivers/rpmsg/virtio_rpmsg_bus.c
+++ b/drivers/rpmsg/virtio_rpmsg_bus.c
@@ -757,8 +757,8 @@ static int rpmsg_recv_single(struct virtproc_info *vrp, struct device *dev,
 
 		/* farewell, ept, we don't need you anymore */
 		kref_put(&ept->refcount, __ept_release);
-	} else
-		dev_warn_ratelimited(dev, "msg received with no recipient\n");
+	} //else
+		//dev_warn_ratelimited(dev, "msg received with no recipient\n");
 
 	/* publish the real size of the buffer */
 	rpmsg_sg_init(&sg, msg, vrp->buf_size);
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index 77c3c017b0d6..8a3b1bb776c7 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -2523,7 +2523,7 @@ static int cqspi_probe(struct platform_device *pdev)
 	ddata  = of_device_get_match_data(dev);
 	if (ddata) {
 		if (ddata->quirks & CQSPI_NEEDS_WR_DELAY)
-			cqspi->wr_delay = 50 * DIV_ROUND_UP(NSEC_PER_SEC,
+			cqspi->wr_delay = 400 * DIV_ROUND_UP(NSEC_PER_SEC,
 						cqspi->master_ref_clk_hz);
 		if (ddata->hwcaps_mask & CQSPI_SUPPORTS_OCTAL)
 			master->mode_bits |= SPI_RX_OCTAL | SPI_TX_OCTAL;

  • Hello, 
    I was able to get rid of the errors for icssg1_prueth probe.

    Now I do not get any specific errors now but still the PHY is not loaded correctly.

    I observed that on my 5.10 build I used to get below messages, which I dont see now

    [   16.918008] TI DP83867 b132400.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:00, irq=POLL)
    [   16.932678] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [   16.932727] random: crng init done
    [   16.947631] TI DP83867 b132400.mdio:01: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:01, irq=POLL)
    [   16.958356] icssg-prueth icssg1_eth: TI PRU ethernet driver initialized: dual EMAC mode

    We referred to the latest version of k3-am654-idk.dtso as we need to enable icssg1. According to this file, we have done all the expected changes.

    As per below snap, ip addr command also does not show any useful output

  • Hello Nikhil,

    May I ask what you did to resolve the error for "icssg-prueth: probe of icssg1_eth failed with error -2"?

    What showed up in the console after resolving the probe error?

    -Daolin

  • When my icssg is probed correctly in kernel 5.1 I get below messages from driver. Below messages I dont see now.

    [   16.918008] TI DP83867 b132400.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:00, irq=POLL)
    [   16.932678] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [   16.932727] random: crng init done
    [   16.947631] TI DP83867 b132400.mdio:01: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:01, irq=POLL)
    [   16.958356] icssg-prueth icssg1_eth: TI PRU ethernet driver initialized: dual EMAC mode

    Below is my output after I fixed the previous error, I observed that there was a "ethernet-ports" section added in device tree in kernel 6.1 which was not there in kernel 5.1. That fixed by error "-2" but still not seeing above log.

    Also if you see below log line 4, we see that MDIO is set in manual mode, does this affect the functioning of PHY with ethernet driver? We dont see MDIO getting set in manual mode in kernel 5.1

    Latest console Log:

    [   13.048710] NET: Registered PF_INET6 protocol family
    [   13.055071] Segment Routing with IPv6
    [   13.058809] In-situ OAM (IOAM) with IPv6
    [   13.144190] davinci_mdio b132400.mdio: Configuring MDIO in manual mode
    [   13.189235] davinci_mdio b132400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [   13.251846] davinci_mdio b132400.mdio: phy[0]: device b132400.mdio:00, driver TI DP83867
    [   13.259987] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867
    [   13.343365] platform 41000000.r5f: configured R5F for remoteproc mode
    [   13.350286] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [   13.358698] remoteproc remoteproc0: 41000000.r5f is available
    [   13.365085] platform 41400000.r5f: configured R5F for remoteproc mode
    [   13.371997] platform 41400000.r5f: assigned reserved memory node r5f-dma-memory@b1000000
    [   13.380323] remoteproc remoteproc1: 41400000.r5f is available
    [   13.451521] remoteproc remoteproc2: b00a000.txpru is available
    [   13.457866] remoteproc remoteproc3: b00c000.txpru is available
    [   13.464297] remoteproc remoteproc4: b10a000.txpru is available
    [   13.470522] remoteproc remoteproc5: b10c000.txpru is available
    [   13.489713] remoteproc remoteproc6: b20a000.txpru is available
    [   13.500975] remoteproc remoteproc7: b20c000.txpru is available
    [   13.763907] remoteproc remoteproc8: b038000.pru is available
    [   13.777903] remoteproc remoteproc9: b006000.rtu is available
    [   13.787355] remoteproc remoteproc10: b034000.pru is available
    [   13.793974] remoteproc remoteproc11: b004000.rtu is available
    [   13.809160] remoteproc remoteproc12: b238000.pru is available
    [   13.814999] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [   13.815087] random: crng init done
    [   13.822873] remoteproc remoteproc13: b206000.rtu is available
    [   13.834041] remoteproc remoteproc14: b234000.pru is available
    [   13.841916] remoteproc remoteproc15: b204000.rtu is available
    [   13.848395] remoteproc remoteproc16: b138000.pru is available
    [   13.854879] remoteproc remoteproc17: b106000.rtu is available
    [   13.870199] remoteproc remoteproc18: b134000.pru is available
    [   13.876761] remoteproc remoteproc19: b104000.rtu is available
    [   14.032256] usbcore: registered new interface driver usbfs
    [   14.041831] usbcore: registered new interface driver hub
    [   14.047253] usbcore: registered new device driver usb
    [   14.147801] remoteproc remoteproc1: powering up 41400000.r5f
    [   14.161238] remoteproc remoteproc1: Booting fw image am65x-mcu-r5f0_1-fw, size 3769444
    [   14.173701] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@b1000000
    [   14.185223] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   14.192244] rproc-virtio rproc-virtio.2.auto: registered virtio0 (type 7)
    [   14.199093] remoteproc remoteproc1: remote processor 41400000.r5f is now up
    [   14.206189] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [   14.261040] remoteproc remoteproc0: powering up 41000000.r5f
    [   14.266855] remoteproc remoteproc0: Booting fw image am65x-mcu-r5f0_0-fw, size 3886076
    [   14.277843] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@a0000000
    [   14.287643] virtio_rpmsg_bus virtio1: rpmsg host is online
    [   14.293334] rproc-virtio rproc-virtio.3.auto: registered virtio1 (type 7)
    [   14.300191] remoteproc remoteproc0: remote processor 41000000.r5f is now up
    [   14.374972] Initializing XFRM netlink socket
    [   14.469241] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    nice: can't execute '/bin/timestamp': No such file or directory
    FTM key is ... 
    / # [   15.722601] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0x65
    [   15.730464] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.HC addr 0x66
    [   15.737516] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [   15.744818] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.HC addr 0xf

  • I followed flow of icssg driver using print log

    -> prueth_probe()

    -> icss_iep_get_idx()

    -> platform_get_drvdata() function gives probe error for iep0.

  • Hi Nikhil,

    For kernel 6.1, the "Configuring MDIO in manual mode" message is expected and should not impact the PHY. What this means is that bit bang is being used to general MDIO signals to communicate with the PHY. The davinci_mdio.c driver should be the one that configures in MDIO manual mode. I'm not sure this same driver was used in kernel 5.1. 

    The fact that you are seeing the following in the boot log shows that mdio communication was successfully able to detect phy at addresses 0 and 1 and attach with the corresponding DP83867 phy driver. I think the kernel messages between 6.1 and 5.1 might be different that's why you don't see the same "attached PHY driver [TI DP83867]" from 5.1. 

    [   13.144190] davinci_mdio b132400.mdio: Configuring MDIO in manual mode
    [   13.189235] davinci_mdio b132400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [   13.251846] davinci_mdio b132400.mdio: phy[0]: device b132400.mdio:00, driver TI DP83867
    [   13.259987] davinci_mdio b132400.mdio: phy[1]: device b132400.mdio:01, driver TI DP83867

    However, "icssg-prueth icssg1_eth: TI PRU ethernet driver initialized: dual EMAC mode" still should show up... do you see any log output when running "dmesg | grep icssg*"? 

    -Daolin

  • Hi, thanks for your response.

    "dmesg | grep icssg*" does not show me any useful log related to icssg.

    We see that the probe for icssg_eth itself is failing on the driver level.

  • Hi Nikhil,

    If nothing shows for "dmesg | grep icssg*" then the icssg ethernet probe might have failed at some point in the drivers/net/ethernet/ti/icssg_prueth.c driver as you pointed out. 

    Have you tried narrowing down where in the probe function in the icssg_prueth.c driver it fails? Of course, it should be failing somewhere before the below section of the probe function and wouldn't be one of obvious return errors since the messages corresponding to those errors didn't show up in the boot log. For testing purposes, you could try adding your own debug messages in the driver to further narrow down.

    dev_info(dev, "TI PRU ethernet driver initialized: %s EMAC mode\n",
    		 (!eth0_node || !eth1_node) ? "single" : "dual");

    -Daolin
  • >>>We are using prebuilt PRU and R5F binaries which we used in kernel 5.10.

    Are you able to see any prueth-fw loaded based on the boot log messages? Is it okay for you to share a full up-to-date boot log after you fixed the error "-2"?

    For instance, this is what I see on an AM64x EVM (09.02.01.09) with the prueth-fw being loaded

    [  11.286902] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: dual EMAC mode
    [  11.833895] remoteproc remoteproc12: powering up 300b4000.pru
    [  11.871363] remoteproc remoteproc12: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 40816
    [  11.880933] remoteproc remoteproc12: unsupported resource 5
    [  11.886591] remoteproc remoteproc12: remote processor 300b4000.pru is now up
    [  11.913621] remoteproc remoteproc13: powering up 30084000.rtu
    [  11.931854] remoteproc remoteproc13: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30888
    [  11.941321] remoteproc remoteproc13: remote processor 30084000.rtu is now up
    [  11.949102] remoteproc remoteproc7: powering up 3008a000.txpru
    [  11.962374] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 36672
    [  11.971975] remoteproc remoteproc7: remote processor 3008a000.txpru is now up
    [  11.981210] remoteproc remoteproc14: powering up 300b8000.pru
    [  11.996173] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-pru1-prueth-fw.elf, size 41092
    [  12.010097] remoteproc remoteproc14: unsupported resource 5
    [  12.010138] remoteproc remoteproc14: remote processor 300b8000.pru is now up
    [  12.010227] remoteproc remoteproc15: powering up 30086000.rtu
    [  12.031434] remoteproc remoteproc15: Booting fw image ti-pruss/am65x-sr2-rtu1-prueth-fw.elf, size 30124
    [  12.046258] remoteproc remoteproc15: remote processor 30086000.rtu is now up
    [  12.046626] remoteproc remoteproc8: powering up 3008c000.txpru
    [  12.067181] remoteproc remoteproc8: Booting fw image ti-pruss/am65x-sr2-txpru1-prueth-fw.elf, size 35184

    Is there a reason why you are not using the prueth firmwares corresponding to the kernel 6.1 release? Another idea is try replacing the prueth firmwares that you are currently using with the version corresponding to the 09.01.00.007 you are using.

    -Daolin

  • Hi, now we are using pru-eth firmwares as provided by default in build (was using old ones earlier).

    Using my pru-eth firmwares which I currently used for 5.10 kernel did not have any impact on the underlying issue.

  • We tried narrowing down the error in icssg_prueth.c

    I found that code fails for below flow

    -> prueth_probe()

    -> icss_iep_get_idx()

    -> platform_get_drvdata() function gives probe error for iep0.

    I suspect something is wrong with my iep0 settings for icssg1

  • This is latest log itself after fixing error -2. I have also added my expected logs above.

  • Hi Nikhil,

    Thanks for sharing, may I ask if there was an error message for the "platform_get_drvdata() function gives probe error for iep0" probe error?

    Are you testing this on a custom board or an AM65x IDK? I currently don't have an AM65x IDK to see if I can attempt to reproduce on my setup so I will check with the internal team about this issue.

    I hope to respond with an update tomorrow or Wednesday.

    -Daolin

  • Hi Nikhil,

    May I ask:

    1. Was there was an error message for the "platform_get_drvdata() function gives probe error for iep0" probe error?

    2. Are you testing this on a custom board or an AM65x IDK?

    3. What are the specific steps you took to migrate from 5.10 to 6.1 kernel? Are you currently using the TI provided wic image associated with SDK 09.01.00.007? I would recommend using the latest SDK if possible.

    4. Do you see the same issue when completely disabling the icssg1_iep0 and icssg1_iep1 nodes from the dts and dtsi (preferably by commenting out). I want to see if the same probe failure occurs when these iep entries are "missing". 

    -Daolin