IMX6 uSDHC: How to change host DMA buffer boundary?

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

IMX6 uSDHC: How to change host DMA buffer boundary?

798 Views
ahmedabdelhalee
Contributor II

Dear All,

I am trying to load a certain linux version (Bosch Linux) on IMX6Q (sabrelite) board, when I got many error messages during the boot process from the SDHC kernel driver as follow:

[  114.329344] mmc0: Timeout waiting for hardware interrupt.

[  114.329453] mmcblk1: error -110 transferring data, sector 562978, nr 880, cmd response 0x900, card status 0xd00

After debugging, I found that the SDHC driver tries to make a simple DMA transfer with multiple blocks and it assumes that the page boundary at which DMA transfer will be aborted and DMA interrupt is generated is 512KB. While after referring to IMX6DQRM, I found that there is no register field to control this DMA boundary in the uSDHC_BLK_ATT register like in other similar SDHC controllers in other platforms. I guess the IMX6 uSDHC page boundary is always fixed to 4KB, isn't it?

So, Is there a way to change this DMA page boundary setting in the uSDHC controller either at run-time or by a certain configuration?

Thanks in advance,

Best Regards,

Ahmed

Labels (2)
0 Kudos
1 Reply

413 Views
ahmedabdelhalee
Contributor II

any answer to this question please .. I am still waiting!

Thanks,

Ahmed

0 Kudos