Hi,
Release: Yocto-Morty (4.9.51_GA)
Board: i.MX8MQ EVK
I am using iMX8MQ EVK and while booting it from eMMC it's eMMC operated in HS400 mode.
I want to operate eMMC in HS200 mode. So, for that which configurations I have to change?
Best,
Nirmal
Solved! Go to Solution.
Hi Nirmal
first question was:
>to switch it on HS400 mode which pin controls or configurations I have to change?
now question is:
>Actually, I want to fetch data on one edge (need to operate it in HS200) mode. So, what changes required for it?
so what it exactly your problem.
eMMC works according to emmc specs, in HS400 mode it samples in both edges, there is
no way to make it work violating specifications (sample in one edge).
Best regards
igor
I was also having the same issue, I was able to operate in HS400 mode, but not HS200 mode
The steps followed for HS200 mode are:
Hi Nirmal
one can try to select appropriate dts pinctrl, like pinctrl_usdhc1_200mhz: usdhc1grp200mhz :
fsl-imx8mq-evk.dts\freescale\dts\boot\arm64\arch - linux-imx - i.MX Linux kernel
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks a lot for your quick response.
Previously I was made mistake. Actually, my EVK board works on 200Mhz clock which is confirmed.
root@imx8mqevk:~# cat /sys/kernel/debug/mmc0/clock
200000000
root@imx8mqevk:~# cat /sys/kernel/debug/mmc0/ios
clock: 200000000 Hz
actual clock: 200000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 3 (8 bits)
timing spec: 10 (mmc HS400)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)
Now, I want to operate iton HS400 mode but in dts file it supports pin control for 100Mhz & 200Mhz.
So, to switch it on HS400 mode which pin controls or configurations I have to change?
Best,
Nirmal
Hi Nirmal
in HS400 mode frequency also 200MHz (only data is sampled on both edges of the clock)
according to Table 42. HS400 interface timing specification i.MX8MDQ Datasheet
https://www.nxp.com/docs/en/data-sheet/IMX8MDQLQCEC.pdf
Best regards
igor
Hi Igor,
Thanks for your quick support.
I understood the point how eMMC sampled data in HS400 mode. But as in my last post, I have mentioned that when I check mmc0(eMMC) information as below:
root@imx8mqevk:~# cat /sys/kernel/debug/mmc0/ios
clock: 200000000 Hz
actual clock: 200000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 3 (8 bits)
timing spec: 10 (mmc HS400)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)
Now, from that information my eMMC working on the 200Mhz frequency which is right as per datasheet timing specification. There was also mmc HS400 mentioned in timing specification so it fetches data on both edges.
Actually, I want to fetch data on one edge (need to operate it in HS200) mode. So, what changes required for it?
Best regards,
Nirmal
Hi Nirmal
first question was:
>to switch it on HS400 mode which pin controls or configurations I have to change?
now question is:
>Actually, I want to fetch data on one edge (need to operate it in HS200) mode. So, what changes required for it?
so what it exactly your problem.
eMMC works according to emmc specs, in HS400 mode it samples in both edges, there is
no way to make it work violating specifications (sample in one edge).
Best regards
igor