i.MX6SoloX uSDHC ADMA2 problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.MX6SoloX uSDHC ADMA2 problem

跳至解决方案
899 次查看
davidjaouen
Contributor III

Hi,

I'm porting the MQX 4.2 ESDHC driver on the i.MX6Solox and I'm having problems with the ADMA2.

The SDHC card is inserted and correctly initialized.

When a try to read a block of 512 bytes, I initialize the ADMA descriptor with the following:

Low 32-bits: 0x0200 0023 (transfer 512 bytes, transfer data, End bit and Valid bit set)

High 32-bits: 0x1FFF AA08 (destination address in system memory (TCML))

I get an ADMA2 error:

ADMA error status register = 0x00000009, according to the Reference Manual, it means the valid bit in the ADMA descriptor is cleared (which is not!).

The DMA is enabled (DMAEN bit set in register MIX_CTRL).

ADMA2 operation is selected (DMASEL=0x2 in register PROT_CTRL).

Does anyone can help me to solve this problem?

Regards,

David

标签 (1)
标记 (2)
1 解答
722 次查看
Yuri
NXP Employee
NXP Employee

Hello,

  Please try using (system) DRAM memory, which supports bursts from the uSDHC.

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
3 回复数
723 次查看
Yuri
NXP Employee
NXP Employee

Hello,

  Please try using (system) DRAM memory, which supports bursts from the uSDHC.

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
722 次查看
davidjaouen
Contributor III

Hi Yuri,

I tried using DRAM and it worked.

Thanks a lot.

Have a great day,

David

668 次查看
ogj
Contributor IV

Did you get the driver to work for the uSDHC? I'm also using MQX 4.2 (modified to run on the iMX6Q) and having issues reading using ADMA2. Everything appears to work - registers are what I would expect - but I get garbage in my read buffer. This is reading 1 block.

标记 (1)
0 项奖励