Hi,
I have a problem using dm365 mmc1,but mmc1 clk pin is always high,console is always print error as below:
mmc1: host doesn't support card's voltages
mmc1: error -22 whilst initialising SDIO card
dm365 sdk is dvsdk_dm365-evm_4_02_00_06,linux kernel 2.6.32
I config mmc1 as below,I want to know why the mmc1 couldnot work?why mmc1 clock pin is always high?
arch\arm\mach-davinci\board-dm365-evm.c,added the last two line
static __init void dm365_evm_init(void)
{
evm_init_i2c();
davinci_serial_init(&uart_config);
dm365evm_emac_configure();
dm365evm_usb_configure();
davinci_setup_mmc(0, &dm365evm_mmc_config);
/* maybe setup mmc1/etc ... _after_ mmc0 */
dm365evm_mmc_configure();
davinci_setup_mmc(1, &dm365evm_mmc_config);
arch\arm\mach-davinci\devices.c function davinci_setup_mmc()
case 1:
if (cpu_is_davinci_dm355()) {
/* REVISIT we may not need all these pins if e.g. this
* is a hard-wired SDIO device...
*/
davinci_cfg_reg(DM355_SD1_CMD);
davinci_cfg_reg(DM355_SD1_CLK);
davinci_cfg_reg(DM355_SD1_DATA0);
davinci_cfg_reg(DM355_SD1_DATA1);
davinci_cfg_reg(DM355_SD1_DATA2);
davinci_cfg_reg(DM355_SD1_DATA3);
} else if (cpu_is_davinci_dm365()) {
void __iomem *pupdctl1 =
IO_ADDRESS(DAVINCI_SYSTEM_MODULE_BASE + 0x7c);
/* Configure pull down control */
__raw_writel((__raw_readl(pupdctl1) & ~0xfc0),
pupdctl1);
mmcsd1_resources[0].start = DM365_MMCSD1_BASE;
mmcsd1_resources[0].end = DM365_MMCSD1_BASE +
SZ_4K - 1;
mmcsd1_resources[2].start = IRQ_DM365_SDIOINT1;
} else
break;
pdev = &davinci_mmcsd1_device;