Module sdif_18xx_43xx.h, line 266, has comment that max MMC bus width is 4. Is that true? I need to get 8-bit MMC transfers going. Can I update driver?

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

Module sdif_18xx_43xx.h, line 266, has comment that max MMC bus width is 4. Is that true? I need to get 8-bit MMC transfers going. Can I update driver?

Jump to solution
2,113 Views
rickrigby
Contributor II

I'm trying to get the LPC43xx SD/MMC example to open my MMC card. No success yet. I need help on how to see the bus responses to the commands being sent. Also, we want to run my MMC device using 8-bit data width. Line 266 of sdif_18xx_43xx.h has a comment that more than 4 bit witdh is not supported. How do I add it? (How do I get info on the CIU register details?)

Original Attachment has been moved to: sdmmc_example.zip

Labels (1)
0 Kudos
Reply
1 Solution
1,923 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Rick Rigby,

Thanks for your reply.

1) Does the SD/MMC interface module support 8-bit mode?

    Yes, I think so and I'd like to suggest that you can refer to the thread whose link is below for details.

LPC4337 and eMMC, iNAND, moviNAND | www.LPCware.com
Have a great day,
TIC

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

View solution in original post

5 Replies
1,923 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Rick Rigby,

Thank you for your interest in NXP Semiconductor products and the opportunity to serve you.
The 8-bit mode is not support.
Hope this is clear.
Have a great day,

TIC

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

0 Kudos
Reply
1,923 Views
rickrigby
Contributor II

Hello,

Thanks for the info!

I understand that the sd_mmc driver module does not support 8-bit mode.

My question is: Does the CIU support 8-bit mode?

I can create my own driver using the CIU registers if necessary.

Regards,

Rick

0 Kudos
Reply
1,924 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Rick Rigby,

Thanks for your reply.

1) Does the SD/MMC interface module support 8-bit mode?

    Yes, I think so and I'd like to suggest that you can refer to the thread whose link is below for details.

LPC4337 and eMMC, iNAND, moviNAND | www.LPCware.com
Have a great day,
TIC

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

1,923 Views
rickrigby
Contributor II

Thanks, that post contains excellent info. I think 8-bit MMC can be done. In addition, there was a question about how to use 4-bit MMC. That can be done using CMD6 (switch) as follows:

status = sdmmc_execute_command(pSDMMC, CMD_MMC_SWITCH, ((3<<24) | (183<<16) | (1<<8)), 0);

The JEDEC eMMC spec has the info on the correct bits to use.

0 Kudos
Reply
1,923 Views
rickrigby
Contributor II

FYI, I was able to get the LPC43XX SDMMC example code running in 8-bit mode at 52MHz. I had to fix some bugs in the NXP library modules. I added my own copies of these modules so the attached project will build & run without modifying the NXP libs. The attached project depends on NXP LPC43XX libs lpc_chip_43xx and lpc_board_nxp_lpcxpresso_4337. The project initializes an MMC client, sets 8-bit mode & 52MHz, then does IO to the MMC device. Most of the project can be ignored, important function is S4_SDMMC_Init() and the read/write blocks functions. Many thanks to jeremyzhou and others for pointing me in the right direction.