请教各位大神!
我现在有个am3352的自制板子,采用spiflash启动。
现又在mmc1接口上接了一个emmc,我修改uboot程序,现想实现一个最基本的
通信。
第一步:mmc dev 1(切换到mmc1)
第二部:mmcinfo
现在卡在第一步就死机了
首先修改了mux
sta
tic struct module_pin_mux mmc1_pin_mux[] = {
{OFFSET(gpmc_ad11), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_DAT3 */
{OFFSET(gpmc_ad10), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_DAT2 */
{OFFSET(gpmc_ad9), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_DAT1 */
{OFFSET(gpmc_ad8), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_DAT0 */
{OFFSET(gpmc_csn1), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_CLK */
{OFFSET(gpmc_csn2), (MODE(2) | RXACTIVE | PULLUP_EN)}, /* MMC1_CMD */
{OFFSET(gpmc_csn0), (MODE(7) | RXACTIVE | PULLUP_EN)}, /* MMC1_WP */
{OFFSET(gpmc_advn_ale), (MODE(7) | RXACTIVE | PULLUP_EN)}, /* MMC1_CD */
{OFFSET(mcasp0_aclkx), (MODE(6) | RXACTIVE| PULLUP_EN)},
{-1},
};(注意这里用的GPMC_AD8-9-10-11引脚不是ad0。。。)
configure_module_pin_mux(mmc1_pin_mux);
定位 现在卡在了
mmc_init_setup这个函数
一到读mmc1的寄存器就挂了
static int mmc_init_setup(struct mmc *mmc)
{
struct hsmmc *mmc_base = (struct hsmmc *)mmc->priv;
unsigned int reg_val;
unsigned int dsor;
ulong start;
mmc_board_init(mmc);
writel(readl(&mmc_base->sysconfig) | MMC_SOFTRESET,
&mmc_base->sysconfig);
start = get_timer(0);
while ((readl(&mmc_base->sysstatus) & RESETDONE) == 0) {
if (get_timer(0) - start > MAX_RETRY_MS) {
printf("%s: timedout waiting for cc2!n", __func__);
return TIMEOUT;
}
}。。。。。。。
。。。。。。。。。。。。
就到红色字体就挂了
请问可能是什么原因引起的???
我用的是ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin