i.MX6SoloX uSDHC ADMA2 problem

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

i.MX6SoloX uSDHC ADMA2 problem

Jump to solution
879 Views
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

Labels (1)
Tags (2)
1 Solution
702 Views
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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
3 Replies
703 Views
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 Kudos
702 Views
davidjaouen
Contributor III

Hi Yuri,

I tried using DRAM and it worked.

Thanks a lot.

Have a great day,

David

648 Views
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.

Tags (1)
0 Kudos