Other Parts Discussed in Thread: SYSCONFIG
I make a am335x board , boot start by spiflash.
now i wang to connect emmc by mmc1, so i amend uboot code
first step: mmc dev 1
second step :mmcinfo
now system crash first step
i amend mux.c
static 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},
};(warning! there is GPMC_AD8-9-10-11)
configure_module_pin_mux(mmc1_pin_mux);
i found system crash at mmc_init_setup() , crash when to read regist......
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