socfpga: mmc problems
Jack Mitchell
ml at communistcode.co.uk
Wed Jul 3 11:01:04 EDT 2013
Having received one of the new Arrow SoCkit boards at a recent training
day I set about seeing how far mainline was in successfully booting this
board.
As I wanted to boot from mmc, I first checked out linux-next [1] in
order to get the newly merged mmc driver, I then applied the device-tree
enablement series [2] on top before finally attempting to boot. I then
found that the standard socfpga_defconfig didn't enable the MMC drivers,
which I also did (should this be part of the socfpga_defconfig...?).
However, the boot hangs at:
Synopsys Designware Multimedia Card Interface Driver
dwmmc_socfpga ff704000.dwmmc0: Using internal DMA controller.
dwmmc_socfpga ff704000.dwmmc0: DW MMC controller at irq 171, 32 bit host
data width, 1024 deep fifo
To fix this I checked out the diff between the Altera vendor mmc driver
and the mainline driver and found that if I added this small change:
if (of_property_read_u32(dev->of_node, "pwr-en", &pwr_en)) {
dev_info(dev, "couldn't determine pwr-en, assuming pwr-en = 0\n");
pwr_en = 0;
}
/* Set PWREN bit */
mci_writel(host, PWREN, pwr_en);
In the dw_mci_socfpga_priv_init function, the board would boot.
Synopsys Designware Multimedia Card Interface Driver
dwmmc_socfpga ff704000.dwmmc0: couldn't determine pwr-en, assuming
pwr-en = 0
dwmmc_socfpga ff704000.dwmmc0: Using internal DMA controller.
dwmmc_socfpga ff704000.dwmmc0: DW MMC controller at irq 171, 32 bit host
data width, 1024 deep fifo
mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 400000Hz,
actual 400000HZ div = 125)
dwmmc_socfpga ff704000.dwmmc0: 1 slots initialized
dwmmc_socfpga ff704000.dwmmc0: Version ID is 240a
.....
.....
.....
Has this been overlooked, or are there some other changes elsewhere that
I haven't yet come across which addresses this?
Cheers,
[1] fa1383200d289afdff2f5678eb89483daa537465
[2] http://comments.gmane.org/gmane.linux.ports.arm.kernel/243529
--
Jack Mitchell (jack at embed.me.uk)
Embedded Systems Engineer
http://www.embed.me.uk
--
More information about the linux-arm-kernel
mailing list