Hi
In SDHC driver of Linux( drivers/mmc/host/sdhci-esdhc-imx.c) has following operation.
/* * The imx6q ROM code will change the default watermark level setting * to something insane. Change it back here. */ if (is_imx6q_usdhc(imx_data)) writel(0x08100810, host->ioaddr + SDHCI_WTMK_LVL);
Does ROM code realy modify this register?
If so, is it OK to overwrite it to reset value?
I am worried. if ROM code change this register value,
It has some reason to set new value.
Best regards,
Ishii
Hi Ishii
I do not think that it is changed, however one can attach jtag
and check that.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Dear Igor
Thank you for your response.
I check it from u-boot command line.
Result is a following.
uSDHC1_WTMK_LVL = 0x08100810
uSDHC2_WTMK_LVL = 0x08100810
uSDHC3_WTMK_LVL = 0x08000880
uSDHC4_WTMK_LVL = 0x08100810
So ROM boot loader or u-boot change the SDHC3_WTMK_LVL register.
Moreover it was setted the WR_WML to 0.
Under this setting, SDHC3 can read/write correctly?
Best regards,
Ishii.
Hi Ishii
SD3 works fine in sabre boards, please use bsps from
Best regards
igor
Hello Igor
Thank you for your support.
I check some source code.
It has a register set operation.
But some source is used a different value to set ESDHC_WTMK_LVL register.
For example Android M6.0.1 source code kernel_imx/drivers/mmc/sdhci-esdhc-imx.c
It set a value 0x10401040 to ESDHC_WTMK_LVL register.
linux-2.6-imx.git - Freescale i.MX Linux Tree
I must inform a meaning of set value to my customer.
Don't you have detail information about this register more than i.MX6 Refelence Manual?
Best regards,
Ishii
Hi Ishii
sorry I have not more info about of this register value.
Also from my side I did not find that ROM change it.
Best regards
igor
Hi Igor
Thank you for your quick response.
And sorry my low understanding.
You say that
"SD3 works fine in sabre boards, please use bsps from"
Your meaning is a
1) That BSP can work fine.
2) SD3 work fine both register value 0x08100810 and 0x08000880
Which is a correct answer?
Best regards,
Ishii.
Hi Ishii
yes nxp BSPs work fine.
You can check these BSPs and look at used register value.
Best regards
igor