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.

AM5728: MMC2 SD card slot "twitching" its VDD / clock

Part Number: AM5728

Our custom AM5728 board has MMC2 as an SD card slot. Unlike MMC0 / 1, the MMC2 has been unreliable. I noticed that even when the slot is empty, the output on /sys/kernel/debug/mmc2/ios  is acting erratically like in the attached GIF (top: MMC2, bottom: MMC0).

Can someone suggest what may be causing this? 

The device tree looks like this (mmc3 dts is mmc2 in rootfs):

&mmc3 {
status = "okay";
pinctrl-names = "default", "hs";
pinctrl-0 = <&mmc3_pins_default>;
pinctrl-1 = <&mmc3_pins_hs>;
vmmc-supply = <&v3_3d>;
vqmmc-supply = <&v3_3d>;

disable-wp;
};

  • Hi Adam,

    Are you seeing any read/ write errors in the kernel logs?

    What about the circuit design - were any of the TI EVMs used as a baseline?  Anything you can share would be helpful.

    Regards,
    Mike

  • Hi Mike, good to hear back from you.

    I will add logs I've been collecting, but here is what I see quite often:

    dmesg | grep mmc2
    [ 1.095182] mmc2: SDHCI controller on 480ad000.mmc [480ad000.mmc] using PIO

    Some minutes - hours later, my console gets flooded with these messages:

    [ 5914.099502] mmc2: Timeout waiting for hardware cmd interrupt.

    [ 5914.105282] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========

    [ 5914.111750] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00003302

    [ 5914.118218] mmc2: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000000

    [ 5914.124686] mmc2: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000

    [ 5914.131154] mmc2: sdhci: Present:   0x01f00001 | Host ctl: 0x00000000

    [ 5914.137621] mmc2: sdhci: Power:     0x0000000f | Blk gap:  0x00000000

    [ 5914.144086] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00007807

    [ 5914.150552] mmc2: sdhci: Timeout:   0x00000000 | Int stat: 0x00018000

    [ 5914.157018] mmc2: sdhci: Int enab:  0x007f0003 | Sig enab: 0x007f0003

    [ 5914.163484] mmc2: sdhci: AC12 err:  0x00000000 | Slot int: 0x00000001

    [ 5914.169948] mmc2: sdhci: Caps:      0x21e10080 | Caps_1:   0x00000f77

    [ 5914.176415] mmc2: sdhci: Cmd:       0x0000371a | Max curr: 0x00000000

    [ 5914.182882] mmc2: sdhci: Resp[0]:   0x00000000 | Resp[1]:  0x00000000

    [ 5914.189346] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000

    [ 5914.195812] mmc2: sdhci: Host ctl2: 0x00000000

    [ 5914.200270] mmc2: sdhci: ============================================

    [ 5924.329511] mmc2: Timeout waiting for hardware cmd interrupt.

    [ 5924.335291] mmc2: sdhci: ========== SDHCI REGISTER DUMP ===========

    [ 5924.341761] mmc2: sdhci: Sys addr:  0x00000000 | Version:  0x00003302

    [ 5924.348230] mmc2: sdhci: Blk size:  0x00000000 | Blk cnt:  0x00000000

    [ 5924.354697] mmc2: sdhci: Argument:  0x00000000 | Trn mode: 0x00000000

    [ 5924.361164] mmc2: sdhci: Present:   0x01f00001 | Host ctl: 0x00000000

    [ 5924.367632] mmc2: sdhci: Power:     0x0000000f | Blk gap:  0x00000000

    [ 5924.374098] mmc2: sdhci: Wake-up:   0x00000000 | Clock:    0x00007807

    [ 5924.380565] mmc2: sdhci: Timeout:   0x00000000 | Int stat: 0x00018000

    [ 5924.387032] mmc2: sdhci: Int enab:  0x007f0003 | Sig enab: 0x007f0003

    [ 5924.393499] mmc2: sdhci: AC12 err:  0x00000000 | Slot int: 0x00000001

    [ 5924.399966] mmc2: sdhci: Caps:      0x21e10080 | Caps_1:   0x00000f77

    [ 5924.406434] mmc2: sdhci: Cmd:       0x00000102 | Max curr: 0x00000000

    [ 5924.412901] mmc2: sdhci: Resp[0]:   0x00000000 | Resp[1]:  0x00000000

    [ 5924.419367] mmc2: sdhci: Resp[2]:   0x00000000 | Resp[3]:  0x00000000

    [ 5924.425834] mmc2: sdhci: Host ctl2: 0x00000000

    [ 5924.430295] mmc2: sdhci: ============================================

    I will update my comment with additional info including the circuit design soon..

  • Adam,

    Could you also include your full kernel log when you post again?  I would like to see which kernel version you're running.

    Also, is the mmc3 device tree node the full entry?  For example, do you have the max frequency specified:

    /* Errata i887 limits max-frequency of MMC3 to 64 MHz */
    max-frequency = <64000000>;
    

    Regards,
    Mike

  • Attached is my boot log.

    Also, I just checked and my DTS already includes the i887 fix in dra7.dtsi. 

    Here is the original mmc3 definition from dra7.dtsi:

    mmc3: mmc@480ad000 {
    compatible = "ti,dra7-sdhci";
    reg = <0x480ad000 0x400>;
    interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
    ti,hwmods = "mmc3";
    status = "disabled";
    /* Errata i887 limits max-frequency of MMC3 to 64 MHz */
    max-frequency = <64000000>;
    /* SDMA is not supported */
    sdhci-caps-mask = <0x0 0x400000>;
    };

     This is the decompiled DTB:

    mmc@480ad000 {
    compatible = "ti,dra7-sdhci";
    reg = <0x480ad000 0x400>;
    interrupts = <0x0 0x59 0x4>;
    ti,hwmods = "mmc3";
    status = "okay";
    max-frequency = <0x3d09000>;
    sdhci-caps-mask = <0x0 0x400000>;
    pinctrl-names = "default", "hs";
    pinctrl-0 = <0xe4>;
    pinctrl-1 = <0xe5>;
    vmmc-supply = <0xd9>;
    vqmmc-supply = <0xd9>;
    disable-wp;
    };

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.108-gfbbf5291c3 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #10 SMP PREEMPT Mon Jul 20 20:04:26 UTC 2020
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: JOME Apex16
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x0000000099000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1_cma@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009b000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2_cma@9b000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000ba300000, size 4 MiB
    [    0.000000] OF: reserved mem: initialized node cmem_block_mem@ba300000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 256 MiB at 0x00000000eec00000
    [    0.000000] OMAP4: Map 0x00000000fed00000 to fe600000 for dram barrier
    [    0.000000] On node 0 totalpages: 502016
    [    0.000000] free_area_init_node: node 0, pgdat c1056e00, node_mem_map eedea000
    [    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: 321792 pages, LIFO batch:31
    [    0.000000] DRA752 ES2.0
    [    0.000000] percpu: Embedded 15 pages/cpu @eed7a000 s31372 r8192 d21876 u61440
    [    0.000000] pcpu-alloc: s31372 r8192 d21876 u61440 alloc=15*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 500288
    [    0.000000] Kernel command line: console=ttyS2,115200n8 omapdrm.displays=0,1 loglevel=4 vt.global_cursor_default=0 cma=256MiB root=PARTUUID=fe2df815-02 rw rootfstype=ext4 rootwait
    [    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: 1621520K/2008064K available (8192K kernel code, 360K rwdata, 2624K rodata, 2048K init, 289K bss, 34288K reserved, 352256K cma-reserved, 1025024K 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 - 0xc0a00000   (10208 kB)
                         .init : 0xc0e00000 - 0xc1000000   (2048 kB)
                         .data : 0xc1000000 - 0xc105a118   ( 361 kB)
                          .bss : 0xc105c000 - 0xc10a4500   ( 290 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000] 	Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: 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.000014] Switching to timer-based delay loop, resolution 162ns
    [    0.000350] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000356] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000825] Console: colour dummy device 80x30
    [    0.000853] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000867] pid_max: default: 32768 minimum: 301
    [    0.000973] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000984] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.001531] CPU: Testing write buffer coherency: ok
    [    0.001567] CPU0: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable
    [    0.001774] /cpus/cpu@0 missing clock-frequency property
    [    0.001795] /cpus/cpu@1 missing clock-frequency property
    [    0.001808] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.039867] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.059874] Hierarchical SRCU implementation.
    [    0.080069] EFI services will not be available.
    [    0.099941] smp: Bringing up secondary CPUs ...
    [    0.170327] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.170333] CPU1: Spectre v2: using ICIALLU workaround
    [    0.170446] smp: Brought up 1 node, 2 CPUs
    [    0.170454] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.170459] CPU: All CPU(s) started in HYP mode.
    [    0.170464] CPU: Virtualization extensions available.
    [    0.170919] devtmpfs: initialized
    [    0.189126] random: get_random_u32 called from bucket_table_alloc+0x120/0x248 with crng_init=0
    [    0.189435] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.189629] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.189642] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.197043] pinctrl core: initialized pinctrl subsystem
    [    0.197517] DMI not present or invalid.
    [    0.197771] NET: Registered protocol family 16
    [    0.198881] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.199880] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.308609] omap_hwmod: rtcss: no dt node
    [    0.308621] ------------[ cut here ]------------
    [    0.308641] WARNING: CPU: 0 PID: 1 at /kernel-source//arch/arm/mach-omap2/omap_hwmod.c:2494 _init.constprop.21+0x1e4/0x4a8
    [    0.308646] omap_hwmod: rtcss: doesn't have mpu register target base
    [    0.308651] Modules linked in:
    [    0.308664] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.108-gfbbf5291c3 #10
    [    0.308670] Hardware name: Generic DRA74X (Flattened Device Tree)
    [    0.308674] Backtrace: 
    [    0.308692] [<c020b548>] (dump_backtrace) from [<c020b82c>] (show_stack+0x18/0x1c)
    [    0.308701]  r7:00000009 r6:60000013 r5:00000000 r4:c1056d5c
    [    0.308711] [<c020b814>] (show_stack) from [<c096c1e4>] (dump_stack+0x90/0xa4)
    [    0.308721] [<c096c154>] (dump_stack) from [<c022ba5c>] (__warn+0xec/0x104)
    [    0.308729]  r7:00000009 r6:c0bb1ab4 r5:00000000 r4:ee87fe28
    [    0.308737] [<c022b970>] (__warn) from [<c022bab4>] (warn_slowpath_fmt+0x40/0x48)
    [    0.308745]  r9:c105c000 r8:c0e4a824 r7:00000000 r6:c100f0fc r5:00000000 r4:c0bb1dc4
    [    0.308755] [<c022ba78>] (warn_slowpath_fmt) from [<c0e0c3a0>] (_init.constprop.21+0x1e4/0x4a8)
    [    0.308762]  r3:c0bb3d5c r2:c0bb1dc4
    [    0.308767]  r4:c100f0b8
    [    0.308778] [<c0e0c1bc>] (_init.constprop.21) from [<c0e0cb8c>] (__omap_hwmod_setup_all+0x48/0x100)
    [    0.308786]  r9:c105c000 r8:c0e4a824 r7:c105c000 r6:ffffe000 r5:c10091c8 r4:c100f0b8
    [    0.308797] [<c0e0cb44>] (__omap_hwmod_setup_all) from [<c0201a10>] (do_one_initcall+0x4c/0x170)
    [    0.308802]  r5:c0e0cb44 r4:00000000
    [    0.308814] [<c02019c4>] (do_one_initcall) from [<c0e00f64>] (kernel_init_freeable+0x1d4/0x26c)
    [    0.308821]  r8:c0e4a824 r7:c105c000 r6:00000003 r5:c0e5c9a0 r4:c0c8e970
    [    0.308833] [<c0e00d90>] (kernel_init_freeable) from [<c0980dd8>] (kernel_init+0x10/0x11c)
    [    0.308841]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0980dc8
    [    0.308846]  r4:00000000
    [    0.308856] [<c0980dc8>] (kernel_init) from [<c0207f58>] (ret_from_fork+0x14/0x3c)
    [    0.308862]  r5:c0980dc8 r4:00000000
    [    0.308871] ---[ end trace 747bb2e6c8694101 ]---
    [    0.410938] cpuidle: using governor ladder
    [    0.410966] cpuidle: using governor menu
    [    0.418718] gpio gpiochip0: (gpio): added GPIO chardev (254:0)
    [    0.418786] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio)
    [    0.418843] OMAP GPIO hardware version 0.1
    [    0.419403] GPIO line 59 (sonar_pwr) hogged as output/high
    [    0.419421] GPIO line 61 (airmar_pchg) hogged as output/high
    [    0.419437] GPIO line 56 (am_pchg) hogged as output/high
    [    0.419453] GPIO line 58 (am_ndrv) hogged as output/high
    [    0.419469] GPIO line 60 (am_read) hogged as input
    [    0.419581] gpio gpiochip1: (gpio): added GPIO chardev (254:1)
    [    0.419642] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio)
    [    0.420208] GPIO line 67 (bt_en) hogged as output/high
    [    0.420320] gpio gpiochip2: (gpio): added GPIO chardev (254:2)
    [    0.420406] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio)
    [    0.420979] GPIO line 96 (boost_en) hogged as output/high
    [    0.421087] gpio gpiochip3: (gpio): added GPIO chardev (254:3)
    [    0.421148] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio)
    [    0.421719] GPIO line 136 (airmar_read) hogged as input
    [    0.421827] gpio gpiochip4: (gpio): added GPIO chardev (254:4)
    [    0.421888] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio)
    [    0.422454] GPIO line 167 (airmar_ndrv) hogged as output/high
    [    0.422472] GPIO line 168 (bt_en) hogged as output/high
    [    0.422582] gpio gpiochip5: (gpio): added GPIO chardev (254:5)
    [    0.422648] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio)
    [    0.423214] GPIO line 195 (gps_pwr_on) hogged as output/high
    [    0.423232] GPIO line 199 (backlight_on) hogged as output/high
    [    0.423248] GPIO line 207 (fan_en) hogged as output/high
    [    0.423353] gpio gpiochip6: (gpio): added GPIO chardev (254:6)
    [    0.423417] gpiochip_setup_dev: registered GPIOs 192 to 223 on device: gpiochip6 (gpio)
    [    0.424067] gpio gpiochip7: (gpio): added GPIO chardev (254:7)
    [    0.424128] gpiochip_setup_dev: registered GPIOs 224 to 255 on device: gpiochip7 (gpio)
    [    0.448473] No ATAGs?
    [    0.448549] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.448556] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.448924] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [    0.448931] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [    0.449464] OMAP DMA hardware revision 0.0
    [    0.459225] edma 43300000.edma: memcpy is disabled
    [    0.462496] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.469252] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.469750] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-vmain[0]'
    [    0.469957] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-v3_3d[0]'
    [    0.472382] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.472595] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.472833] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.473072] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.473414] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.473621] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.473880] iommu: Adding device 58820000.ipu to group 1
    [    0.473968] iommu: Adding device 55020000.ipu to group 2
    [    0.474130] iommu: Adding device 40800000.dsp to group 0
    [    0.474401] iommu: Adding device 41000000.dsp to group 3
    [    0.476112] omap_i2c 48070000.i2c: could not find pctldev for node /ocp/l4@4a000000/scm@2000/pinmux@1400/i2c1_pins_default, deferring probe
    [    0.476150] omap_i2c 48060000.i2c: could not find pctldev for node /ocp/l4@4a000000/scm@2000/pinmux@1400/i2c3_pins_default, deferring probe
    [    0.476182] omap_i2c 4807c000.i2c: could not find pctldev for node /ocp/l4@4a000000/scm@2000/pinmux@1400/i2c5_pins_default, deferring probe
    [    0.476306] media: Linux media interface: v0.10
    [    0.476338] Linux video capture interface: v2.00
    [    0.476407] pps_core: LinuxPPS API ver. 1 registered
    [    0.476413] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.476428] PTP clock support registered
    [    0.476457] EDAC MC: Ver: 3.0.0
    [    0.476732] dmi: Firmware registration failed.
    [    0.477124] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.477403] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.477719] Advanced Linux Sound Architecture Driver Initialized.
    [    0.478478] clocksource: Switched to clocksource arch_sys_counter
    [    0.485927] NET: Registered protocol family 2
    [    0.486461] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.486522] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    0.486645] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.486713] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    0.486743] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    0.486863] NET: Registered protocol family 1
    [    0.487148] RPC: Registered named UNIX socket transport module.
    [    0.487155] RPC: Registered udp transport module.
    [    0.487160] RPC: Registered tcp transport module.
    [    0.487166] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.487174] PCI: CLS 0 bytes, default 64
    [    0.488108] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.488280] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.489312] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [    0.493437] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.493937] NFS: Registering the id_resolver key type
    [    0.493960] Key type id_resolver registered
    [    0.493966] Key type id_legacy registered
    [    0.493979] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
    [    0.494534] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.495847] bounce: pool size: 64 pages
    [    0.495889] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.495897] io scheduler noop registered
    [    0.495904] io scheduler deadline registered
    [    0.495932] io scheduler cfq registered (default)
    [    0.495938] io scheduler mq-deadline registered
    [    0.495944] io scheduler kyber registered
    [    0.499824] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
    [    0.546479] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [    0.549169] console [ttyS2] disabled
    [    0.549213] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 43, base_baud = 3000000) is a 8250
    [    0.578008] console [ttyS2] enabled
    [    0.578883] 4806e000.serial: ttyS3 at MMIO 0x4806e000 (irq = 44, base_baud = 3000000) is a 8250
    [    0.579690] 48066000.serial: ttyS4 at MMIO 0x48066000 (irq = 45, base_baud = 3000000) is a 8250
    [    0.580505] 48068000.serial: ttyS5 at MMIO 0x48068000 (irq = 46, base_baud = 3000000) is a 8250
    [    0.581309] 48420000.serial: ttyS6 at MMIO 0x48420000 (irq = 47, base_baud = 3000000) is a 8250
    [    0.582111] 48422000.serial: ttyS7 at MMIO 0x48422000 (irq = 48, base_baud = 3000000) is a 8250
    [    0.583937] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    0.586138] tpd12s015 encoder: failed to find video source
    [    0.592280] of_get_named_gpiod_flags: can't parse 'hpd-gpios' property of node '/connector@1[0]'
    [    0.592339] connector-hdmi connector@1: failed to find video source
    [    0.598875] panel-dpi connector@0: GPIO lookup for consumer enable
    [    0.598883] panel-dpi connector@0: using device tree for GPIO lookup
    [    0.598892] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/connector@0[0]'
    [    0.598901] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/connector@0[0]'
    [    0.598908] panel-dpi connector@0: using lookup tables for GPIO lookup
    [    0.598916] panel-dpi connector@0: lookup for GPIO enable failed
    [    0.598924] panel-dpi connector@0: GPIO lookup for consumer reset
    [    0.598930] panel-dpi connector@0: using device tree for GPIO lookup
    [    0.598939] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/connector@0[0]'
    [    0.598946] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/connector@0[0]'
    [    0.598953] panel-dpi connector@0: using lookup tables for GPIO lookup
    [    0.598960] panel-dpi connector@0: lookup for GPIO reset failed
    [    0.598979] panel-dpi connector@0: connector@0 supply vcc not found, using dummy regulator
    [    0.599102] panel-dpi connector@0: failed to find video source
    [    0.614848] brd: module loaded
    [    0.620384] loop: module loaded
    [    0.623564] m25p80 spi0.0: found s25fl128s, expected s25fl256s1
    [    0.623771] m25p80 spi0.0: s25fl128s (16384 Kbytes)
    [    0.623858] 10 ofpart partitions found on MTD device spi0.0
    [    0.623864] Creating 10 MTD partitions on "spi0.0":
    [    0.623873] 0x000000000000-0x000000020000 : "QSPI.SPL"
    [    0.624534] 0x000000020000-0x000000028000 : "QSPI.SPL.backup1"
    [    0.624540] mtd: partition "QSPI.SPL.backup1" doesn't end on an erase/write block -- force read-only
    [    0.625171] 0x000000028000-0x000000030000 : "QSPI.sw-info"
    [    0.625177] mtd: partition "QSPI.sw-info" doesn't start on an erase/write block boundary -- force read-only
    [    0.625799] 0x000000030000-0x000000040000 : "QSPI.hw-info"
    [    0.626410] 0x000000040000-0x000000140000 : "QSPI.u-boot"
    [    0.627016] 0x000000140000-0x0000001c0000 : "QSPI.u-boot-spl-os"
    [    0.627634] 0x0000001c0000-0x0000001d0000 : "QSPI.u-boot-env"
    [    0.628234] 0x0000001d0000-0x0000001e0000 : "QSPI.u-boot-env.backup1"
    [    0.628887] 0x0000001e0000-0x0000009e0000 : "QSPI.kernel"
    [    0.629498] 0x0000009e0000-0x000002000000 : "QSPI.file-system"
    [    0.629505] mtd: partition "QSPI.file-system" extends beyond the end of device "spi0.0" -- size truncated to 0x620000
    [    0.630643] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    0.630651] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    0.630659] mdio_bus fixed-0: lookup for GPIO reset failed
    [    0.630684] libphy: Fixed MDIO Bus: probed
    [    0.633108] mdio_bus 48485000.mdio: GPIO lookup for consumer reset
    [    0.633116] mdio_bus 48485000.mdio: using device tree for GPIO lookup
    [    0.633127] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    0.633137] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    0.633144] mdio_bus 48485000.mdio: using lookup tables for GPIO lookup
    [    0.633152] mdio_bus 48485000.mdio: lookup for GPIO reset failed
    [    0.688504] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    0.688514] libphy: 48485000.mdio: probed
    [    0.692715] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver TI DP83867
    [    0.692724] davinci_mdio 48485000.mdio: phy[3]: device 48485000.mdio:03, driver TI DP83867
    [    0.693209] cpsw 48484000.ethernet: Missing dual_emac_res_vlan in DT.
    [    0.699744] cpsw 48484000.ethernet: Using 1 as Reserved VLAN for 0 slave
    [    0.706530] cpsw 48484000.ethernet: Detected MACID = d8:a9:8b:d1:80:f4
    [    0.706591] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    0.706599] cpsw 48484000.ethernet: ALE Table size 1024
    [    0.706649] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    0.707362] cpsw 48484000.ethernet: cpsw: Detected MACID = d8:a9:8b:d1:80:f5
    [    0.708500] i2c /dev entries driver
    [    0.709023] IR NEC protocol handler initialized
    [    0.709029] IR RC5(x/sz) protocol handler initialized
    [    0.709034] IR RC6 protocol handler initialized
    [    0.709039] IR JVC protocol handler initialized
    [    0.709044] IR Sony protocol handler initialized
    [    0.709049] IR SANYO protocol handler initialized
    [    0.709054] IR Sharp protocol handler initialized
    [    0.709059] IR MCE Keyboard/mouse protocol handler initialized
    [    0.709063] IR XMP protocol handler initialized
    [    0.712245] Modular ISDN core version 1.1.29
    [    0.712384] NET: Registered protocol family 34
    [    0.713305] sdhci: Secure Digital Host Controller Interface driver
    [    0.713311] sdhci: Copyright(c) Pierre Ossman
    [    0.713822] sdhci-pltfm: SDHCI platform and OF driver helper
    [    0.714715] sdhci-omap 4809c000.mmc: GPIO lookup for consumer cd
    [    0.714723] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    0.714755] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@4809c000[0]' - status (0)
    [    0.714770] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    0.714779] sdhci-omap 4809c000.mmc: GPIO lookup for consumer wp
    [    0.714786] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    0.714795] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
    [    0.714803] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
    [    0.714810] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
    [    0.714818] sdhci-omap 4809c000.mmc: lookup for GPIO wp failed
    [    0.715002] sdhci-omap 4809c000.mmc: failed to set system capabilities
    [    0.721964] sdhci-omap 480b4000.mmc: GPIO lookup for consumer wp
    [    0.721971] sdhci-omap 480b4000.mmc: using device tree for GPIO lookup
    [    0.721981] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    0.721990] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    0.721997] sdhci-omap 480b4000.mmc: using lookup tables for GPIO lookup
    [    0.722005] sdhci-omap 480b4000.mmc: lookup for GPIO wp failed
    [    0.722129] sdhci-omap 480b4000.mmc: failed to set system capabilities
    [    0.728956] sdhci-omap 480ad000.mmc: GPIO lookup for consumer cd
    [    0.728963] sdhci-omap 480ad000.mmc: using device tree for GPIO lookup
    [    0.728973] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    0.728982] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    0.728988] sdhci-omap 480ad000.mmc: using lookup tables for GPIO lookup
    [    0.728996] sdhci-omap 480ad000.mmc: lookup for GPIO cd failed
    [    0.729005] sdhci-omap 480ad000.mmc: GPIO lookup for consumer wp
    [    0.729012] sdhci-omap 480ad000.mmc: using device tree for GPIO lookup
    [    0.729020] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    0.729028] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    0.729034] sdhci-omap 480ad000.mmc: using lookup tables for GPIO lookup
    [    0.729041] sdhci-omap 480ad000.mmc: lookup for GPIO wp failed
    [    0.729194] sdhci-omap 480ad000.mmc: failed to set system capabilities
    [    0.736349] ledtrig-cpu: registered to indicate activity on CPUs
    [    0.740351] NET: Registered protocol family 10
    [    0.741184] Segment Routing with IPv6
    [    0.741238] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    0.741683] NET: Registered protocol family 17
    [    0.741867] Key type dns_resolver registered
    [    0.741992] omap_voltage_late_init: Voltage driver support not added
    [    0.748375] Power Management for TI OMAP4+ devices.
    [    0.748649] Registering SWP/SWPB emulation handler
    [    0.760837] dmm 4e000000.dmm: workaround for errata i878 in use
    [    0.762565] dmm 4e000000.dmm: initialized all PAT entries
    [    0.763811] i2c i2c-0: of_i2c: invalid reg on /ocp/i2c@48070000/gpios
    [    0.770339] i2c i2c-0: Failed to create I2C device for /ocp/i2c@48070000/gpios
    [    0.770569] palmas 0-0058: Irq flag is 0x00000004
    [    0.800408] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.802149] SMPS12: supplied by regulator-dummy
    [    0.803988] SMPS3: supplied by regulator-dummy
    [    0.805687] SMPS45: supplied by regulator-dummy
    [    0.807647] SMPS6: supplied by regulator-dummy
    [    0.809518] SMPS7: supplied by regulator-dummy
    [    0.811531] SMPS8: supplied by regulator-dummy
    [    0.812888] SMPS9: supplied by regulator-dummy
    [    0.813562] random: fast init done
    [    0.813926] LDO1: supplied by regulator-dummy
    [    0.815905] LDO2: supplied by regulator-dummy
    [    0.817709] LDO3: supplied by regulator-dummy
    [    0.819526] LDO4: supplied by regulator-dummy
    [    0.821320] LDO5: supplied by regulator-dummy
    [    0.822037] LDO6: supplied by regulator-dummy
    [    0.822764] LDO7: supplied by regulator-dummy
    [    0.823499] LDO8: supplied by regulator-dummy
    [    0.824249] LDO9: supplied by regulator-dummy
    [    0.826566] LDOLN: supplied by regulator-dummy
    [    0.828395] LDOUSB: supplied by regulator-dummy
    [    0.831659] palmas 0-0058: THERMAL DEBUG: Probe finished
    [    0.831841] palmas 0-0058: THERMAL DEBUG: Probe finished: INT1 0x0 INT1_MASK:0x1
    [    0.832020] palmas 0-0058: THERMAL DEBUG: Probe finished: INT1_MASK (r) 0xff INT1_MASK:0x1
    [    0.832197] palmas 0-0058: THERMAL DEBUG: Probe finished: OSC_THERM_CTRL 0xc
    [    0.832432] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.833340] atmel_mxt_ts 2-004b: GPIO lookup for consumer reset
    [    0.833349] atmel_mxt_ts 2-004b: using device tree for GPIO lookup
    [    0.833360] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@48060000/touch@4b[0]'
    [    0.833370] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@48060000/touch@4b[0]'
    [    0.833376] atmel_mxt_ts 2-004b: using lookup tables for GPIO lookup
    [    0.833385] atmel_mxt_ts 2-004b: lookup for GPIO reset failed
    [    0.866213] atmel_mxt_ts 2-004b: Family: 164 Variant: 3 Firmware V2.3.AC Objects: 40
    [    0.888631] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.889016] atmel_mxt_ts 2-004b: Direct firmware load for maxtouch.cfg failed with error -2
    [    0.889512] atmel_mxt_ts 2-004b: Resetting device
    [    0.889851] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.890581] DSS: OMAP DSS rev 6.1
    [    0.891320] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    0.892064] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops)
    [    0.892595] tpd12s015 encoder: GPIO lookup for consumer (null)
    [    0.892603] tpd12s015 encoder: using device tree for GPIO lookup
    [    0.892633] of_get_named_gpiod_flags: parsed 'gpios' property of node '/encoder[0]' - status (0)
    [    0.892649] tpd12s015 encoder: GPIO lookup for consumer (null)
    [    0.892655] tpd12s015 encoder: using device tree for GPIO lookup
    [    0.892698] of_get_named_gpiod_flags: parsed 'gpios' property of node '/encoder[1]' - status (0)
    [    0.892710] tpd12s015 encoder: GPIO lookup for consumer (null)
    [    0.892717] tpd12s015 encoder: using device tree for GPIO lookup
    [    0.892773] of_get_named_gpiod_flags: parsed 'gpios' property of node '/encoder[2]' - status (0)
    [    0.893160] of_get_named_gpiod_flags: can't parse 'hpd-gpios' property of node '/connector@1[0]'
    [    0.893396] panel-dpi connector@0: GPIO lookup for consumer enable
    [    0.893403] panel-dpi connector@0: using device tree for GPIO lookup
    [    0.893412] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/connector@0[0]'
    [    0.893421] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/connector@0[0]'
    [    0.893428] panel-dpi connector@0: using lookup tables for GPIO lookup
    [    0.893435] panel-dpi connector@0: lookup for GPIO enable failed
    [    0.893443] panel-dpi connector@0: GPIO lookup for consumer reset
    [    0.893450] panel-dpi connector@0: using device tree for GPIO lookup
    [    0.893458] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/connector@0[0]'
    [    0.893466] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/connector@0[0]'
    [    0.893472] panel-dpi connector@0: using lookup tables for GPIO lookup
    [    0.893479] panel-dpi connector@0: lookup for GPIO reset failed
    [    0.893512] panel-dpi connector@0: connector@0 supply vcc not found, using dummy regulator
    [    0.895642] sdhci-omap 4809c000.mmc: GPIO lookup for consumer cd
    [    0.895651] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    0.895681] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@4809c000[0]' - status (0)
    [    0.895694] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    0.895703] sdhci-omap 4809c000.mmc: GPIO lookup for consumer wp
    [    0.895709] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    0.895719] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
    [    0.895728] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
    [    0.895735] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
    [    0.895742] sdhci-omap 4809c000.mmc: lookup for GPIO wp failed
    [    0.896537] V3_3D: supplied by smps9
    [    0.897734] sdhci-omap 4809c000.mmc: no pinctrl state for sdr104 mode
    [    0.904233] sdhci-omap 4809c000.mmc: no pinctrl state for ddr50 mode
    [    0.910629] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_1_8v mode
    [    0.917270] sdhci-omap 4809c000.mmc: no pinctrl state for hs200_1_8v mode
    [    0.978669] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    0.979143] sdhci-omap 480b4000.mmc: GPIO lookup for consumer wp
    [    0.979151] sdhci-omap 480b4000.mmc: using device tree for GPIO lookup
    [    0.979162] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    0.979170] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    0.979177] sdhci-omap 480b4000.mmc: using lookup tables for GPIO lookup
    [    0.979185] sdhci-omap 480b4000.mmc: lookup for GPIO wp failed
    [    0.983992] sdhci-omap 480b4000.mmc: no pinctrl state for ddr_1_8v mode
    [    0.990776] sdhci-omap 480b4000.mmc: no pinctrl state for hs200_1_8v mode
    [    1.030462] atmel_mxt_ts 2-004b: Touchscreen size X4095Y4095
    [    1.030583] input: Atmel maXTouch Touchscreen as /devices/platform/44000000.ocp/48060000.i2c/i2c-2/2-004b/input/input0
    [    1.048500] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    1.048888] sdhci-omap 480ad000.mmc: GPIO lookup for consumer cd
    [    1.048894] sdhci-omap 480ad000.mmc: using device tree for GPIO lookup
    [    1.048903] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    1.048910] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    1.048916] sdhci-omap 480ad000.mmc: using lookup tables for GPIO lookup
    [    1.048923] sdhci-omap 480ad000.mmc: lookup for GPIO cd failed
    [    1.048930] sdhci-omap 480ad000.mmc: GPIO lookup for consumer wp
    [    1.048936] sdhci-omap 480ad000.mmc: using device tree for GPIO lookup
    [    1.048943] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480ad000[0]'
    [    1.048950] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480ad000[0]'
    [    1.048956] sdhci-omap 480ad000.mmc: using lookup tables for GPIO lookup
    [    1.048962] sdhci-omap 480ad000.mmc: lookup for GPIO wp failed
    [    1.101655] mmc0: new high speed SDHC card at address aaaa
    [    1.101968] mmcblk0: mmc0:aaaa SP32G 29.7 GiB 
    [    1.103031]  mmcblk0: p1 p2 p3
    [    1.108183] mmc1: new high speed MMC card at address 0001
    [    1.108517] mmc2: SDHCI controller on 480ad000.mmc [480ad000.mmc] using PIO
    [    1.108856] mmcblk1: mmc1:0001 DG4032 29.1 GiB 
    [    1.109036] mmcblk1boot0: mmc1:0001 DG4032 partition 1 4.00 MiB
    [    1.109189] mmcblk1boot1: mmc1:0001 DG4032 partition 2 4.00 MiB
    [    1.109447] mmcblk1rpmb: mmc1:0001 DG4032 partition 3 4.00 MiB
    [    1.110906]  mmcblk1: p1 p2 p3 p4
    [    1.139629] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    1.139636] [drm] No driver support for vblank timestamp query.
    [    1.150745] [drm] Enabling DMM ywrap scrolling
    [    1.221814] mmc2: new high speed SDHC card at address aaaa
    [    1.228514] mmcblk2: mmc2:aaaa SP32G 29.7 GiB 
    [    1.229622]  mmcblk2: p1 p2 p3
    [    1.234834] Console: switching to colour frame buffer device 240x67
    [    1.252092] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    1.254017] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    1.254382] hctosys: unable to open rtc device (rtc0)
    [    1.254999] ALSA device list:
    [    1.255004]   No soundcards found.
    [    1.267054] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    1.267081] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    1.267659] devtmpfs: mounted
    [    1.268630] Freeing unused kernel memory: 2048K
    [    1.574164] systemd[1]: System time before build time, advancing clock.
    [    1.600217] systemd[1]: systemd 234 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN2 -IDN default-hierarchy=hybrid)
    [    1.600865] systemd[1]: Detected architecture arm.
    [    1.631221] systemd[1]: Set hostname to <apex>.
    [    1.927317] random: systemd: uninitialized urandom read (16 bytes read)
    [    1.927363] systemd[1]: Reached target Remote File Systems.
    [    1.948646] random: systemd: uninitialized urandom read (16 bytes read)
    [    1.948680] systemd[1]: Reached target Swap.
    [    2.022992] random: systemd: uninitialized urandom read (16 bytes read)
    [    2.024687] systemd[1]: Created slice User and Session Slice.
    [    2.048843] systemd[1]: Listening on Journal Socket.
    [    2.078779] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [    2.108682] systemd[1]: Listening on Journal Socket (/dev/log).
    [    2.138674] systemd[1]: Listening on Syslog Socket.
    [    2.432699] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    3.285380] systemd-journald[88]: Received request to flush runtime journal from PID 1
    [    4.641841] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
    [    4.641925] remoteproc remoteproc0: 58820000.ipu is available
    [    4.642358] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
    [    4.642431] remoteproc remoteproc1: 55020000.ipu is available
    [    4.642924] omap-rproc 40800000.dsp: assigned reserved memory node dsp1_cma@99000000
    [    4.642995] remoteproc remoteproc2: 40800000.dsp is available
    [    4.643741] omap-rproc 41000000.dsp: assigned reserved memory node dsp2_cma@9b000000
    [    4.643816] remoteproc remoteproc3: 41000000.dsp is available
    [    5.444955] remoteproc remoteproc2: powering up 40800000.dsp
    [    5.444971] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 4796824
    [    5.451627] omap_hwmod: mmu0_dsp1: _wait_target_disable failed
    [    5.451669] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [    5.451759] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [    5.461327] remoteproc remoteproc3: powering up 41000000.dsp
    [    5.461340] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 4203852
    [    5.467958] omap_hwmod: mmu0_dsp2: _wait_target_disable failed
    [    5.467992] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [    5.468055] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [    5.494962] remoteproc remoteproc1: powering up 55020000.ipu
    [    5.494979] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3780732
    [    5.495062] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [    5.497469] remoteproc remoteproc0: powering up 58820000.ipu
    [    5.497483] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4225104
    [    5.497567] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1
    [    5.515974] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [    5.519268] vip 48970000.vip: loading firmware vpdma-1b8.bin
    [    5.526488] adv7611: Detecting adv76xx client on address 0x98
    [    5.526498] adv7604 0-004c: Initializing with DT
    [    5.526528] /* channels is not specified then assume 1 channel */
    [    5.526535] : Using default-input as per DT
    [    5.526543] adv7604 0-004c: GPIO lookup for consumer hpd
    [    5.526549] adv7604 0-004c: using device tree for GPIO lookup
    [    5.526560] of_get_named_gpiod_flags: can't parse 'hpd-gpios' property of node '/ocp/i2c@48070000/hdmi_receiver@4c[0]'
    [    5.526568] of_get_named_gpiod_flags: can't parse 'hpd-gpio' property of node '/ocp/i2c@48070000/hdmi_receiver@4c[0]'
    [    5.526573] adv7604 0-004c: using lookup tables for GPIO lookup
    [    5.526580] adv7604 0-004c: lookup for GPIO hpd failed
    [    5.526586] adv7604 0-004c: GPIO lookup for consumer reset
    [    5.526591] adv7604 0-004c: using device tree for GPIO lookup
    [    5.526599] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@48070000/hdmi_receiver@4c[0]'
    [    5.526606] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@48070000/hdmi_receiver@4c[0]'
    [    5.526611] adv7604 0-004c: using lookup tables for GPIO lookup
    [    5.526617] adv7604 0-004c: lookup for GPIO reset failed
    [    5.527291] adv7611 0-004c: Cable detected
    [    5.537818] omap-des 480a5000.des: OMAP DES hw accel rev: 2.2
    [    5.550217] omap-des 480a5000.des: will run requests pump with realtime priority
    [    5.568763] adv7611 0-004c: Enabling input
    [    5.570690] adv7611 0-004c: Enabling digital input: 0x0
    [    5.572360] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    5.572401] remoteproc remoteproc2: registered virtio0 (type 7)
    [    5.572408] remoteproc remoteproc2: remote processor 40800000.dsp is now up
    [    5.575920] adv7611 0-004c: CP_CSC_EN: 0x0
    [    5.576632] adv7611 0-004c: CP_COEFF_SEL: 0x0
    [    5.580427] adv7611 0-004c: CP free run: off
    [    5.581857] adv7611 0-004c: Brightness: 0x0
    [    5.626019] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    5.650293] remoteproc remoteproc3: registered virtio1 (type 7)
    [    5.650308] remoteproc remoteproc3: remote processor 41000000.dsp is now up
    [    5.650886] adv7611 0-004c: adv7611 found @ 0x98 (OMAP I2C adapter)
    [    5.655629] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
    [    5.656035] virtio_rpmsg_bus virtio1: creating channel rpmsg-proto addr 0x3d
    [    5.664304] serio: Serial port ttyS4
    [    5.718546] vip 48970000.vip: VPDMA firmware loaded
    [    5.718756] /* channels is not specified then assume 1 channel */
    [    5.718770] vin1a: Port A: Using subdev adv7611 0-004c for capture
    [    5.719144] vpe 489d0000.vpe: Device registered as /dev/video1
    [    5.719191] vin1a-0: device registered as video0
    [    5.721734] adv7611 0-004c: adv76xx_isr_bottom
    [    5.721742] adv7611 0-004c: adv76xx_isr_bottom: fmt_change = 0x0, fmt_change_digital = 0x1
    [    5.849849] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    5.934343] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    5.934431] remoteproc remoteproc0: registered virtio2 (type 7)
    [    5.934439] remoteproc remoteproc0: remote processor 58820000.ipu is now up
    [    5.935110] adv7611 0-004c: adv76xx_isr_bottom
    [    5.935119] adv7611 0-004c: adv76xx_isr_bottom: fmt_change = 0x10, fmt_change_digital = 0x2
    [    5.940216] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [    5.969862] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    5.969950] remoteproc remoteproc1: registered virtio3 (type 7)
    [    5.969959] remoteproc remoteproc1: remote processor 55020000.ipu is now up
    [    5.972256] virtio_rpmsg_bus virtio3: creating channel rpmsg-proto addr 0x3d
    [    5.990573] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [    6.027616] brg0: port 1(eth1) entered blocking state
    [    6.027663] brg0: port 1(eth1) entered disabled state
    [    6.028568] device eth1 entered promiscuous mode
    [    6.043215] brg0: port 2(eth0) entered blocking state
    [    6.043251] brg0: port 2(eth0) entered disabled state
    [    6.049366] device eth0 entered promiscuous mode
    [    6.058467] net eth1: initializing cpsw version 1.15 (0)
    [    6.158755] TI DP83867 48485000.mdio:03: attached PHY driver [TI DP83867] (mii_bus:phy_addr=48485000.mdio:03, irq=POLL)
    [    6.172953] net eth0: initializing cpsw version 1.15 (0)
    [    6.185690] random: crng init done
    [    6.185704] random: 7 urandom warning(s) missed due to ratelimiting
    [    6.240915] TI DP83867 48485000.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
    [    6.294425] Bluetooth: Core ver 2.22
    [    6.294470] NET: Registered protocol family 31
    [    6.294474] Bluetooth: HCI device and connection manager initialized
    [    6.294492] Bluetooth: HCI socket layer initialized
    [    6.294502] Bluetooth: L2CAP socket layer initialized
    [    6.294527] Bluetooth: SCO socket layer initialized
    [    6.324646] omap-sham 4b101000.sham: hw accel on OMAP rev 4.3
    [    6.329501] CAN device driver interface
    [    6.437845] omap-aes 4b500000.aes: OMAP AES hw accel rev: 3.3
    [    6.461155] omap-aes 4b500000.aes: will run requests pump with realtime priority
    [    6.526506] omap-aes 4b700000.aes: OMAP AES hw accel rev: 3.3
    [    6.540060] omap-aes 4b700000.aes: will run requests pump with realtime priority
    [    6.558359] c_can_platform 4ae3c000.can: c_can_platform device registered (regs=fce3c000, irq=91)
    [    7.498338] IPv6: ADDRCONF(NETDEV_UP): brg0: link is not ready
    [    7.574039] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    7.690449] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    7.833332] FAT-fs (mmcblk0p3): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    7.903100] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
    [    7.915644] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    8.272234] EXT4-fs (mmcblk1p4): mounted filesystem with ordered data mode. Opts: (null)
    [    8.321335] FAT-fs (mmcblk2p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    8.323594] FAT-fs (mmcblk2p3): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [    8.371984] EXT4-fs (mmcblk2p2): mounted filesystem with ordered data mode. Opts: (null)
    [    9.195157] EXT4-fs (mmcblk1rpmb): unable to read superblock
    [    9.224963] EXT4-fs (mmcblk1rpmb): unable to read superblock
    [    9.278593] EXT4-fs (mmcblk1rpmb): unable to read superblock
    [    9.333641] FAT-fs (mmcblk1rpmb): unable to read boot sector
    [    9.360606] omap-hdmi-audio omap-hdmi-audio.0.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
    [    9.360625] omap-hdmi-audio omap-hdmi-audio.0.auto: ASoC: no DMI vendor name!
    [   10.422577] cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [   10.422632] brg0: port 2(eth0) entered blocking state
    [   10.422642] brg0: port 2(eth0) entered forwarding state
    [   10.422849] IPv6: ADDRCONF(NETDEV_CHANGE): brg0: link becomes ready
    [   11.363111] dwc3 48890000.usb: changing max_speed on rev 5533202a
    [   11.423764] NET: Registered protocol family 44
    [   11.468061] pruss 4b200000.pruss: creating PRU cores and other child platform devices
    [   11.472904] pruss 4b280000.pruss: creating PRU cores and other child platform devices
    [   11.535546] usbcore: registered new interface driver usbfs
    [   11.535601] usbcore: registered new interface driver hub
    [   11.535819] usbcore: registered new device driver usb
    [   11.542324] omap_l3_noc 44000000.ocp: L3 application error: target 5 mod:1 (unclearable)
    [   11.550517] omap_l3_noc 44000000.ocp: L3 debug error: target 5 mod:1 (unclearable)
    [   11.610683] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   11.610717] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
    [   11.613592] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   11.613651] xhci-hcd xhci-hcd.1.auto: irq 176, io mem 0x488d0000
    [   11.613854] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [   11.613861] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.613866] usb usb1: Product: xHCI Host Controller
    [   11.613871] usb usb1: Manufacturer: Linux 4.14.108-gfbbf5291c3 xhci-hcd
    [   11.613876] usb usb1: SerialNumber: xhci-hcd.1.auto
    [   11.621403] hub 1-0:1.0: USB hub found
    [   11.621676] hub 1-0:1.0: 1 port detected
    [   11.622018] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
    [   11.622033] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
    [   11.622045] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0  SuperSpeed
    [   11.622121] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.622212] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
    [   11.622218] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.622223] usb usb2: Product: xHCI Host Controller
    [   11.622228] usb usb2: Manufacturer: Linux 4.14.108-gfbbf5291c3 xhci-hcd
    [   11.622232] usb usb2: SerialNumber: xhci-hcd.1.auto
    [   11.622594] hub 2-0:1.0: USB hub found
    [   11.622619] hub 2-0:1.0: 1 port detected
    [   11.639391] remoteproc remoteproc4: 4b234000.pru is available
    [   11.639463] pru-rproc 4b234000.pru: PRU rproc node /ocp/pruss_soc_bus@4b226004/pruss@0/pru@34000 probed successfully
    [   11.639845] remoteproc remoteproc5: 4b238000.pru is available
    [   11.639884] pru-rproc 4b238000.pru: PRU rproc node /ocp/pruss_soc_bus@4b226004/pruss@0/pru@38000 probed successfully
    [   11.640585] remoteproc remoteproc6: 4b2b4000.pru is available
    [   11.640633] pru-rproc 4b2b4000.pru: PRU rproc node /ocp/pruss_soc_bus@4b2a6004/pruss@0/pru@34000 probed successfully
    [   11.641229] remoteproc remoteproc7: 4b2b8000.pru is available
    [   11.641276] pru-rproc 4b2b8000.pru: PRU rproc node /ocp/pruss_soc_bus@4b2a6004/pruss@0/pru@38000 probed successfully
    [   11.998532] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   12.189108] usb 1-1: New USB device found, idVendor=1618, idProduct=9116
    [   12.189119] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
    [   12.189124] usb 1-1: Product: Wireless USB Network Module
    [   12.189129] usb 1-1: Manufacturer: Redpine Signals, Inc.
    [   12.189134] usb 1-1: SerialNumber: 000000000001
    [   58.408727] mmc2: card aaaa removed
    [   71.031947] mmc2: new high speed SDHC card at address aaaa
    [   71.032441] mmcblk2: mmc2:aaaa SP32G 29.7 GiB 
    [   71.038895]  mmcblk2: p1 p2 p3
    [   71.635513] FAT-fs (mmcblk2p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    [   71.753663] EXT4-fs (mmcblk2p2): recovery complete
    [   71.753685] EXT4-fs (mmcblk2p2): mounted filesystem with ordered data mode. Opts: (null)
    [   71.811403] FAT-fs (mmcblk2p3): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    

  • Hi Mike, we are using TIMER16 (Ball # C23) as the CD for MMC3. Is this allowed? Ball # C23 does not list MMC3 CD as one of its mode. So I've set it to GPIO instead.

  • Adding a backtrace:

    [ 1921.861580] ------------[ cut here ]------------
    [ 1921.861611] WARNING: CPU: 0 PID: 31269 at /var/lib/jenkins/workspace/SG3_rootfs/build/build/tmp-glibc/work-shared/sg3/kernel-source/drivers/mmc/host/sdhci-omap.c:742 sdhci_omap_init_74_clocks+0xd4/0x118
    [ 1921.861618] Modules linked in: rfcomm can_raw can bnep onebox_gpl(O) onebox_nongpl(PO) onebox_bt_gpl(PO) onebox_bt_nongpl(PO) onebox_wlan_gpl(PO) onebox_wlan_nongpl(PO) wlan_scan_sta(O) wlan_xauth(O) wlan_acl(O) wlan_aes_cmac(PO) wlan_ccmp(O) wlan_tkip(O) wlan_wep(O) wlan(O) onebox_common_gpl(O) cfg80211 bc_example(O) unified_kbd(O) bluetooth ecdh_generic bridge stp llc pru_rproc xhci_plat_hcd xhci_hcd pruss_intc usbcore pruss rpmsg_proto dwc3 udc_core usb_common pvrsrvkm(O) omap_aes_driver pruss_soc_bus omap_sham c_can_platform c_can can_dev omap_wdt ti_vpe ti_sc ti_csc ti_vpdma dwc3_omap omap_des des_generic ti_ads1015 crypto_engine omap_crypto leds_lp8863(O) omap_remoteproc virtio_rpmsg_bus rpmsg_core remoteproc sch_fq_codel sonar_gpio(O) cryptodev(O) cmemk(O)
    [ 1921.861958] CPU: 0 PID: 31269 Comm: kworker/0:1 Tainted: P        W  O    4.14.54-g11ebac49a1 #1
    [ 1921.861963] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 1921.861974] Workqueue: events_freezable mmc_rescan
    [ 1921.861985] Backtrace:
    [ 1921.862002] [<c020b808>] (dump_backtrace) from [<c020baec>] (show_stack+0x18/0x1c)
    [ 1921.862011]  r7:00000009 r6:600f0013 r5:00000000 r4:c10569dc
    [ 1921.862023] [<c020bad4>] (show_stack) from [<c09603e4>] (dump_stack+0x90/0xa4)
    [ 1921.862038] [<c0960354>] (dump_stack) from [<c022b9ec>] (__warn+0xec/0x104)
    [ 1921.862045]  r7:00000009 r6:c0c2f834 r5:00000000 r4:00000000
    [ 1921.862055] [<c022b900>] (__warn) from [<c022babc>] (warn_slowpath_null+0x28/0x30)
    [ 1921.862063]  r9:000001bf r8:77403841 r7:00000000 r6:000f4240 r5:edc75b80 r4:00000000
    [ 1921.862074] [<c022ba94>] (warn_slowpath_null) from [<c07b84d4>] (sdhci_omap_init_74_clocks+0xd4/0x118)
    [ 1921.862086] [<c07b8400>] (sdhci_omap_init_74_clocks) from [<c07ae470>] (sdhci_set_ios+0xc8/0x3e8)
    [ 1921.862094]  r9:00000000 r8:c0a7f5d0 r7:edc75800 r6:edc75b80 r5:edc75a10 r4:edc75800
    [ 1921.862103] [<c07ae3a8>] (sdhci_set_ios) from [<c07b7564>] (sdhci_omap_set_ios+0xd8/0x10c)
    [ 1921.862110]  r9:00000000 r8:c0a7f5d0 r7:00000000 r6:00000000 r5:edc75a10 r4:edc75800
    [ 1921.862120] [<c07b748c>] (sdhci_omap_set_ios) from [<c0m
    [ 1921.862127]  r9:00000000 r8:c0a7f5d0 r7:00000000 r6:00000001 r5:edc75a10 r4:edc75800
    [ 1921.862135] [<c0799d98>] (mmc_power_up.part.8) from [<c079acfc>] (mmc_rescan+0x290/0x3f4)
    [ 1921.862142]  r7:c0a7f5cc r6:edc75800 r5:00030d40 r4:edc75a6c
    [ 1921.862153] [<c079aa6c>] (mmc_rescan) from [<c0242a40>] (process_one_work+0x1dc/0x418)
    [ 1921.862160]  r9:00000000 r8:00000000 r7:eed85f00 r6:eed82b40 r5:e611dc80 r4:edc75a6c
    [ 1921.862171] [<c0242864>] (process_one_work) from [<c02437f8>] (worker_thread+0x60/0x5bc)
    [ 1921.862179]  r10:c1002d00 r9:00000008 r8:ffffe000 r7:eed82b58 r6:e611dc98 r5:eed82b40
    [ 1921.862183]  r4:e611dc80
    [ 1921.862194] [<c0243798>] (worker_thread) from [<c0248b18>] (kthread+0x164/0x16c)
    [ 1921.862201]  r10:e64c3e90 r9:c0243798 r8:e611dc80 r7:e60e2000 r6:00000000 r5:e6108080
    [ 1921.862206]  r4:e6108ec0
    [ 1921.862219] [<c02489b4>] (kthread) from [<c0207fb8>] (ret_from_fork+0x14/0x3c)
    [ 1921.862226]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c02489b4
    [ 1921.862231]  r4:e6108080
    

  • Hi Adam,

    Apologies for the late response!

    Yes, you can use a GPIO as a CD pin.  Alternatively, you can also completely disable CD, and u-boot + Linux will use a polling method.  This is usually called "broken card detect", or "broken-cd".

    Regards,
    Mike

  • Hi Mike, just a status update. I've tried adding 'broken-cd' but it is still happening:

    &mmc3 {
    status = "okay";
    pinctrl-names = "default", "hs";
    pinctrl-0 = <&mmc3_pins_default>;
    pinctrl-1 = <&mmc3_pins_hs>;
    vmmc-supply = <&v3_3d>;
    vqmmc-supply = <&v3_3d>;

    disable-wp;
    broken-cd;
    };

    I will update with more details, but this issue comes and goes. So it's tricky to reproduce.

    If you have any other ideas, let me know!

  • Hi Adam,

    Talking to some folks internally, this line from your earlier boot log is a problem:
    [ 0.729194] sdhci-omap 480ad000.mmc: failed to set system capabilities
    This can only come from a missing vqmmc-supply property; however it looks like you are setting that property now.
    The mmc3 node should be modeled after mmc1 here:
    It should look something like this based on the information shared below:
    &mmc3 {
        status = "okay";
        vmmc-supply = <&v3_3d>;
        vqmmc-supply = <&v3_3d>;
        bus-width = <4>;
        cd-gpios = <&gpio6 20 GPIO_ACTIVE_LOW>; /* gpio 180 */
        pinctrl-names = "default", "hs";
        pinctrl-0 = <&mmc3_pins_default>;
        pinctrl-1 = <&mmc3_pins_hs>;
        max-frequency = <64000000>;
    };

    It would be worth double-checking the pinmux for card-detect is set properly.

    Can you try with the above dt entry, and post your kernel log?

    Regards,
    Mike

    This line from their e2e post is a problem:
    [ 0.729194] sdhci-omap 480ad000.mmc: failed to set system capabilities
     
    This can only come from a missing vqmmc-supply property; however they are showing that property set below.
     
    Their mmc3 node should be modeled after mmc1 here:
     
    It should look something like this based on the information shared below:
     
    &mmc3 {
           status = "okay";
           vmmc-supply = <&v3_3d>;
           vqmmc-supply = <&v3_3d>;
           bus-width = <4>;
           cd-gpios = <&gpio6 20 GPIO_ACTIVE_LOW>; /* gpio 180 */
           pinctrl-names = "default", "hs";
           pinctrl-0 = <&mmc3_pins_default>;
           pinctrl-1 = <&mmc3_pins_hs>;
    max-frequency = <64000000>;
    };
     
    Probably would be worth double-checking the GPIO used for card-detect is set properly.

  • Hi Mike, my apologies for the delay. I was tied up on another issue (gigabit Eth). I'm back on track now.

    It looks like the error message (sdhci-omap 480ad000.mmc: failed to set system capabilities) disappears with this change:

    v3_3d: fixedregulator-v3_3d {
        compatible = "regulator-fixed";
        - vin-supply = <&smps9_reg>;
        + //vin-supply = <&smps9_reg>;
        regulator-min-microvolt = <3300000>;
        regulator-max-microvolt = <3300000>;
        regulator-always-on;

    These changes in the DTS does not eliminate the message, but I think it makes sense to keep them:

    &mmc2 {
        @@ -37,8 +39,11 @@
        vmmc-supply = <&v3_3d>;
        vqmmc-supply = <&v3_3d>;

        + no-1-8-v; // Both vmmc and vqmmc are 3v3
        disable-wp;
        broken-cd;
        + bus-width = <4>;
        + max-frequency = <64000000>;
    };

    My boot log shows this (note that 3rd MMC isn't showing up):

    Starting kernel ...

    Using FDT to boot...
    Use machine ID to boot...
    [ 0.001747] /cpus/cpu@0 missing clock-frequency property
    [ 0.001766] /cpus/cpu@1 missing clock-frequency property
    [ 0.300170] omap_hwmod: rtcss: no dt node
    [ 0.466072] dmi: Firmware registration failed.
    [ 0.565851] panel-dpi connector@0: failed to find video source
    [ 0.668453] sdhci-omap 4809c000.mmc: failed to set system capabilities
    [ 0.675506] sdhci-omap 480b4000.mmc: failed to set system capabilities
    [ 0.748991] omap_voltage_late_init: Voltage driver support not added
    [ 0.771334] i2c i2c-0: of_i2c: invalid reg on /ocp/i2c@48070000/gpios
    [ 0.867929] atmel_mxt_ts 2-004b: __mxt_read_reg: i2c transfer failed (-121)
    [ 0.875153] atmel_mxt_ts 2-004b: mxt_bootloader_read: i2c recv failed (-121)
    [ 0.883487] atmel_mxt_ts 2-004b: mxt_bootloader_read: i2c recv failed (-121)
    [ 0.901966] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_1_8v mode
    [ 0.908626] sdhci-omap 4809c000.mmc: no pinctrl state for hs200_1_8v mode
    [ 0.986115] sdhci-omap 480b4000.mmc: no pinctrl state for ddr_1_8v mode
    [ 0.993146] sdhci-omap 480b4000.mmc: no pinctrl state for hs200_1_8v mode
    [ 1.007024] mmc1: error -110 whilst initialising SD card
    [ 1.058023] omapdrm omapdrm.0: Ignoring invalid displays module parameter

    I will further test to see if the 3rd MMC performs better. Stay tuned..

  • Ok with the above change, the output from /sys/kernel/debug/mmc2/ios is no longer *twitching* and has not shown the console dump for 12+ hours. This looks very promising!

    That said, the 1st and the 2nd MMC interfaces are also showing the "failed to set system capabilities". Since the error can only occur from the vqmmc malfunction, here is the DTS snippet for both mmc1/2 and their vqmmc nodes:

    &mmc1 {
            status = "okay";
            vmmc-supply = <&v3_3d>;
            vqmmc-supply = <&ldo1_reg>;
            bus-width = <4>;
    
            disable-wp;
            cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
    
            pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
            pinctrl-0 = <&mmc1_pins_default>;
            pinctrl-1 = <&mmc1_pins_hs>;
            pinctrl-2 = <&mmc1_pins_sdr12>;
            pinctrl-3 = <&mmc1_pins_sdr25>;
            pinctrl-4 = <&mmc1_pins_sdr50>;
            pinctrl-5 = <&mmc1_pins_ddr50>;
            pinctrl-6 = <&mmc1_pins_sdr104>;
    };
    
    &mmc2 {
            status = "okay";
            pinctrl-names = "default",  "hs";
            pinctrl-0 = <&mmc2_pins_default>;
            pinctrl-1 = <&mmc2_pins_hs>;
            vmmc-supply = <&v3_3d>;
            vqmmc-supply = <&ldo2_reg>;
            bus-width = <8>;
            non-removable;
            max-frequency = <62000000>;
    };
    
    ldo1_reg: ldo1 {
            /* VDDSHV8 - VSDMMC  */
            /* NOTE: on rev 1.3a, data supply */
            regulator-name = "ldo1";
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <3300000>;
            regulator-always-on;
            regulator-boot-on;
    };
    
    ldo2_reg: ldo2 {
             /* VDDSH18V */
            regulator-name = "ldo2";
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
            regulator-always-on;
            regulator-boot-on;
    };
    

    Anything wrong here? Ty!

  • I stumbled upon the Wiki. Since we are basing off on the AM572X-IDK, I guess HS modes are not supposed to work. What's the difference between DRA7 platforms and AM57 platforms here?

  • Just an update - the UHS modes have been taken out due to limitation in the hardware design on AM57 series board [1].

    So my goal is to only get the default and HS modes working on MMC1 with 3v3.

    [1] https://github.com/torvalds/linux/commit/fb59ee37cfe20d10d19568899d1458a58361246c#diff-29dac349dd9c09e793b5c31b4af7f769