Part Number: AM5728
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?