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/TDA2PXEVM: SSD not seen when plugged into TDA2PEVA board

Part Number: TDA2PXEVM

Tool/software: Linux

Dear Ti,

we are trying to connect PCIe NVMe 3.0 x4 SSD into TDA2P eva board. We have done HW modifications in order to downgrade x4 ssd to work with x1 connector located on EVA board (shorted PRSTN2 and PRSNT1).

We have included NVME_support in kernel_menuconfig but after we boot the board, lsmod doesnt show this module and lspci fails to show SSD as well.

Do you have any proposals in orded to get this SSD to work?

SSD was verified in our PC with same linux version as it runs on the board (4.4.84).

We are using U.2 (SFF - 8639) SSD to PCI-E adapter and intel Optane SSD 900p.

Regards,

Stefan.

  • Hi Stefan,

    Can you run the below command on the target and paste the output?

    omapconf read 0x51002104

    Also can you provide the kernel config used by running the below command (attach the file config.txt)

    zcat /proc/config.gz > config.txt

    Please also attach the DTB you're using.

    Regards
    Shravan
  • Hi Shravan,

    here are the files and command results you have asked for.

    root@dra7xx-evm:~# omapconf read 0x51002104
    00000001

    .dtb can not be attached here so i have changed the extension to .txt. However, that is an original dra76-evm-infoadas.dtb

    Regards,

    Stefan.

    dra76-evm-infoadas.txt

    8780.config.txt

  • Hi Stefan,

    Thanks you, please give me a couple of days, I will revert with some possible solutions.

    Regards
    Shravan
  • Hi Stefan,

    The config and the DT look fine. The link status (register read 0x51002104), seems to indicate that the EP isn't taken out of reset, thus lspci doesn't enumerate the SSD. Can you connect any other device and check if its working (network card etc)? Could you try any other SD card? Also can you attach the kernel logs on the target (when SSD isn't enumerated) by running 'dmesg'.

    Also can you confirm the SSD being used is the one in the link below?
    www.intel.com/.../900p-280gb-2-5-inch-20nm.html

    Regards
    Shravan
  • Hi Shravan,

    I confirm that we have used the Intel Optane SSD 900P from the link you have sent us.

    We have used another SSD and we got it to work. This is the one - OCZ RevoDrive PCI-Express x4 50GB PCI Express MLC Internal Solid State Drive (SSD) OCZSSDPX-1RVD0050:

    https://www.newegg.com/Product/Product.aspx?Item=N82E16820227596

    However, this one has RAID controller on it.... the lspci, lsblk and omapconf commands while it is plugged in are shown below:

    root@dra7xx-evm:~# lspci
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
    01:00.0 PCI bridge: Pericom Semiconductor PCI Express to PCI-XPI7C9X130 PCI-X Bridge (rev 04)
    02:00.0 RAID bus controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)
    .................................................
    root@dra7xx-evm:~# lsblk
    NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda            8:0    0 23.3G  0 disk
    `-sda1         8:1    0 23.3G  0 part /run/media/sda1
    sdb            8:16   0 23.3G  0 disk
    `-sdb1         8:17   0 23.3G  0 part /run/media/sdb1
    mmcblk1boot0 179:32   0    8M  1 disk
    mmcblk1boot1 179:48   0    8M  1 disk
    mmcblk0      179:0    0  7.5G  0 disk
    |-mmcblk0p1  179:1    0  256M  0 part /run/media/mmcblk0p1
    `-mmcblk0p2  179:2    0  7.3G  0 part /
    mmcblk1      179:16   0  7.3G  0 disk
    |-mmcblk1p1  179:17   0   64M  0 part /run/media/mmcblk1p1
    `-mmcblk1p2  179:18   0  7.2G  0 part
    mtdblock0     31:0    0  256K  0 disk
    mtdblock1     31:1    0    1M  0 disk
    mtdblock2     31:2    0  512K  0 disk
    mtdblock3     31:3    0   64K  0 disk
    mtdblock4     31:4    0   64K  0 disk
    mtdblock5     31:5    0    8M  0 disk
    mtdblock6     31:6    0 22.1M  0 disk

    sda is the mounted SSD
    .........................................................................

    root@dra7xx-evm:~# omapconf read 0x51002104
    00000045

    I have changed the config a bit so please take a look at the new attached file. Results of dmesg commands on both SSDs are also attached.

    We still dont have any progress on Intel's SDD.

    Thank you for the fast response. This is a real issue for us now.

    Regards,

    Stefan.

    4667.config_new_ti.txt

    root@dra7xx-evm:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.84 (root@rtrkn096-lin) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #11 SMP PREEMPT Thu Jun 14 11:40:00 CEST 2018
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI DRA762 EVM
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000040300000, size 3 MiB
    [    0.000000] Reserved memory: initialized node cmem@40300000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 80 MiB
    [    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009e000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000a1000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000a3000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 64 MiB
    [    0.000000] Reserved memory: initialized node cmem@A9000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000be400000
    [    0.000000] Forcing write-allocate cache policy for SMP
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] OMAP4: Map 0x00000000bfd00000 to fe600000 for dram barrier
    [    0.000000] On node 0 totalpages: 244992
    [    0.000000] free_area_init_node: node 0, pgdat c0977340, node_mem_map ef69a000
    [    0.000000]   DMA zone: 1728 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 180224 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 64768 pages, LIFO batch:15
    [    0.000000] DRA762 ES1.0
    [    0.000000] PERCPU: Embedded 11 pages/cpu @ef62c000 s14912 r8192 d21952 u45056
    [    0.000000] pcpu-alloc: s14912 r8192 d21952 u45056 alloc=11*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 243264
    [    0.000000] Kernel command line: console=ttyS0,115200n8 vram=16M root=PARTUUID=035b5ce4-02 rw rootwait ip=none mem=1024M
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 328928K/979968K available (6623K kernel code, 319K rwdata, 2388K rodata, 336K init, 290K bss, 446240K reserved, 204800K cma-reserved, 234496K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
                       lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0xc0008000 - 0xc08d502c   (9013 kB)
                         .init : 0xc08d6000 - 0xc092a000   ( 336 kB)
                         .data : 0xc092a000 - 0xc0979e20   ( 320 kB)
                          .bss : 0xc097b000 - 0xc09c3800   ( 290 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Build-time adjustment of leaf fanout to 32.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] ti_dt_clocks_register: failed to lookup clock node gmac_gmii_ref_clk_div
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] Architected cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000016] Switching to timer-based delay loop, resolution 162ns
    [    0.000329] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000336] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000762] Console: colour dummy device 80x30
    [    0.000783] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000796] pid_max: default: 32768 minimum: 301
    [    0.000892] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000903] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001438] Initializing cgroup subsys io
    [    0.001455] Initializing cgroup subsys memory
    [    0.001479] Initializing cgroup subsys devices
    [    0.001491] Initializing cgroup subsys freezer
    [    0.001502] Initializing cgroup subsys perf_event
    [    0.001514] Initializing cgroup subsys pids
    [    0.001541] CPU: Testing write buffer coherency: ok
    [    0.001734] /cpus/cpu@0 missing clock-frequency property
    [    0.001749] /cpus/cpu@1 missing clock-frequency property
    [    0.001759] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.001792] Setting up static identity map for 0x80008380 - 0x800083e0
    [    0.080055] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.080124] Brought up 2 CPUs
    [    0.080137] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.080143] CPU: All CPU(s) started in HYP mode.
    [    0.080148] CPU: Virtualization extensions available.
    [    0.080517] devtmpfs: initialized
    [    0.108307] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.109250] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.211599] omap_hwmod: mcan: cannot clk_get main_clk mcan_clk
    [    0.211614] omap_hwmod: mcan: cannot _init_clocks
    [    0.211620] ------------[ cut here ]------------
    [    0.211635] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2529 _init.constprop.23+0x398/0x428()
    [    0.211642] omap_hwmod: mcan: couldn't init clocks
    [    0.211648] Modules linked in:
    [    0.211660] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.84 #11
    [    0.211668] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.211674] Backtrace:
    [    0.211695] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    0.211702]  r7:c08e31cc r6:60000013 r5:00000000 r4:c0949810
    [    0.211730] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    0.211743] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    0.211749]  r7:c08e31cc r6:000009e1 r5:00000009 r4:ef06be58
    [    0.211771] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    0.211777]  r8:c08145d4 r7:00000000 r6:ffffffea r5:ffffffea r4:c081462c
    [    0.211803] [<c003509c>] (warn_slowpath_fmt) from [<c08e31cc>] (_init.constprop.23+0x398/0x428)
    [    0.211809]  r3:c0815e98 r2:c081462c
    [    0.211819]  r4:c09361a8
    [    0.211833] [<c08e2e34>] (_init.constprop.23) from [<c08e338c>] (__omap_hwmod_setup_all+0x48/0x98)
    [    0.211839]  r10:00000000 r9:c08d6600 r8:000000ac r7:ef1db580 r6:c092f6f0 r5:c0931b78
    [    0.211861]  r4:c09361a8
    [    0.211874] [<c08e3344>] (__omap_hwmod_setup_all) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    0.211881]  r5:c08e3344 r4:c092f6f0
    [    0.211899] [<c0009794>] (do_one_initcall) from [<c08d6f68>] (kernel_init_freeable+0x1d4/0x268)
    [    0.211905]  r10:00000002 r9:c08d6600 r8:000000ac r7:c0917820 r6:c0925040 r5:c097b000
    [    0.211926]  r4:c097b000
    [    0.211943] [<c08d6d94>] (kernel_init_freeable) from [<c0679780>] (kernel_init+0x18/0xf4)
    [    0.211949]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0679768
    [    0.211969]  r4:c097b000
    [    0.211983] [<c0679768>] (kernel_init) from [<c000fb88>] (ret_from_fork+0x14/0x2c)
    [    0.211988]  r5:c0679768 r4:00000000
    [    0.212011] ---[ end trace 76ef91d02393212b ]---
    [    0.309443] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.309464] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.313695] pinctrl core: initialized pinctrl subsystem
    [    0.314543] NET: Registered protocol family 16
    [    0.315469] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.340224] cpuidle: using governor ladder
    [    0.370245] cpuidle: using governor menu
    [    0.378682] OMAP GPIO hardware version 0.1
    [    0.385029] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
    [    0.407840] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.407850] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.408308] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.408318] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.408883] OMAP DMA hardware revision 0.0
    [    0.451457] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.452597] edma 43300000.edma: memcpy is disabled
    [    0.457325] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.462027] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.462208] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.462380] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.462536] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.462809] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.462991] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.465996] palmas 0-0058: IRQ missing: skipping irq request
    [    0.480700] palmas 0-0058: Muxing GPIO 51, PWM 0, LED 2
    [    0.531231] irq: no irq domain found for /ocp/i2c@48070000/tps65917@58 !
    [    0.532147] pcf857x 0-0020: probed
    [    0.532715] pcf857x 0-0021: probed
    [    0.533102] GPIO line 465 (vin6_sel_s0) hogged as output/low
    [    0.533228] GPIO line 466 (vin2_s0) hogged as output/low
    [    0.533354] GPIO line 471 (vin2_s2) hogged as output/high
    [    0.533479] GPIO line 473 (exvin2_s0) hogged as output/low
    [    0.533604] GPIO line 474 (exvin2_s2) hogged as output/high
    [    0.533698] pcf857x 0-0026: probed
    [    0.533842] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.534230] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.534422] media: Linux media interface: v0.10
    [    0.534474] Linux video capture interface: v2.00
    [    0.534518] pps_core: LinuxPPS API ver. 1 registered
    [    0.534524] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.534549] PTP clock support registered
    [    0.534596] EDAC MC: Ver: 3.0.0
    [    0.535329] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.535621] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.535943] Advanced Linux Sound Architecture Driver Initialized.
    [    0.536776] clocksource: Switched to clocksource arch_sys_counter
    [    0.547323] NET: Registered protocol family 2
    [    0.547817] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.547883] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.548008] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.548052] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.548083] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.548293] NET: Registered protocol family 1
    [    0.548552] RPC: Registered named UNIX socket transport module.
    [    0.548561] RPC: Registered udp transport module.
    [    0.548567] RPC: Registered tcp transport module.
    [    0.548574] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.548592] PCI: CLS 0 bytes, default 64
    [    0.549527] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.550585] ------------[ cut here ]------------
    [    0.550601] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2108 _enable+0x2bc/0x2d8()
    [    0.550609] omap_hwmod: timer12: enabled state can only be entered from initialized, idle, or disabled state
    [    0.550614] Modules linked in:
    [    0.550628] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.4.84 #11
    [    0.550635] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.550641] Backtrace:
    [    0.550661] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    0.550668]  r7:c00251b0 r6:20000093 r5:00000000 r4:c0949810
    [    0.550696] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    0.550708] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    0.550714]  r7:c00251b0 r6:0000083c r5:00000009 r4:ef06bc48
    [    0.550736] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    0.550742]  r8:00000004 r7:c0026bec r6:a0000093 r5:c0937038 r4:c0814240
    [    0.550767] [<c003509c>] (warn_slowpath_fmt) from [<c00251b0>] (_enable+0x2bc/0x2d8)
    [    0.550773]  r3:c08160b0 r2:c0814240
    [    0.550784]  r4:c0936fd8
    [    0.550796] [<c0024ef4>] (_enable) from [<c002594c>] (omap_hwmod_enable+0x2c/0x4c)
    [    0.550801]  r7:c0026bec r6:a0000093 r5:c0937038 r4:c0936fd8
    [    0.550823] [<c0025920>] (omap_hwmod_enable) from [<c0026b9c>] (omap_device_enable+0x48/0x98)
    [    0.550829]  r7:c0026bec r6:ef237900 r5:00000000 r4:00000001
    [    0.550851] [<c0026b54>] (omap_device_enable) from [<c0026c04>] (_od_runtime_resume+0x18/0x2c)
    [    0.550857]  r7:c0026bec r6:c0026bec r5:ef231e74 r4:ef231e10
    [    0.550882] [<c0026bec>] (_od_runtime_resume) from [<c03ec6b4>] (__rpm_callback+0x34/0x68)
    [    0.550888]  r5:ef231e74 r4:ef231e10
    [    0.550904] [<c03ec680>] (__rpm_callback) from [<c03ec710>] (rpm_callback+0x28/0x88)
    [    0.550910]  r7:c0026bec r6:ef1fcc10 r5:ef231e10 r4:ef231e10
    [    0.550933] [<c03ec6e8>] (rpm_callback) from [<c03ed5f4>] (rpm_resume+0x374/0x56c)
    [    0.550939]  r7:c0026bec r6:ef1fcc10 r5:c092c100 r4:ef231e10
    [    0.550962] [<c03ed280>] (rpm_resume) from [<c03ed840>] (__pm_runtime_resume+0x54/0x6c)
    [    0.550968]  r10:00000000 r9:ef232b00 r8:00000000 r7:60000013 r6:00000004 r5:ef231e74
    [    0.550989]  r4:ef231e10
    [    0.551004] [<c03ed7ec>] (__pm_runtime_resume) from [<c00313b4>] (omap_dm_timer_probe+0x1b0/0x3ec)
    [    0.551010]  r7:c068209c r6:ef231e10 r5:ef231e00 r4:ef3729d0
    [    0.551035] [<c0031204>] (omap_dm_timer_probe) from [<c03e5684>] (platform_drv_probe+0x54/0xb8)
    [    0.551041]  r9:c08d6600 r8:00000000 r7:fffffdfb r6:c093bd5c r5:ef231e10 r4:c09b679c
    [    0.551067] [<c03e5630>] (platform_drv_probe) from [<c03e3c0c>] (driver_probe_device+0x204/0x2f8)
    [    0.551073]  r7:c093bd5c r6:00000000 r5:ef231e10 r4:c09b679c
    [    0.551095] [<c03e3a08>] (driver_probe_device) from [<c03e3d94>] (__driver_attach+0x94/0x98)
    [    0.551101]  r9:c08d6600 r8:000000ac r7:00000000 r6:ef231e44 r5:c093bd5c r4:ef231e10
    [    0.551127] [<c03e3d00>] (__driver_attach) from [<c03e1e94>] (bus_for_each_dev+0x70/0xa4)
    [    0.551133]  r7:00000000 r6:c03e3d00 r5:c093bd5c r4:00000000
    [    0.551155] [<c03e1e24>] (bus_for_each_dev) from [<c03e34f8>] (driver_attach+0x24/0x28)
    [    0.551161]  r6:c095a470 r5:ef3b8000 r4:c093bd5c
    [    0.551179] [<c03e34d4>] (driver_attach) from [<c03e3134>] (bus_add_driver+0x1a8/0x220)
    [    0.551190] [<c03e2f8c>] (bus_add_driver) from [<c03e4534>] (driver_register+0x80/0x100)
    [    0.551196]  r7:ef371b80 r6:c092f6f0 r5:c08e64f4 r4:c093bd5c
    [    0.551218] [<c03e44b4>] (driver_register) from [<c03e55ac>] (__platform_driver_register+0x48/0x50)
    [    0.551224]  r5:c08e64f4 r4:c095a470
    [    0.551240] [<c03e5564>] (__platform_driver_register) from [<c08e650c>] (omap_dm_timer_driver_init+0x18/0x20)
    [    0.551246]  r5:c08e64f4 r4:c092f6f0
    [    0.551262] [<c08e64f4>] (omap_dm_timer_driver_init) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    0.551275] [<c0009794>] (do_one_initcall) from [<c08d6f68>] (kernel_init_freeable+0x1d4/0x268)
    [    0.551281]  r10:00000007 r9:c08d6600 r8:000000ac r7:c0917834 r6:c0925384 r5:c097b000
    [    0.551301]  r4:c097b000
    [    0.551318] [<c08d6d94>] (kernel_init_freeable) from [<c0679780>] (kernel_init+0x18/0xf4)
    [    0.551324]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0679768
    [    0.551344]  r4:c097b000
    [    0.551358] [<c0679768>] (kernel_init) from [<c000fb88>] (ret_from_fork+0x14/0x2c)
    [    0.551363]  r5:c0679768 r4:00000000
    [    0.551374] ---[ end trace 76ef91d02393212c ]---
    [    0.551387] omap_timer 4ae20000.timer: omap_dm_timer_probe: pm_runtime_get_sync failed!
    [    0.551407] omap_timer: probe of 4ae20000.timer failed with error -22
    [    0.560232] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.560868] NFS: Registering the id_resolver key type
    [    0.560894] Key type id_resolver registered
    [    0.560901] Key type id_legacy registered
    [    0.560960] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.562238] bounce: pool size: 64 pages
    [    0.562384] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [    0.562399] io scheduler noop registered
    [    0.562412] io scheduler deadline registered
    [    0.562446] io scheduler cfq registered (default)
    [    0.564785] vsys_5v0: supplied by vsys_12v0
    [    0.564834] ldo3: supplied by vsys_5v0
    [    0.568609] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [    0.571833] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [    0.571845]   No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [    0.571880]    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.571902]   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.601821] dra7-pcie 51000000.pcie_rc: link is not up
    [    0.601992] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [    0.602004] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.602015] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.602025] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.602058] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.602101] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [    0.602123] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [    0.602190] pci 0000:00:00.0: supports D1
    [    0.602199] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    0.602426] PCI: bus0: Fast back to back transfers disabled
    [    0.602552] PCI: bus1: Fast back to back transfers enabled
    [    0.602635] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [    0.602650] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [    0.602662] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    0.602889] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [    0.602902] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [    0.603019] aer 0000:00:00.0:pcie02: service driver aer loaded
    [    0.663322] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.666652] console [ttyS0] disabled
    [    0.666704] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 301, base_baud = 3000000) is a 8250
    [    2.312350] console [ttyS0] enabled
    [    2.316750] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 302, base_baud = 3000000) is a 8250
    [    2.326443] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 303, base_baud = 3000000) is a 8250
    [    2.336469] [drm] Initialized drm 1.1.0 20060810
    [    2.342182] vsys_3v3: supplied by vsys_12v0
    [    2.346434] ldo5: supplied by vsys_3v3
    [    2.350815] OMAP DSS rev 6.1
    [    2.354558] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    2.420426] loop: module loaded
    [    2.426311] vmemexp device MAJOR num = 246
    [    2.430462] vmemexp class registered
    [    2.434179] /dev/vmemexp device registered
    [    2.438311] ioctl DBUFIOC_EXPORT_VIRTMEM = -1072899120
    [    2.446547] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)
    [    2.451963] 7 ofpart partitions found on MTD device spi32766.0
    [    2.457835] Creating 7 MTD partitions on "spi32766.0":
    [    2.462997] 0x000000000000-0x000000040000 : "QSPI.SPL"
    [    2.479153] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [    2.495519] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [    2.502488] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [    2.509183] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [    2.516552] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [    2.522893] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
    [    2.530658] libphy: Fixed MDIO Bus: probed
    [    2.586806] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [    2.592931] libphy: 48485000.mdio: probed
    [    2.600905] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver TI DP83867
    [    2.609249] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver TI DP83867
    [    2.618219] cpsw 48484000.ethernet: Detected MACID = 0c:b2:b7:94:1c:3c
    [    2.624869] cpsw 48484000.ethernet: cpts: overflow check period 800
    [    2.631896] cpsw 48484000.ethernet: cpsw: Detected MACID = 0c:b2:b7:94:1c:3d
    [    2.640557] mousedev: PS/2 mouse device common for all mice
    [    2.646761] i2c /dev entries driver
    [    2.655265] omap_hsmmc 4809c000.mmc: Got CD GPIO
    [    2.660125] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr104 mode
    [    2.666594] omap_hsmmc 4809c000.mmc: no pinctrl state for ddr50 mode
    [    2.673015] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr50 mode
    [    2.679414] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr25 mode
    [    2.685795] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr12 mode
    [    2.692379] vio_3v3: supplied by vsys_3v3
    [    2.696447] vio_3v3_sd: supplied by vio_3v3
    [    2.701166] ldo4: supplied by vsys_5v0
    [    2.747186] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [    2.753570] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [    2.776949] smps5: supplied by vsys_3v3
    [    2.781028] vio_1v8: supplied by smps5
    [    2.828547] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.836997] aic_dvdd: supplied by vio_3v3
    [    2.843632] NET: Registered protocol family 10
    [    2.858956] sit: IPv6 over IPv4 tunneling driver
    [    2.864138] NET: Registered protocol family 17
    [    2.868870] Key type dns_resolver registered
    [    2.873265] omap_voltage_late_init: Voltage driver support not added
    [    2.880180] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    2.886390] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    2.892679] buck10: supplied by vsys_3v3
    [    2.897276] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    2.903483] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    2.911703] Power Management for TI OMAP4+ devices.
    [    2.916751] Registering SWP/SWPB emulation handler
    [    2.923336] dmm 4e000000.dmm: initialized all PAT entries
    [    2.930496] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    2.937167] [drm] No driver support for vblank timestamp query.
    [    2.943416] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
    [    2.950484] asoc-simple-card sound0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok
    [    2.959818] input: gpio_keys as /devices/platform/gpio_keys/input/input0
    [    2.966672] hctosys: unable to open rtc device (rtc0)
    [    2.978596] aic_dvdd: disabling
    [    2.981876] ALSA device list:
    [    2.984851]   #0: DRA7xx-EVM
    [    2.988318] Waiting for root device PARTUUID=035b5ce4-02...
    [    3.303929] mmc0: host does not support reading read-only switch, assuming write-enable
    [    3.313928] mmc0: new high speed SDHC card at address 59b4
    [    3.319716] mmcblk0: mmc0:59b4 USD   7.51 GiB
    [    3.324970]  mmcblk0: p1 p2
    [    3.370558] mmc1: MAN_BKOPS_EN bit is not set
    [    3.412287] mmc1: new HS200 MMC card at address 0001
    [    3.427675] mmcblk1: mmc1:0001 MMC08G 7.25 GiB
    [    3.442439] mmcblk1boot0: mmc1:0001 MMC08G partition 1 8.00 MiB
    [    3.458611] mmcblk1boot1: mmc1:0001 MMC08G partition 2 8.00 MiB
    [    3.465132]  mmcblk1: p1 p2
    [    3.537715] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
    [    3.546295] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
    [    4.960798] EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
    [    5.032446] EXT4-fs (mmcblk0p2): recovery complete
    [    5.097082] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    5.105242] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    5.113840] devtmpfs: mounted
    [    5.117069] Freeing unused kernel memory: 336K
    [    5.121531] This architecture does not have kernel memory protection.
    [    5.368676] systemd[1]: System time before build time, advancing clock.
    [    5.408079] random: systemd: uninitialized urandom read (16 bytes read, 17 bits of entropy available)
    [    5.421541] random: systemd: uninitialized urandom read (16 bytes read, 17 bits of entropy available)
    [    5.433265] systemd[1]: systemd 229 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [    5.451798] systemd[1]: Detected architecture arm.
    [    5.477553] systemd[1]: Set hostname to <dra7xx-evm>.
    [    5.545725] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    5.556940] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    5.559132] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    5.582913] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 19 bits of entropy available)
    [    5.597565] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 20 bits of entropy available)
    [    5.690931] random: systemd: uninitialized urandom read (16 bytes read, 23 bits of entropy available)
    [    5.700474] random: systemd: uninitialized urandom read (16 bytes read, 23 bits of entropy available)
    [    5.710436] random: systemd: uninitialized urandom read (16 bytes read, 23 bits of entropy available)
    [    6.139660] systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start
    [    6.147494] systemd[1]: sysinit.target: Found dependency on alignment.service/start
    [    6.155192] systemd[1]: sysinit.target: Found dependency on basic.target/start
    [    6.162467] systemd[1]: sysinit.target: Found dependency on sockets.target/start
    [    6.169941] systemd[1]: sysinit.target: Found dependency on avahi-daemon.socket/start
    [    6.177823] systemd[1]: sysinit.target: Found dependency on sysinit.target/start
    [    6.185255] systemd[1]: sysinit.target: Breaking ordering cycle by deleting job alignment.service/start
    [    6.194716] systemd[1]: alignment.service: Job alignment.service/start deleted to break ordering cycle starting with sysinit.target/start
    [    6.229403] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    6.258237] systemd[1]: Created slice System Slice.
    [    6.277551] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    6.297018] systemd[1]: Listening on udev Kernel Socket.
    [    6.317133] systemd[1]: Listening on Network Service Netlink Socket.
    [    6.336936] systemd[1]: Reached target Remote File Systems.
    [    6.368256] systemd[1]: Created slice User and Session Slice.
    [    6.387548] systemd[1]: Created slice system-getty.slice.
    [    6.407090] systemd[1]: Listening on udev Control Socket.
    [    6.437019] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [    6.467015] systemd[1]: Listening on Journal Socket (/dev/log).
    [    6.496920] systemd[1]: Reached target Swap.
    [    6.516911] systemd[1]: Reached target Slices.
    [    6.537043] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    6.566928] systemd[1]: Reached target Paths.
    [    6.587010] systemd[1]: Listening on Journal Socket.
    [    6.636973] systemd[1]: Mounting POSIX Message Queue File System...
    [    6.668656] systemd[1]: Mounting Debug File System...
    [    6.698756] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [    6.739550] systemd[1]: Starting Setup Virtual Console...
    [    6.753827] systemd[1]: Mounting Temporary Directory...
    [    6.827157] systemd[1]: Starting Load Kernel Modules...
    [    6.857109] systemd[1]: Listening on Syslog Socket.
    [    6.917140] systemd[1]: Starting Journal Service...
    [    6.940088] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    6.959366] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    6.973358] systemd[1]: Mounted Debug File System.
    [    6.997054] systemd[1]: Mounted POSIX Message Queue File System.
    [    7.027095] systemd[1]: Mounted Temporary Directory.
    [    7.058632] systemd[1]: Started Journal Service.
    [    7.721749] systemd-journald[148]: Received request to flush runtime journal from PID 1
    [    8.030981] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
    [    8.046857]  remoteproc0: 55020000.ipu is available
    [    8.066373]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    8.095726]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.119569] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [    8.138374]  remoteproc1: 40800000.dsp is available
    [    8.145330]  remoteproc1: Note: remoteproc is still under development and considered experimental.
    [    8.163691]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.182673] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
    [    8.195633]  remoteproc2: 41000000.dsp is available
    [    8.210424]  remoteproc2: Note: remoteproc is still under development and considered experimental.
    [    8.222765]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.397898] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [    8.515976] ------------[ cut here ]------------
    [    8.520621] WARNING: CPU: 0 PID: 238 at arch/arm/mach-omap2/omap_hwmod.c:2108 _enable+0x2bc/0x2d8()
    [    8.529700] omap_hwmod: rng: enabled state can only be entered from initialized, idle, or disabled state
    [    8.539217] Modules linked in: omap_rng(+) rng_core extcon omap_des omap_remoteproc remoteproc virtio virtio_ring sch_fq_codel
    [    8.550719] CPU: 0 PID: 238 Comm: systemd-udevd Tainted: G        W       4.4.84 #11
    [    8.558489] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    8.564601] Backtrace:
    [    8.567064] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    8.574661]  r7:c00251b0 r6:20030193 r5:00000000 r4:c0949810
    [    8.580366] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    8.587618] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    8.595737]  r7:c00251b0 r6:0000083c r5:00000009 r4:ed413b38
    [    8.601441] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    8.610171]  r8:00000004 r7:c0026bec r6:a0030113 r5:c0936710 r4:c0814240
    [    8.616924] [<c003509c>] (warn_slowpath_fmt) from [<c00251b0>] (_enable+0x2bc/0x2d8)
    [    8.624693]  r3:c081337c r2:c0814240
    [    8.628286]  r4:c09366b0
    [    8.630830] [<c0024ef4>] (_enable) from [<c002594c>] (omap_hwmod_enable+0x2c/0x4c)
    [    8.638426]  r7:c0026bec r6:a0030113 r5:c0936710 r4:c09366b0
    [    8.644132] [<c0025920>] (omap_hwmod_enable) from [<c0026b9c>] (omap_device_enable+0x48/0x98)
    [    8.652687]  r7:c0026bec r6:ef2575c0 r5:00000000 r4:00000001
    [    8.658391] [<c0026b54>] (omap_device_enable) from [<c0026c04>] (_od_runtime_resume+0x18/0x2c)
    [    8.667032]  r7:c0026bec r6:c0026bec r5:ef253a74 r4:ef253a10
    [    8.672737] [<c0026bec>] (_od_runtime_resume) from [<c03ec6b4>] (__rpm_callback+0x34/0x68)
    [    8.681030]  r5:ef253a74 r4:ef253a10
    [    8.684627] [<c03ec680>] (__rpm_callback) from [<c03ec710>] (rpm_callback+0x28/0x88)
    [    8.692396]  r7:c0026bec r6:ef1fcc10 r5:ef253a10 r4:ef253a10
    [    8.698100] [<c03ec6e8>] (rpm_callback) from [<c03ed5f4>] (rpm_resume+0x374/0x56c)
    [    8.705695]  r7:c0026bec r6:ef1fcc10 r5:c092c100 r4:ef253a10
    [    8.711399] [<c03ed280>] (rpm_resume) from [<c03ed840>] (__pm_runtime_resume+0x54/0x6c)
    [    8.719430]  r10:00000000 r9:ed49ff88 r8:ef253a00 r7:60030113 r6:00000004 r5:ef253a74
    [    8.727318]  r4:ef253a10
    [    8.729868] [<c03ed7ec>] (__pm_runtime_resume) from [<bf0c24c0>] (omap_rng_probe+0x88/0x278 [omap_rng])
    [    8.739295]  r7:ed489050 r6:ef253a10 r5:ef253a10 r4:bf0c2aec
    [    8.745001] [<bf0c2438>] (omap_rng_probe [omap_rng]) from [<c03e5684>] (platform_drv_probe+0x54/0xb8)
    [    8.754253]  r8:00000009 r7:fffffdfb r6:bf0c2b50 r5:ef253a10 r4:c09b679c
    [    8.761007] [<c03e5630>] (platform_drv_probe) from [<c03e3c0c>] (driver_probe_device+0x204/0x2f8)
    [    8.769909]  r7:bf0c2b50 r6:00000000 r5:ef253a10 r4:c09b679c
    [    8.775612] [<c03e3a08>] (driver_probe_device) from [<c03e3d94>] (__driver_attach+0x94/0x98)
    [    8.784079]  r9:ed49ff88 r8:12b6009c r7:00000000 r6:ef253a44 r5:bf0c2b50 r4:ef253a10
    [    8.791883] [<c03e3d00>] (__driver_attach) from [<c03e1e94>] (bus_for_each_dev+0x70/0xa4)
    [    8.800089]  r7:00000000 r6:c03e3d00 r5:bf0c2b50 r4:00000000
    [    8.805790] [<c03e1e24>] (bus_for_each_dev) from [<c03e34f8>] (driver_attach+0x24/0x28)
    [    8.813823]  r6:c095a470 r5:ee7c3e80 r4:bf0c2b50
    [    8.818475] [<c03e34d4>] (driver_attach) from [<c03e3134>] (bus_add_driver+0x1a8/0x220)
    [    8.826509] [<c03e2f8c>] (bus_add_driver) from [<c03e4534>] (driver_register+0x80/0x100)
    [    8.834627]  r7:ed5125c0 r6:c092f6f0 r5:bf0c5000 r4:bf0c2b50
    [    8.840332] [<c03e44b4>] (driver_register) from [<c03e55ac>] (__platform_driver_register+0x48/0x50)
    [    8.849409]  r5:bf0c5000 r4:c095a470
    [    8.853009] [<c03e5564>] (__platform_driver_register) from [<bf0c501c>] (omap_rng_driver_init+0x1c/0x24 [omap_rng])
    [    8.863482]  r5:bf0c5000 r4:c092f6f0
    [    8.867082] [<bf0c5000>] (omap_rng_driver_init [omap_rng]) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    8.876690] [<c0009794>] (do_one_initcall) from [<c00cee10>] (do_init_module+0x68/0x378)
    [    8.884807]  r10:bf0c2bc0 r9:ed49ff88 r8:12b6009c r7:00000001 r6:ed512140 r5:00000001
    [    8.892697]  r4:bf0c2bc0
    [    8.895244] [<c00ceda8>] (do_init_module) from [<c00ab9a0>] (load_module+0x1df8/0x2068)
    [    8.903274]  r6:ed49ff80 r5:00000001 r4:ed413f44
    [    8.907924] [<c00a9ba8>] (load_module) from [<c00abde0>] (SyS_finit_module+0x88/0x98)
    [    8.915780]  r10:00000000 r9:ed412000 r8:c000fc84 r7:0000017b r6:b6e1fd90 r5:0000000f
    [    8.923666]  r4:00000000
    [    8.926214] [<c00abd58>] (SyS_finit_module) from [<c000fae0>] (ret_fast_syscall+0x0/0x34)
    [    8.934418]  r6:00000000 r5:004cd928 r4:00000000
    [    8.939067] ---[ end trace 76ef91d02393212e ]---
    [    8.955645] omap_rng 48090000.rng: Failed to runtime_get device: -22
    [    8.963833] omap_rng 48090000.rng: initialization failed.
    [    8.971857] omap_rng: probe of 48090000.rng failed with error -22
    [    9.071399] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [    9.081476] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [    9.285858] SCSI subsystem initialized
    [    9.363725]  remoteproc1: registered virtio0 (type 7)
    [    9.484779]  remoteproc0: registered virtio1 (type 7)
    [    9.608298] CAN device driver interface
    [    9.768136]  remoteproc2: registered virtio2 (type 7)
    [    9.774419] c_can_platform 4ae3c000.can: c_can_platform device registered (regs=fce3c000, irq=349)
    [    9.833015] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [   10.002185] libata version 3.00 loaded.
    [   10.073998] pvrsrvkm: disagrees about version of symbol module_layout
    [   10.094351] pvrsrvkm: disagrees about version of symbol module_layout
    [   10.149513] ahci 4a140000.sata: SSS flag set, parallel bus scan disabled
    [   10.156271] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [   10.178113] ahci 4a140000.sata: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part ccc apst
    [   10.200037] scsi host0: ahci
    [   10.203138] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 340
    [   10.566844] ata1: SATA link down (SStatus 0 SControl 300)
    [   10.945320] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.135461] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.455860] net eth1: initializing cpsw version 1.15 (0)
    [   11.465955] net eth0: initialized cpsw ale version 1.4
    [   11.471287] net eth0: ALE Table size 1024
    [   11.538990]  remoteproc1: powering up 40800000.dsp
    [   11.576608] Bluetooth: Core ver 2.21
    [   11.584850]  remoteproc1: Booting fw image dra7-dsp1-fw.xe66, size 5792160
    [   11.593065] NET: Registered protocol family 31
    [   11.602125] net eth1: phy found : id is : 0x2000a231
    [   11.622194] Bluetooth: HCI device and connection manager initialized
    [   11.643388] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [   11.644558] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [   11.655130] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [   11.661089] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [   11.686908] net eth0: initializing cpsw version 1.15 (0)
    [   11.689064] Bluetooth: HCI socket layer initialized
    [   11.689071] Bluetooth: L2CAP socket layer initialized
    [   11.689098] Bluetooth: SCO socket layer initialized
    [   11.809628]  remoteproc1: remote processor 40800000.dsp is now up
    [   11.837647] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   11.850572] net eth0: phy found : id is : 0x2000a231
    [   11.858493]  remoteproc0: powering up 55020000.ipu
    [   11.874190]  remoteproc0: Booting fw image dra7-ipu2-fw.xem4, size 3743108
    [   11.879872] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   11.890887] random: nonblocking pool is initialized
    [   11.916890] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [   11.926606] NET: Registered protocol family 15
    [   12.060670]  remoteproc0: remote processor 55020000.ipu is now up
    [   12.087420] virtio_rpmsg_bus virtio1: rpmsg host is online
    [   12.125948]  remoteproc2: powering up 41000000.dsp
    [   12.131936] Initializing XFRM netlink socket
    [   12.152893]  remoteproc2: Booting fw image dra7-dsp2-fw.xe66, size 5792188
    [   12.183403] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   12.189289] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [   12.195237] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [   12.242349]  remoteproc2: remote processor 41000000.dsp is now up
    [   12.261199] virtio_rpmsg_bus virtio2: rpmsg host is online
    [   12.594153] usbcore: registered new interface driver usbfs
    [   12.618999] usbcore: registered new interface driver hub
    [   12.655012] usbcore: registered new device driver usb
    [   12.737135] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [   12.737151] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
    [   12.739690] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x00210010
    [   12.739725] xhci-hcd xhci-hcd.2.auto: irq 490, io mem 0x488d0000
    [   12.749568] hub 1-0:1.0: USB hub found
    [   12.749598] hub 1-0:1.0: 1 port detected
    [   12.749866] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [   12.749876] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 2
    [   12.750303] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   12.756721] hub 2-0:1.0: USB hub found
    [   12.756744] hub 2-0:1.0: 1 port detected
    [   12.757386] dwc3 48890000.usb: otg: primary host xhci-hcd.3.auto registered
    [   12.757390] dwc3 48890000.usb: otg: shared host xhci-hcd.3.auto registered
    [   12.757392] dwc3 48890000.usb: otg: can't start till gadget registers
    [   13.066887] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   13.107998] pvrsrvkm: disagrees about version of symbol module_layout
    [   13.230184] hub 1-1:1.0: USB hub found
    [   13.234338] hub 1-1:1.0: 2 ports detected
    [   18.087685] pvrsrvkm: disagrees about version of symbol module_layout
    [   22.064592] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
    [   22.077591] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [   22.264569] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
    [   22.277565] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   49.028761] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:758: group 18, block bitmap and bg descriptor inconsistent: 7394 vs 7913 free clusters
    [   49.043416] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:758: group 19, block bitmap and bg descriptor inconsistent: 3947 vs 4062 free clusters
    root@dra7xx-evm:~#
    
    

    root@dra7xx-evm:~# dmesg
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.4.84 (root@rtrkn096-lin) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #11 SMP PREEMPT Thu Jun 14 11:40:00 CEST 2018
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI DRA762 EVM
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000040300000, size 3 MiB
    [    0.000000] Reserved memory: initialized node cmem@40300000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 80 MiB
    [    0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009e000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000a1000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x00000000a3000000, size 32 MiB
    [    0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: regions without no-map are not yet supported
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a9000000, size 64 MiB
    [    0.000000] Reserved memory: initialized node cmem@A9000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000be400000
    [    0.000000] Forcing write-allocate cache policy for SMP
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] OMAP4: Map 0x00000000bfd00000 to fe600000 for dram barrier
    [    0.000000] On node 0 totalpages: 244992
    [    0.000000] free_area_init_node: node 0, pgdat c0977340, node_mem_map ef69a000
    [    0.000000]   DMA zone: 1728 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 180224 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 64768 pages, LIFO batch:15
    [    0.000000] DRA762 ES1.0
    [    0.000000] PERCPU: Embedded 11 pages/cpu @ef62c000 s14912 r8192 d21952 u45056
    [    0.000000] pcpu-alloc: s14912 r8192 d21952 u45056 alloc=11*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 243264
    [    0.000000] Kernel command line: console=ttyS0,115200n8 vram=16M root=PARTUUID=035b5ce4-02 rw rootwait ip=none mem=1024M
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 328928K/979968K available (6623K kernel code, 319K rwdata, 2388K rodata, 336K init, 290K bss, 446240K reserved, 204800K cma-reserved, 234496K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
                       lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0xc0008000 - 0xc08d502c   (9013 kB)
                         .init : 0xc08d6000 - 0xc092a000   ( 336 kB)
                         .data : 0xc092a000 - 0xc0979e20   ( 320 kB)
                          .bss : 0xc097b000 - 0xc09c3800   ( 290 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000]  Build-time adjustment of leaf fanout to 32.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] ti_dt_clocks_register: failed to lookup clock node gmac_gmii_ref_clk_div
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] Architected cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000015] Switching to timer-based delay loop, resolution 162ns
    [    0.000331] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000339] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000766] Console: colour dummy device 80x30
    [    0.000787] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000801] pid_max: default: 32768 minimum: 301
    [    0.000898] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000908] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001440] Initializing cgroup subsys io
    [    0.001457] Initializing cgroup subsys memory
    [    0.001482] Initializing cgroup subsys devices
    [    0.001494] Initializing cgroup subsys freezer
    [    0.001505] Initializing cgroup subsys perf_event
    [    0.001517] Initializing cgroup subsys pids
    [    0.001544] CPU: Testing write buffer coherency: ok
    [    0.001736] /cpus/cpu@0 missing clock-frequency property
    [    0.001752] /cpus/cpu@1 missing clock-frequency property
    [    0.001762] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.001797] Setting up static identity map for 0x80008380 - 0x800083e0
    [    0.080054] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.080125] Brought up 2 CPUs
    [    0.080137] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.080144] CPU: All CPU(s) started in HYP mode.
    [    0.080149] CPU: Virtualization extensions available.
    [    0.080519] devtmpfs: initialized
    [    0.108339] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.109272] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.211782] omap_hwmod: mcan: cannot clk_get main_clk mcan_clk
    [    0.211796] omap_hwmod: mcan: cannot _init_clocks
    [    0.211802] ------------[ cut here ]------------
    [    0.211818] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2529 _init.constprop.23+0x398/0x428()
    [    0.211825] omap_hwmod: mcan: couldn't init clocks
    [    0.211830] Modules linked in:
    [    0.211844] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.84 #11
    [    0.211851] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.211858] Backtrace:
    [    0.211878] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    0.211885]  r7:c08e31cc r6:60000013 r5:00000000 r4:c0949810
    [    0.211913] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    0.211926] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    0.211932]  r7:c08e31cc r6:000009e1 r5:00000009 r4:ef06be58
    [    0.211955] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    0.211961]  r8:c08145d4 r7:00000000 r6:ffffffea r5:ffffffea r4:c081462c
    [    0.211987] [<c003509c>] (warn_slowpath_fmt) from [<c08e31cc>] (_init.constprop.23+0x398/0x428)
    [    0.211993]  r3:c0815e98 r2:c081462c
    [    0.212003]  r4:c09361a8
    [    0.212017] [<c08e2e34>] (_init.constprop.23) from [<c08e338c>] (__omap_hwmod_setup_all+0x48/0x98)
    [    0.212024]  r10:00000000 r9:c08d6600 r8:000000ac r7:ef1db580 r6:c092f6f0 r5:c0931b78
    [    0.212045]  r4:c09361a8
    [    0.212058] [<c08e3344>] (__omap_hwmod_setup_all) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    0.212064]  r5:c08e3344 r4:c092f6f0
    [    0.212082] [<c0009794>] (do_one_initcall) from [<c08d6f68>] (kernel_init_freeable+0x1d4/0x268)
    [    0.212088]  r10:00000002 r9:c08d6600 r8:000000ac r7:c0917820 r6:c0925040 r5:c097b000
    [    0.212109]  r4:c097b000
    [    0.212126] [<c08d6d94>] (kernel_init_freeable) from [<c0679780>] (kernel_init+0x18/0xf4)
    [    0.212132]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0679768
    [    0.212152]  r4:c097b000
    [    0.212166] [<c0679768>] (kernel_init) from [<c000fb88>] (ret_from_fork+0x14/0x2c)
    [    0.212171]  r5:c0679768 r4:00000000
    [    0.212194] ---[ end trace e5bf0713abb8b78e ]---
    [    0.309476] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.309497] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.313723] pinctrl core: initialized pinctrl subsystem
    [    0.314574] NET: Registered protocol family 16
    [    0.315487] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.340229] cpuidle: using governor ladder
    [    0.370252] cpuidle: using governor menu
    [    0.378701] OMAP GPIO hardware version 0.1
    [    0.385054] irq: no irq domain found for /ocp/l4@4a000000/scm@2000/pinmux@1400 !
    [    0.407858] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.407869] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.408332] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.408341] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.408901] OMAP DMA hardware revision 0.0
    [    0.451420] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.452556] edma 43300000.edma: memcpy is disabled
    [    0.457342] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.462037] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.462218] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.462390] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.462545] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.462819] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.462998] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.466004] palmas 0-0058: IRQ missing: skipping irq request
    [    0.480707] palmas 0-0058: Muxing GPIO 51, PWM 0, LED 2
    [    0.531234] irq: no irq domain found for /ocp/i2c@48070000/tps65917@58 !
    [    0.532160] pcf857x 0-0020: probed
    [    0.532734] pcf857x 0-0021: probed
    [    0.533122] GPIO line 465 (vin6_sel_s0) hogged as output/low
    [    0.533249] GPIO line 466 (vin2_s0) hogged as output/low
    [    0.533376] GPIO line 471 (vin2_s2) hogged as output/high
    [    0.533501] GPIO line 473 (exvin2_s0) hogged as output/low
    [    0.533626] GPIO line 474 (exvin2_s2) hogged as output/high
    [    0.533719] pcf857x 0-0026: probed
    [    0.533862] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.534255] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.534447] media: Linux media interface: v0.10
    [    0.534498] Linux video capture interface: v2.00
    [    0.534541] pps_core: LinuxPPS API ver. 1 registered
    [    0.534548] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.534573] PTP clock support registered
    [    0.534620] EDAC MC: Ver: 3.0.0
    [    0.535358] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.535652] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.535977] Advanced Linux Sound Architecture Driver Initialized.
    [    0.536819] clocksource: Switched to clocksource arch_sys_counter
    [    0.547329] NET: Registered protocol family 2
    [    0.547821] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.547887] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.548012] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.548059] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.548089] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.548300] NET: Registered protocol family 1
    [    0.548540] RPC: Registered named UNIX socket transport module.
    [    0.548549] RPC: Registered udp transport module.
    [    0.548556] RPC: Registered tcp transport module.
    [    0.548562] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.548579] PCI: CLS 0 bytes, default 64
    [    0.549518] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.550580] ------------[ cut here ]------------
    [    0.550596] WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2108 _enable+0x2bc/0x2d8()
    [    0.550604] omap_hwmod: timer12: enabled state can only be entered from initialized, idle, or disabled state
    [    0.550610] Modules linked in:
    [    0.550624] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.4.84 #11
    [    0.550631] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.550637] Backtrace:
    [    0.550656] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    0.550663]  r7:c00251b0 r6:20000093 r5:00000000 r4:c0949810
    [    0.550691] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    0.550704] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    0.550710]  r7:c00251b0 r6:0000083c r5:00000009 r4:ef06bc48
    [    0.550732] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    0.550738]  r8:00000004 r7:c0026bec r6:a0000093 r5:c0937038 r4:c0814240
    [    0.550763] [<c003509c>] (warn_slowpath_fmt) from [<c00251b0>] (_enable+0x2bc/0x2d8)
    [    0.550769]  r3:c08160b0 r2:c0814240
    [    0.550780]  r4:c0936fd8
    [    0.550792] [<c0024ef4>] (_enable) from [<c002594c>] (omap_hwmod_enable+0x2c/0x4c)
    [    0.550798]  r7:c0026bec r6:a0000093 r5:c0937038 r4:c0936fd8
    [    0.550820] [<c0025920>] (omap_hwmod_enable) from [<c0026b9c>] (omap_device_enable+0x48/0x98)
    [    0.550826]  r7:c0026bec r6:ef237900 r5:00000000 r4:00000001
    [    0.550848] [<c0026b54>] (omap_device_enable) from [<c0026c04>] (_od_runtime_resume+0x18/0x2c)
    [    0.550854]  r7:c0026bec r6:c0026bec r5:ef231e74 r4:ef231e10
    [    0.550879] [<c0026bec>] (_od_runtime_resume) from [<c03ec6b4>] (__rpm_callback+0x34/0x68)
    [    0.550885]  r5:ef231e74 r4:ef231e10
    [    0.550902] [<c03ec680>] (__rpm_callback) from [<c03ec710>] (rpm_callback+0x28/0x88)
    [    0.550908]  r7:c0026bec r6:ef1fcc10 r5:ef231e10 r4:ef231e10
    [    0.550931] [<c03ec6e8>] (rpm_callback) from [<c03ed5f4>] (rpm_resume+0x374/0x56c)
    [    0.550937]  r7:c0026bec r6:ef1fcc10 r5:c092c100 r4:ef231e10
    [    0.550960] [<c03ed280>] (rpm_resume) from [<c03ed840>] (__pm_runtime_resume+0x54/0x6c)
    [    0.550967]  r10:00000000 r9:ef232b00 r8:00000000 r7:60000013 r6:00000004 r5:ef231e74
    [    0.550988]  r4:ef231e10
    [    0.551003] [<c03ed7ec>] (__pm_runtime_resume) from [<c00313b4>] (omap_dm_timer_probe+0x1b0/0x3ec)
    [    0.551009]  r7:c068209c r6:ef231e10 r5:ef231e00 r4:ef3729d0
    [    0.551033] [<c0031204>] (omap_dm_timer_probe) from [<c03e5684>] (platform_drv_probe+0x54/0xb8)
    [    0.551039]  r9:c08d6600 r8:00000000 r7:fffffdfb r6:c093bd5c r5:ef231e10 r4:c09b679c
    [    0.551067] [<c03e5630>] (platform_drv_probe) from [<c03e3c0c>] (driver_probe_device+0x204/0x2f8)
    [    0.551073]  r7:c093bd5c r6:00000000 r5:ef231e10 r4:c09b679c
    [    0.551095] [<c03e3a08>] (driver_probe_device) from [<c03e3d94>] (__driver_attach+0x94/0x98)
    [    0.551101]  r9:c08d6600 r8:000000ac r7:00000000 r6:ef231e44 r5:c093bd5c r4:ef231e10
    [    0.551127] [<c03e3d00>] (__driver_attach) from [<c03e1e94>] (bus_for_each_dev+0x70/0xa4)
    [    0.551133]  r7:00000000 r6:c03e3d00 r5:c093bd5c r4:00000000
    [    0.551154] [<c03e1e24>] (bus_for_each_dev) from [<c03e34f8>] (driver_attach+0x24/0x28)
    [    0.551160]  r6:c095a470 r5:ef3b8000 r4:c093bd5c
    [    0.551179] [<c03e34d4>] (driver_attach) from [<c03e3134>] (bus_add_driver+0x1a8/0x220)
    [    0.551190] [<c03e2f8c>] (bus_add_driver) from [<c03e4534>] (driver_register+0x80/0x100)
    [    0.551195]  r7:ef371b80 r6:c092f6f0 r5:c08e64f4 r4:c093bd5c
    [    0.551218] [<c03e44b4>] (driver_register) from [<c03e55ac>] (__platform_driver_register+0x48/0x50)
    [    0.551224]  r5:c08e64f4 r4:c095a470
    [    0.551240] [<c03e5564>] (__platform_driver_register) from [<c08e650c>] (omap_dm_timer_driver_init+0x18/0x20)
    [    0.551246]  r5:c08e64f4 r4:c092f6f0
    [    0.551261] [<c08e64f4>] (omap_dm_timer_driver_init) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    0.551275] [<c0009794>] (do_one_initcall) from [<c08d6f68>] (kernel_init_freeable+0x1d4/0x268)
    [    0.551281]  r10:00000007 r9:c08d6600 r8:000000ac r7:c0917834 r6:c0925384 r5:c097b000
    [    0.551302]  r4:c097b000
    [    0.551319] [<c08d6d94>] (kernel_init_freeable) from [<c0679780>] (kernel_init+0x18/0xf4)
    [    0.551325]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0679768
    [    0.551345]  r4:c097b000
    [    0.551359] [<c0679768>] (kernel_init) from [<c000fb88>] (ret_from_fork+0x14/0x2c)
    [    0.551365]  r5:c0679768 r4:00000000
    [    0.551376] ---[ end trace e5bf0713abb8b78f ]---
    [    0.551388] omap_timer 4ae20000.timer: omap_dm_timer_probe: pm_runtime_get_sync failed!
    [    0.551408] omap_timer: probe of 4ae20000.timer failed with error -22
    [    0.560239] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.560874] NFS: Registering the id_resolver key type
    [    0.560903] Key type id_resolver registered
    [    0.560910] Key type id_legacy registered
    [    0.560970] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.562247] bounce: pool size: 64 pages
    [    0.562392] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
    [    0.562408] io scheduler noop registered
    [    0.562420] io scheduler deadline registered
    [    0.562453] io scheduler cfq registered (default)
    [    0.564797] vsys_5v0: supplied by vsys_12v0
    [    0.564847] ldo3: supplied by vsys_5v0
    [    0.568614] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [    0.571837] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [    0.571850]   No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [    0.571883]    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.571904]   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.585995] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [    0.586008] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.586019] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.586028] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.586061] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.586104] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [    0.586127] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [    0.586193] pci 0000:00:00.0: supports D1
    [    0.586202] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    0.586431] PCI: bus0: Fast back to back transfers disabled
    [    0.586648] pci 0000:01:00.0: [12d8:e130] type 01 class 0x060400
    [    0.587201] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
    [    0.606911] PCI: bus1: Fast back to back transfers disabled
    [    0.606929] pci 0000:01:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    0.607192] pci_bus 0000:02: busn_res: can not insert [bus 02-ff] under [bus 01] (conflicts with (null) [bus 01])
    [    0.607274] pci 0000:02:00.0: [1095:3124] type 00 class 0x010400
    [    0.607466] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x0000007f 64bit]
    [    0.607527] pci 0000:02:00.0: reg 0x18: [mem 0x00000000-0x00007fff 64bit]
    [    0.607565] pci 0000:02:00.0: reg 0x20: [io  0x0000-0x000f]
    [    0.607641] pci 0000:02:00.0: reg 0x30: [mem 0x00000000-0x0007ffff pref]
    [    0.607799] pci 0000:02:00.0: supports D1 D2
    [    0.608215] PCI: bus2: Fast back to back transfers disabled
    [    0.608228] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
    [    0.608239] pci_bus 0000:02: busn_res: can not insert [bus 02] under [bus 01] (conflicts with (null) [bus 01])
    [    0.608255] pci_bus 0000:02: [bus 02] partially hidden behind bridge 0000:01 [bus 01]
    [    0.608270] pci 0000:00:00.0: bridge has subordinate 01 but max busn 02
    [    0.608485] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [    0.608500] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.608512] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [    0.608524] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
    [    0.608536] pci 0000:01:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [    0.608545] pci 0000:01:00.0: BAR 7: assigned [io  0x1000-0x1fff]
    [    0.608559] pci 0000:02:00.0: BAR 6: assigned [mem 0x20200000-0x2027ffff pref]
    [    0.608570] pci 0000:02:00.0: BAR 2: assigned [mem 0x20280000-0x20287fff 64bit]
    [    0.608632] pci 0000:02:00.0: BAR 0: assigned [mem 0x20288000-0x2028807f 64bit]
    [    0.608692] pci 0000:02:00.0: BAR 4: assigned [io  0x1000-0x100f]
    [    0.608714] pci 0000:01:00.0: PCI bridge to [bus 02]
    [    0.608729] pci 0000:01:00.0:   bridge window [io  0x1000-0x1fff]
    [    0.608754] pci 0000:01:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.608803] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    0.608813] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
    [    0.608824] pci 0000:00:00.0:   bridge window [mem 0x20200000-0x202fffff]
    [    0.609047] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [    0.609057] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
    [    0.609065] pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
    [    0.609076] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [    0.609196] aer 0000:00:00.0:pcie02: service driver aer loaded
    [    0.670565] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.673918] console [ttyS0] disabled
    [    0.673968] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 301, base_baud = 3000000) is a 8250
    [    2.440524] console [ttyS0] enabled
    [    2.444918] 4806c000.serial: ttyS1 at MMIO 0x4806c000 (irq = 302, base_baud = 3000000) is a 8250
    [    2.454618] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 303, base_baud = 3000000) is a 8250
    [    2.464650] [drm] Initialized drm 1.1.0 20060810
    [    2.470379] vsys_3v3: supplied by vsys_12v0
    [    2.474629] ldo5: supplied by vsys_3v3
    [    2.479013] OMAP DSS rev 6.1
    [    2.482748] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    2.558558] loop: module loaded
    [    2.564460] vmemexp device MAJOR num = 246
    [    2.568613] vmemexp class registered
    [    2.572329] /dev/vmemexp device registered
    [    2.576442] ioctl DBUFIOC_EXPORT_VIRTMEM = -1072899120
    [    2.584694] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes)
    [    2.590115] 7 ofpart partitions found on MTD device spi32766.0
    [    2.595974] Creating 7 MTD partitions on "spi32766.0":
    [    2.601168] 0x000000000000-0x000000040000 : "QSPI.SPL"
    [    2.617336] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [    2.633690] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [    2.640655] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [    2.647322] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [    2.654705] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [    2.661054] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
    [    2.668826] libphy: Fixed MDIO Bus: probed
    [    2.716852] davinci_mdio 48485000.mdio: davinci mdio revision 1.6
    [    2.722976] libphy: 48485000.mdio: probed
    [    2.731127] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver TI DP83867
    [    2.739473] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver TI DP83867
    [    2.748441] cpsw 48484000.ethernet: Detected MACID = 0c:b2:b7:94:1c:3c
    [    2.755086] cpsw 48484000.ethernet: cpts: overflow check period 800
    [    2.762083] cpsw 48484000.ethernet: cpsw: Detected MACID = 0c:b2:b7:94:1c:3d
    [    2.770741] mousedev: PS/2 mouse device common for all mice
    [    2.777003] i2c /dev entries driver
    [    2.785473] omap_hsmmc 4809c000.mmc: Got CD GPIO
    [    2.790332] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr104 mode
    [    2.796801] omap_hsmmc 4809c000.mmc: no pinctrl state for ddr50 mode
    [    2.803223] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr50 mode
    [    2.809620] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr25 mode
    [    2.816002] omap_hsmmc 4809c000.mmc: no pinctrl state for sdr12 mode
    [    2.822582] vio_3v3: supplied by vsys_3v3
    [    2.826649] vio_3v3_sd: supplied by vio_3v3
    [    2.831377] ldo4: supplied by vsys_5v0
    [    2.877234] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode
    [    2.883620] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode
    [    2.906984] smps5: supplied by vsys_3v3
    [    2.911037] vio_1v8: supplied by smps5
    [    2.958594] ledtrig-cpu: registered to indicate activity on CPUs
    [    2.967043] aic_dvdd: supplied by vio_3v3
    [    2.973692] NET: Registered protocol family 10
    [    2.989014] sit: IPv6 over IPv4 tunneling driver
    [    2.994193] NET: Registered protocol family 17
    [    2.998914] Key type dns_resolver registered
    [    3.003310] omap_voltage_late_init: Voltage driver support not added
    [    3.010246] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    3.016454] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    3.022746] buck10: supplied by vsys_3v3
    [    3.027334] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm
    [    3.033543] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm
    [    3.041765] Power Management for TI OMAP4+ devices.
    [    3.046824] Registering SWP/SWPB emulation handler
    [    3.053485] dmm 4e000000.dmm: initialized all PAT entries
    [    3.060663] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    3.067312] [drm] No driver support for vblank timestamp query.
    [    3.073551] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
    [    3.080600] asoc-simple-card sound0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok
    [    3.100007] input: gpio_keys as /devices/platform/gpio_keys/input/input0
    [    3.106873] hctosys: unable to open rtc device (rtc0)
    [    3.118758] aic_dvdd: disabling
    [    3.122040] ALSA device list:
    [    3.125016]   #0: DRA7xx-EVM
    [    3.128471] Waiting for root device PARTUUID=035b5ce4-02...
    [    3.484009] mmc0: host does not support reading read-only switch, assuming write-enable
    [    3.494036] mmc0: new high speed SDHC card at address 59b4
    [    3.499961] mmcblk0: mmc0:59b4 USD   7.51 GiB
    [    3.505336]  mmcblk0: p1 p2
    [    3.550590] mmc1: MAN_BKOPS_EN bit is not set
    [    3.567767] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
    [    3.576455] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
    [    3.589962] mmc1: new HS200 MMC card at address 0001
    [    3.605345] mmcblk1: mmc1:0001 MMC08G 7.25 GiB
    [    3.620136] mmcblk1boot0: mmc1:0001 MMC08G partition 1 8.00 MiB
    [    3.636308] mmcblk1boot1: mmc1:0001 MMC08G partition 2 8.00 MiB
    [    3.642864]  mmcblk1: p1 p2
    [    5.344154] EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
    [    5.413892] EXT4-fs (mmcblk0p2): recovery complete
    [    5.480840] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    5.489017] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    5.495728] devtmpfs: mounted
    [    5.498957] Freeing unused kernel memory: 336K
    [    5.503420] This architecture does not have kernel memory protection.
    [    5.749598] systemd[1]: System time before build time, advancing clock.
    [    5.789102] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    5.809574] random: systemd: uninitialized urandom read (16 bytes read, 18 bits of entropy available)
    [    5.820886] systemd[1]: systemd 229 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT +GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [    5.839332] systemd[1]: Detected architecture arm.
    [    5.867585] systemd[1]: Set hostname to <dra7xx-evm>.
    [    5.945968] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 20 bits of entropy available)
    [    5.957442] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 20 bits of entropy available)
    [    5.969256] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 20 bits of entropy available)
    [    5.989436] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 21 bits of entropy available)
    [    6.003111] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 21 bits of entropy available)
    [    6.092023] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    6.101557] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    6.111504] random: systemd: uninitialized urandom read (16 bytes read, 24 bits of entropy available)
    [    6.535447] systemd[1]: sysinit.target: Found ordering cycle on sysinit.target/start
    [    6.543315] systemd[1]: sysinit.target: Found dependency on alignment.service/start
    [    6.551047] systemd[1]: sysinit.target: Found dependency on basic.target/start
    [    6.558364] systemd[1]: sysinit.target: Found dependency on sockets.target/start
    [    6.565797] systemd[1]: sysinit.target: Found dependency on rpcbind.socket/start
    [    6.573244] systemd[1]: sysinit.target: Found dependency on sysinit.target/start
    [    6.580690] systemd[1]: sysinit.target: Breaking ordering cycle by deleting job alignment.service/start
    [    6.590144] systemd[1]: alignment.service: Job alignment.service/start deleted to break ordering cycle starting with sysinit.target/start
    [    6.629340] systemd[1]: Listening on udev Kernel Socket.
    [    6.657163] systemd[1]: Listening on Journal Socket.
    [    6.698103] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [    6.727120] systemd[1]: Listening on Syslog Socket.
    [    6.747130] systemd[1]: Listening on Network Service Netlink Socket.
    [    6.777799] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [    6.807095] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    6.836967] systemd[1]: Reached target Paths.
    [    6.856956] systemd[1]: Reached target Swap.
    [    6.877953] systemd[1]: Created slice System Slice.
    [    6.937007] systemd[1]: Mounting Debug File System...
    [    6.960758] systemd[1]: Starting Load Kernel Modules...
    [    6.988650] systemd[1]: Mounting POSIX Message Queue File System...
    [    7.057114] systemd[1]: Starting Setup Virtual Console...
    [    7.087883] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    7.117734] systemd[1]: Created slice system-getty.slice.
    [    7.137100] systemd[1]: Listening on Journal Socket (/dev/log).
    [    7.187239] systemd[1]: Starting Journal Service...
    [    7.209228] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    [    7.237077] systemd[1]: Reached target Remote File Systems.
    [    7.297211] systemd[1]: Starting Remount Root and Kernel File Systems...
    [    7.319599] systemd[1]: Mounting Temporary Directory...
    [    7.331098] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    7.357229] systemd[1]: Listening on udev Control Socket.
    [    7.378294] systemd[1]: Created slice User and Session Slice.
    [    7.397013] systemd[1]: Reached target Slices.
    [    7.451385] systemd[1]: Mounted Debug File System.
    [    7.477080] systemd[1]: Mounted POSIX Message Queue File System.
    [    7.497047] systemd[1]: Mounted Temporary Directory.
    [    7.517220] systemd[1]: Started Journal Service.
    [    8.103743] systemd-journald[135]: Received request to flush runtime journal from PID 1
    [    8.453283] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@95800000
    [    8.471672]  remoteproc0: 55020000.ipu is available
    [    8.496117]  remoteproc0: Note: remoteproc is still under development and considered experimental.
    [    8.525147]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.567991] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [    8.591853]  remoteproc1: 40800000.dsp is available
    [    8.600189]  remoteproc1: Note: remoteproc is still under development and considered experimental.
    [    8.635590]  remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.656687] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9f000000
    [    8.669984]  remoteproc2: 41000000.dsp is available
    [    8.678404]  remoteproc2: Note: remoteproc is still under development and considered experimental.
    [    8.690049]  remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [    8.966031]  remoteproc0: registered virtio0 (type 7)
    [    8.982630] SCSI subsystem initialized
    [    9.068585] ------------[ cut here ]------------
    [    9.073230] WARNING: CPU: 0 PID: 218 at arch/arm/mach-omap2/omap_hwmod.c:2108 _enable+0x2bc/0x2d8()
    [    9.082308] omap_hwmod: rng: enabled state can only be entered from initialized, idle, or disabled state
    [    9.091823] Modules linked in: omap_rng(+) rng_core scsi_mod omap_remoteproc remoteproc virtio virtio_ring sch_fq_codel
    [    9.102710] CPU: 0 PID: 218 Comm: systemd-udevd Tainted: G        W       4.4.84 #11
    [    9.110480] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    9.116594] Backtrace:
    [    9.119058] [<c00131d0>] (dump_backtrace) from [<c00133cc>] (show_stack+0x18/0x1c)
    [    9.126654]  r7:c00251b0 r6:200f0093 r5:00000000 r4:c0949810
    [    9.132361] [<c00133b4>] (show_stack) from [<c02b1ec8>] (dump_stack+0x8c/0xa0)
    [    9.139612] [<c02b1e3c>] (dump_stack) from [<c0035068>] (warn_slowpath_common+0x88/0xb8)
    [    9.147731]  r7:c00251b0 r6:0000083c r5:00000009 r4:ee7d1b38
    [    9.153432] [<c0034fe0>] (warn_slowpath_common) from [<c00350d0>] (warn_slowpath_fmt+0x38/0x40)
    [    9.162161]  r8:00000004 r7:c0026bec r6:a00f0013 r5:c0936710 r4:c0814240
    [    9.168918] [<c003509c>] (warn_slowpath_fmt) from [<c00251b0>] (_enable+0x2bc/0x2d8)
    [    9.176688]  r3:c081337c r2:c0814240
    [    9.180286]  r4:c09366b0
    [    9.182830] [<c0024ef4>] (_enable) from [<c002594c>] (omap_hwmod_enable+0x2c/0x4c)
    [    9.190426]  r7:c0026bec r6:a00f0013 r5:c0936710 r4:c09366b0
    [    9.196129] [<c0025920>] (omap_hwmod_enable) from [<c0026b9c>] (omap_device_enable+0x48/0x98)
    [    9.204683]  r7:c0026bec r6:ef2575c0 r5:00000000 r4:00000001
    [    9.210388] [<c0026b54>] (omap_device_enable) from [<c0026c04>] (_od_runtime_resume+0x18/0x2c)
    [    9.219029]  r7:c0026bec r6:c0026bec r5:ef253a74 r4:ef253a10
    [    9.224734] [<c0026bec>] (_od_runtime_resume) from [<c03ec6b4>] (__rpm_callback+0x34/0x68)
    [    9.233027]  r5:ef253a74 r4:ef253a10
    [    9.236627] [<c03ec680>] (__rpm_callback) from [<c03ec710>] (rpm_callback+0x28/0x88)
    [    9.244397]  r7:c0026bec r6:ef1fcc10 r5:ef253a10 r4:ef253a10
    [    9.250101] [<c03ec6e8>] (rpm_callback) from [<c03ed5f4>] (rpm_resume+0x374/0x56c)
    [    9.257696]  r7:c0026bec r6:ef1fcc10 r5:c092c100 r4:ef253a10
    [    9.263400] [<c03ed280>] (rpm_resume) from [<c03ed840>] (__pm_runtime_resume+0x54/0x6c)
    [    9.271432]  r10:00000000 r9:ed566d88 r8:ef253a00 r7:600f0013 r6:00000004 r5:ef253a74
    [    9.279318]  r4:ef253a10
    [    9.281868] [<c03ed7ec>] (__pm_runtime_resume) from [<bf1634c0>] (omap_rng_probe+0x88/0x278 [omap_rng])
    [    9.291295]  r7:ed566f10 r6:ef253a10 r5:ef253a10 r4:bf163aec
    [    9.297002] [<bf163438>] (omap_rng_probe [omap_rng]) from [<c03e5684>] (platform_drv_probe+0x54/0xb8)
    [    9.306254]  r8:00000008 r7:fffffdfb r6:bf163b50 r5:ef253a10 r4:c09b679c
    [    9.313010] [<c03e5630>] (platform_drv_probe) from [<c03e3c0c>] (driver_probe_device+0x204/0x2f8)
    [    9.321914]  r7:bf163b50 r6:00000000 r5:ef253a10 r4:c09b679c
    [    9.327617] [<c03e3a08>] (driver_probe_device) from [<c03e3d94>] (__driver_attach+0x94/0x98)
    [    9.336085]  r9:ed566d88 r8:12a9929c r7:00000000 r6:ef253a44 r5:bf163b50 r4:ef253a10
    [    9.343888] [<c03e3d00>] (__driver_attach) from [<c03e1e94>] (bus_for_each_dev+0x70/0xa4)
    [    9.352092]  r7:00000000 r6:c03e3d00 r5:bf163b50 r4:00000000
    [    9.357795] [<c03e1e24>] (bus_for_each_dev) from [<c03e34f8>] (driver_attach+0x24/0x28)
    [    9.365828]  r6:c095a470 r5:ed552a80 r4:bf163b50
    [    9.370478] [<c03e34d4>] (driver_attach) from [<c03e3134>] (bus_add_driver+0x1a8/0x220)
    [    9.378514] [<c03e2f8c>] (bus_add_driver) from [<c03e4534>] (driver_register+0x80/0x100)
    [    9.386632]  r7:ed566e40 r6:c092f6f0 r5:bf166000 r4:bf163b50
    [    9.392338] [<c03e44b4>] (driver_register) from [<c03e55ac>] (__platform_driver_register+0x48/0x50)
    [    9.401415]  r5:bf166000 r4:c095a470
    [    9.405016] [<c03e5564>] (__platform_driver_register) from [<bf16601c>] (omap_rng_driver_init+0x1c/0x24 [omap_rng])
    [    9.415488]  r5:bf166000 r4:c092f6f0
    [    9.419088] [<bf166000>] (omap_rng_driver_init [omap_rng]) from [<c000982c>] (do_one_initcall+0x98/0x1e4)
    [    9.428699] [<c0009794>] (do_one_initcall) from [<c00cee10>] (do_init_module+0x68/0x378)
    [    9.436817]  r10:bf163bc0 r9:ed566d88 r8:12a9929c r7:00000001 r6:ed566480 r5:00000001
    [    9.444701]  r4:bf163bc0
    [    9.447248] [<c00ceda8>] (do_init_module) from [<c00ab9a0>] (load_module+0x1df8/0x2068)
    [    9.455279]  r6:ed566d80 r5:00000001 r4:ee7d1f44
    [    9.459931] [<c00a9ba8>] (load_module) from [<c00abde0>] (SyS_finit_module+0x88/0x98)
    [    9.467788]  r10:00000000 r9:ee7d0000 r8:c000fc84 r7:0000017b r6:b6da0d90 r5:0000000f
    [    9.475675]  r4:00000000
    [    9.478220] [<c00abd58>] (SyS_finit_module) from [<c000fae0>] (ret_fast_syscall+0x0/0x34)
    [    9.486426]  r6:00000000 r5:00472928 r4:00000000
    [    9.491074] ---[ end trace e5bf0713abb8b791 ]---
    [    9.496499] omap_rng 48090000.rng: Failed to runtime_get device: -22
    [    9.503226] omap_rng 48090000.rng: initialization failed.
    [    9.508701] omap_rng: probe of 48090000.rng failed with error -22
    [    9.515133] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [    9.569995] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [    9.641675] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [    9.647999] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [    9.662453] CAN device driver interface
    [    9.694880] libata version 3.00 loaded.
    [    9.936362] c_can_platform 4ae3c000.can: c_can_platform device registered (regs=fce3c000, irq=349)
    [   10.146556]  remoteproc1: registered virtio1 (type 7)
    [   10.187017] ahci 4a140000.sata: SSS flag set, parallel bus scan disabled
    [   10.193776] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [   10.203444] ahci 4a140000.sata: flags: 64bit ncq sntf stag pm led clo only pmp pio slum part ccc apst
    [   10.224048] scsi host0: ahci
    [   10.227171] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 340
    [   10.265327] sata_sil24 0000:02:00.0: version 1.1
    [   10.265357] pci 0000:01:00.0: enabling device (0140 -> 0143)
    [   10.273523] sata_sil24 0000:02:00.0: enabling device (01c0 -> 01c3)
    [   10.286562] sata_sil24 0000:02:00.0: Applying completion IRQ loss on PCI-X errata fix
    [   10.308599] scsi host1: sata_sil24
    [   10.322173]  remoteproc2: registered virtio2 (type 7)
    [   10.327300] scsi host2: sata_sil24
    [   10.341687] scsi host3: sata_sil24
    [   10.355845] scsi host4: sata_sil24
    [   10.359472] ata2: SATA max UDMA/100 host m128@0x20288000 port 0x20280000 irq 488
    [   10.369310] ata3: SATA max UDMA/100 host m128@0x20288000 port 0x20282000 irq 488
    [   10.376750] ata4: SATA max UDMA/100 host m128@0x20288000 port 0x20284000 irq 488
    [   10.403082] ata5: SATA max UDMA/100 host m128@0x20288000 port 0x20286000 irq 488
    [   10.576872] ata1: SATA link down (SStatus 0 SControl 300)
    [   10.992925] pvrsrvkm: disagrees about version of symbol module_layout
    [   11.043241] pvrsrvkm: disagrees about version of symbol module_layout
    [   11.141556] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.289037] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   11.406393] net eth1: initializing cpsw version 1.15 (0)
    [   11.422042] net eth0: initialized cpsw ale version 1.4
    [   11.440726] net eth0: ALE Table size 1024
    [   11.689915] net eth1: phy found : id is : 0x2000a231
    [   11.724086] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [   11.798763] net eth0: initializing cpsw version 1.15 (0)
    [   11.875676]  remoteproc0: powering up 55020000.ipu
    [   11.911771] net eth0: phy found : id is : 0x2000a231
    [   11.923093] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   11.932133]  remoteproc0: Booting fw image dra7-ipu2-fw.xem4, size 3743108
    [   11.949126] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [   12.032952]  remoteproc0: remote processor 55020000.ipu is now up
    [   12.053118] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   12.060172]  remoteproc1: powering up 40800000.dsp
    [   12.070397]  remoteproc1: Booting fw image dra7-dsp1-fw.xe66, size 5792160
    [   12.084441] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [   12.090323] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [   12.096230] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [   12.108563]  remoteproc1: remote processor 40800000.dsp is now up
    [   12.127635] virtio_rpmsg_bus virtio1: rpmsg host is online
    [   12.137431]  remoteproc2: powering up 41000000.dsp
    [   12.157798]  remoteproc2: Booting fw image dra7-dsp2-fw.xe66, size 5792188
    [   12.183402] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   12.189285] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [   12.195198] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [   12.233689]  remoteproc2: remote processor 41000000.dsp is now up
    [   12.257667] virtio_rpmsg_bus virtio2: rpmsg host is online
    [   12.328000] Bluetooth: Core ver 2.21
    [   12.342865] NET: Registered protocol family 31
    [   12.355111] random: nonblocking pool is initialized
    [   12.360088] Bluetooth: HCI device and connection manager initialized
    [   12.376852] Bluetooth: HCI socket layer initialized
    [   12.392843] Bluetooth: L2CAP socket layer initialized
    [   12.410490] Bluetooth: SCO socket layer initialized
    [   12.475256] NET: Registered protocol family 15
    [   12.586894] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   12.629692] ata2.00: ATA-8: OCZ-REVODRIVE, 1.20, max UDMA/133
    [   12.635504] ata2.00: 48858768 sectors, multi 1: LBA48 NCQ (depth 31/32)
    [   12.689711] ata2.00: configured for UDMA/100
    [   12.694809] Initializing XFRM netlink socket
    [   12.716734] scsi 1:0:0:0: Direct-Access     ATA      OCZ-REVODRIVE    1.20 PQ: 0 ANSI: 5
    [   13.029659] usbcore: registered new interface driver usbfs
    [   13.035749] usbcore: registered new interface driver hub
    [   13.041913] usbcore: registered new device driver usb
    [   13.076950] pvrsrvkm: disagrees about version of symbol module_layout
    [   13.226913] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [   13.232438] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 1
    [   13.240975] xhci-hcd xhci-hcd.2.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x00210010
    [   13.263332] xhci-hcd xhci-hcd.2.auto: irq 490, io mem 0x488d0000
    [   13.283997] hub 1-0:1.0: USB hub found
    [   13.291197] hub 1-0:1.0: 1 port detected
    [   13.300402] xhci-hcd xhci-hcd.2.auto: xHCI Host Controller
    [   13.306079] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 2
    [   13.314019] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   13.323234] hub 2-0:1.0: USB hub found
    [   13.327232] hub 2-0:1.0: 1 port detected
    [   13.331901] dwc3 48890000.usb: otg: primary host xhci-hcd.3.auto registered
    [   13.339191] dwc3 48890000.usb: otg: shared host xhci-hcd.3.auto registered
    [   13.346247] dwc3 48890000.usb: otg: can't start till gadget registers
    [   13.616849] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   13.794195] hub 1-1:1.0: USB hub found
    [   13.798547] hub 1-1:1.0: 2 ports detected
    [   14.986886] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   15.027277] ata3.00: ATA-8: OCZ-REVODRIVE, 1.20, max UDMA/133
    [   15.033063] ata3.00: 48858768 sectors, multi 1: LBA48 NCQ (depth 31/32)
    [   15.077250] ata3.00: configured for UDMA/100
    [   15.097092] scsi 2:0:0:0: Direct-Access     ATA      OCZ-REVODRIVE    1.20 PQ: 0 ANSI: 5
    [   17.236866] ata4: SATA link down (SStatus 0 SControl 0)
    [   18.617889] pvrsrvkm: disagrees about version of symbol module_layout
    [   19.386853] ata5: SATA link down (SStatus 0 SControl 0)
    [   19.475952] sd 1:0:0:0: [sda] 48858768 512-byte logical blocks: (25.0 GB/23.3 GiB)
    [   19.483718] sd 2:0:0:0: [sdb] 48858768 512-byte logical blocks: (25.0 GB/23.3 GiB)
    [   19.487599] sd 1:0:0:0: [sda] Write Protect is off
    [   19.487607] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [   19.487644] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [   19.491403]  sda: sda1
    [   19.497391] sd 1:0:0:0: [sda] Attached SCSI disk
    [   19.512516] sd 2:0:0:0: [sdb] Write Protect is off
    [   19.517369] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
    [   19.517414] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [   19.527431]  sdb: sdb1
    [   19.530448] sd 2:0:0:0: [sdb] Attached SCSI disk
    [   22.134636] omap_hwmod: mmu1_dsp1: _wait_target_disable failed
    [   22.147691] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [   23.014738] omap_hwmod: mmu1_dsp2: _wait_target_disable failed
    [   23.027749] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [   48.788948] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:758: group 18, block bitmap and bg descriptor inconsistent: 7394 vs 7913 free clusters
    [   48.803815] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:758: group 19, block bitmap and bg descriptor inconsistent: 3947 vs 4062 free clusters
    [   50.026886] ata3.00: exception Emask 0x0 SAct 0x10000000 SErr 0x0 action 0x6 frozen
    [   50.034586] ata3.00: failed command: READ FPDMA QUEUED
    [   50.041078] ata3.00: cmd 60/f0:e0:10:01:00/00:00:00:00:00/40 tag 28 ncq 122880 in
                            res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [   50.056097] ata3.00: status: { DRDY }
    [   50.059876] ata3: hard resetting link
    [   50.063600] ata2.00: exception Emask 0x0 SAct 0x180 SErr 0x0 action 0x6 frozen
    [   50.070902] ata2.00: failed command: READ FPDMA QUEUED
    [   50.076134] ata2.00: cmd 60/40:38:00:84:e9/00:00:02:00:00/40 tag 7 ncq 32768 in
                            res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [   50.090930] ata2.00: status: { DRDY }
    [   50.094679] ata2.00: failed command: READ FPDMA QUEUED
    [   50.099879] ata2.00: cmd 60/b8:40:48:84:e9/00:00:02:00:00/40 tag 8 ncq 94208 in
                            res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [   50.114730] ata2.00: status: { DRDY }
    [   50.118439] ata2: hard resetting link
    [   52.266883] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   52.276649] ata3.00: failed to set xfermode (err_mask=0x1)
    [   57.266847] ata3: hard resetting link
    [   57.270585] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   57.299122] ata2.00: failed to set xfermode (err_mask=0x1)
    [   62.266845] ata2: hard resetting link
    [   64.376868] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   64.396457] ata3.00: configured for UDMA/100
    [   64.400801] ata3.00: device reported invalid CHS sector 0
    [   64.406259] ata3: EH complete
    [   64.416904] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
    [   64.439042] ata2.00: configured for UDMA/100
    [   64.443348] ata2.00: device reported invalid CHS sector 0
    [   64.449467] ata2.00: device reported invalid CHS sector 0
    [   64.455559] ata2: EH complete
    [   64.596626] EXT4-fs (sdb1): recovery complete
    [   64.601600] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
    [   64.652025] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    [  306.396826] EXT4-fs (mmcblk0p2): error count since last fsck: 45
    [  306.402878] EXT4-fs (mmcblk0p2): initial error at time 1528964587: ext4_mb_generate_buddy:756
    [  306.411469] EXT4-fs (mmcblk0p2): last error at time 1528904283: ext4_mb_generate_buddy:758
    root@dra7xx-evm:~#
    
    

  • Hi,

    Can you try these two experiments:

    1. Can you configure PCIe on TDA2px to run in gen-1 mode, and see if its enumerated.

    2. Apply the patch attached and see if it works (both in gen-1 and gen-2).

    Regards

    Shravan

    From 5a16e6f5223b06e076c5d97f57b626721486a03a Mon Sep 17 00:00:00 2001
    From: Shravan Karthik <shravan.karthik@ti.com>
    Date: Fri, 8 Jun 2018 15:51:05 +0530
    Subject: [PATCH] phy: pcie: Set APLL reference input clock as ACSPCIE
    
    Set mux configurationt to enable ACSPCIE as APLL input clock
    Also set ASCPCIe in RX Mode and disable dpll_ref_m2 clock
    ---
     drivers/phy/phy-ti-pipe3.c | 11 +++++++++++++++-
     1 file changed, 15 insertions(+), 1 deletion(-)
    
    diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/phy-ti-pipe3.c
    index bf46844..f3f75f1 100644
    --- a/drivers/phy/phy-ti-pipe3.c
    +++ b/drivers/phy/phy-ti-pipe3.c
    @@ -410,12 +410,14 @@ static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
     		}
     		clk_set_rate(clk, 1500000000);
     
    +/*
     		clk = devm_clk_get(dev, "dpll_ref_m2");
     		if (IS_ERR(clk)) {
     			dev_err(dev, "unable to get dpll ref m2 clk\n");
     			return PTR_ERR(clk);
     		}
     		clk_set_rate(clk, 100000000);
    +*/
     
     		clk = devm_clk_get(dev, "phy-div");
     		if (IS_ERR(clk)) {
    @@ -423,7 +425,6 @@ static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
     			return PTR_ERR(clk);
     		}
     		clk_set_rate(clk, 100000000);
    -
     		phy->div_clk = devm_clk_get(dev, "div-clk");
     		if (IS_ERR(phy->div_clk)) {
     			dev_err(dev, "unable to get div-clk\n");
    @@ -551,6 +552,19 @@ static int ti_pipe3_probe(struct platform_device *pdev)
     	struct device_node *node = pdev->dev.of_node;
     	struct device *dev = &pdev->dev;
     	int ret;
    +	uint32_t readval;
    +
    +	
    +
    +	void __iomem *muxregs = ioremap(0x4a00821c, 4);
    +	readval = (uint32_t) readl(muxregs);
    +	readval |= 0x180;
    +	writel(readval,muxregs);
    +	iounmap(muxregs);
     
     	phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
     	if (!phy)
    -- 
    2.7.4
    
    

  • Hi Shravan,

    the board boot stops at Starting kernel ...

    The issue seems to be located in the clks we have changed in phy-ti-pipe3.c

    See attached file.

    Regards,

    Stefan.

    /*
     * phy-ti-pipe3 - PIPE3 PHY driver.
     *
     * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * Author: Kishon Vijay Abraham I <kishon@ti.com>
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     */
    
    #include <linux/module.h>
    #include <linux/platform_device.h>
    #include <linux/slab.h>
    #include <linux/phy/phy.h>
    #include <linux/of.h>
    #include <linux/clk.h>
    #include <linux/err.h>
    #include <linux/io.h>
    #include <linux/pm_runtime.h>
    #include <linux/delay.h>
    #include <linux/phy/omap_control_phy.h>
    #include <linux/of_platform.h>
    #include <linux/mfd/syscon.h>
    #include <linux/regmap.h>
    
    #define	PLL_STATUS		0x00000004
    #define	PLL_GO			0x00000008
    #define	PLL_CONFIGURATION1	0x0000000C
    #define	PLL_CONFIGURATION2	0x00000010
    #define	PLL_CONFIGURATION3	0x00000014
    #define	PLL_CONFIGURATION4	0x00000020
    
    #define	PLL_REGM_MASK		0x001FFE00
    #define	PLL_REGM_SHIFT		0x9
    #define	PLL_REGM_F_MASK		0x0003FFFF
    #define	PLL_REGM_F_SHIFT	0x0
    #define	PLL_REGN_MASK		0x000001FE
    #define	PLL_REGN_SHIFT		0x1
    #define	PLL_SELFREQDCO_MASK	0x0000000E
    #define	PLL_SELFREQDCO_SHIFT	0x1
    #define	PLL_SD_MASK		0x0003FC00
    #define	PLL_SD_SHIFT		10
    #define	SET_PLL_GO		0x1
    #define PLL_LDOPWDN		BIT(15)
    #define PLL_TICOPWDN		BIT(16)
    #define	PLL_LOCK		0x2
    #define	PLL_IDLE		0x1
    
    #define SATA_PLL_SOFT_RESET	BIT(18)
    
    #define PIPE3_PHY_PWRCTL_CLK_CMD_MASK	0x003FC000
    #define PIPE3_PHY_PWRCTL_CLK_CMD_SHIFT	14
    
    #define PIPE3_PHY_PWRCTL_CLK_FREQ_MASK	0xFFC00000
    #define PIPE3_PHY_PWRCTL_CLK_FREQ_SHIFT	22
    
    #define PIPE3_PHY_TX_RX_POWERON		0x3
    #define PIPE3_PHY_TX_RX_POWEROFF	0x0
    
    #define PCIE_PCS_MASK			0xFF0000
    #define PCIE_PCS_DELAY_COUNT_SHIFT	0x10
    
    /*
     * This is an Empirical value that works, need to confirm the actual
     * value required for the PIPE3PHY_PLL_CONFIGURATION2.PLL_IDLE status
     * to be correctly reflected in the PIPE3PHY_PLL_STATUS register.
     */
    #define PLL_IDLE_TIME	100	/* in milliseconds */
    #define PLL_LOCK_TIME	100	/* in milliseconds */
    
    struct pipe3_dpll_params {
    	u16	m;
    	u8	n;
    	u8	freq:3;
    	u8	sd;
    	u32	mf;
    };
    
    struct pipe3_dpll_map {
    	unsigned long rate;
    	struct pipe3_dpll_params params;
    };
    
    struct ti_pipe3 {
    	void __iomem		*pll_ctrl_base;
    	struct device		*dev;
    	struct device		*control_dev;
    	struct clk		*wkupclk;
    	struct clk		*sys_clk;
    	struct clk		*refclk;
    	struct clk		*div_clk;
    	struct pipe3_dpll_map	*dpll_map;
    	struct regmap		*phy_power_syscon; /* ctrl. reg. acces */
    	struct regmap		*pcs_syscon; /* ctrl. reg. acces */
    	struct regmap		*dpll_reset_syscon; /* ctrl. reg. acces */
    	unsigned int		dpll_reset_reg; /* reg. index within syscon */
    	unsigned int		power_reg; /* power reg. index within syscon */
    	unsigned int		pcie_pcs_reg; /* pcs reg. index in syscon */
    	bool			sata_refclk_enabled;
    };
    
    static struct pipe3_dpll_map dpll_map_usb[] = {
    	{12000000, {1250, 5, 4, 20, 0} },	/* 12 MHz */
    	{16800000, {3125, 20, 4, 20, 0} },	/* 16.8 MHz */
    	{19200000, {1172, 8, 4, 20, 65537} },	/* 19.2 MHz */
    	{20000000, {1000, 7, 4, 10, 0} },	/* 20 MHz */
    	{26000000, {1250, 12, 4, 20, 0} },	/* 26 MHz */
    	{38400000, {3125, 47, 4, 20, 92843} },	/* 38.4 MHz */
    	{ },					/* Terminator */
    };
    
    static struct pipe3_dpll_map dpll_map_sata[] = {
    	{12000000, {1000, 7, 4, 6, 0} },	/* 12 MHz */
    	{16800000, {714, 7, 4, 6, 0} },		/* 16.8 MHz */
    	{19200000, {625, 7, 4, 6, 0} },		/* 19.2 MHz */
    	{20000000, {600, 7, 4, 6, 0} },		/* 20 MHz */
    	{26000000, {461, 7, 4, 6, 0} },		/* 26 MHz */
    	{38400000, {312, 7, 4, 6, 0} },		/* 38.4 MHz */
    	{ },					/* Terminator */
    };
    
    static inline u32 ti_pipe3_readl(void __iomem *addr, unsigned offset)
    {
    	return __raw_readl(addr + offset);
    }
    
    static inline void ti_pipe3_writel(void __iomem *addr, unsigned offset,
    	u32 data)
    {
    	__raw_writel(data, addr + offset);
    }
    
    static struct pipe3_dpll_params *ti_pipe3_get_dpll_params(struct ti_pipe3 *phy)
    {
    	unsigned long rate;
    	struct pipe3_dpll_map *dpll_map = phy->dpll_map;
    
    	rate = clk_get_rate(phy->sys_clk);
    
    	for (; dpll_map->rate; dpll_map++) {
    		if (rate == dpll_map->rate)
    			return &dpll_map->params;
    	}
    
    	dev_err(phy->dev, "No DPLL configuration for %lu Hz SYS CLK\n", rate);
    
    	return NULL;
    }
    
    static int ti_pipe3_enable_clocks(struct ti_pipe3 *phy);
    static void ti_pipe3_disable_clocks(struct ti_pipe3 *phy);
    
    static int ti_pipe3_power_off(struct phy *x)
    {
    	u32 val;
    	int ret;
    	struct ti_pipe3 *phy = phy_get_drvdata(x);
    
    	if (!phy->phy_power_syscon) {
    		omap_control_phy_power(phy->control_dev, 0);
    		return 0;
    	}
    
    	val = PIPE3_PHY_TX_RX_POWEROFF << PIPE3_PHY_PWRCTL_CLK_CMD_SHIFT;
    
    	ret = regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
    				 PIPE3_PHY_PWRCTL_CLK_CMD_MASK, val);
    	return ret;
    }
    
    static int ti_pipe3_power_on(struct phy *x)
    {
    	u32 val;
    	u32 mask;
    	int ret;
    	unsigned long rate;
    	struct ti_pipe3 *phy = phy_get_drvdata(x);
    
    	if (!phy->phy_power_syscon) {
    		omap_control_phy_power(phy->control_dev, 1);
    		return 0;
    	}
    
    	rate = clk_get_rate(phy->sys_clk);
    	if (!rate) {
    		dev_err(phy->dev, "Invalid clock rate\n");
    		return -EINVAL;
    	}
    	rate = rate / 1000000;
    	mask = OMAP_CTRL_PIPE3_PHY_PWRCTL_CLK_CMD_MASK |
    		  OMAP_CTRL_PIPE3_PHY_PWRCTL_CLK_FREQ_MASK;
    	val = PIPE3_PHY_TX_RX_POWERON << PIPE3_PHY_PWRCTL_CLK_CMD_SHIFT;
    	val |= rate << OMAP_CTRL_PIPE3_PHY_PWRCTL_CLK_FREQ_SHIFT;
    
    	ret = regmap_update_bits(phy->phy_power_syscon, phy->power_reg,
    				 mask, val);
    	return ret;
    }
    
    static int ti_pipe3_dpll_wait_lock(struct ti_pipe3 *phy)
    {
    	u32		val;
    	unsigned long	timeout;
    
    	timeout = jiffies + msecs_to_jiffies(PLL_LOCK_TIME);
    	do {
    		cpu_relax();
    		val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
    		if (val & PLL_LOCK)
    			return 0;
    	} while (!time_after(jiffies, timeout));
    
    	dev_err(phy->dev, "DPLL failed to lock\n");
    	return -EBUSY;
    }
    
    static int ti_pipe3_dpll_program(struct ti_pipe3 *phy)
    {
    	u32			val;
    	struct pipe3_dpll_params *dpll_params;
    
    	dpll_params = ti_pipe3_get_dpll_params(phy);
    	if (!dpll_params)
    		return -EINVAL;
    
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION1);
    	val &= ~PLL_REGN_MASK;
    	val |= dpll_params->n << PLL_REGN_SHIFT;
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION1, val);
    
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
    	val &= ~PLL_SELFREQDCO_MASK;
    	val |= dpll_params->freq << PLL_SELFREQDCO_SHIFT;
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
    
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION1);
    	val &= ~PLL_REGM_MASK;
    	val |= dpll_params->m << PLL_REGM_SHIFT;
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION1, val);
    
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION4);
    	val &= ~PLL_REGM_F_MASK;
    	val |= dpll_params->mf << PLL_REGM_F_SHIFT;
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION4, val);
    
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION3);
    	val &= ~PLL_SD_MASK;
    	val |= dpll_params->sd << PLL_SD_SHIFT;
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION3, val);
    
    	ti_pipe3_writel(phy->pll_ctrl_base, PLL_GO, SET_PLL_GO);
    
    	return ti_pipe3_dpll_wait_lock(phy);
    }
    
    static int ti_pipe3_init(struct phy *x)
    {
    	struct ti_pipe3 *phy = phy_get_drvdata(x);
    	u32 val;
    	int ret = 0;
    
    	ti_pipe3_enable_clocks(phy);
    	/*
    	 * Set pcie_pcs register to 0x96 for proper functioning of phy
    	 * as recommended in AM572x TRM SPRUHZ6, section 18.5.2.2, table
    	 * 18-1804.
    	 */
    	if (of_device_is_compatible(phy->dev->of_node, "ti,phy-pipe3-pcie")) {
    		if (!phy->pcs_syscon) {
    			omap_control_pcie_pcs(phy->control_dev, 0x96);
    			return 0;
    		}
    
    		val = 0x96 << OMAP_CTRL_PCIE_PCS_DELAY_COUNT_SHIFT;
    		ret = regmap_update_bits(phy->pcs_syscon, phy->pcie_pcs_reg,
    					 PCIE_PCS_MASK, val);
    		return ret;
    	}
    
    	/* Bring it out of IDLE if it is IDLE */
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
    	if (val & PLL_IDLE) {
    		val &= ~PLL_IDLE;
    		ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
    		ret = ti_pipe3_dpll_wait_lock(phy);
    	}
    
    	/* SATA has issues if re-programmed when locked */
    	val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
    	if ((val & PLL_LOCK) && of_device_is_compatible(phy->dev->of_node,
    							"ti,phy-pipe3-sata"))
    		return ret;
    
    	/* Program the DPLL */
    	ret = ti_pipe3_dpll_program(phy);
    	if (ret) {
    		ti_pipe3_disable_clocks(phy);
    		return -EINVAL;
    	}
    
    	return ret;
    }
    
    static int ti_pipe3_exit(struct phy *x)
    {
    	struct ti_pipe3 *phy = phy_get_drvdata(x);
    	u32 val;
    	unsigned long timeout;
    
    	/* If dpll_reset_syscon is not present we wont power down SATA DPLL
    	 * due to Errata i783
    	 */
    	if (of_device_is_compatible(phy->dev->of_node, "ti,phy-pipe3-sata") &&
    	    !phy->dpll_reset_syscon)
    		return 0;
    
    	/* PCIe doesn't have internal DPLL */
    	if (!of_device_is_compatible(phy->dev->of_node, "ti,phy-pipe3-pcie")) {
    		/* Put DPLL in IDLE mode */
    		val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_CONFIGURATION2);
    		val |= PLL_IDLE;
    		ti_pipe3_writel(phy->pll_ctrl_base, PLL_CONFIGURATION2, val);
    
    		/* wait for LDO and Oscillator to power down */
    		timeout = jiffies + msecs_to_jiffies(PLL_IDLE_TIME);
    		do {
    			cpu_relax();
    			val = ti_pipe3_readl(phy->pll_ctrl_base, PLL_STATUS);
    			if ((val & PLL_TICOPWDN) && (val & PLL_LDOPWDN))
    				break;
    		} while (!time_after(jiffies, timeout));
    
    		if (!(val & PLL_TICOPWDN) || !(val & PLL_LDOPWDN)) {
    			dev_err(phy->dev, "Failed to power down: PLL_STATUS 0x%x\n",
    				val);
    			return -EBUSY;
    		}
    	}
    
    	/* i783: SATA needs control bit toggle after PLL unlock */
    	if (of_device_is_compatible(phy->dev->of_node, "ti,phy-pipe3-sata")) {
    		regmap_update_bits(phy->dpll_reset_syscon, phy->dpll_reset_reg,
    				   SATA_PLL_SOFT_RESET, SATA_PLL_SOFT_RESET);
    		regmap_update_bits(phy->dpll_reset_syscon, phy->dpll_reset_reg,
    				   SATA_PLL_SOFT_RESET, 0);
    	}
    
    	ti_pipe3_disable_clocks(phy);
    
    	return 0;
    }
    static const struct phy_ops ops = {
    	.init		= ti_pipe3_init,
    	.exit		= ti_pipe3_exit,
    	.power_on	= ti_pipe3_power_on,
    	.power_off	= ti_pipe3_power_off,
    	.owner		= THIS_MODULE,
    };
    
    static const struct of_device_id ti_pipe3_id_table[];
    
    static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
    {
    	struct clk *clk;
    	struct device *dev = phy->dev;
    	struct device_node *node = dev->of_node;
    
    	phy->refclk = devm_clk_get(dev, "refclk");
    	if (IS_ERR(phy->refclk)) {
    		dev_err(dev, "unable to get refclk\n");
    		/* older DTBs have missing refclk in SATA PHY
    		 * so don't bail out in case of SATA PHY.
    		 */
    		if (!of_device_is_compatible(node, "ti,phy-pipe3-sata"))
    			return PTR_ERR(phy->refclk);
    	}
    
    	if (!of_device_is_compatible(node, "ti,phy-pipe3-sata")) {
    		phy->wkupclk = devm_clk_get(dev, "wkupclk");
    		if (IS_ERR(phy->wkupclk)) {
    			dev_err(dev, "unable to get wkupclk\n");
    			return PTR_ERR(phy->wkupclk);
    		}
    	} else {
    		phy->wkupclk = ERR_PTR(-ENODEV);
    	}
    
    	if (!of_device_is_compatible(node, "ti,phy-pipe3-pcie") ||
    	    phy->phy_power_syscon) {
    		phy->sys_clk = devm_clk_get(dev, "sysclk");
    		if (IS_ERR(phy->sys_clk)) {
    			dev_err(dev, "unable to get sysclk\n");
    			return -EINVAL;
    		}
    	}
    
    	if (of_device_is_compatible(node, "ti,phy-pipe3-pcie")) {
    		clk = devm_clk_get(dev, "dpll_ref");
    		if (IS_ERR(clk)) {
    			dev_err(dev, "unable to get dpll ref clk\n");
    			return PTR_ERR(clk);
    		}
    		clk_set_rate(clk, 1500000000);
    
    		/*clk = devm_clk_get(dev, "dpll_ref_m2");
    		if (IS_ERR(clk)) {
    			dev_err(dev, "unable to get dpll ref m2 clk\n");
    			return PTR_ERR(clk);
    		}
    		clk_set_rate(clk, 100000000);*/
    
    		clk = devm_clk_get(dev, "phy-div");
    		if (IS_ERR(clk)) {
    			dev_err(dev, "unable to get phy-div clk\n");
    			return PTR_ERR(clk);
    		}
    		clk_set_rate(clk, 100000000);
    
    		phy->div_clk = devm_clk_get(dev, "div-clk");
    		if (IS_ERR(phy->div_clk)) {
    			dev_err(dev, "unable to get div-clk\n");
    			return PTR_ERR(phy->div_clk);
    		}
    	} else {
    		phy->div_clk = ERR_PTR(-ENODEV);
    	}
    
    	return 0;
    }
    
    static int ti_pipe3_get_sysctrl(struct ti_pipe3 *phy)
    {
    	struct device *dev = phy->dev;
    	struct device_node *node = dev->of_node;
    	struct device_node *control_node;
    	struct platform_device *control_pdev;
    
    	phy->phy_power_syscon = syscon_regmap_lookup_by_phandle(node,
    							"syscon-phy-power");
    	if (IS_ERR(phy->phy_power_syscon)) {
    		dev_dbg(dev,
    			"can't get syscon-phy-power, using control device\n");
    		phy->phy_power_syscon = NULL;
    	} else {
    		if (of_property_read_u32_index(node,
    					       "syscon-phy-power", 1,
    					       &phy->power_reg)) {
    			dev_err(dev, "couldn't get power reg. offset\n");
    			return -EINVAL;
    		}
    	}
    
    	if (!phy->phy_power_syscon) {
    		control_node = of_parse_phandle(node, "ctrl-module", 0);
    		if (!control_node) {
    			dev_err(dev, "Failed to get control device phandle\n");
    			return -EINVAL;
    		}
    
    		control_pdev = of_find_device_by_node(control_node);
    		if (!control_pdev) {
    			dev_err(dev, "Failed to get control device\n");
    			return -EINVAL;
    		}
    
    		phy->control_dev = &control_pdev->dev;
    	}
    
    	if (of_device_is_compatible(node, "ti,phy-pipe3-pcie")) {
    		phy->pcs_syscon = syscon_regmap_lookup_by_phandle(node,
    								  "syscon-pcs");
    		if (IS_ERR(phy->pcs_syscon)) {
    			dev_dbg(dev,
    				"can't get syscon-pcs, using omap control\n");
    			phy->pcs_syscon = NULL;
    		} else {
    			if (of_property_read_u32_index(node,
    						       "syscon-pcs", 1,
    						       &phy->pcie_pcs_reg)) {
    				dev_err(dev,
    					"couldn't get pcie pcs reg. offset\n");
    				return -EINVAL;
    			}
    		}
    	}
    
    	if (of_device_is_compatible(node, "ti,phy-pipe3-sata")) {
    		phy->dpll_reset_syscon = syscon_regmap_lookup_by_phandle(node,
    							"syscon-pllreset");
    		if (IS_ERR(phy->dpll_reset_syscon)) {
    			dev_info(dev,
    				 "can't get syscon-pllreset, sata dpll won't idle\n");
    			phy->dpll_reset_syscon = NULL;
    		} else {
    			if (of_property_read_u32_index(node,
    						       "syscon-pllreset", 1,
    						       &phy->dpll_reset_reg)) {
    				dev_err(dev,
    					"couldn't get pllreset reg. offset\n");
    				return -EINVAL;
    			}
    		}
    	}
    
    	return 0;
    }
    
    static int ti_pipe3_get_pll_base(struct ti_pipe3 *phy)
    {
    	struct resource *res;
    	const struct of_device_id *match;
    	struct device *dev = phy->dev;
    	struct device_node *node = dev->of_node;
    	struct platform_device *pdev = to_platform_device(dev);
    
    	if (of_device_is_compatible(node, "ti,phy-pipe3-pcie"))
    		return 0;
    
    	match = of_match_device(ti_pipe3_id_table, dev);
    	if (!match)
    		return -EINVAL;
    
    	phy->dpll_map = (struct pipe3_dpll_map *)match->data;
    	if (!phy->dpll_map) {
    		dev_err(dev, "no DPLL data\n");
    		return -EINVAL;
    	}
    
    	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
    					   "pll_ctrl");
    	phy->pll_ctrl_base = devm_ioremap_resource(dev, res);
    	if (IS_ERR(phy->pll_ctrl_base))
    		return PTR_ERR(phy->pll_ctrl_base);
    
    	return 0;
    }
    
    static int ti_pipe3_probe(struct platform_device *pdev)
    {
    	struct ti_pipe3 *phy;
    	struct phy *generic_phy;
    	struct phy_provider *phy_provider;
    	struct device_node *node = pdev->dev.of_node;
    	struct device *dev = &pdev->dev;
    	uint32_t readval;
    
    	int ret;
    
    	void __iomem *muxregs = ioremap(0x4a00821c, 4);
    	readval = (uint32_t) readl(muxregs);
    	readval |= 0x180;
    	writel(readval,muxregs);
    	iounmap(muxregs);
    
    	phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
    	if (!phy)
    		return -ENOMEM;
    
    	phy->dev		= dev;
    
    	ret = ti_pipe3_get_pll_base(phy);
    	if (ret)
    		return ret;
    
    	ret = ti_pipe3_get_sysctrl(phy);
    	if (ret)
    		return ret;
    
    	ret = ti_pipe3_get_clk(phy);
    	if (ret)
    		return ret;
    
    	platform_set_drvdata(pdev, phy);
    	pm_runtime_enable(dev);
    
    	/*
    	 * Prevent auto-disable of refclk for SATA PHY due to Errata i783
    	 */
    	if (of_device_is_compatible(node, "ti,phy-pipe3-sata")) {
    		if (!IS_ERR(phy->refclk)) {
    			clk_prepare_enable(phy->refclk);
    			phy->sata_refclk_enabled = true;
    		}
    	}
    
    	generic_phy = devm_phy_create(dev, NULL, &ops);
    	if (IS_ERR(generic_phy))
    		return PTR_ERR(generic_phy);
    
    	phy_set_drvdata(generic_phy, phy);
    
    	ti_pipe3_power_off(generic_phy);
    
    	phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
    	if (IS_ERR(phy_provider))
    		return PTR_ERR(phy_provider);
    
    	return 0;
    }
    
    static int ti_pipe3_remove(struct platform_device *pdev)
    {
    	pm_runtime_disable(&pdev->dev);
    
    	return 0;
    }
    
    static int ti_pipe3_enable_clocks(struct ti_pipe3 *phy)
    {
    	int ret = 0;
    
    	if (!IS_ERR(phy->refclk)) {
    		ret = clk_prepare_enable(phy->refclk);
    		if (ret) {
    			dev_err(phy->dev, "Failed to enable refclk %d\n", ret);
    			return ret;
    		}
    	}
    
    	if (!IS_ERR(phy->wkupclk)) {
    		ret = clk_prepare_enable(phy->wkupclk);
    		if (ret) {
    			dev_err(phy->dev, "Failed to enable wkupclk %d\n", ret);
    			goto disable_refclk;
    		}
    	}
    
    	if (!IS_ERR(phy->div_clk)) {
    		ret = clk_prepare_enable(phy->div_clk);
    		if (ret) {
    			dev_err(phy->dev, "Failed to enable div_clk %d\n", ret);
    			goto disable_wkupclk;
    		}
    	}
    
    	return 0;
    
    disable_wkupclk:
    	if (!IS_ERR(phy->wkupclk))
    		clk_disable_unprepare(phy->wkupclk);
    
    disable_refclk:
    	if (!IS_ERR(phy->refclk))
    		clk_disable_unprepare(phy->refclk);
    
    	return ret;
    }
    
    static void ti_pipe3_disable_clocks(struct ti_pipe3 *phy)
    {
    	if (!IS_ERR(phy->wkupclk))
    		clk_disable_unprepare(phy->wkupclk);
    	if (!IS_ERR(phy->refclk)) {
    		clk_disable_unprepare(phy->refclk);
    		/*
    		 * SATA refclk needs an additional disable as we left it
    		 * on in probe to avoid Errata i783
    		 */
    		if (phy->sata_refclk_enabled) {
    			clk_disable_unprepare(phy->refclk);
    			phy->sata_refclk_enabled = false;
    		}
    	}
    
    	if (!IS_ERR(phy->div_clk))
    		clk_disable_unprepare(phy->div_clk);
    }
    
    static const struct of_device_id ti_pipe3_id_table[] = {
    	{
    		.compatible = "ti,phy-usb3",
    		.data = dpll_map_usb,
    	},
    	{
    		.compatible = "ti,omap-usb3",
    		.data = dpll_map_usb,
    	},
    	{
    		.compatible = "ti,phy-pipe3-sata",
    		.data = dpll_map_sata,
    	},
    	{
    		.compatible = "ti,phy-pipe3-pcie",
    	},
    	{}
    };
    MODULE_DEVICE_TABLE(of, ti_pipe3_id_table);
    
    static struct platform_driver ti_pipe3_driver = {
    	.probe		= ti_pipe3_probe,
    	.remove		= ti_pipe3_remove,
    	.driver		= {
    		.name	= "ti-pipe3",
    		.of_match_table = ti_pipe3_id_table,
    	},
    };
    
    module_platform_driver(ti_pipe3_driver);
    
    MODULE_ALIAS("platform:ti_pipe3");
    MODULE_AUTHOR("Texas Instruments Inc.");
    MODULE_DESCRIPTION("TI PIPE3 phy driver");
    MODULE_LICENSE("GPL v2");
    

  • Hi Stefan,

    Please try this patch (same patch as thread ). This patch ensures the same clock is input to the PCIe Phy and the SSD.

    Any updates on running PCIe in Gen-1 mode (with and without the patch)?

    Regards

    Shravan

    From 5a16e6f5223b06e076c5d97f57b626721486a03a Mon Sep 17 00:00:00 2001
    From: Shravan Karthik <shravan.karthik@ti.com>
    Date: Fri, 8 Jun 2018 15:51:05 +0530
    Subject: [PATCH] phy: pcie: Set APLL reference input clock as ACSPCIE
    
    Set mux configurationt to enable ACSPCIE as APLL input clock
    Also set ASCPCIe in RX Mode and disable dpll_ref_m2 clock
    ---
     drivers/phy/phy-ti-pipe3.c | 16 +++++++++++++++-
     1 file changed, 15 insertions(+), 1 deletion(-)
    
    diff --git a/drivers/phy/phy-ti-pipe3.c b/drivers/phy/phy-ti-pipe3.c
    index bf46844..f3f75f1 100644
    --- a/drivers/phy/phy-ti-pipe3.c
    +++ b/drivers/phy/phy-ti-pipe3.c
    @@ -410,12 +410,14 @@ static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
     		}
     		clk_set_rate(clk, 1500000000);
     
    +/*
     		clk = devm_clk_get(dev, "dpll_ref_m2");
     		if (IS_ERR(clk)) {
     			dev_err(dev, "unable to get dpll ref m2 clk\n");
     			return PTR_ERR(clk);
     		}
     		clk_set_rate(clk, 100000000);
    +*/
     
     		clk = devm_clk_get(dev, "phy-div");
     		if (IS_ERR(clk)) {
    @@ -423,7 +425,6 @@ static int ti_pipe3_get_clk(struct ti_pipe3 *phy)
     			return PTR_ERR(clk);
     		}
     		clk_set_rate(clk, 100000000);
    -
     		phy->div_clk = devm_clk_get(dev, "div-clk");
     		if (IS_ERR(phy->div_clk)) {
     			dev_err(dev, "unable to get div-clk\n");
    @@ -551,6 +552,19 @@ static int ti_pipe3_probe(struct platform_device *pdev)
     	struct device_node *node = pdev->dev.of_node;
     	struct device *dev = &pdev->dev;
     	int ret;
    +	uint32_t readval;
    +
    +	void __iomem *txrxregs = ioremap(0x4a003c14, 4);
    +	readval = (uint32_t) readl(txrxregs);
    +	readval |= 0x20000;
    +	writel(readval,txrxregs);
    +	iounmap(txrxregs);
    +
    +	void __iomem *muxregs = ioremap(0x4a00821c, 4);
    +	readval = (uint32_t) readl(muxregs);
    +	readval |= 0x180;
    +	writel(readval,muxregs);
    +	iounmap(muxregs);
     
     	phy = devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL);
     	if (!phy)
    -- 
    2.7.4
    
    

  • Hi Shravan,

    the patch doesn't seem to help. The behavior is the same as before the 1st patch you have sent me. The board boots but lspci, lsmod etc does not show the SSD dev.

    The behavior is the same regardless of the gen I use.

    Do you have any other propositions?

    Does board require any additional hardware changes? Shorting the PRSNT2 and PRSNT1 and grounding them?

    Regards,

    Stefan.

  • Hi Stefan,

    I tried to connect HHL-form factor Intel Optan 900P SSD to our TDA2px EVM and it works (product description in link below, screenshot enumerating the device is also attached).

    I guess there seems to be an issue with the interfacing of the SSD with the TDA2px EVM. What were the changes made to interface the SSD you're using with the EVM?

    Regards

    Shravan

  • We are using this adapter:

    www.amazon.com/.../B01D51HUUS

    So can you please confirm this to us - you have just plugged in the SSD from your link and made the changes you have written in the previous post? What gen have you set in DTS?

    Regards,
    Stefan.
  • Hi Stefan,

    There were no changes made to the DTS. I tried with and without the patch provided in previous posts, and I was still able to get the device to show-up using lspci. The SSD we have (Intel Optane 900p with HHHL interface) slots into the PCIe connector on the TDA2Px EVM without the need for any adapter. My guess is the adapter isn't able to provide the voltage required to drive the SSD device (thus the link status is DETECT_QUIET -- register 0x51002104). Is it possible to use the HHHL interface SSD?

    Regards
    Shravan
  • The adapter is just transferring signals from one connector to the other without any voltage adjustments. I doubt that this could be an issue. I have measured voltages and clks on the adapter and it seems that all is fine. I will measure again.

    Then again, the only difference between our two SSDs is the packaging.

    Do you have any other ideas?

    Regards,
    Stefan.
  • Hi Shravan,

    Could you please send me your .config file so I can crosscheck it with mine?

    Regards,
    Stefan.
  • Hi Stefan,

    Attached the config on my setup. Please note I didn't enable NVME as the goal was to check if the device is enumerated on PCIe.

    Regards

    Shravan

    8204.config.txt

  • Hi Shravan,

    can you provide to us detailed output from lspci (e.g. lspci -vv) command when you connect the Intel Optane 900P SSD to TDA2PX EVA board?

    We suspect that our Intel Optane 900p is not implementing the MSI interrupt structure, it only implements MSI-X.

    The main reason why we suspect that the SSD is not implementing MSI interrupt structure is that the following function:

    int pci_find_capability(struct pci_dev *dev, int cap);

    is returning 0 when the cap parameter is set to PCI_CAP_ID_MSI, and returns 0x50 when the cap is set to PCI_CAP_ID_MSIX.

    The pci_find_capability is called from pci_msi_setup_pci_dev function found in drivers/pci/probe.c.



    Regards,

    Stefan.

  • Hi Stefan,

    I've attached the lspci output.

    Does your device support MSI? Since pci_find_capability for PCI_CAP_ID_MSI returns 0, it looks to me like the device doesn't support MSI.

    MSIX isn't supported on the kernel version used by VSDK.

    Despite MSI/MSIX capability, the device should be enumerated on the RC.

    Regards

    Shravan

    
    01:00.0 Non-Volatile memory controller: Intel Corporation Device 2700 (prog-if 02 [NVM Express])
            Subsystem: Intel Corporation Device 3900
            Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Interrupt: pin A routed to IRQ 496
            Region 0: Memory at 20200000 (64-bit, non-prefetchable) [disabled] [size=16K]
            [virtual] Expansion ROM at 20300000 [disabled] [size=64K]
            Capabilities: [40] Power Management version 3
                    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                    Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [50] MSI-X: Enable- Count=32 Masked-
                    Vector table: BAR=0 offset=00002000
                    PBA: BAR=0 offset=00003000
            Capabilities: [60] Express (v2) Endpoint, MSI 00
                    DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 <4us
                            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                    DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                    LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s, Exit Latency L0s <4us, L1 unlimited
                            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                    LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                    LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                    DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
                    DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                    LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                             Compliance De-emphasis: -6dB
                    LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
            Capabilities: [100 v1] Advanced Error Reporting
                    UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                    CESta:  RxErr+ BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr-
                    CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                    AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
            Capabilities: [150 v1] Virtual Channel
                    Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                    Arb:    Fixed- WRR32- WRR64- WRR128-
                    Ctrl:   ArbSelect=Fixed
                    Status: InProgress-
                    VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                            Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                            Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
                            Status: NegoPending- InProgress-
            Capabilities: [180 v1] Power Budgeting <?>
            Capabilities: [190 v1] Alternative Routing-ID Interpretation (ARI)
                    ARICap: MFVC- ACS-, Next Function: 0
                    ARICtl: MFVC- ACS-, Function Group: 0
            Capabilities: [270 v1] Device Serial Number 55-cd-2e-41-4e-31-12-50
            Capabilities: [2a0 v1] #19

  • Hi Shravan,

    we also suspect that our Intel Optane 900P (U.2 15mm Form Factor) does not support MSI.

    When we connect the SSD to TDA2P EVA (or TDA2XX EVA) board and rescan the PCI bus, we get the following log in dmesg:

    [ 37.767052] pcieport 0000:00:00.0: BAR 14: assigned [mem 0x20200000-0x202fffff]
    [ 37.774402] pcieport 0000:00:00.0: BAR 15: assigned [mem 0x20300000-0x203fffff pref]
    [ 37.784717] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
    [ 37.792124] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [ 37.800545] nvme 0000:01:00.0: enabling device (0000 -> 0002)
    [ 37.806455] nvme 0000:01:00.0: Device failed to resume

    We traced down the "Device failed to resume" in the NVME driver and this message is generated in nvme_dead_ctrl function.

    The nvme_dead_ctrl function is called from nvme_probe_work function in the following line:

    result = nvme_pci_enable(dev);
    if (result)
    goto out;
    // ... function body ...
    out:
    if (!work_busy(&dev->reset_work))
    nvme_dead_ctrl(dev);


    The nvme_pci_enable function calls pci_enable_msix in the following line:

    if (!pdev->irq) {
    result = pci_enable_msix(pdev, dev->entry, 1);
    if (result < 0)
    goto disable;
    }

    and here we confirmed that the pci_enable_msix is returning a negative number (in our case it is -22) and this value
    is also the return value of nvme_pci_enable.

    For now it looks like our SSD is not supporting MSI.

    Regards,
    Stefan
  • Hi Stefan,

    Can you try with CONFIG_BLK_DEV_NVME=n? Idea is to at-least ensure the PCIe controller is able to enumerate the device. Please ensure the config used is similar to the one attached (at-least ensure all configs necessary for RC mode operation are set).

    Regards

    Shravan

    5700.8204.config.txt

  • Hi Shravan,

    we tried with CONFIG_BLK_DEV_NVME=n and the SSD is enumerated correctly.

    Here is the output from lspci:

    root@dra7xx-evm:/sys/bus/pci# lspci
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
    01:00.0 Non-Volatile memory controller: Intel Corporation Device 2700


    root@dra7xx-evm:/sys/bus/pci# lspci -s 1:00.0 -vv
    01:00.0 Non-Volatile memory controller: Intel Corporation Device 2700 (prog-if 02 [NVM Express])
            Subsystem: Intel Corporation Device 3901
            Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Interrupt: pin A routed to IRQ 0
            Region 0: Memory at 20200000 (64-bit, non-prefetchable) [disabled] [size=16K]
            [virtual] Expansion ROM at 20300000 [disabled] [size=64K]
            Capabilities: [40] Power Management version 3
                    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                    Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [50] MSI-X: Enable- Count=32 Masked-
                    Vector table: BAR=0 offset=00002000
                    PBA: BAR=0 offset=00003000
            Capabilities: [60] Express (v2) Endpoint, MSI 00
                    DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 <4us
                            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                    DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                    LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s, Exit Latency L0s <4us, L1 unlimited
                            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                    LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                    LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                    DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
                    DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                    LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                             Compliance De-emphasis: -6dB
                    LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
            Capabilities: [100 v1] Advanced Error Reporting
                    UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                    CESta:  RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                    CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                    AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
            Capabilities: [150 v1] Virtual Channel
                    Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                    Arb:    Fixed- WRR32- WRR64- WRR128-
                    Ctrl:   ArbSelect=Fixed
                    Status: InProgress-
                    VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                            Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                            Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
                            Status: NegoPending- InProgress-
            Capabilities: [180 v1] Power Budgeting <?>
            Capabilities: [190 v1] Alternative Routing-ID Interpretation (ARI)
                    ARICap: MFVC- ACS-, Next Function: 0
                    ARICtl: MFVC- ACS-, Function Group: 0
            Capabilities: [270 v1] Device Serial Number 55-cd-2e-41-4e-30-0c-9d
            Capabilities: [2a0 v1] #19

    This means that the nvme driver is causing us problems.

    Do you have any idea how to proceed with this issue?

    Regards,

    Stefan

  • Hi Stefan,

    I haven't enabled NVME on my end either, and I get the same output as you do -- this is positive, as PCIe is able to enumerate the device.
    Please give me a couple of days, I will enable NVME and try on my setup. I will provide updates early next week.

    Regards
    Shravan
  • Hi Shravan,

    Are there any updates regarding this issue?

    Regards,
    Milena
  • Hi Milena, Stefan,

    The device is enumerated on PCIe even when NVME is enabled. Attached the logs for the commands run on the target below.

    I've attached the kernel config as well.

    Regards

    Shravan

    root@dra7xx-evm:~# lspci
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
    01:00.0 Non-Volatile memory controller: Intel Corporation Device 2700
    root@dra7xx-evm:~# lspci -vv
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01) (prog-if 00 [Normal decode])
            Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Latency: 0, Cache Line Size: 64 bytes
            Interrupt: pin A routed to IRQ 464
            Region 0: Memory at 20100000 (32-bit, non-prefetchable) [size=1M]
            Region 1: Memory at 20020000 (32-bit, non-prefetchable) [size=64K]
            Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
            Memory behind bridge: 20200000-202fffff
            Prefetchable memory behind bridge: 20300000-203fffff
            Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
            BridgeCtl: Parity+ SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                    PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
            Capabilities: [40] Power Management version 3
                    Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
                    Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
                    Address: 00000000ae03b000  Data: 0000
            Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
                    DevCap: MaxPayload 256 bytes, PhantFunc 0
                            ExtTag- RBE+
                    DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                    DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                    LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
                            ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
                    LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                    LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt+
                    RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
                    RootCap: CRSVisible-
                    RootSta: PME ReqID 0000, PMEStatus- PMEPending-
                    DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd-
                    DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
                    LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                             Compliance De-emphasis: -6dB
                    LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
            Capabilities: [100 v2] Advanced Error Reporting
                    UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                    CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                    CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                    AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
            Kernel driver in use: pcieport
    
    01:00.0 Non-Volatile memory controller: Intel Corporation Device 2700 (prog-if 02 [NVM Express])
            Subsystem: Intel Corporation Device 3900
            Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
            Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
            Latency: 0, Cache Line Size: 64 bytes
            Interrupt: pin A routed to IRQ 496
            Region 0: Memory at 20200000 (64-bit, non-prefetchable) [size=16K]
            [virtual] Expansion ROM at 20300000 [disabled] [size=64K]
            Capabilities: [40] Power Management version 3
                    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                    Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
            Capabilities: [50] MSI-X: Enable- Count=32 Masked-
                    Vector table: BAR=0 offset=00002000
                    PBA: BAR=0 offset=00003000
            Capabilities: [60] Express (v2) Endpoint, MSI 00
                    DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 <4us
                            ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                    DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                            MaxPayload 128 bytes, MaxReadReq 512 bytes
                    DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                    LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s, Exit Latency L0s <4us, L1 unlimited
                            ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                    LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                    LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                    DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported
                    DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                    LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                             Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                             Compliance De-emphasis: -6dB
                    LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                             EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
            Capabilities: [100 v1] Advanced Error Reporting
                    UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                    UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                    CESta:  RxErr+ BadTLP- BadDLLP+ Rollover- Timeout- NonFatalErr-
                    CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                    AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
            Capabilities: [150 v1] Virtual Channel
                    Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                    Arb:    Fixed- WRR32- WRR64- WRR128-
                    Ctrl:   ArbSelect=Fixed
                    Status: InProgress-
                    VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                            Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                            Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
                            Status: NegoPending- InProgress-
            Capabilities: [180 v1] Power Budgeting <?>
            Capabilities: [190 v1] Alternative Routing-ID Interpretation (ARI)
                    ARICap: MFVC- ACS-, Next Function: 0
                    ARICtl: MFVC- ACS-, Function Group: 0
            Capabilities: [270 v1] Device Serial Number 55-cd-2e-41-4e-31-12-50
            Capabilities: [2a0 v1] #19
            Kernel driver in use: nvme
            Kernel modules: nvme
    
    
    
    
    
    
    
    
    
    
    
    
    root@dra7xx-evm:~# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    mmcblk0boot0 179:16   0     8M  1 disk
    mmcblk0boot1 179:32   0     8M  1 disk
    mmcblk0      179:0    0   7.3G  0 disk
    |-mmcblk0p1  179:1    0    64M  0 part /run/media/mmcblk0p1
    `-mmcblk0p2  179:2    0   7.2G  0 part /run/media/mmcblk0p2
    mmcblk1      179:48   0  29.7G  0 disk
    |-mmcblk1p1  179:49   0    62M  0 part /run/media/mmcblk1p1
    `-mmcblk1p2  179:50   0  29.7G  0 part /
    mtdblock0     31:0    0   256K  0 disk
    mtdblock1     31:1    0     1M  0 disk
    mtdblock2     31:2    0   512K  0 disk
    mtdblock3     31:3    0    64K  0 disk
    mtdblock4     31:4    0    64K  0 disk
    mtdblock5     31:5    0     8M  0 disk
    mtdblock6     31:6    0  22.1M  0 disk
    nvme0n1      259:0    0 260.9G  0 disk

    8715.config.txt

  • Hi Shravan,

    we compiled our kernel with your config, but the SSD is still not working.

    We have a TDA2PX EVA board and two types of Intel Optane 900P SSD:
    - Optane 900P PCIe card:

    https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast-ssds/optane-900p-series/900p-280gb-aic-20nm.html

    - Optane 900P 2.5":

    https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast-ssds/optane-900p-series/900p-280gb-2-5-inch-20nm.html

    We are connecting both SSD directly to the PCIe x4 connector on the TDA2PX EVA board and both SSD are not working with TDA2PX EVA board.

    When we connect any of the above SSD and rescan the PCIe bus, we get the following message in dmesg:

    root@dra7xx-evm:/sys/bus/pci# echo 1 > rescan
    [  464.656871] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
    [  464.664135] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [  464.675750] nvme 0000:01:00.0: Device failed to resume


    Do you have any other idea what we could try?
    Is there any possibility that you can send us your Linux image (maybe we are doing something wrong on our side)?

    Regards,
    Stefan

  • Hi Stefan,

    I've attached the zImage and the modules for the corresponding image. Please try this out and let us know if it works. Copy the zImage to the boot folder in the rootfs partition and the modules to the lib/modules folder in the rootfs partition. (zImage.txt attcahed is zImage and modules.txt attached is modules.tar.gz).

    I'm not sure if re-scanning the PCIe bus would work, is it possible to reboot the board rather than a rescan? Also how are you updating the config to reflect the configuration at my end?


    Regards
    Shravan

    zImage.txt

    0601.modules.txt

  • Hi Shravan,

    we tried with your Linux image, but the kernel boot hangs on following line:

    [    2.983062] mmcblk0: mmc1:0001 MMC08G 7.25 GiB
    [    2.989397]   #0: DRA7xx-EVM
    [    2.993223] mmcblk0boot0: mmc1:0001 MMC08G partition 1 8.00 MiB
    [    2.999317] mmcblk0boot1: mmc1:0001 MMC08G partition 2 8.00 MiB
    [    3.005781]  mmcblk0: p1 p2
    [    3.009443] Waiting for root device PARTUUID=229accf0-02...

    Besides of rescanning the PCIe bus, we also try to reboot the board but the SSD is still not recognized.

    We delete the old .config found in PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap

    and copy your config file to this directory and rename it to .config

    Now, from following location PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build
    we issue:
    $ make kernel_menuconfig (here we don't do any modification, just close the menuconfig dialog and the build starts)
    $ make linux_install

    and after the build we copy the PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs to SD card.


    Regards,

    Stefan

  • Hi Stefan,

    Can you update your MLO, u-boot.img and uenv.txt in the boot partition of the SD-card and see if the kernel boots?

    To update the config can you run the below steps?

    Add the below lines to ti_config_fragments/auto.cfg (present  in the kernel repository)

    CONFIG_BLK_DEV_NVME=m

    CONFIG_PCI=y

    CONFIG_PCI_ENDPOINT_TEST=y

    CONFIG_PCI_DRA7xx_HOST=y

    Then from vision-SDK run the below commands:

    make linux

    make linux_install

    After running the above commands, update your SD-card using the steps mentioned in  section 3.1 of VisionSDK_Linux_UserGuide.pdf in vision-SDK docs.

    Regards

    Shravan

    7462.MLO.txt

    args_mmc=part uuid mmc 0:2 uuid; setenv bootargs "console=ttyO0,115200n8 elevator=noop root=PARTUUID=${uuid} rw rootwait earlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0 cma=64M rootfstype=ext4 snd.slots_reserved=1,1"
    

    u-boot.img.txt

  • Hi Shravan,

    we tried your MLO, u-boot and uenv.txt but we don't
    get any output, not event from bootloader.

    We switched back to our MLO, u-boot and uenv.txt, we
    also made suggested changes to ti_config_fragments/auto.cfg,
    and after that we built the kernel using following commands:


    $ make linux_clean
    $ make linux
    $ make linux_install

    We copied everything to SD card (as described in  VisionSDK_Linux_UserGuide.pdf), but the SSD is still not working on TDA2P EVM.

    Regards,
    Stefan

  • Hi Stefan,

    I've tested the SSD on my setup (on a TDA2P-EVM) and it works. Please apply this patch in the kernel and confirm if it works. (You can revert the other patches provided).

    The issue seems to be with the clocks being configured for the SSD device. The controller was trying to access the configuration space of the SSD even before the clocks were setup causing an L3 error on the TDA2P-EVM.

    By adding a delay, we ensure the access to configuration space of the EP (SSD), is after all clocks have been setup.

    I've tested this for about 20 reboots, and I notice the SSD is enumerated each time (also see the NVME device enumerated in lsblk).

    Regards

    Shravan

    From 1b4eb4c9941ee1151f7f7104cd3121ee2d408069 Mon Sep 17 00:00:00 2001
    From: Shravan Karthik <shravan.karthik@ti.com>
    Date: Thu, 28 Jun 2018 11:33:09 +0530
    Subject: [PATCH] pci: probe: Add delay before reading vendor ID
    
    ---
     drivers/pci/probe.c | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
    index b83df94..aa45e7c 100644
    --- a/drivers/pci/probe.c
    +++ b/drivers/pci/probe.c
    @@ -1575,6 +1575,8 @@ bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *l,
     {
     	int delay = 1;
     
    +  msleep(10);
    +
     	if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, l))
     		return false;
     
    -- 
    2.7.4
    
    

  • Hi Shravan,

    We have tried this setup at our place and have different behaviour with above mentioned two SSDs:

    1. Optane 900P PCIe card: the same as the one that you have
    -> gets enumerated each time

    2. Optane 900P 2.5":
    -> still does not work

    We have also measured the write speed on the SSD (using dd comand and our test application((f)write)).
    The bandwidth that we get is low (~150-200MBps).
    We have removed gen1 from the dts files, but it seems that PCIe still remains as gen1, utilizing 1 lane.

    Do you have any idea regarding this bandwith?

    Regards,
    Milena
  • Hi Shravan,

    we manged to configure the Optane 900P PCIe SSD to operate as GEN2 PCIe with 2 lanes, but

    the speed is still the same (150MB/s ~ 200MB/s).

    We observed that the L3 error appears on TDA2P EVA when we start writing to the SSD with dd command:

    [ 63.004973] omap_l3_noc 44000000.ocp: L3 application error: target 5 mod:1 (unclearable)
    [ 63.013136] omap_l3_noc 44000000.ocp: L3 debug error: target 5 mod:1 (unclearable)

    Can you confirm what is the maximum write speed for your SSD using dd command?

    We use the following command to test the writing speed:

    dd if=/dev/zero of=/mnt/nvme/test.raw bs=128k count=100k

    We didn't managed to get the Optane 900P 2.5" to work, we tried with msleep(10) and msleep(100) in pci_bus_read_dev_vendor_id function,

    but without success. We always get the following message:

    [  470.364688] pcieport 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [  470.371947] pcieport 0000:00:00.0: BAR 9: assigned [mem 0x20300000-0x203fffff pref]
    [  470.389437] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
    [  470.396840] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20203fff 64bit]
    [  470.404765] nvme 0000:01:00.0: enabling device (0000 -> 0002)
    [  470.410710] nvme 0000:01:00.0: Device failed to resume

    UPDATE:
    We managed to get the Optane 900p 2.5" to work with TDA2P EVA board, we added few msleep to nvme_pci_enable function.
    The write speed is still the same as above mentioned.

    Regards,

    Stefan

  • Hi Stefan,

    Using two-lane mode, I'm seeing writing speeds of 260MBps when writing to ext4 file-system on the SSD. I ran the same 'dd' test-case as you did. The measured throughput for single-lane write to NVME device is documented to be ~128MBps on TDA2P.

    Regards
    Shravan
  • Hi Shravan,

    we didn't managed to get the SSD write speed above 260MBps when we are using PCIe GEN2 with two-lane mode.

    With TDA2P we where expecting the SSD write speed to be at least 700MBps with PCIe GEN2 and two-lane mode,

    but so far we are stuck at average speed of 200MBps.

    We tested the Optane 900P SSD on our host computer (with Linux kernel 4.4.84 - same version as the kernel running on TDA2P) , with PCIe GEN2 x4 and the write speed was on average 1.4GBps, so

    with two-lanes we where expecting the write speed to be 600MBps ~ 700MBps.

    Is there any known limitation for TDA2P that doesn't allow us to obtain those 600MBps ~ 700MBps?

    Regards,

    Stefan

  • Hi Stefan,

    The issue pertaining to enumeration of the SSD device seems resolved. I will look into the reason for the decreased throughput, and it will help if you can start a new thread, so that I can post my findings / solutions in that thread.

    Regards

    Shravan 

  • Hi Shravan,

    we also think that the SSD enumeration problem is resolved.

    New thread is created for the SSD write speed issue:
    https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/705456

    Thank you for your help on this issue.

    Regards,
    Stefan