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.

Linux/AM5728: Wakeup error on PCI restore

Part Number: AM5728
Other Parts Discussed in Thread: OMAP-L138, , AM5726, BEAGLEBOARD-X15, TPD12S015

Tool/software: Linux

Sorry for the delay, I was only able to revisit the issue now.

I added some debugging prints into the
__pci_restore_msi_state
function of
drivers/pci/msi.c
that is called during wakeup:

static void __pci_restore_msi_state(struct pci_dev *dev)
{
        u16 control;
        struct msi_desc *entry;

        printk(KERN_ERR "__pci_restore_msi_state dev bus: 0x%02x %s vendor: 0x%02x device: 0x%02x resource: 0x%08x\n", dev->bus->number, dev->bus->name, dev->vendor, dev->device, (int)(dev->bus->resource[0]));

+---  4 lines: if (!dev->msi_enabled) {------------------------------------------------------------------------------

        printk(KERN_ERR "irq_get_msi_desc, dev: %p, dev->irq: %p\n", dev, dev->irq);

        entry = irq_get_msi_desc(dev->irq);

        printk(KERN_ERR "int: %i\n", dev->irq);

        printk(KERN_ERR "pci_intx_for_msi\n");
        pci_intx_for_msi(dev, 0);
        pci_msi_set_enable(dev, 0);
        arch_restore_msi_irqs(dev);

        printk(KERN_ERR "pci_read_config_word\n");

        pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control);

        printk(KERN_ERR "msi_mask_irq: %p\n", entry);

        msi_mask_irq(entry, msi_mask(entry->msi_attrib.multi_cap),
                     entry->masked);
        control &= ~PCI_MSI_FLAGS_QSIZE;
        control |= (entry->msi_attrib.multiple << 4) | PCI_MSI_FLAGS_ENABLE;

        printk(KERN_ERR "pci_write_config_word\n");


This results in following output:

[ 1641.716315] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 1641.721663] sd 0:0:0:0: [sda] Stopping disk
[ 1641.750497] PM: suspend of devices complete after 35.630 msecs
[ 1641.759764] PM: late suspend of devices complete after 3.366 msecs
[ 1641.766284] __pci_msi_desc_mask_irq
[ 1641.769787] desc->masked
[ 1641.772329] pci_msi_ignore_mask
[ 1641.775527] __pci_msi_desc_mask_irq
[ 1641.779027] desc->masked
[ 1641.781569] pci_msi_ignore_mask
[ 1641.787718] PM: noirq suspend of devices complete after 21.706 msecs
[ 1645.033410] __pci_restore_msi_state dev bus: 0x00  vendor: 0x104c device: 0x8888 resource: 0x00000000
[ 1645.042889] __pci_restore_msi_state dev bus: 0x00  vendor: 0x104c device: 0x8888 resource: 0x00000000
[ 1645.042892] irq_get_msi_desc
[ 1645.042895] int: 407
[ 1645.042897] pci_intx_for_msi
[ 1645.042906] pci_read_config_word
[ 1645.042909] msi_mask_irq: ee13b740                 'all ok for interrupt nr 407'
[ 1645.042911] __pci_msi_desc_mask_irq
[ 1645.042913] desc->masked
[ 1645.042914] pci_msi_ignore_mask
[ 1645.042916] pci_write_config_word
[ 1645.080124] irq_get_msi_desc
[ 1645.083015] int: 406
[ 1645.085395] pci_intx_for_msi
[ 1645.088292] pci_read_config_word
[ 1645.091535] msi_mask_irq:   (null)                 'null pointer for irq 406
[ 1645.094954] Unable to handle kernel NULL pointer dereference at virtual address 00000028
[ 1645.103092] pgd = c0003000
[ 1645.105822] [00000028] *pgd=80000080004003, *pmd=00000000
[ 1645.111266] Internal error: Oops: 207 [#1] PREEMPT SMP ARM

In short the function
entry = irq_get_msi_desc(dev->irq);
returns a null pointer for irq 406

Following are several further information:

cat /proc/interrupts returns:
..
374:          0          0   PCI-MSI   0 Edge      PCIe PME, aerdrv
407:          0          0   PCI-MSI   0 Edge      PCIe PME, aerdrv


root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0# cat irq
406
root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0/msi_ir                                                                                                                                                                                                                                                                   qs# ls
374

root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@1/51800000.pcie/pci0001:00/0001:00:00.0# cat irq
407
root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@1/51800000.pcie/pci0001:00/0001:00:00.0/msi_irqs# ls
407

It seems there is a issue with the pcie and msi irq numbers that do not correspond to each other.

Unsure how this could happen.

In our device tree we only enable the relevant device nodes with status = "okay", not touching anything irq-revelant here.  

/* PCIe lane 0 PCIe x4 connector */
&pcie1_rc {
    status = "okay";
};

/* PCIe lane 1 mPCIe connector */
&pcie2_rc {
        status = "okay";
        /* PCIe reset R532 not placed */
};

&pcie2_phy {
    status = "okay";
};

        axi@1 {
            status = "okay";
      
See dts files attached to initial thread.
      
      
Has PCIe lane 2 been tested on a TI or custom board before? I havent found anything in the public repositories.
If so, how did the device tree look in this case?
 

  • Hi, Stefan,

    Was there an old thread for the issue? Could you provide the link so I can refresh on your setup. TI has not really tested 2 PCIe RCs on any of our boards because none of them has 2 ports exposed.

    Rex
  • Hi Rex,

    sure, the old issue was
    e2e.ti.com/.../686510

    Since the original post is closed I was told by TI staff to just "Ask a related question".

    Best regards,
    Stefan
  • Hi, Stefan,

    I took a look at the old thread. I see some discrepency from TI released Processor SDK , but not sure if it is the cause. You either used the ti linux kernel or processor sdk from git reposritory, but both are using the same defcofnig. Using ti linux kernel, you didn't bring in patches for the AM572x platform. ti linux kernel is for upstream and doesn't have patches needed for different platforms, keystone, AM57x, OMAP-L138, etc. Using processor SDK repository but the same defconfig, you still missed some configuration needed for platforms. You will need to follow the instruction in Linux Developer's Guide to create the tisdk_am57xx-evm_defconfig. Below is snippet from the Guide:

    Below is the procedure to build the defconfig from the kernel git repository.

    $ ti_config_fragments/defconfig_builder.sh -t ti_sdk_[device]_release
    $ export ARCH=arm
    $ make ti_sdk_[device]_release_defconfig
    $ mv .config arch/arm/configs/tisdk_[platformName]-evm_defconfig

    I compared the defconfig you posted in the old thread with .config from Processor Linux SDK, there are a few PCIe related CONFIG_ not defined. Once we have the build configuration sort out, we'll take further look at the issue if it still happens.

    Rex
  • Hi Rex,

    as stated we are using ti-rt-linux-4.9.77 from git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

    As I see it, this one does include the patches for the AM572x platform:

    1|tq@tqma57xx-build:/opt/tqma57xx-bsp/linux-tqmaxx> grep -r AM572 .
    ./Documentation/devicetree/bindings/arm/omap/omap.txt:- AM5728
    ./Documentation/devicetree/bindings/arm/omap/omap.txt:- AM5726
    ./Documentation/devicetree/bindings/arm/omap/omap.txt:- AM5728 IDK
    ./Documentation/devicetree/bindings/arm/omap/omap.txt:- AM5728 GPEVM
    ./drivers/pci/dwc/pci-dra7xx.c: * dra7xx_pcie_ep_legacy_mode: workaround for AM572x/AM571x Errata i870
    ./drivers/bus/omap-ocp2scp.c:    * As per AM572x TRM: www.ti.com/.../spruhz6.pdf
    ./drivers/phy/phy-ti-pipe3.c:    * as recommended in AM572x TRM SPRUHZ6, section 18.5.2.2, table
    ./drivers/dma/omap-dma.c:        * From the AM572x TRM, 16.1.4.18 Disabling a Channel During Transfer:
    Binary file ./.git/objects/pack/pack-fcfdc7609f254c9537d0435d040faf269636d00a.pack matches
    ./arch/arm/mach-omap2/timer.c:           * This affects at least the DRA7/AM572x 1.0, 1.1 revisions.
    ./arch/arm/boot/dts/am572x-idk.dts:     model = "TI AM5728 IDK";
    ./arch/arm/boot/dts/.am572x-idk-lcd-osd101t2045.dtb.dts.tmp: model = "TI AM5728 IDK";
    ./arch/arm/boot/dts/.am572x-idk-lcd-osd101t2045.dtb.dts.tmp: model = "TI AM572x IDK-LCD-OSD-Display";
    ./arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts:        model = "TI AM5728 BeagleBoard-X15 rev B1";
    ./arch/arm/boot/dts/am57xx-evm.dts:     model = "TI AM5728 EVM";
    ./arch/arm/boot/dts/am57xx-evm-reva3.dts:       model = "TI AM572x EVM Rev A3";
    Binary file ./arch/arm/boot/dts/am572x-idk.dtb matches
    ./arch/arm/boot/dts/am57xx-idk-common.dtsi:                                     /* VDD_DSPEVE on AM572 */
    ./arch/arm/boot/dts/am57xx-idk-common.dtsi:      * XXX: Support AM572x-Rev 1.2a. this is wrong for AM571x-rev 1.3a,
    ./arch/arm/boot/dts/am57xx-idk-common.dtsi:      * AM572x-Rev1.3a - but thanks to always-on, they work.
    ./arch/arm/boot/dts/am57xx-beagle-x15-revc.dts: model = "TI AM5728 BeagleBoard-X15 rev C";
    ./arch/arm/boot/dts/am57xx-tqma57xx.dtsi:                                       /* VDD_DSPEVE on AM572 */
    ./arch/arm/boot/dts/dra74x-mmc-iodelay.dtsi: * MMC IOdelay values for TI's DRA74x, DRA75x and AM572x SoCs.
    ./arch/arm/boot/dts/dra74x-mmc-iodelay.dtsi: * AM572x Silicon Revision 2.0: SPRS953B, Revised November 2016
    ./arch/arm/boot/dts/dra74x-mmc-iodelay.dtsi: * AM572x Silicon Revision 1.1: SPRS915R, Revised November 2016
    ./arch/arm/boot/dts/.am572x-idk.dtb.dts.tmp: model = "TI AM5728 IDK";
    Binary file ./arch/arm/boot/dts/am572x-idk-lcd-osd101t2045.dtb matches
    ./arch/arm/boot/dts/am57xx-beagle-x15.dts:      model = "TI AM5728 BeagleBoard-X15";
    ./arch/arm/boot/dts/backup/tqma571x.dtsi:                                       /* VDD_DSPEVE on AM572 */
    ./arch/arm/boot/dts/backup/tqma572x.dtsi:                                       /* VDD_DSPEVE on AM572 */
    ./arch/arm/boot/dts/am572x-idk-lcd-osd101t2045.dts:     model = "TI AM572x IDK-LCD-OSD-Display";


    Otherwise our whole hardware would most likely not work at all.

    I had also tried the same with the kernel 4.9.69 from git://git.ti.com/processor-sdk/processor-sdk-linux.git, having the same result.

    Now regarding the defconfigs:

    I compared tisdk_am57xx-evm_defconfig with my .config and found no relevant PCI related differences:

    1|tq@tqma57xx-build:/opt/tqma57xx-bsp/linux-tqmaxx> diff .config arch/arm/configs/tisdk_am57xx-evm-rt_defconfig | grep PCI
     # CONFIG_CAN_C_CAN_PCI is not set
    -# CONFIG_NE2K_PCI is not set
     # CONFIG_UIO_PCI_GENERIC is not set

    See full diff and current .config attached.

    I personally think the issue is not defconfig-related.

    Some more information:

    The PCIe 1 (pcie2_phy) interface itself is working.

    The PCIe 0 (pcie1_phy) interface can not be tested due to a hardware issue that requires a redesign. Boot log looks ok though, it is just that the link does not come up.

    When I disable pcie2_phy in device tree, the wakeup processes successfully.

    See below some information regarding pcie2_phy disabled:


    &pcie2_phy {
            status = "disabled";
    ################################

    root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@1/51800000.pcie# ls
    driver_override  modalias         of_node          power            subsystem        uevent

    leer



    [   70.057044] __pci_restore_msi_state dev bus: 0x00  vendor: 0x104c device: 0x8888 resource: 0x00000000
    [   70.066359] irq_get_msi_desc, dev: ee072000, dev->irq: 00000176
    [   70.072305] int: 374


    tqma574x-mba57xx login: root
    root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0# cat irq
    root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0# cd msi_irqs/
    root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0/msi_irqs# ls
    374
    root@tqma574x-mba57xx:/sys/devices/platform/44000000.ocp/44000000.ocp:axi@0/51000000.pcie/pci0000:00/0000:00:00.0# cat irq
    374

    root@tqma574x-mba57xx:~# cat /proc/interrupts
               CPU0       CPU1
     17:          0          0      CBAR  32 Level     gp_timer
     18:          0          0     GIC-0  29 Level     arch_timer
     19:       4116       4964     GIC-0  30 Level     arch_timer
     22:          0          0      CBAR   4 Level     l3-dbg-irq
     23:          0          0     WUGEN  10 Level     l3-app-irq
     25:          3          0      CBAR 232 Level     dra7xx-pcie-main
     26:          0          0      CBAR 233 Level     dra7-pcie-msi
     29:          1          0      CBAR 121 Level     talert
     31:         49          0      CBAR   8 Level     omap-dma-engine
     34:          0          0      CBAR 361 Level     43300000.edma_ccint
     36:          0          0      CBAR 359 Level     43300000.edma_ccerrint
     39:          0          0      CBAR  24 Level     4ae10000.gpio
     40:          0          0      CBAR  25 Level     48055000.gpio
     41:          0          0      CBAR  26 Level     48057000.gpio
     74:          0          0      CBAR  27 Level     48059000.gpio
     75:          0          0  48059000.gpio   0 Edge      stmpe
     76:          0          0  48059000.gpio   1 Level     palmas
    107:          0          0      CBAR  28 Level     4805b000.gpio
    140:          0          0      CBAR  29 Level     4805d000.gpio
    168:          0          0  4805d000.gpio  27 Edge      4809c000.mmc cd
    173:          0          0      CBAR  30 Level     48051000.gpio
    186:          0          0  48051000.gpio  12 Edge      tpd12s015 hpd
    206:          0          0      CBAR 116 Level     48053000.gpio
    239:        181          0      CBAR  69 Level     48020000.serial
    273:          8          0      CBAR 108 Level     omap_dmm_irq_handler
    274:        506          0      CBAR  51 Level     48070000.i2c
    275:        194          0      CBAR  57 Level     4807a000.i2c
    276:        293          0      CBAR  78 Level     mmc0
    277:        572          0      CBAR  81 Level     mmc1
    278:          0          0      CBAR  23 Level     40d01000.mmu
    279:          0          0      CBAR 145 Level     40d02000.mmu
    280:          0          0      CBAR 395 Level     58882000.mmu
    281:          0          0      CBAR 396 Level     55082000.mmu
    283:         81          0      CBAR  49 Level     ahci[4a140000.sata]
    287:      10878          0      CBAR 335 Level     48484000.ethernet
    288:       2855          0      CBAR 336 Level     48484000.ethernet
    298:          1          0      CBAR  47 Level     48090000.rng
    300:          0          0      CBAR 146 Level     41501000.mmu
    301:          0          0      CBAR 147 Level     41502000.mmu
    304:          0          0      CBAR  20 Level     OMAP DISPC
    305:          0          0      CBAR  96 Level     OMAP HDMI
    373:          0          0     stmpe   1 Edge      stmpe-ts
    374:          0          0   PCI-MSI   0 Edge      PCIe PME, aerdrv
    407:          1          0   pinctrl 960 Edge      48020000.serial
    433:          0          0  4ae10000.gpio   0 Edge      ds1339
    467:          0          0  48055000.gpio   2 Level     3-0020
    498:          0          0   pca953x   1 Edge      button_1
    499:          0          0   pca953x   2 Edge      button_2
    500:          0          0   pca953x   3 Edge      button_3
    IPI0:          0          1  CPU wakeup interrupts
    IPI1:          0          0  Timer broadcast interrupts
    IPI2:       1676       3788  Rescheduling interrupts
    IPI3:        117        213  Function call interrupts
    IPI4:          0          0  CPU stop interrupts
    IPI5:          0          0  IRQ work interrupts
    IPI6:          0          0  completion interrupts

    Thanks and best regards,

    Stefan

    3731..config.txt

    --- arch/arm/configs/tisdk_am57xx-evm-rt_defconfig	2018-05-02 11:32:40.797479631 +0200
    +++ .config	2019-01-02 12:54:26.937823978 +0100
    @@ -1,6 +1,6 @@
     #
     # Automatically generated file; DO NOT EDIT.
    -# Linux/arm 4.9.59 Kernel Configuration
    +# Linux/arm 4.9.77 Kernel Configuration
     #
     CONFIG_ARM=y
     CONFIG_ARM_HAS_SG_CHAIN=y
    @@ -109,6 +109,7 @@
     CONFIG_RCU_STALL_COMMON=y
     CONFIG_RCU_FANOUT=32
     CONFIG_RCU_FANOUT_LEAF=16
    +# CONFIG_RCU_FAST_NO_HZ is not set
     # CONFIG_TREE_RCU_TRACE is not set
     CONFIG_RCU_BOOST=y
     CONFIG_RCU_KTHREAD_PRIO=1
    @@ -132,6 +133,7 @@
     CONFIG_CGROUP_SCHED=y
     CONFIG_FAIR_GROUP_SCHED=y
     CONFIG_CFS_BANDWIDTH=y
    +# CONFIG_RT_GROUP_SCHED is not set
     CONFIG_CGROUP_PIDS=y
     CONFIG_CGROUP_FREEZER=y
     CONFIG_CPUSETS=y
    @@ -203,12 +205,16 @@
     CONFIG_VM_EVENT_COUNTERS=y
     # CONFIG_SLUB_DEBUG is not set
     CONFIG_COMPAT_BRK=y
    +# CONFIG_SLAB is not set
     CONFIG_SLUB=y
    +# CONFIG_SLOB is not set
     # CONFIG_SLAB_FREELIST_RANDOM is not set
    +CONFIG_SLUB_CPU_PARTIAL=y
     # CONFIG_SYSTEM_DATA_VERIFICATION is not set
     # CONFIG_PROFILING is not set
     CONFIG_HAVE_OPROFILE=y
     # CONFIG_KPROBES is not set
    +# CONFIG_JUMP_LABEL is not set
     # CONFIG_UPROBES is not set
     # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
     CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
    @@ -227,6 +233,7 @@
     CONFIG_HAVE_HW_BREAKPOINT=y
     CONFIG_HAVE_PERF_REGS=y
     CONFIG_HAVE_PERF_USER_STACK_DUMP=y
    +CONFIG_HAVE_ARCH_JUMP_LABEL=y
     CONFIG_HAVE_RCU_TABLE_FREE=y
     CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
     CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
    @@ -320,7 +327,11 @@
     CONFIG_DEFAULT_CFQ=y
     # CONFIG_DEFAULT_NOOP is not set
     CONFIG_DEFAULT_IOSCHED="cfq"
    +CONFIG_UNINLINE_SPIN_UNLOCK=y
     CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
    +CONFIG_MUTEX_SPIN_ON_OWNER=y
    +CONFIG_RWSEM_SPIN_ON_OWNER=y
    +CONFIG_LOCK_SPIN_ON_OWNER=y
     CONFIG_FREEZER=y
     
     #
    @@ -575,14 +586,12 @@
     # CONFIG_ARM_PSCI is not set
     CONFIG_ARCH_NR_GPIO=512
     CONFIG_PREEMPT=y
    -CONFIG_PREEMPT_RT_BASE=y
     CONFIG_HAVE_PREEMPT_LAZY=y
    -CONFIG_PREEMPT_LAZY=y
     # CONFIG_PREEMPT_NONE is not set
     # CONFIG_PREEMPT_VOLUNTARY is not set
    -# CONFIG_PREEMPT__LL is not set
    +CONFIG_PREEMPT__LL=y
     # CONFIG_PREEMPT_RTB is not set
    -CONFIG_PREEMPT_RT_FULL=y
    +# CONFIG_PREEMPT_RT_FULL is not set
     CONFIG_PREEMPT_COUNT=y
     CONFIG_HZ_FIXED=0
     CONFIG_HZ_100=y
    @@ -621,6 +630,7 @@
     CONFIG_BOUNCE=y
     # CONFIG_KSM is not set
     CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
    +# CONFIG_TRANSPARENT_HUGEPAGE is not set
     # CONFIG_CLEANCACHE is not set
     # CONFIG_FRONTSWAP is not set
     CONFIG_CMA=y
    @@ -656,6 +666,7 @@
     CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
     # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
     CONFIG_CMDLINE=""
    +# CONFIG_KEXEC is not set
     # CONFIG_CRASH_DUMP is not set
     CONFIG_AUTO_ZRELADDR=y
     CONFIG_EFI_STUB=y
    @@ -703,15 +714,28 @@
     #
     # Power management options
     #
    -# CONFIG_SUSPEND is not set
    -# CONFIG_HIBERNATION is not set
    +CONFIG_SUSPEND=y
    +CONFIG_SUSPEND_FREEZER=y
    +# CONFIG_SUSPEND_SKIP_SYNC is not set
    +CONFIG_HIBERNATE_CALLBACKS=y
    +CONFIG_HIBERNATION=y
    +CONFIG_PM_STD_PARTITION=""
    +CONFIG_PM_SLEEP=y
    +CONFIG_PM_SLEEP_SMP=y
    +# CONFIG_PM_AUTOSLEEP is not set
    +CONFIG_PM_WAKELOCKS=y
    +CONFIG_PM_WAKELOCKS_LIMIT=100
    +CONFIG_PM_WAKELOCKS_GC=y
     CONFIG_PM=y
     CONFIG_PM_DEBUG=y
     # CONFIG_PM_ADVANCED_DEBUG is not set
    +# CONFIG_PM_TEST_SUSPEND is not set
    +CONFIG_PM_SLEEP_DEBUG=y
     # CONFIG_APM_EMULATION is not set
     CONFIG_PM_OPP=y
     CONFIG_PM_CLK=y
     # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
    +CONFIG_CPU_PM=y
     CONFIG_ARCH_SUSPEND_POSSIBLE=y
     CONFIG_ARM_CPU_SUSPEND=y
     CONFIG_ARCH_HIBERNATION_POSSIBLE=y
    @@ -1090,7 +1114,7 @@
     # CONFIG_VSOCKETS is not set
     # CONFIG_NETLINK_DIAG is not set
     # CONFIG_MPLS is not set
    -CONFIG_HSR_PRP=y
    +# CONFIG_HSR is not set
     CONFIG_NET_SWITCHDEV=y
     # CONFIG_NET_L3_MASTER_DEV is not set
     # CONFIG_NET_NCSI is not set
    @@ -1110,29 +1134,29 @@
     #
     # CONFIG_NET_PKTGEN is not set
     # CONFIG_HAMRADIO is not set
    -CONFIG_CAN=m
    -CONFIG_CAN_RAW=m
    -CONFIG_CAN_BCM=m
    -CONFIG_CAN_GW=m
    +CONFIG_CAN=y
    +CONFIG_CAN_RAW=y
    +CONFIG_CAN_BCM=y
    +CONFIG_CAN_GW=y
     
     #
     # CAN Device Drivers
     #
     # CONFIG_CAN_VCAN is not set
     # CONFIG_CAN_SLCAN is not set
    -CONFIG_CAN_DEV=m
    +CONFIG_CAN_DEV=y
     CONFIG_CAN_CALC_BITTIMING=y
     # CONFIG_CAN_LEDS is not set
     # CONFIG_CAN_FLEXCAN is not set
     # CONFIG_CAN_GRCAN is not set
    -# CONFIG_CAN_TI_HECC is not set
    -CONFIG_CAN_C_CAN=m
    +CONFIG_CAN_TI_HECC=y
    +CONFIG_CAN_C_CAN=y
     CONFIG_CAN_C_CAN_PLATFORM=m
     # CONFIG_CAN_C_CAN_PCI is not set
     # CONFIG_CAN_CC770 is not set
     # CONFIG_CAN_IFI_CANFD is not set
    -CONFIG_CAN_M_CAN=m
    -CONFIG_CAN_RCAR=m
    +CONFIG_CAN_M_CAN=y
    +# CONFIG_CAN_RCAR is not set
     # CONFIG_CAN_RCAR_CANFD is not set
     # CONFIG_CAN_SJA1000 is not set
     # CONFIG_CAN_SOFTING is not set
    @@ -1151,7 +1175,7 @@
     # CONFIG_CAN_KVASER_USB is not set
     # CONFIG_CAN_PEAK_USB is not set
     # CONFIG_CAN_8DEV_USB is not set
    -# CONFIG_CAN_DEBUG_DEVICES is not set
    +CONFIG_CAN_DEBUG_DEVICES=y
     # CONFIG_IRDA is not set
     CONFIG_BT=m
     CONFIG_BT_BREDR=y
    @@ -1526,9 +1550,9 @@
     #
     # SCSI device support
     #
    -CONFIG_SCSI_MOD=m
    +CONFIG_SCSI_MOD=y
     # CONFIG_RAID_ATTRS is not set
    -CONFIG_SCSI=m
    +CONFIG_SCSI=y
     CONFIG_SCSI_DMA=y
     # CONFIG_SCSI_NETLINK is not set
     # CONFIG_SCSI_MQ_DEFAULT is not set
    @@ -1537,11 +1561,10 @@
     #
     # SCSI support type (disk, tape, CD-ROM)
     #
    -CONFIG_BLK_DEV_SD=m
    +CONFIG_BLK_DEV_SD=y
     # CONFIG_CHR_DEV_ST is not set
     # CONFIG_CHR_DEV_OSST is not set
    -CONFIG_BLK_DEV_SR=m
    -# CONFIG_BLK_DEV_SR_VENDOR is not set
    +# CONFIG_BLK_DEV_SR is not set
     # CONFIG_CHR_DEV_SG is not set
     # CONFIG_CHR_DEV_SCH is not set
     # CONFIG_SCSI_CONSTANTS is not set
    @@ -1607,7 +1630,7 @@
     # CONFIG_SCSI_VIRTIO is not set
     # CONFIG_SCSI_DH is not set
     # CONFIG_SCSI_OSD_INITIATOR is not set
    -CONFIG_ATA=m
    +CONFIG_ATA=y
     # CONFIG_ATA_NONSTANDARD is not set
     CONFIG_ATA_VERBOSE_ERROR=y
     CONFIG_SATA_PMP=y
    @@ -1615,8 +1638,8 @@
     #
     # Controllers with non-SFF native interface
     #
    -CONFIG_SATA_AHCI=m
    -CONFIG_SATA_AHCI_PLATFORM=m
    +CONFIG_SATA_AHCI=y
    +CONFIG_SATA_AHCI_PLATFORM=y
     # CONFIG_AHCI_CEVA is not set
     # CONFIG_AHCI_QORIQ is not set
     # CONFIG_SATA_INIC162X is not set
    @@ -1636,8 +1659,10 @@
     # SATA SFF controllers with BMDMA
     #
     # CONFIG_ATA_PIIX is not set
    -# CONFIG_SATA_DWC is not set
    -CONFIG_SATA_MV=m
    +CONFIG_SATA_DWC=y
    +# CONFIG_SATA_DWC_OLD_DMA is not set
    +# CONFIG_SATA_DWC_DEBUG is not set
    +# CONFIG_SATA_MV is not set
     # CONFIG_SATA_NV is not set
     # CONFIG_SATA_PROMISE is not set
     # CONFIG_SATA_SIL is not set
    @@ -1759,7 +1784,7 @@
     # CONFIG_BCMGENET is not set
     # CONFIG_BNX2 is not set
     # CONFIG_CNIC is not set
    -CONFIG_TIGON3=m
    +# CONFIG_TIGON3 is not set
     # CONFIG_BNX2X is not set
     # CONFIG_SYSTEMPORT is not set
     # CONFIG_BNXT is not set
    @@ -1780,9 +1805,10 @@
     # CONFIG_NET_VENDOR_HP is not set
     CONFIG_NET_VENDOR_INTEL=y
     # CONFIG_E100 is not set
    -CONFIG_E1000=m
    -CONFIG_E1000E=m
    -# CONFIG_IGB is not set
    +# CONFIG_E1000 is not set
    +CONFIG_E1000E=y
    +CONFIG_IGB=y
    +CONFIG_IGB_HWMON=y
     # CONFIG_IGBVF is not set
     # CONFIG_IXGB is not set
     # CONFIG_IXGBE is not set
    @@ -1790,7 +1816,7 @@
     # CONFIG_I40E is not set
     # CONFIG_I40EVF is not set
     # CONFIG_FM10K is not set
    -# CONFIG_NET_VENDOR_I825XX is not set
    +CONFIG_NET_VENDOR_I825XX=y
     # CONFIG_JME is not set
     CONFIG_NET_VENDOR_MARVELL=y
     # CONFIG_MVMDIO is not set
    @@ -1808,8 +1834,13 @@
     # CONFIG_NET_VENDOR_MICROCHIP is not set
     # CONFIG_NET_VENDOR_MYRI is not set
     # CONFIG_FEALNX is not set
    -# CONFIG_NET_VENDOR_NATSEMI is not set
    +CONFIG_NET_VENDOR_NATSEMI=y
    +CONFIG_NATSEMI=y
    +CONFIG_NS83820=y
     # CONFIG_NET_VENDOR_NETRONOME is not set
    +CONFIG_NET_VENDOR_8390=y
    +# CONFIG_AX88796 is not set
    +# CONFIG_NE2K_PCI is not set
     # CONFIG_NET_VENDOR_NVIDIA is not set
     # CONFIG_NET_VENDOR_OKI is not set
     # CONFIG_ETHOC is not set
    @@ -1846,8 +1877,7 @@
     CONFIG_TI_CPSW=y
     CONFIG_TI_CPTS=y
     # CONFIG_TLAN is not set
    -CONFIG_TI_PRUETH=m
    -CONFIG_TI_PTP_BC=y
    +CONFIG_TI_PRUETH=y
     # CONFIG_NET_VENDOR_VIA is not set
     # CONFIG_NET_VENDOR_WIZNET is not set
     # CONFIG_FDDI is not set
    @@ -2116,6 +2146,7 @@
     CONFIG_KEYBOARD_SAMSUNG=m
     # CONFIG_KEYBOARD_STOWAWAY is not set
     # CONFIG_KEYBOARD_SUNKBD is not set
    +# CONFIG_KEYBOARD_STMPE is not set
     # CONFIG_KEYBOARD_OMAP4 is not set
     # CONFIG_KEYBOARD_XTKBD is not set
     # CONFIG_KEYBOARD_CAP11XX is not set
    @@ -2198,6 +2229,7 @@
     # CONFIG_TOUCHSCREEN_SILEAD is not set
     # CONFIG_TOUCHSCREEN_SIS_I2C is not set
     CONFIG_TOUCHSCREEN_ST1232=m
    +CONFIG_TOUCHSCREEN_STMPE=y
     # CONFIG_TOUCHSCREEN_SUR40 is not set
     # CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
     # CONFIG_TOUCHSCREEN_SX8654 is not set
    @@ -2264,6 +2296,7 @@
     CONFIG_VT=y
     CONFIG_CONSOLE_TRANSLATIONS=y
     CONFIG_VT_CONSOLE=y
    +CONFIG_VT_CONSOLE_SLEEP=y
     CONFIG_HW_CONSOLE=y
     CONFIG_VT_HW_CONSOLE_BINDING=y
     CONFIG_UNIX98_PTYS=y
    @@ -2513,7 +2546,8 @@
     # CONFIG_GPIO_ADNP is not set
     # CONFIG_GPIO_MAX7300 is not set
     # CONFIG_GPIO_MAX732X is not set
    -CONFIG_GPIO_PCA953X=m
    +CONFIG_GPIO_PCA953X=y
    +CONFIG_GPIO_PCA953X_IRQ=y
     CONFIG_GPIO_PCF857X=y
     # CONFIG_GPIO_SX150X is not set
     CONFIG_GPIO_TPIC2810=m
    @@ -2525,6 +2559,7 @@
     # CONFIG_HTC_EGPIO is not set
     # CONFIG_GPIO_LP873X is not set
     CONFIG_GPIO_PALMAS=y
    +# CONFIG_GPIO_STMPE is not set
     # CONFIG_GPIO_TPS65218 is not set
     # CONFIG_GPIO_TPS6586X is not set
     CONFIG_GPIO_TPS65910=y
    @@ -2663,7 +2698,7 @@
     # CONFIG_SENSORS_HIH6130 is not set
     CONFIG_SENSORS_IIO_HWMON=y
     # CONFIG_SENSORS_IT87 is not set
    -# CONFIG_SENSORS_JC42 is not set
    +CONFIG_SENSORS_JC42=y
     # CONFIG_SENSORS_POWR1220 is not set
     # CONFIG_SENSORS_LINEAGE is not set
     # CONFIG_SENSORS_LTC2945 is not set
    @@ -2901,7 +2936,13 @@
     # CONFIG_MFD_SKY81452 is not set
     # CONFIG_MFD_SMSC is not set
     # CONFIG_ABX500_CORE is not set
    -# CONFIG_MFD_STMPE is not set
    +CONFIG_MFD_STMPE=y
    +
    +#
    +# STMicroelectronics STMPE Interface Drivers
    +#
    +CONFIG_STMPE_I2C=y
    +# CONFIG_STMPE_SPI is not set
     CONFIG_MFD_SYSCON=y
     CONFIG_MFD_TI_AM335X_TSCADC=m
     # CONFIG_MFD_LP3943 is not set
    @@ -3290,6 +3331,7 @@
     # CONFIG_VGA_ARB is not set
     # CONFIG_IMX_IPUV3_CORE is not set
     CONFIG_DRM=y
    +CONFIG_DRM_MIPI_DSI=y
     # CONFIG_DRM_DP_AUX_CHARDEV is not set
     CONFIG_DRM_KMS_HELPER=y
     CONFIG_DRM_KMS_FB_HELPER=y
    @@ -3303,7 +3345,7 @@
     #
     # CONFIG_DRM_I2C_CH7006 is not set
     # CONFIG_DRM_I2C_SIL164 is not set
    -CONFIG_DRM_I2C_NXP_TDA998X=y
    +CONFIG_DRM_I2C_NXP_TDA998X=m
     # CONFIG_DRM_HDLCD is not set
     # CONFIG_DRM_MALI_DISPLAY is not set
     # CONFIG_DRM_RADEON is not set
    @@ -3325,16 +3367,16 @@
     CONFIG_OMAP2_DSS_INIT=y
     CONFIG_OMAP_DSS_BASE=y
     CONFIG_OMAP2_DSS=y
    -# CONFIG_OMAP2_DSS_DEBUG is not set
    +CONFIG_OMAP2_DSS_DEBUG=y
     CONFIG_OMAP2_DSS_DEBUGFS=y
     # CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
     CONFIG_OMAP2_DSS_DPI=y
    -# CONFIG_OMAP2_DSS_VENC is not set
    +CONFIG_OMAP2_DSS_VENC=y
     CONFIG_OMAP2_DSS_HDMI_COMMON=y
     CONFIG_OMAP4_DSS_HDMI=y
     CONFIG_OMAP5_DSS_HDMI=y
    -# CONFIG_OMAP2_DSS_SDI is not set
    -# CONFIG_OMAP2_DSS_DSI is not set
    +CONFIG_OMAP2_DSS_SDI=y
    +CONFIG_OMAP2_DSS_DSI=y
     CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
     CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
     CONFIG_TI_DSS6=y
    @@ -3342,43 +3384,57 @@
     #
     # OMAPDRM External Display Device Drivers
     #
    -# CONFIG_DRM_OMAP_ENCODER_OPA362 is not set
    -# CONFIG_DRM_OMAP_ENCODER_TFP410 is not set
    +CONFIG_DRM_OMAP_ENCODER_OPA362=y
    +CONFIG_DRM_OMAP_ENCODER_TFP410=y
     CONFIG_DRM_OMAP_ENCODER_TPD12S015=y
     CONFIG_DRM_OMAP_ENCODER_TC358768=y
     CONFIG_DRM_OMAP_DRA7EVM_ENCODER_TPD12S015=y
     CONFIG_DRM_OMAP_ENCODER_SII9022=y
     CONFIG_DRM_OMAP_ENCODER_SII9022_AUDIO_CODEC=y
    -# CONFIG_DRM_OMAP_CONNECTOR_DVI is not set
    +CONFIG_DRM_OMAP_CONNECTOR_DVI=y
     CONFIG_DRM_OMAP_CONNECTOR_HDMI=y
    -# CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV is not set
    +CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=y
     CONFIG_DRM_OMAP_PANEL_DPI=y
    -# CONFIG_DRM_OMAP_PANEL_DSI_CM is not set
    -# CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM is not set
    -# CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02 is not set
    -# CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01 is not set
    -# CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1 is not set
    -# CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1 is not set
    -# CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11 is not set
    +CONFIG_DRM_OMAP_PANEL_DSI_CM=y
    +CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=y
    +CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02=y
    +CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=y
    +CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=y
    +CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=y
    +CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11=y
     CONFIG_DRM_TILCDC=y
     CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
     # CONFIG_DRM_QXL is not set
     # CONFIG_DRM_BOCHS is not set
     # CONFIG_DRM_VIRTIO_GPU is not set
     # CONFIG_DRM_FSL_DCU is not set
    +CONFIG_DRM_PANEL=y
    +
    +#
    +# Display Panels
    +#
    +# CONFIG_DRM_PANEL_SIMPLE is not set
    +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
    +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
    +# CONFIG_DRM_PANEL_LG_LG4573 is not set
    +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
    +# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
    +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
    +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
     CONFIG_DRM_BRIDGE=y
     
     #
     # Display Interface Bridges
     #
    -# CONFIG_DRM_ANALOGIX_ANX78XX is not set
    -# CONFIG_DRM_DUMB_VGA_DAC is not set
    -# CONFIG_DRM_NXP_PTN3460 is not set
    -# CONFIG_DRM_PARADE_PS8622 is not set
    -# CONFIG_DRM_SII902X is not set
    -# CONFIG_DRM_TOSHIBA_TC358767 is not set
    -# CONFIG_DRM_TI_TFP410 is not set
    -# CONFIG_DRM_I2C_ADV7511 is not set
    +CONFIG_DRM_ANALOGIX_ANX78XX=y
    +CONFIG_DRM_DUMB_VGA_DAC=y
    +CONFIG_DRM_NXP_PTN3460=y
    +CONFIG_DRM_PARADE_PS8622=y
    +CONFIG_DRM_SII902X=y
    +CONFIG_DRM_TOSHIBA_TC358767=y
    +CONFIG_DRM_TI_TFP410=y
    +CONFIG_DRM_I2C_ADV7511=y
    +CONFIG_DRM_I2C_ADV7533=y
     # CONFIG_DRM_STI is not set
     # CONFIG_DRM_ARCPGU is not set
     # CONFIG_DRM_LEGACY is not set
    @@ -3404,7 +3460,7 @@
     CONFIG_FB_DEFERRED_IO=y
     # CONFIG_FB_SVGALIB is not set
     # CONFIG_FB_MACMODES is not set
    -CONFIG_FB_BACKLIGHT=y
    +# CONFIG_FB_BACKLIGHT is not set
     # CONFIG_FB_MODE_HELPERS is not set
     # CONFIG_FB_TILEBLITTING is not set
     
    @@ -3416,8 +3472,8 @@
     # CONFIG_FB_CYBER2000 is not set
     # CONFIG_FB_ASILIANT is not set
     # CONFIG_FB_IMSTT is not set
    -CONFIG_FB_EFI=y
    -# CONFIG_FB_OPENCORES is not set
    +# CONFIG_FB_EFI is not set
    +CONFIG_FB_OPENCORES=y
     # CONFIG_FB_S1D13XXX is not set
     # CONFIG_FB_NVIDIA is not set
     # CONFIG_FB_RIVA is not set
    @@ -3447,10 +3503,23 @@
     # CONFIG_FB_BROADSHEET is not set
     # CONFIG_FB_AUO_K190X is not set
     CONFIG_FB_SIMPLE=y
    -CONFIG_FB_SSD1307=y
    +# CONFIG_FB_SSD1307 is not set
     # CONFIG_FB_SM712 is not set
     CONFIG_BACKLIGHT_LCD_SUPPORT=y
    -# CONFIG_LCD_CLASS_DEVICE is not set
    +CONFIG_LCD_CLASS_DEVICE=y
    +# CONFIG_LCD_L4F00242T03 is not set
    +# CONFIG_LCD_LMS283GF05 is not set
    +# CONFIG_LCD_LTV350QV is not set
    +# CONFIG_LCD_ILI922X is not set
    +# CONFIG_LCD_ILI9320 is not set
    +# CONFIG_LCD_TDO24M is not set
    +# CONFIG_LCD_VGG2432A4 is not set
    +CONFIG_LCD_PLATFORM=y
    +# CONFIG_LCD_S6E63M0 is not set
    +# CONFIG_LCD_LD9040 is not set
    +# CONFIG_LCD_AMS369FG06 is not set
    +# CONFIG_LCD_LMS501KF03 is not set
    +# CONFIG_LCD_HX8357 is not set
     CONFIG_BACKLIGHT_CLASS_DEVICE=y
     CONFIG_BACKLIGHT_GENERIC=y
     CONFIG_BACKLIGHT_PWM=y
    @@ -3460,7 +3529,7 @@
     # CONFIG_BACKLIGHT_LM3630A is not set
     # CONFIG_BACKLIGHT_LM3639 is not set
     # CONFIG_BACKLIGHT_LP855X is not set
    -# CONFIG_BACKLIGHT_TPS65217 is not set
    +CONFIG_BACKLIGHT_TPS65217=y
     CONFIG_BACKLIGHT_GPIO=y
     # CONFIG_BACKLIGHT_LV5207LP is not set
     # CONFIG_BACKLIGHT_BD6107 is not set
    @@ -3476,7 +3545,10 @@
     CONFIG_FRAMEBUFFER_CONSOLE=y
     CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
     CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
    -# CONFIG_LOGO is not set
    +CONFIG_LOGO=y
    +CONFIG_LOGO_LINUX_MONO=y
    +CONFIG_LOGO_LINUX_VGA16=y
    +CONFIG_LOGO_LINUX_CLUT224=y
     CONFIG_SOUND=y
     # CONFIG_SOUND_OSS_CORE is not set
     CONFIG_SND=y
    @@ -3650,7 +3722,7 @@
     # CONFIG_SND_SOC_CS42XX8_I2C is not set
     # CONFIG_SND_SOC_CS4349 is not set
     # CONFIG_SND_SOC_CS53L30 is not set
    -CONFIG_SND_SOC_HDMI_CODEC=y
    +CONFIG_SND_SOC_HDMI_CODEC=m
     # CONFIG_SND_SOC_ES8328 is not set
     # CONFIG_SND_SOC_GTM601 is not set
     # CONFIG_SND_SOC_INNO_RK3036 is not set
    @@ -3852,13 +3924,13 @@
     CONFIG_USB_OHCI_HCD_PLATFORM=m
     # CONFIG_USB_UHCI_HCD is not set
     # CONFIG_USB_SL811_HCD is not set
    -CONFIG_USB_R8A66597_HCD=m
    +# CONFIG_USB_R8A66597_HCD is not set
     # CONFIG_USB_HCD_TEST_MODE is not set
     
     #
     # USB Device Class drivers
     #
    -CONFIG_USB_ACM=m
    +# CONFIG_USB_ACM is not set
     # CONFIG_USB_PRINTER is not set
     # CONFIG_USB_WDM is not set
     # CONFIG_USB_TMC is not set
    @@ -3926,12 +3998,7 @@
     CONFIG_USB_DWC3_OF_SIMPLE=m
     # CONFIG_USB_DWC2 is not set
     # CONFIG_USB_CHIPIDEA is not set
    -CONFIG_USB_ISP1760=m
    -CONFIG_USB_ISP1760_HCD=y
    -CONFIG_USB_ISP1761_UDC=y
    -# CONFIG_USB_ISP1760_HOST_ROLE is not set
    -# CONFIG_USB_ISP1760_GADGET_ROLE is not set
    -CONFIG_USB_ISP1760_DUAL_ROLE=y
    +# CONFIG_USB_ISP1760 is not set
     
     #
     # USB port drivers
    @@ -4105,18 +4172,14 @@
     CONFIG_USB_FUNCTIONFS_GENERIC=y
     CONFIG_USB_MASS_STORAGE=m
     CONFIG_USB_G_SERIAL=m
    -CONFIG_USB_MIDI_GADGET=m
    -CONFIG_USB_G_PRINTER=m
    -CONFIG_USB_CDC_COMPOSITE=m
    -CONFIG_USB_G_ACM_MS=m
    -CONFIG_USB_G_MULTI=m
    -CONFIG_USB_G_MULTI_RNDIS=y
    -CONFIG_USB_G_MULTI_CDC=y
    -CONFIG_USB_G_HID=m
    -CONFIG_USB_G_DBGP=m
    -# CONFIG_USB_G_DBGP_PRINTK is not set
    -CONFIG_USB_G_DBGP_SERIAL=y
    -CONFIG_USB_G_WEBCAM=m
    +# CONFIG_USB_MIDI_GADGET is not set
    +# CONFIG_USB_G_PRINTER is not set
    +# CONFIG_USB_CDC_COMPOSITE is not set
    +# CONFIG_USB_G_ACM_MS is not set
    +# CONFIG_USB_G_MULTI is not set
    +# CONFIG_USB_G_HID is not set
    +# CONFIG_USB_G_DBGP is not set
    +# CONFIG_USB_G_WEBCAM is not set
     # CONFIG_USB_LED_TRIG is not set
     # CONFIG_USB_ULPI_BUS is not set
     # CONFIG_UWB is not set
    @@ -4200,6 +4263,7 @@
     # CONFIG_LEDS_TRIGGER_MTD is not set
     CONFIG_LEDS_TRIGGER_HEARTBEAT=y
     CONFIG_LEDS_TRIGGER_BACKLIGHT=y
    +# CONFIG_LEDS_TRIGGER_CPU is not set
     CONFIG_LEDS_TRIGGER_GPIO=y
     CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
     
    @@ -4240,7 +4304,7 @@
     #
     # CONFIG_RTC_DRV_ABB5ZES3 is not set
     # CONFIG_RTC_DRV_ABX80X is not set
    -CONFIG_RTC_DRV_DS1307=m
    +CONFIG_RTC_DRV_DS1307=y
     CONFIG_RTC_DRV_DS1307_HWMON=y
     # CONFIG_RTC_DRV_DS1307_CENTURY is not set
     # CONFIG_RTC_DRV_DS1374 is not set
    @@ -4319,7 +4383,7 @@
     #
     # on-CPU RTC drivers
     #
    -CONFIG_RTC_DRV_OMAP=m
    +# CONFIG_RTC_DRV_OMAP is not set
     # CONFIG_RTC_DRV_SNVS is not set
     
     #
    @@ -4359,15 +4423,15 @@
     #
     # CONFIG_SYNC_FILE is not set
     # CONFIG_AUXDISPLAY is not set
    -CONFIG_UIO=m
    +CONFIG_UIO=y
     # CONFIG_UIO_CIF is not set
    -# CONFIG_UIO_PDRV_GENIRQ is not set
    -# CONFIG_UIO_DMEM_GENIRQ is not set
    +CONFIG_UIO_PDRV_GENIRQ=y
    +CONFIG_UIO_DMEM_GENIRQ=y
     # CONFIG_UIO_AEC is not set
     # CONFIG_UIO_SERCOS3 is not set
     # CONFIG_UIO_PCI_GENERIC is not set
     # CONFIG_UIO_NETX is not set
    -# CONFIG_UIO_PRUSS is not set
    +CONFIG_UIO_PRUSS=y
     # CONFIG_UIO_MF624 is not set
     # CONFIG_VFIO is not set
     # CONFIG_VIRT_DRIVERS is not set
    @@ -4455,18 +4519,18 @@
     #
     # Remoteproc drivers
     #
    -CONFIG_REMOTEPROC=m
    -CONFIG_OMAP_REMOTEPROC=m
    +CONFIG_REMOTEPROC=y
    +CONFIG_OMAP_REMOTEPROC=y
     CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
    -CONFIG_PRUSS_REMOTEPROC=m
    +CONFIG_PRUSS_REMOTEPROC=y
     
     #
     # Rpmsg drivers
     #
    -CONFIG_RPMSG=m
    -CONFIG_RPMSG_VIRTIO=m
    -CONFIG_RPMSG_RPC=m
    -CONFIG_RPMSG_PRU=m
    +CONFIG_RPMSG=y
    +CONFIG_RPMSG_VIRTIO=y
    +CONFIG_RPMSG_RPC=y
    +CONFIG_RPMSG_PRU=y
     
     #
     # SOC (System On Chip) specific Drivers
    @@ -4486,7 +4550,7 @@
     #
     # CONFIG_EXTCON_ADC_JACK is not set
     # CONFIG_EXTCON_AXP288 is not set
    -# CONFIG_EXTCON_GPIO is not set
    +CONFIG_EXTCON_GPIO=m
     # CONFIG_EXTCON_MAX3355 is not set
     CONFIG_EXTCON_PALMAS=m
     # CONFIG_EXTCON_QCOM_SPMI_MISC is not set
    @@ -4780,6 +4844,7 @@
     CONFIG_PWM_FSL_FTM=m
     # CONFIG_PWM_OMAP_DMTIMER is not set
     # CONFIG_PWM_PCA9685 is not set
    +# CONFIG_PWM_STMPE is not set
     CONFIG_PWM_TIECAP=y
     CONFIG_PWM_TIEHRPWM=y
     CONFIG_PWM_TIPWMSS=y
    @@ -5111,7 +5176,6 @@
     # Memory Debugging
     #
     # CONFIG_PAGE_EXTENSION is not set
    -# CONFIG_DEBUG_PAGEALLOC is not set
     # CONFIG_PAGE_POISONING is not set
     # CONFIG_DEBUG_OBJECTS is not set
     # CONFIG_SLUB_STATS is not set
    

  • Hi, Stefan,

    Ok. I was comparing your old defconfig in the old thread which I saw the following differences:

    < CONFIG_PCIEAER=y
    < CONFIG_PCIEASPM=y
    < CONFIG_PCIEASPM_DEFAULT=y
    < CONFIG_PCIE_PME=y
    < CONFIG_PCIE_DW=y
    < CONFIG_PCIE_DW_HOST=y
    < CONFIG_PCIE_DW_EP=y

    But these don't show up in the diff with your new attachment in this thread. So, we are align with this now.

    From your dts files posted in the old thread, you are using PCIE_SS1 and PCIE_SS2 and 1 lane each.
    You also mentioned that if only 1 PCIE_SS is configured (or both PCIE_SS are enabled, but only 1 PHY is enabled) it works.
    Is my understanding correct?

    I don't think suspend is a test case, but I'll give it a try to see what I get.

    Rex
  • Hi Rex,

    "From your dts files posted in the old thread, you are using PCIE_SS1 and PCIE_SS2 and 1 lane each."
    Correct.

    "You also mentioned that if only 1 PCIE_SS is configured (or both PCIE_SS are enabled, but only 1 PHY is enabled) it works."
    Correct.

    I understand that this is not a typical test case.
    The finding (if we get to one) might be interesting none the less.

    Regards,
    Stefan
  • Hi, Stefan,

    I went through our platforms, and I won't be able to reproduce the issue to investigate further. None of TI EVMs has 2 ports.
    I would suggest that you check if some shared data structure is causing this.

    Rex
  • Rex,

    what do you mean exactly by "some shared data structure"? Can you give a hint on where to debug further based on the information and linux console output provided by me?

    Regards,

    Stefan

  • Hi, Stefan,

    As I mentioned in my earlier post that TI has not really tested 2 RCs on any of the EVMs. You also mentioned that 1 RC is working. We suspect it might be some code prevents 2 controllers being supported where they may share same data structure.

    Rex
  • Hi, Stefan,

    TI doesn't have the setup to reproduce the issue and to work further. We suggest that you debug on your end and check if the data structure gets overwritten when 2 ports are enabled.

    Rex
  • Hi, Stefan,

    Have you had any progress to find out if data structure sharing between 2 ports is or is not the cause?

    Rex
  • Hi, Stefan,

    We haven't heard back from you in a while. I'll close this thread for now. Please submit a new thread if you have any other issues.

    Rex