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.

TDA4VM: PCIe on SerDes lane 1

Part Number: TDA4VM

Hello, we are developing a custom platform with a main TDA4 SoC.

Processor SDK version: 06_02_00  (we are planing to upgrade to 7_01_00 in the next phase of development)

We are currently stuck trying to enable PCIe on SerDes3 on lane1.

As per our design SerDes3 lane0 goes to USB3 hub and lane1 goes to PCIe controller.
We are aware that PSDK version 6.02 does not support concurrent configuration of SerDes to both USB and PCIe, so we are trying do configure SerDes3 to have only PCIe on lane1 for bring-up purposes.

Since we fail to do so, we wonder if it is possible at all to have PCIe configured on SerDes lane1, or it must be on lane0?

We did not find any restrictions in technical documentation, and we know that on EVM board one SerDes is configured to have only PCIe on lane0.

Can you help us to clear this issue up?

Regards
Uros

  • Uros, 

    I am checking on the SERDES3 muxing - it seems USB_0 controller can be muxed on Lane 1 only, if you don't need type-c support. While PCIE3 can be on Lane0/+1. So can you confirm why you want:

    • PCIe3 on Lane1
    • USB0 on Lane 0

    vs. 

    • PCIe3 on Lane0
    • USB0 on Lane 1

    For the testing you are doing currently, you might first try to verify PCIe3 to connect SERDES3 as a 2Lane PHY for PCIe, Then you can disable Lane 0 so PCIe will operate in 1 lane mode. 

    The scenario you described:

              configure Lane1 as PCIe, then connect PCIe3 directly to Lane 1, may need some scribing on drivers, as it is not a typical use case. 

    Let us know you discovery. 

    jian

  • Hi Jian,

    The configuration is so because HW team have designed the platform in that way, PCIe3 on Lane1 and USB0 on Lane 0. Until we go through redesign that is what we have.

    We did exactly this "you might first try to verify PCIe3 to connect SERDES3 as a 2Lane PHY for PCIe, Then you can disable Lane 0 so PCIe will operate in 1 lane mode", among other things.

    After we boot the board, having PCIe3 configured on both SerDes lanes, the PCIe3 is not enumerated by linux OS.
    Have a look our device tree:

    &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_PCIE3_LANE0>, <SERDES3_LANE1_PCIE3_LANE1>,
                  <SERDES4_LANE0_EDP_LANE0>, <SERDES4_LANE1_EDP_LANE1>, <SERDES4_LANE2_EDP_LANE2>, <SERDES4_LANE3_EDP_LANE3>;

    &serdes_wiz3 {
        lane0-mode = <PHY_TYPE_PCIE>;
        lane1-mode = <PHY_TYPE_PCIE>;
    };

    &serdes3 {
        serdes3_pcie_link: link@0 {
            reg = <0>;
            cdns,num-lanes = <2>;
            #phy-cells = <0>;
            cdns,phy-type = <PHY_TYPE_PCIE>;
            resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
        };
    };

    &pcie3 {
        pci-mode = <PCI_MODE_RC>;
        num-lanes = <1>;
    };

    &pcie3_rc {
        reset-gpios = <&exp2 12 GPIO_ACTIVE_HIGH>;
        phys = <&serdes3_pcie_link>;
        phy-names = "pcie_phy";
    };

    -------------------------------------------------------------------------------------------------

    Having it configured on lane 1 only we get error from kernel that PHY failed to be configured.

    Can you confirm are the DT nods for PCIe3 correct, and is it possible in any way to make PCIe work on SerDes3 lane 1?

    Regards
    Uros

  • Uros, 

    In the past I had luck to trick PCIe controller to start link training in 2 lane mode while one lane is permanently not there. I will check if clocking allows this scheme on SERDES3. 

    On the issue that two lane port did not work, can you confirm:

    1. what is the PERST signal connected in your board? is it the same as the EVM? (note that EVM had a GPIO expander between SOC and slot connector)?

    2. what is the clocking scheme on the port? i.e., how is REFCLK supplied on the slot?

    3. How do you test your PCIe port (s)? do you use a card? if so, can you share you kernel log? I am interested to see if SERDES is even up.

    regards

    jian

  • Hi Jian,

    Here are the answers to your questions:

    1. The PERST# signal to this slot is connected from GPIO EXPANDER 2, active low, it should be configured same as on EVM.
    2. REFCLK is 100MHz HCSL supplied by SerDes clock generator, same as it is on EVM PCIe REF clock for PCIe Con (x2 lane) (100MHz HCSL), just in our case it is connected to PCIe controller 3.
    3. We use NVMe M2 SSD disk drive, and as far as we can note, all SerDes are up.

    You can find kernel log in attachments.

    Regards.
    Uros

    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd080]
    [ 0.000000] Linux version 4.19.94 (rtrk@rtrkw1003-lin) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 SMP PREEMPT Fri Oct 2 09:50:00 CEST 2020
    [ 0.000000] Machine model: Texas Instruments K3 J721E SoC
    [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [ 0.000000] 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 15 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [ 0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [ 0.000000] OF: reserved mem: initialized node 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 0x00000000aa000000, size 32 MiB
    [ 0.000000] OF: reserved mem: initialized node ipc-memories@aa000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000ac000000, size 32 MiB
    [ 0.000000] OF: reserved mem: initialized node vision_apps-dma-memory@ac000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000ae000000, size 288 MiB
    [ 0.000000] OF: reserved mem: initialized node vision_apps-core-heap-memory@ae000000, compatible id shared-dma-pool
    [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000e0000000, size 448 MiB
    [ 0.000000] OF: reserved mem: initialized node vision_apps_shared-memories@e0000000, compatible id shared-dma-pool
    [ 0.000000] cma: Reserved 512 MiB at 0x00000000c0000000
    [ 0.000000] On node 0 totalpages: 57216
    [ 0.000000] DMA32 zone: 24 pages used for memmap
    [ 0.000000] DMA32 zone: 0 pages reserved
    [ 0.000000] DMA32 zone: 24448 pages, LIFO batch:3
    [ 0.000000] Normal zone: 32 pages used for memmap
    [ 0.000000] Normal zone: 32768 pages, LIFO batch:3
    [ 0.000000] psci: probing for conduit method from DT.
    [ 0.000000] psci: PSCIv1.1 detected in firmware.
    [ 0.000000] psci: Using standard PSCI v0.2 function IDs
    [ 0.000000] psci: Trusted OS migration not required
    [ 0.000000] psci: SMC Calling Convention v1.1
    [ 0.000000] random: get_random_bytes called from start_kernel+0x94/0x3e4 with crng_init=0
    [ 0.000000] percpu: Embedded 2 pages/cpu s48536 r8192 d74344 u131072
    [ 0.000000] pcpu-alloc: s48536 r8192 d74344 u131072 alloc=2*65536
    [ 0.000000] pcpu-alloc: [0] 0 [0] 1
    [ 0.000000] Detected PIPT I-cache on CPU0
    [ 0.000000] CPU features: enabling workaround for EL2 vector hardening
    [ 0.000000] Speculative Store Bypass Disable mitigation not required
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 57160
    [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),128k(ospi.env),128k(ospi.env.backup),1m(ospi.sysfw),-@8m(ospi.rootfs);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),1m(hbmc.sysfw),-@8m(hbmc.rootfs) root=PARTUUID=707a95a7-02 rw rootfstype=ext4 rootwait
    [ 0.000000] Dentry cache hash table entries: 524288 (order: 6, 4194304 bytes)
    [ 0.000000] Inode-cache hash table entries: 262144 (order: 5, 2097152 bytes)
    [ 0.000000] software IO TLB: mapped [mem 0x9a800000-0x9e800000] (64MB)
    [ 0.000000] Memory: 2587136K/3661824K available (8510K kernel code, 738K rwdata, 3136K rodata, 576K init, 641K bss, 550400K 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=64 to nr_cpu_ids=2.
    [ 0.000000] Tasks RCU enabled.
    [ 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: Distributor has no Range Selector support
    [ 0.000000] GICv3: no VLPI support, no direct LPI support
    [ 0.000000] ITS [mem 0x01820000-0x0182ffff]
    [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [ 0.000000] ITS@0x0000000001820000: allocated 1048576 Devices @8c0800000 (flat, esz 8, psz 64K, shr 0)
    [ 0.000000] ITS: using cache flushing for cmd queue
    [ 0.000000] GIC: using LPI property table @0x00000008c00a0000
    [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001900000
    [ 0.000000] CPU0: using LPI pending table @0x00000008c00b0000
    [ 0.000000] GIC: using cache flushing for LPI property table
    [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [ 0.000002] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [ 0.008359] Console: colour dummy device 80x25
    [ 0.012912] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
    [ 0.023580] pid_max: default: 32768 minimum: 301
    [ 0.028320] Security Framework initialized
    [ 0.032522] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes)
    [ 0.039377] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes)
    [ 0.070711] ASID allocator initialised with 32768 entries
    [ 0.084238] rcu: Hierarchical SRCU implementation.
    [ 0.097183] Platform MSI: gic-its@1820000 domain created
    [ 0.102720] PCI/MSI: /interconnect@100000/interrupt-controller@1800000/gic-its@1820000 domain created
    [ 0.120155] smp: Bringing up secondary CPUs ...
    [ 0.157055] Detected PIPT I-cache on CPU1
    [ 0.157071] GICv3: CPU1: found redistributor 1 region 0:0x0000000001920000
    [ 0.157099] CPU1: using LPI pending table @0x00000008c0310000
    [ 0.157121] CPU1: Booted secondary processor 0x0000000001 [0x411fd080]
    [ 0.157161] smp: Brought up 1 node, 2 CPUs
    [ 0.184997] SMP: Total of 2 processors activated.
    [ 0.189807] CPU features: detected: GIC system register CPU interface
    [ 0.196389] CPU features: detected: 32-bit EL0 Support
    [ 0.201865] CPU: All CPU(s) started at EL2
    [ 0.206051] alternatives: patching kernel code
    [ 0.211009] devtmpfs: initialized
    [ 0.218887] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
    [ 0.228850] futex hash table entries: 512 (order: -1, 32768 bytes)
    [ 0.235548] pinctrl core: initialized pinctrl subsystem
    [ 0.241217] NET: Registered protocol family 16
    [ 0.246102] vdso: 2 pages (1 code @ (___ptrval___), 1 data @ (___ptrval___))
    [ 0.253665] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
    [ 0.262898] DMA: preallocated 256 KiB pool for atomic allocations
    [ 0.276344] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
    [ 0.283197] HugeTLB registered 512 MiB page size, pre-allocated 0 pages
    [ 0.290592] cryptd: max_cpu_qlen set to 1000
    [ 0.295430] vsys_3v3: supplied by evm_12v0
    [ 0.299690] vsys_5v0: supplied by evm_12v0
    [ 0.303940] vdd_mmc1: supplied by vsys_3v3
    [ 0.308447] SCSI subsystem initialized
    [ 0.312467] media: Linux media interface: v0.10
    [ 0.317102] videodev: Linux video capture interface: v2.00
    [ 0.322715] pps_core: LinuxPPS API ver. 1 registered
    [ 0.327784] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.337121] PTP clock support registered
    [ 0.341131] EDAC MC: Ver: 3.0.0
    [ 0.344940] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.351494] clocksource: Switched to clocksource arch_sys_counter
    [ 0.357780] VFS: Disk quotas dquot_6.6.0
    [ 0.361827] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
    [ 0.371266] NET: Registered protocol family 2
    [ 0.375972] tcp_listen_portaddr_hash hash table entries: 4096 (order: 0, 65536 bytes)
    [ 0.384023] TCP established hash table entries: 32768 (order: 2, 262144 bytes)
    [ 0.391514] TCP bind hash table entries: 32768 (order: 3, 524288 bytes)
    [ 0.398493] TCP: Hash tables configured (established 32768 bind 32768)
    [ 0.405223] UDP hash table entries: 2048 (order: 0, 65536 bytes)
    [ 0.411402] UDP-Lite hash table entries: 2048 (order: 0, 65536 bytes)
    [ 0.418072] NET: Registered protocol family 1
    [ 0.426741] RPC: Registered named UNIX socket transport module.
    [ 0.432794] RPC: Registered udp transport module.
    [ 0.437598] RPC: Registered tcp transport module.
    [ 0.442400] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.448982] PCI: CLS 0 bytes, default 64
    [ 0.449238] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
    [ 0.458903] Initialise system trusted keyrings
    [ 0.463522] workingset: timestamp_bits=46 max_order=16 bucket_order=0
    [ 0.471551] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.477704] NFS: Registering the id_resolver key type
    [ 0.482873] Key type id_resolver registered
    [ 0.487143] Key type id_legacy registered
    [ 0.491242] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
    [ 0.498143] 9p: Installing v9fs 9p2000 file system support
    [ 0.505262] Key type asymmetric registered
    [ 0.509449] Asymmetric key parser 'x509' registered
    [ 0.514450] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [ 0.522010] io scheduler noop registered
    [ 0.526015] io scheduler deadline registered
    [ 0.530416] io scheduler cfq registered (default)
    [ 0.535223] io scheduler mq-deadline registered
    [ 0.539849] io scheduler kyber registered
    [ 0.544765] pinctrl-single 4301c000.pinmux: 94 pins, size 376
    [ 0.550847] pinctrl-single 11c000.pinmux: 173 pins, size 692
    [ 0.556993] pinctrl-single a40000.timesync_router: 512 pins, size 2048
    [ 0.566059] ti-pat 31010000.pat: Found PAT Rev 1.0 with 16384 pages
    [ 0.572477] ti-pat 31010000.pat: Failed to create 31010000.pat debugfs directory
    [ 0.580152] ti-pat 31011000.pat: Found PAT Rev 1.0 with 16384 pages
    [ 0.586564] ti-pat 31011000.pat: Failed to create 31011000.pat debugfs directory
    [ 0.594204] ti-pat 31012000.pat: Found PAT Rev 1.0 with 16384 pages
    [ 0.600615] ti-pat 31012000.pat: Failed to create 31012000.pat debugfs directory
    [ 0.608260] ti-pat 31013000.pat: Found PAT Rev 1.0 with 2048 pages
    [ 0.614582] ti-pat 31013000.pat: Failed to create 31013000.pat debugfs directory
    [ 0.622239] ti-pat 31014000.pat: Found PAT Rev 1.0 with 2048 pages
    [ 0.628562] ti-pat 31014000.pat: Failed to create 31014000.pat debugfs directory
    [ 0.637469] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.649031] brd: module loaded
    [ 0.654793] loop: module loaded
    [ 0.659050] libphy: Fixed MDIO Bus: probed
    [ 0.663396] tun: Universal TUN/TAP device driver, 1.6
    [ 0.668824] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
    [ 0.676832] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
    [ 0.682897] sky2: driver version 1.30
    [ 0.687211] VFIO - User Level meta-driver version: 0.3
    [ 0.692794] i2c /dev entries driver
    [ 0.696807] sdhci: Secure Digital Host Controller Interface driver
    [ 0.703123] sdhci: Copyright(c) Pierre Ossman
    [ 0.707767] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 0.714019] ledtrig-cpu: registered to indicate activity on CPUs
    [ 0.720860] optee: probing for conduit method from DT.
    [ 0.726123] optee: revision 3.7 (5208e5c1)
    [ 0.726268] optee: initialized driver
    [ 0.734824] NET: Registered protocol family 17
    [ 0.739421] 9pnet: Installing 9P2000 support
    [ 0.743799] Key type dns_resolver registered
    [ 0.748370] registered taskstats version 1
    [ 0.752554] Loading compiled-in X.509 certificates
    [ 0.762057] ti-sci 44083000.dmsc: ABI: 2.9 (firmware rev 0x0013 '19.12.1-v2019.12a (Terrific Lla')
    [ 0.787071] random: fast init done
    [ 0.823079] omap_i2c 40b00000.i2c: bus 1 rev0.12 at 100 kHz
    [ 0.829045] omap_i2c 42120000.i2c: bus 0 rev0.12 at 100 kHz
    [ 0.856086] rtc-ds1307 2-006f: registered as rtc0
    [ 0.860931] omap_i2c 2000000.i2c: bus 2 rev0.12 at 400 kHz
    [ 0.866874] pca953x 3-0026: 3-0026 supply vcc not found, using dummy regulator
    [ 0.874278] pca953x 3-0026: Linked as a consumer to regulator.0
    [ 0.904226] GPIO line 508 (PCIE1/MUXA_OEn) hogged as output/low
    [ 0.910585] GPIO line 509 (PCIE1/MUXA_SEL) hogged as output/low
    [ 0.916941] GPIO line 510 (PCIE2/MUXB_OEn) hogged as output/low
    [ 0.923299] GPIO line 511 (PCIE2/MUXB_SEL) hogged as output/high
    [ 0.929542] pca953x 3-0027: 3-0027 supply vcc not found, using dummy regulator
    [ 0.936939] pca953x 3-0027: Linked as a consumer to regulator.0
    [ 0.943714] GPIO line 491 (SSD_PWR_EN) hogged as output/low
    [ 0.949513] omap_i2c 2010000.i2c: bus 3 rev0.12 at 400 kHz
    [ 0.955395] omap_i2c 2060000.i2c: bus 4 rev0.12 at 100 kHz
    [ 0.971557] cdns-torrent-phy 5050000.serdes: 4 lanes, max bit rate 5.400 Gbps
    [ 0.980229] cdns-pcie-host d000000.pcie: missing "mem"
    [ 0.985497] cdns-pcie-host d000000.pcie: Linked as a consumer to phy-5000000.serdes.0
    [ 1.994578] cdns-pcie-host d000000.pcie: Phy link never came up
    [ 2.000631] cdns-pcie-host d000000.pcie: host bridge /interconnect@100000/pcie@2900000/pcie@d000000 ranges:
    [ 2.010600] cdns-pcie-host d000000.pcie: IO 0x10001000..0x10010fff -> 0x10001000
    [ 2.018430] cdns-pcie-host d000000.pcie: MEM 0x4000000000..0x407fffffff -> 0x00000000
    [ 2.026672] cdns-pcie-host d000000.pcie: PCI host bridge to bus 0000:00
    [ 2.033433] pci_bus 0000:00: root bus resource [bus 00-0f]
    [ 2.039039] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x10001000-0x10010fff])
    [ 2.048729] pci_bus 0000:00: root bus resource [mem 0x4000000000-0x407fffffff] (bus address [0x00000000-0x7fffffff])
    [ 2.059501] pci 0000:00:00.0: [104c:b00d] type 01 class 0x060400
    [ 2.059512] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
    [ 2.069382] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x4 may corrupt adjacent RW1C bits
    [ 2.079273] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x92 may corrupt adjacent RW1C bits
    [ 2.089234] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0xb2 may corrupt adjacent RW1C bits
    [ 2.099216] pci 0000:00:00.0: supports D1
    [ 2.099218] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 2.099222] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x84 may corrupt adjacent RW1C bits
    [ 2.110994] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [ 2.119181] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
    [ 2.129140] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
    [ 2.139099] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x3e may corrupt adjacent RW1C bits
    [ 2.149057] pci_bus 0000:00: 2-byte config write to 0000:00:00.0 offset 0x6 may corrupt adjacent RW1C bits
    [ 2.160591] pci_bus 0000:01: busn_res: [bus 01-0f] end is updated to 01
    [ 2.160594] pci_bus 0000:00: 1-byte config write to 0000:00:00.0 offset 0x1a may corrupt adjacent RW1C bits
    [ 2.170561] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 2.176001] cdns-pcie-host d800000.pcie: missing "mem"
    [ 2.181269] cdns-pcie-host d800000.pcie: Linked as a consumer to phy-5010000.serdes.1
    [ 2.290303] cdns-pcie-host d800000.pcie: Link up
    [ 2.295023] cdns-pcie-host d800000.pcie: host bridge /interconnect@100000/pcie@2910000/pcie@d800000 ranges:
    [ 2.304989] cdns-pcie-host d800000.pcie: IO 0x18001000..0x18010fff -> 0x18001000
    [ 2.312819] cdns-pcie-host d800000.pcie: MEM 0x4100000000..0x417fffffff -> 0x00000000
    [ 2.321051] cdns-pcie-host d800000.pcie: PCI host bridge to bus 0001:00
    [ 2.327811] pci_bus 0001:00: root bus resource [bus 00-0f]
    [ 2.333415] pci_bus 0001:00: root bus resource [io 0x10000-0x1ffff] (bus address [0x18001000-0x18010fff])
    [ 2.343283] pci_bus 0001:00: root bus resource [mem 0x4100000000-0x417fffffff] (bus address [0x00000000-0x7fffffff])
    [ 2.354048] pci 0001:00:00.0: [104c:b00d] type 01 class 0x060400
    [ 2.354104] pci 0001:00:00.0: supports D1
    [ 2.354106] pci 0001:00:00.0: PME# supported from D0 D1 D3hot
    [ 2.355873] pci 0001:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [ 2.364141] pci 0001:01:00.0: [10ee:7022] type 00 class 0x070001
    [ 2.364190] pci 0001:01:00.0: reg 0x10: [mem 0x4100000000-0x410000ffff]
    [ 2.364300] pci 0001:01:00.0: enabling Extended Tags
    [ 2.369501] pci 0001:01:00.0: PME# supported from D0 D1 D2 D3hot
    [ 2.369555] pci 0001:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s x2 link at 0001:00:00.0 (capable of 8.000 Gb/s with 5 GT/s x2 link)
    [ 2.385435] pci_bus 0001:01: busn_res: [bus 01-0f] end is updated to 01
    [ 2.385447] pci 0001:00:00.0: BAR 14: assigned [mem 0x4100000000-0x41000fffff]
    [ 2.392831] pci 0001:01:00.0: BAR 0: assigned [mem 0x4100000000-0x410000ffff]
    [ 2.400130] pci 0001:00:00.0: PCI bridge to [bus 01]
    [ 2.405202] pci 0001:00:00.0: bridge window [mem 0x4100000000-0x41000fffff]
    [ 2.412540] pci 0001:00:00.0: of_irq_parse_pci: failed with rc=-22
    [ 2.418871] pci 0001:00:00.0: enabling device (0000 -> 0002)
    [ 2.424664] serial 0001:01:00.0: enabling device (0000 -> 0002)
    [ 2.431144] cdns-pcie-host e000000.pcie: missing "mem"
    [ 2.436411] cdns-pcie-host e000000.pcie: Linked as a consumer to phy-5020000.serdes.2
    [ 3.445486] cdns-pcie-host e000000.pcie: Phy link never came up
    [ 3.451538] cdns-pcie-host e000000.pcie: host bridge /interconnect@100000/pcie@2920000/pcie@e000000 ranges:
    [ 3.461504] cdns-pcie-host e000000.pcie: IO 0x4400001000..0x4400010fff -> 0x00001000
    [ 3.469688] cdns-pcie-host e000000.pcie: MEM 0x4400011000..0x4407ffffff -> 0x00011000
    [ 3.477920] cdns-pcie-host e000000.pcie: PCI host bridge to bus 0002:00
    [ 3.484681] pci_bus 0002:00: root bus resource [bus 00-0f]
    [ 3.490285] pci_bus 0002:00: root bus resource [io 0x20000-0x2ffff] (bus address [0x1000-0x10fff])
    [ 3.499532] pci_bus 0002:00: root bus resource [mem 0x4400011000-0x4407ffffff] (bus address [0x00011000-0x07ffffff])
    [ 3.510296] pci 0002:00:00.0: [104c:b00d] type 01 class 0x060400
    [ 3.510350] pci 0002:00:00.0: supports D1
    [ 3.510352] pci 0002:00:00.0: PME# supported from D0 D1 D3hot
    [ 3.512064] pci 0002:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [ 3.521907] pci_bus 0002:01: busn_res: [bus 01-0f] end is updated to 01
    [ 3.521916] pci 0002:00:00.0: PCI bridge to [bus 01]
    [ 3.527318] cdns-pcie-host e800000.pcie: missing "mem"
    [ 3.532965] cdns-pcie-host e800000.pcie: Linked as a consumer to phy-5030000.serdes.3
    [ 4.542334] cdns-pcie-host e800000.pcie: Phy link never came up
    [ 4.548387] cdns-pcie-host e800000.pcie: host bridge /interconnect@100000/pcie@2930000/pcie@e800000 ranges:
    [ 4.558353] cdns-pcie-host e800000.pcie: IO 0x4410001000..0x4410010fff -> 0x00001000
    [ 4.566538] cdns-pcie-host e800000.pcie: MEM 0x4410011000..0x4417ffffff -> 0x00011000
    [ 4.574770] cdns-pcie-host e800000.pcie: PCI host bridge to bus 0003:00
    [ 4.581530] pci_bus 0003:00: root bus resource [bus 00-0f]
    [ 4.587135] pci_bus 0003:00: root bus resource [io 0x30000-0x3ffff] (bus address [0x1000-0x10fff])
    [ 4.596381] pci_bus 0003:00: root bus resource [mem 0x4410011000-0x4417ffffff] (bus address [0x00011000-0x07ffffff])
    [ 4.607146] pci 0003:00:00.0: [104c:b00d] type 01 class 0x060400
    [ 4.607201] pci 0003:00:00.0: supports D1
    [ 4.607203] pci 0003:00:00.0: PME# supported from D0 D1 D3hot
    [ 4.608954] pci 0003:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [ 4.618842] pci_bus 0003:01: busn_res: [bus 01-0f] end is updated to 01
    [ 4.618851] pci 0003:00:00.0: PCI bridge to [bus 01]
    [ 4.624335] k3-ringacc 2b800000.ringacc: Ring Accelerator probed rings:286, gp-rings[96,20] sci-dev-id:235
    [ 4.634209] k3-ringacc 2b800000.ringacc: dma-ring-reset-quirk: disabled
    [ 4.640968] k3-ringacc 2b800000.ringacc: RA Proxy rev. 66346100, num_proxies:64
    [ 4.648638] k3-ringacc 3c000000.ringacc: Ring Accelerator probed rings:1024, gp-rings[440,150] sci-dev-id:211
    [ 4.658777] k3-ringacc 3c000000.ringacc: dma-ring-reset-quirk: disabled
    [ 4.665536] k3-ringacc 3c000000.ringacc: RA Proxy rev. 66346100, num_proxies:64
    [ 4.673144] omap8250 42300000.serial: PM domain pd:287 will not be powered off
    [ 4.680661] 42300000.serial: ttyS0 at MMIO 0x42300000 (irq = 7, base_baud = 3000000) is a 8250
    [ 4.689770] 40a00000.serial: ttyS1 at MMIO 0x40a00000 (irq = 8, base_baud = 6000000) is a 8250
    [ 4.698848] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 19, base_baud = 3000000) is a 8250
    [ 4.707582] console [ttyS2] enabled
    [ 4.714617] bootconsole [ns16550a0] disabled
    [ 4.723529] 2810000.serial: ttyS3 at MMIO 0x2810000 (irq = 20, base_baud = 3000000) is a 8250
    [ 4.732328] 2820000.serial: ttyS4 at MMIO 0x2820000 (irq = 21, base_baud = 3000000) is a 8250
    [ 4.741122] 2830000.serial: ttyS5 at MMIO 0x2830000 (irq = 22, base_baud = 3000000) is a 8250
    [ 4.749914] 2850000.serial: ttyS6 at MMIO 0x2850000 (irq = 23, base_baud = 3000000) is a 8250
    [ 4.758708] 2860000.serial: ttyS7 at MMIO 0x2860000 (irq = 24, base_baud = 3000000) is a 8250
    [ 4.767506] 2880000.serial: ttyS8 at MMIO 0x2880000 (irq = 25, base_baud = 3000000) is a 8250
    [ 4.776301] 2890000.serial: ttyS9 at MMIO 0x2890000 (irq = 26, base_baud = 3000000) is a 8250
    [ 4.785021] arm-smmu-v3 3660