This is on a custom AM5728 board running PDK 4.03 (Kernel 4.14).
I have an eMMC attached on the 2nd MMC interface. And I am keep seeing these messages flooding my console:
[13261.928243] mmc2: Timeout waiting for hardware cmd interrupt. [13261.934031] mmc2: sdhci: ============ SDHCI REGISTER DUMP =========== [13261.940497] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00003302 [13261.946963] mmc2: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000 [13261.953428] mmc2: sdhci: Argument: 0x80000c08 | Trn mode: 0x00000000 [13261.959892] mmc2: sdhci: Present: 0x01f00001 | Host ctl: 0x00000000 [13261.966357] mmc2: sdhci: Power: 0x0000000f | Blk gap: 0x00000000 [13261.972821] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x00007807 [13261.979290] mmc2: sdhci: Timeout: 0x00000000 | Int stat: 0x00018000 [13261.985758] mmc2: sdhci: Int enab: 0x007f0003 | Sig enab: 0x007f0003 [13261.992221] mmc2: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000001 [13261.998686] mmc2: sdhci: Caps: 0x21e10080 | Caps_1: 0x00000f77 [13262.005149] mmc2: sdhci: Cmd: 0x0000341a | Max curr: 0x00000000 [13262.011612] mmc2: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000 [13262.018075] mmc2: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000 [13262.024539] mmc2: sdhci: Host ctl2: 0x00000000 [13262.028996] mmc2: sdhci: ============================================
Here is my DTS node:
&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 = <192000000>; };
I believe this may be related to the Errata i834 - i834: MMCHS HS200 and SDR104 Command Timeout Window Too Small. However, I think my kernel has the necessary patch:
commit e229c2f645d5c1124d4b684fbd2e5f4e9ca714b0 Author: Kishon Vijay Abraham I <kishon@ti.com> Date: Thu Feb 15 11:49:16 2018 +0530 mmc: sdhci-omap: Workaround for Errata i834 Errata i834 in AM572x Sitara Processors Silicon Revision 2.0, 1.1 (SPRZ429K July 2014–Revised March 2017 [1]) mentions the maximum obtainable timeout through MMC host controller is 700ms. And for commands taking longer than 700ms, hardware timeout should be disabled and software timeout should be used. The workaround for Errata i834 can be achieved by adding SDHCI_QUIRK2_DISABLE_HW_TIMEOUT quirk in sdhci-omap. [1] -> www.ti.com/.../sprz429k.pdf Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Any thoughts?