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
Solved! Go to Solution.
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!
-----------------------------------------------------------------------------------------------------------------------
Hi Rick Rigby,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
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
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!
-----------------------------------------------------------------------------------------------------------------------
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.
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.