On Thu, Jul 10, 2014 at 09:04:49AM +0200, drEagle wrote: > My patch was taken by Debian (thanks for this) the only MMC enabled uboot for SheevaPlugs. > > Mainline u-boot had (again) change the initialization process for MMC [1] so I had made some quick revisions of the MVSDIO driver. > > >> I have a revised version of the Marvel Kirkwood MMC/SDIO, attached with this message. > >> > >> I'll give some tries on Sheevaplugs against u-boot.git from collab-maint as soon as possible. > >> If anyone can verify and give some tests. > >> > >> Take care that this MMC driver is a completly rewrote code. > > > > I'll get some tests and will give antoher .diff updated. > > For now, here is a working version, quickly tested. [2] Thanks, that gets the sheevaplug target to build! openrd_ultimate still fails to build: OBJCOPY examples/standalone/hello_world.bin LD u-boot common/built-in.o: In function `do_mmc': /build/u-boot-ZEipoI/u-boot-2014.07~rc4+dfsg1/debian/build/openrd_ultimate/../../../common/cmd_mmc.c:33: undefined reference to `mmc_legacy_init' disk/built-in.o:(.rodata.block_drvr+0x1c): undefined reference to `mmc_get_dev' disk/built-in.o:(.rodata.block_drvr+0x20): undefined reference to `mmc_select_hwpart' ld.bfd: BFD (GNU Binutils for Debian) 2.24.51.20140709 assertion fail ../../bfd/elf32-arm.c:7818 ld.bfd: error: required section '.rel.plt' not found in the linker script ld.bfd: final link failed: Invalid operation make[2]: *** [u-boot] Error 1 Updated openrd-mmc.diff and full build log attached. live well, vagrant
Attachment:
u-boot_2014.07~rc4+dfsg1-1~20140710~5_armel-20140710-0952.build.gz
Description: application/gzip
This partially depends on the kerma sheevaplug stuff. Index: u-boot/include/configs/openrd.h =================================================================== --- u-boot.orig/include/configs/openrd.h +++ u-boot/include/configs/openrd.h @@ -49,6 +49,7 @@ #define CONFIG_CMD_DHCP #define CONFIG_CMD_ENV #define CONFIG_CMD_MII +#define CONFIG_CMD_MMC #define CONFIG_CMD_NAND #define CONFIG_CMD_PING #define CONFIG_CMD_USB @@ -123,4 +124,10 @@ #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET #endif /*CONFIG_MVSATA_IDE*/ +#ifdef CONFIG_CMD_MMC +#define CONFIG_MMC +#define CONFIG_MRVL_MMC +#define CONFIG_SYS_MMC_BASE KW_SDIO_BASE +#endif /* CONFIG_CMD_MMC */ + #endif /* _CONFIG_OPENRD_BASE_H */ Index: u-boot/board/Marvell/openrd/openrd.c =================================================================== --- u-boot.orig/board/Marvell/openrd/openrd.c +++ u-boot/board/Marvell/openrd/openrd.c @@ -17,6 +17,9 @@ #include <asm/arch/kirkwood.h> #include <asm/arch/mpp.h> #include "openrd.h" +#ifdef CONFIG_MRVL_MMC +#include <mrvl_mmc.h> +#endif /* CONFIG_MRVL_MMC */ DECLARE_GLOBAL_DATA_PTR; @@ -159,3 +162,11 @@ void reset_phy(void) #endif } #endif /* CONFIG_RESET_PHY_R */ + +#ifdef CONFIG_MRVL_MMC +int board_mmc_init(bd_t *bis) +{ + mrvl_mmc_init(bis); + return 0; +} +#endif /* CONFIG_MRVL_MMC */
Attachment:
signature.asc
Description: Digital signature