We have developed a custom board having Micro SD Card interfaced on IMX28 SSP2.
pinmux details are as given below,
static struct pin_desc mmc1_pins_desc[] = {
{ PINID_SSP2_SCK, PIN_FUN1, PAD_8MA, PAD_3V3, 1},
{ PINID_SSP2_MOSI, PIN_FUN1, PAD_8MA, PAD_3V3, 1},
{ PINID_SSP2_MISO, PIN_FUN1, PAD_8MA, PAD_3V3, 1},
{ PINID_SSP2_SS0, PIN_FUN1, PAD_8MA, PAD_3V3, 1},
{ PINID_SSP2_SS1, PIN_FUN2, PAD_8MA, PAD_3V3, 1},
{ PINID_SSP2_SS2, PIN_FUN2, PAD_8MA, PAD_3V3, 1},
}
struct imx_ssp_mmc_cfg ssp_mmc_cfg[1] = {
{REGS_SSP2_BASE, HW_CLKCTRL_SSP2, BM_CLKCTRL_CLKSEQ_BYPASS_SSP2},
};
With this configuration, when we try to access micro SD Card, uboot console hangs.
Please share your inputs whether Micro SD Card can be interfaced with IMX28 SSP2 as above.
Thanks,
Hariharan.V.
Hi Hariharan
one can look at example of ssp2 mmc configuration in digi ccardimx28js board
http://ftp1.digi.com/support/documentation/90001389_B.pdf
https://github.com/digidotcom/yocto-uboot/tree/v2013.04/master/board/digi/ccardimx28js
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I have gone through the example of "ccardimx28js" but it does not have info about SSP2 SD Card Access.
We have done the more deeper debugging in uboot, we found that clk_gate is not set again after SFTRST of SSP2.
Uboot hangs here at :
/* Prepare for software reset */ | |
ssp_mmc_write(mmc, HW_SSP_CTRL0_CLR, BM_SSP_CTRL0_SFTRST); | |
ssp_mmc_write(mmc, HW_SSP_CTRL0_CLR, BM_SSP_CTRL0_CLKGATE); | |
/* Assert reset */ | |
ssp_mmc_write(mmc, HW_SSP_CTRL0_SET, BM_SSP_CTRL0_SFTRST); | |
/* Wait for confirmation */ | |
while (!(ssp_mmc_read(mmc, HW_SSP_CTRL0) & BM_SSP_CTRL0_CLKGATE)) | |
; |
Please share your inputs to get SD Card access on SSP2.
Thanks,
Hariharan.V.