I am also having a similiar issue with 5.1 emmc part. It appears to be similiar to another post .https://community.nxp.com/message/1002187
It works sometimes and it appears to work better after warming up. I have intermittent core dumps. I am using linux-fslc-imx 4.1.4 kernel with yocto and rocko branch.
Here is the emmc part from kernel boot print out.
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 Q2J54A 3.59 GiB
mmcblk1boot0: mmc1:0001 Q2J54A partition 1 16.0 MiB
I tried changing 0x17059 to 0x17058 on all 8 pins(slew rate). Below. This DID NOT help. Could you please suggest another value to change 0x17059 to. In ths other post you did not say how you think this should be changed. Not sure if you are recommending to change output drive or input characteristics for data return?
Here is my last device tree settings:
&usdhc4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4_1>;
vmmc-supply = <®_3p3v>;
bus-width = <8>;
non-removable;
no-1-8-v;
keep-power-in-suspend;
status = "okay";
};
pinctrl_usdhc4_1: usdhc4grp-1 {
fsl,pins = <
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17058
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10058
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17058
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17058
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17058
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17058
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17058
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17058
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17058
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17058
>
Note: I also made this change even though it does not appear that this function even gets called. I put a printk in the beginning of this function and it does not print out.
/drivers/mmc/core/mmc.c :
if (card->ext_csd.rev > 6) { // The '6' has to be replaced with '7' For EMMC5.0
// The '6' has to be replaced with '8' For EMMC5.1
Suggestions...please?
Rob
Hi Robert
>In ths other post you did not say how you think this should be changed.
this should be changed based on eMMC signal waveforms and using oscilloscope to
obtaing good signals shape conforming eMMC specs, without noise and
reflections. Note, if eMMC layout is not good, it may be impossible to compensate
that by any software changes. For eMMC layout guidelines one can look at sect.3.6.8
High speed signal routing recommendations i.MX6 System Development User’s Guide
https://www.nxp.com/docs/en/user-guide/IMX6DQ6SDLHDG.pdf
>Not sure if you are recommending to change output drive or input characteristics for data return?
yes, drive strength from eMMC also can be tweaked, one can look at description of
Extended CSD sect.7.4.44 HS_TIMING [185] eMMC specification eMMCv4.5 JESD84
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Igor.