iMXRT 1064 eMMC hardware implementation

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

iMXRT 1064 eMMC hardware implementation

1,240 Views
gredpath
Contributor III

We have designed a board using the iMXRT1064 and are using a THGBMNG5D1BLAIT 4Gbyte eMMC. We connected it GPIO_SD_B1 (USDHC2) and hope to boot from it . We are testing using the FreeRTOS eMMC example and it always fails to initialise the part. The board is working, we have all the other components working, display, Ethernet, SDRAM, SPI, SDcard etc. We have tried running the FLASH_VCC at both 1.8 and 3.3V and it always fails to initialise. Is there a reference design for the eMMC, as I can't find any datasheets.

Any help would be appreciated.

0 Kudos
2 Replies

1,212 Views
gredpath
Contributor III

Thanks for your reply, I had looked at that design, we are using the evkmimxrt1064_mmmccard_freertos example for the sdk, which we have changed to use the second (8 bit ) port. As I said we have the 4 bit sdcard working on the first port.

Has anyone managed to get an eMMC working with the 1064?

I have attached the schematic page for the eMMc and SDRAM, I followed the suggestions from Octavo

https://octavosystems.com/app_notes/designing-for-flexibility-around-emmc/

hence I have wired to the NC pins. The schematic shows the supplies as 3V3, but I have tried them with the supply at 3V3 and VCCQ at 1.8V.

We changed sdmmc_config.h to use the second port as shown below

// DMCK
#define BOARD_SDMMC_MMC_HOST_BASEADDR  USDHC2        //USDHC1
#define BOARD_SDMMC_MMC_HOST_IRQ       USDHC2_IRQn   //USDHC1_IRQn
#define BOARD_SDMMC_SDIO_HOST_BASEADDR USDHC1
#define BOARD_SDMMC_SDIO_HOST_IRQ      USDHC1_IRQn
/* @brief card detect configuration */
#define BOARD_SDMMC_SD_CD_GPIO_BASE                  GPIO2
#define BOARD_SDMMC_SD_CD_GPIO_PIN                   28u
#define BOARD_SDMMC_SD_CD_IRQ_PRIORITY               6U
#define BOARD_SDMMC_SD_CD_IRQ                        GPIO2_Combined_16_31_IRQn
#define BOARD_SDMMC_SD_CD_INTTERUPT_TYPE             kGPIO_IntRisingOrFallingEdge
#define BOARD_SDMMC_SD_CD_INSERT_LEVEL               (0U)
#define BOARD_SDMMC_SD_CD_PORT_IRQ_HANDLER           GPIO2_Combined_16_31_IRQHandler
#define BOARD_SDMMC_SD_CD_TYPE                       kSD_DetectCardByGpioCD
#define BOARD_SDMMC_SD_CARD_DETECT_DEBOUNCE_DELAY_MS (100U)
/*! @brief SD power reset */
#define BOARD_SDMMC_SD_POWER_RESET_GPIO_BASE GPIO1
#define BOARD_SDMMC_SD_POWER_RESET_GPIO_PIN  19U
/*! @brief SD IO voltage */
#define BOARD_SDMMC_SD_IO_VOLTAGE_CONTROL_TYPE kSD_IOVoltageCtrlByHost
#define BOARD_SDMMC_SD_HOST_SUPPORT_SDR104_FREQ (200000000U)
// DMCK
#define BOARD_SDMMC_MMC_HOST_SUPPORT_HS200_FREQ (80000000U) //(180000000U)
//#define BOARD_SDMMC_MMC_HOST_SUPPORT_SDR104_FREQ (200000000U)
/* @brief mmc configuration */
// DMCK kMMC_VoltageWindows270to360
#define BOARD_SDMMC_MMC_VCC_SUPPLY         kMMC_VoltageWindow170to195
#define BOARD_SDMMC_MMC_VCCQ_SUPPLY        kMMC_VoltageWindow170to195

 

0 Kudos

1,219 Views
fangfang
NXP TechSupport
NXP TechSupport

Hello,

Unfortunately, There is not the reference design for the RT family. One may refer to the IMX6ULL design for it. https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-....

Hope it help you. 

Have a nice day.

 

0 Kudos