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.

J721EXSOMXEVM: PCIe bus: Linux boot stuck after PCIe changes

Part Number: J721EXSOMXEVM

Hello,

I am trying to configure SerDes for PCIe. After configuring the SerDes, my Linux boot is stuck at the following boot log. in our Custom board SerDes2 is mapped to PCIe2 & SerDes3 is mapped to PCIe3. 

MMC:   sdhci@4f80000: 0, sdhci@4fb0000: 1
Loading Environment from MMC... OK
In:    serial@2870000
Out:   serial@2870000
Err:   serial@2870000
Reading on-board EEPROM at 0x50 failed 1
Net:   can't parse phy-handle port 1 (-2)
can't find cpsw-phy-sel
No ethernet found.

Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0(part 0) is current device
SD/MMC found on device 0
** Unrecognized filesystem type **
16654344 bytes read in 50 ms (317.7 MiB/s)
93220 bytes read in 2 ms (44.5 MiB/s)
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Loading Device Tree to 00000000fdd9f000, end 00000000fdeb8fff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
[    0.000000] Linux version 5.4.40-g66cf445b76 (oe-user@oe-host) (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 SMP PREEMPT Fri Jan 29 08:27:45 UTC 2021
[    0.000000] Machine model: Texas Instruments K3 J721E SoC
[    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002870000 (options '')
[    0.000000] printk: bootconsole [ns16550a0] enabled
[    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 31 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 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 r5f-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 r5f-memory@a4100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a5000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a5100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@a5100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c66-dma-memory@a6000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a6100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c66-memory@a6100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c66-dma-memory@a7000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a7100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c66-memory@a7100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node c71-dma-memory@a8000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000a8100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node c71-memory@a8100000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000fb000000, size 1 MiB
[    0.000000] OF: reserved mem: initialized node r5f-dma-memory@fb000000, compatible id shared-dma-pool
[    0.000000] Reserved memory: created DMA memory pool at 0x00000000fb100000, size 15 MiB
[    0.000000] OF: reserved mem: initialized node r5f-memory@fb100000, compatible id shared-dma-pool
[    0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] percpu: Embedded 2 pages/cpu s48408 r8192 d74472 u131072
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: EL2 vector hardening
[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 47825
[    0.000000] Kernel command line: console=ttyS9,115200n8 earlycon=ns16550a,mmio32,0x02870000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ot
[    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: mapped [mem 0xbbff0000-0xbfff0000] (64MB)
[    0.000000] Memory: 3354048K/3063808K available (9534K kernel code, 776K rwdata, 3840K rodata, 1728K init, 695K bss, 18446744073708737088K 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 restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
[    0.000000]  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: 960 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: no VLPI support, no direct LPI support
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001900000
[    0.000000] ITS [mem 0x01820000-0x0182ffff]
[    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
[    0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @8c0800000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x00000008c00c0000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x00000008c00d0000
[    0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x438 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000001] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.008349] Console: colour dummy device 80x25
[    0.012904] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.023573] pid_max: default: 32768 minimum: 301
[    0.028318] LSM: Security Framework initializing
[    0.033060] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.040626] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear)
[    0.072671] ASID allocator initialised with 32768 entries
[    0.086198] rcu: Hierarchical SRCU implementation.
[    0.099140] Platform MSI: gic-its@1820000 domain created
[    0.104665] PCI/MSI: /interconnect@100000/interrupt-controller@1800000/gic-its@1820000 domain created
[    0.122098] smp: Bringing up secondary CPUs ...
[    0.159048] Detected PIPT I-cache on CPU1
[    0.159065] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
[    0.159075] GICv3: CPU1: using allocated LPI pending table @0x00000008c00e0000
[    0.159094] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
[    0.159132] smp: Brought up 1 node, 2 CPUs
[    0.188475] SMP: Total of 2 processors activated.
[    0.193280] CPU features: detected: 32-bit EL0 Support
[    0.198533] CPU features: detected: CRC32 instructions
[    0.209707] CPU: All CPU(s) started at EL2
[    0.213901] alternatives: patching kernel code
[    0.218825] devtmpfs: initialized
[    0.226295] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.236260] futex hash table entries: 512 (order: -1, 32768 bytes, linear)
[    0.243671] pinctrl core: initialized pinctrl subsystem
[    0.249349] NET: Registered protocol family 16
[    0.256243] DMA: preallocated 256 KiB pool for atomic allocations
[    0.262733] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.278828] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[    0.285679] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
[    0.292439] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.300995] cryptd: max_cpu_qlen set to 1000
[    0.308026] vsys_3v3: supplied by evm_12v0
[    0.312314] vsys_5v0: supplied by evm_12v0
[    0.316924] iommu: Default domain type: Translated 
[    0.322034] SCSI subsystem initialized
[    0.326106] mc: Linux media interface: v0.10
[    0.330500] videodev: Linux video capture interface: v2.00
[    0.336111] pps_core: LinuxPPS API ver. 1 registered
[    0.341180] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.350516] PTP clock support registered
[    0.354526] EDAC MC: Ver: 3.0.0
[    0.358191] FPGA manager framework
[    0.361695] Advanced Linux Sound Architecture Driver Initialized.
[    0.368219] clocksource: Switched to clocksource arch_sys_counter
[    0.374521] VFS: Disk quotas dquot_6.6.0
[    0.378566] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[    0.387849] thermal_sys: Registered thermal governor 'step_wise'
[    0.387850] thermal_sys: Registered thermal governor 'power_allocator'
[    0.394153] NET: Registered protocol family 2
[    0.405489] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes, linear)
[    0.414253] TCP established hash table entries: 32768 (order: 2, 262144 bytes, linear)
[    0.422445] TCP bind hash table entries: 32768 (order: 3, 524288 bytes, linear)
[    0.430123] TCP: Hash tables configured (established 32768 bind 32768)
[    0.436850] UDP hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.443739] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes, linear)
[    0.451120] NET: Registered protocol family 1
[    0.455810] RPC: Registered named UNIX socket transport module.
[    0.461861] RPC: Registered udp transport module.
[    0.466664] RPC: Registered tcp transport module.
[    0.471467] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.478049] PCI: CLS 0 bytes, default 64
[    0.482290] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    0.493636] Initialise system trusted keyrings
[    0.498232] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[    0.506700] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.512899] NFS: Registering the id_resolver key type
[    0.518069] Key type id_resolver registered
[    0.522363] Key type id_legacy registered
[    0.526459] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.533380] 9p: Installing v9fs 9p2000 file system support
[    0.546061] Key type asymmetric registered
[    0.550252] Asymmetric key parser 'x509' registered
[    0.555257] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.562817] io scheduler mq-deadline registered
[    0.567443] io scheduler kyber registered
[    0.572611] pinctrl-single 4301c000.pinmux: 94 pins, size 376
[    0.578675] pinctrl-single 11c000.pinmux: 173 pins, size 692
[    0.584808] pinctrl-single a40000.timesync_router: 512 pins, size 2048
[    0.593761] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
[    0.600018] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[    0.606346] ti-pat 31010000.pat: Found PAT Rev 1.0 with 16384 pages
[    0.612758] debugfs: Directory '31010000.pat' with parent 'regmap' already present!
[    0.620735] ti-pat 31011000.pat: Found PAT Rev 1.0 with 16384 pages
[    0.627147] debugfs: Directory '31011000.pat' with parent 'regmap' already present!
[    0.635067] ti-pat 31012000.pat: Found PAT Rev 1.0 with 16384 pages
[    0.641479] debugfs: Directory '31012000.pat' with parent 'regmap' already present!
[    0.649395] ti-pat 31013000.pat: Found PAT Rev 1.0 with 2048 pages
[    0.655719] debugfs: Directory '31013000.pat' with parent 'regmap' already present!
[    0.663661] ti-pat 31014000.pat: Found PAT Rev 1.0 with 2048 pages
[    0.669982] debugfs: Directory '31014000.pat' with parent 'regmap' already present!
[    0.679319] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
[    0.691103] brd: module loaded
[    0.696928] loop: module loaded
[    0.701499] libphy: Fixed MDIO Bus: probed
[    0.705840] tun: Universal TUN/TAP device driver, 1.6
[    0.711276] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[    0.719285] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.725347] sky2: driver version 1.30
[    0.729537] VFIO - User Level meta-driver version: 0.3
[    0.735120] i2c /dev entries driver
[    0.739213] sdhci: Secure Digital Host Controller Interface driver
[    0.745527] sdhci: Copyright(c) Pierre Ossman
[    0.750138] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.756416] ledtrig-cpu: registered to indicate activity on CPUs
[    0.763154] optee: probing for conduit method from DT.
[    0.768418] optee: revision 3.8 (199fca17)
[    0.768689] optee: initialized driver
[    0.777257] NET: Registered protocol family 17
[    0.781858] 9pnet: Installing 9P2000 support
[    0.786238] Key type dns_resolver registered
[    0.790742] registered taskstats version 1
[    0.794928] Loading compiled-in X.509 certificates
[    0.804028] k3-ringacc 2b800000.ringacc: Failed to get MSI domain
[    0.810355] k3-ringacc 3c000000.ringacc: Failed to get MSI domain
[    0.818357] ti-sci 44083000.dmsc: ABI: 3.0 (firmware rev 0x0014 '20.04.1-v2020.04a (Terrific Lla')
[    0.842967] random: fast init done
[    0.876793] omap_i2c 40b00000.i2c: bus 0 rev0.12 at 100 kHz
[    0.882756] omap_i2c 40b10000.i2c: bus 1 rev0.12 at 100 kHz
[    0.888740] omap_i2c 42120000.i2c: bus 2 rev0.12 at 100 kHz
[    0.894769] pca953x 3-0020: 3-0020 supply vcc not found, using dummy regulator
[    1.908222] omap_i2c 2000000.i2c: timeout waiting for bus ready
[    1.914275] pca953x 3-0020: failed writing register
[    1.919303] pca953x: probe of 3-0020 failed with error -16
[    1.925004] pca953x 3-0022: 3-0022 supply vcc not found, using dummy regulator
[    2.940225] omap_i2c 2000000.i2c: timeout waiting for bus ready
[    2.946276] pca953x 3-0022: failed writing register
[    2.951290] pca953x: probe of 3-0022 failed with error -16
[    2.956929] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz
[    2.962912] omap_i2c 2010000.i2c: bus 4 rev0.12 at 400 kHz
[    2.968800] omap_i2c 2020000.i2c: bus 5 rev0.12 at 400 kHz
[    2.974727] pca953x 6-0020: 6-0020 supply vcc not found, using dummy regulator
[    3.004263] pca953x 6-0020: failed writing register
[    3.009283] pca953x: probe of 6-0020 failed with error -121
[    3.015063] omap_i2c 2030000.i2c: bus 6 rev0.12 at 400 kHz
[    3.020945] omap_i2c 2040000.i2c: bus 7 rev0.12 at 400 kHz
[    3.026821] omap_i2c 2050000.i2c: bus 8 rev0.12 at 400 kHz
[    3.032782] pca953x 9-0020: 9-0020 supply vcc not found, using dummy regulator
[    3.060262] pca953x 9-0020: failed writing register
[    3.065281] pca953x: probe of 9-0020 failed with error -121
[    3.071009] omap_i2c 2060000.i2c: bus 9 rev0.12 at 400 kHz
[    3.077217] ti-sci-intr interconnect@100000:interconnect@28380000:interrupt-controller2: Interrupt Router 137 domain created
[    3.088787] ti-sci-intr interconnect@100000:interrupt-controller0: Interrupt Router 131 domain created
[    3.098395] ti-sci-intr interconnect@100000:navss@30000000:interrupt-controller1: Interrupt Router 213 domain created
[    3.109406] ti-sci-inta 33d00000.interrupt-controller: Interrupt Aggregator domain 209 created
[    3.125619] cdns-torrent-phy 5050000.serdes: 4 lanes, max bit rate 5.400 Gbps
[    3.133345] j721e-pcie 2900000.pcie: no phy-names.  PHY will not be initialized
[    4.140918] j721e-pcie 2900000.pcie: host bridge /interconnect@100000/pcie@2900000 ranges:
[    4.149387] j721e-pcie 2900000.pcie:    IO 0x10001000..0x10010fff -> 0x10001000
[    4.156864] j721e-pcie 2900000.pcie:   MEM 0x10011000..0x17ffffff -> 0x10011000

