i.MX6 ROM code realy change the SDHCI_WTMK_LVL register value?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 ROM code realy change the SDHCI_WTMK_LVL register value?

1,347 Views
t-iishii
Contributor II

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

Labels (2)
0 Kudos
Reply
7 Replies

1,225 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,225 Views
t-iishii
Contributor II

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.

0 Kudos
Reply

1,225 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ishii

SD3 works fine in sabre boards, please use bsps from

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process... 

Best regards
igor

0 Kudos
Reply

1,225 Views
t-iishii
Contributor II

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

0 Kudos
Reply

1,225 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos
Reply

1,225 Views
t-iishii
Contributor II

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.

0 Kudos
Reply

1,225 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ishii

yes nxp BSPs work fine.

You can check these BSPs and look at used register value.

Best regards
igor

0 Kudos
Reply