Could you please let me know how to debug this issue?

The changes from my device tree is as below -

Subject: [PATCH] serdes io configurations

---
 .../dts/mbrdna/k3-j721e-common-proc-board.dts | 78 +++++--------------
 1 file changed, 18 insertions(+), 60 deletions(-)

diff --git a/arch/arm64/boot/dts/mbrdna/k3-j721e-common-proc-board.dts b/arch/arm64/boot/dts/mbrdna/k3-j721e-common-proc-board.dts
index e3cd8bcab4c1..a2a9814c68e2 100644
--- a/arch/arm64/boot/dts/mbrdna/k3-j721e-common-proc-board.dts
+++ b/arch/arm64/boot/dts/mbrdna/k3-j721e-common-proc-board.dts
@@ -973,49 +973,26 @@
 	status = "disabled";
 };
 
-&serdes0 {
-	serdes0_pcie_link: link@0 {
-		reg = <0>;
-		cdns,num-lanes = <1>;
-		#phy-cells = <0>;
-		cdns,phy-type = <PHY_TYPE_PCIE>;
-		resets = <&serdes_wiz0 1>;
-	};
-};
-
-&serdes1 {
-	serdes1_pcie_link: link@0 {
+&serdes2 {
+	serdes2_pcie_link: link@0 {
 		reg = <0>;
 		cdns,num-lanes = <2>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_PCIE>;
-		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
+		resets = <&serdes_wiz2 1>, <&serdes_wiz2 2>;
 	};
 };
 
-&serdes2 {
-	serdes2_pcie_link: link@0 {
+&serdes3 {
+	serdes3_pcie_link: link@0 {
 		reg = <0>;
 		cdns,num-lanes = <2>;
 		#phy-cells = <0>;
 		cdns,phy-type = <PHY_TYPE_PCIE>;
-		resets = <&serdes_wiz2 1>, <&serdes_wiz2 2>;
+		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
 	};
 };
 
-&pcie0_rc {
-	reset-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
-	phys = <&serdes0_pcie_link>;
-	phy-names = "pcie_phy";
-	num-lanes = <1>;
-};
-
-&pcie1_rc {
-	reset-gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
-	phys = <&serdes1_pcie_link>;
-	phy-names = "pcie_phy";
-	num-lanes = <2>;
-};
 
 &pcie2_rc {
 	reset-gpios = <&exp2 20 GPIO_ACTIVE_HIGH>;
@@ -1024,18 +1001,11 @@
 	num-lanes = <2>;
 };
 
-&pcie0_ep {
-	phys = <&serdes0_pcie_link>;
-	phy-names = "pcie_phy";
-	num-lanes = <1>;
-	status = "disabled";
-};
-
-&pcie1_ep {
-	phys = <&serdes1_pcie_link>;
+&pcie3_rc {
+	reset-gpios = <&exp2 20 GPIO_ACTIVE_HIGH>;
+	phys = <&serdes3_pcie_link>;
 	phy-names = "pcie_phy";
 	num-lanes = <2>;
-	status = "disabled";
 };
 
 &pcie2_ep {
@@ -1045,40 +1015,28 @@
 	status = "disabled";
 };
 
-&pcie3_rc {
-	status = "disabled";
-};
-
 &pcie3_ep {
+	phys = <&serdes3_pcie_link>;
+	phy-names = "pcie_phy";
+	num-lanes = <2>;
 	status = "disabled";
 };
 
-&usb_serdes_mux {
-	idle-states = <1>, <0>; /* USB0 to SERDES3, USB1 to SERDES1 */
-};
 
 &serdes_ln_ctrl {
-	idle-states = <SERDES0_LANE0_PCIE0_LANE0>, <SERDES0_LANE1_PCIE0_LANE1>,
-		      <SERDES1_LANE0_PCIE1_LANE0>, <SERDES1_LANE1_PCIE1_LANE1>,
-		      <SERDES2_LANE0_PCIE2_LANE0>, <SERDES2_LANE1_PCIE2_LANE1>,
-		      <SERDES3_LANE0_USB3_0_SWAP>, <SERDES3_LANE1_USB3_0>,
-		      <SERDES4_LANE0_EDP_LANE0>, <SERDES4_LANE1_EDP_LANE1>, <SERDES4_LANE2_EDP_LANE2>, <SERDES4_LANE3_EDP_LANE3>;
+    idle-states = <SERDES0_LANE0_QSGMII_LANE1>, <SERDES0_LANE1_QSGMII_LANE2>,
+                  <SERDES1_LANE0_QSGMII_LANE3>, <SERDES1_LANE1_QSGMII_LANE4>,
+                  <SERDES2_LANE0_PCIE2_LANE0>, <SERDES2_LANE1_PCIE2_LANE1>,
+                  <SERDES3_LANE0_PCIE3_LANE0>, <SERDES3_LANE1_PCIE3_LANE1>,
+                  <SERDES4_LANE0_QSGMII_LANE5>, <SERDES4_LANE1_QSGMII_LANE6>, <SERDES4_LANE2_QSGMII_LANE7>, <SERDES4_LANE3_QSGMII_LANE8>;
 };
 
+
 &serdes_wiz3 {
 	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
 	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
 };
 
-&serdes3 {
-	serdes3_usb_link: link@0 {
-		reg = <0>;
-		cdns,num-lanes = <2>;
-		#phy-cells = <0>;
-		cdns,phy-type = <PHY_TYPE_USB3>;
-		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
-	};
-};
 
 &usbss0 {
 	ti,vbus-divider;
-- 
2.17.1

Thanks,

Satish