
Hello community, here is the log from the commit of package u-boot for openSUSE:Factory checked in at 2012-12-28 22:50:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/u-boot (Old) and /work/SRC/openSUSE:Factory/.u-boot.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "u-boot", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/u-boot/u-boot-highbank.changes 2012-10-24 10:24:13.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.u-boot.new/u-boot-highbank.changes 2012-12-28 22:50:22.000000000 +0100 @@ -1,0 +2,13 @@ +Wed Oct 24 22:33:13 UTC 2012 - agraf@suse.com + +- add sdhc-1.patch, sdhc-2.patch, sdhc-3.patch: + * backport upstream sdhc fixes + +------------------------------------------------------------------- +Wed Oct 24 01:37:36 CEST 2012 - agraf@suse.de + +- update to 2012.10: + - refresh patches 0006-ARMV7-hardfp-build-fix.patch, mlo-ext2.patch, + loadaddr-defaults.patch, mx53loco-bootscr.patch + +------------------------------------------------------------------- u-boot-mx53loco.changes: same change u-boot-omap4panda.changes: same change u-boot-origen.changes: same change u-boot-u8500href.changes: same change u-boot.changes: same change Old: ---- u-boot-2012.04.01.tar.bz2 New: ---- sdhc-1.patch sdhc-2.patch sdhc-3.patch u-boot-2012.10.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ u-boot-highbank.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl 0 Name: u-boot-highbank -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the highbank arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" highbank_config ++++++ u-boot-mx53loco.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl 0 Name: u-boot-mx53loco -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the mx53loco arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" mx53loco_config ++++++ u-boot-omap4panda.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl 0 Name: u-boot-omap4panda -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the omap4panda arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" omap4_panda_config ++++++ u-boot-origen.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl 1 Name: u-boot-origen -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the origen arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" origen_config ++++++ u-boot-u8500href.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl 0 Name: u-boot-u8500href -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the u8500href arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" u8500_href_config ++++++ u-boot.spec ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -19,7 +19,7 @@ Name: u-boot -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: Tools for the u-boot Firmware License: GPL-2.0 ++++++ 0006-ARMV7-hardfp-build-fix.patch ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -1,7 +1,7 @@ -Index: u-boot-2010.09/arch/arm/cpu/armv7/config.mk +Index: u-boot-2012.10/arch/arm/cpu/armv7/config.mk =================================================================== ---- u-boot-2010.09.orig/arch/arm/cpu/armv7/config.mk 2011-02-17 18:43:19.828905882 +0530 -+++ u-boot-2010.09/arch/arm/cpu/armv7/config.mk 2011-02-17 18:43:33.356906110 +0530 +--- u-boot-2012.10.orig/arch/arm/cpu/armv7/config.mk ++++ u-boot-2012.10/arch/arm/cpu/armv7/config.mk @@ -20,7 +20,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA @@ -9,5 +9,5 @@ -PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float +PLATFORM_RELFLAGS += -fno-common -ffixed-r8 - # Make ARMv5 to allow more compilers to work, even though its v7a. - PLATFORM_CPPFLAGS += -march=armv5 + # If armv7-a is not supported by GCC fall-back to armv5, which is + # supported by more tool-chains ++++++ loadaddr-defaults.patch ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -11,11 +11,11 @@ Signed-off-by: Alexander Graf <agraf@suse.de> -diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h -index 0c46d5b..c4df587 100644 ---- a/include/configs/omap3_beagle.h -+++ b/include/configs/omap3_beagle.h -@@ -218,6 +218,8 @@ +Index: u-boot-2012.10/include/configs/omap3_beagle.h +=================================================================== +--- u-boot-2012.10.orig/include/configs/omap3_beagle.h ++++ u-boot-2012.10/include/configs/omap3_beagle.h +@@ -220,6 +220,8 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "loadaddr=0x80200000\0" \ "rdaddr=0x81000000\0" \ @@ -24,16 +24,16 @@ "usbtty=cdc_acm\0" \ "bootfile=uImage.beagle\0" \ "console=ttyO2,115200n8\0" \ -diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h -index 00578fe..bc802f4 100644 ---- a/include/configs/omap4_common.h -+++ b/include/configs/omap4_common.h -@@ -150,6 +150,8 @@ +Index: u-boot-2012.10/include/configs/omap4_common.h +=================================================================== +--- u-boot-2012.10.orig/include/configs/omap4_common.h ++++ u-boot-2012.10/include/configs/omap4_common.h +@@ -145,6 +145,8 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "loadaddr=0x82000000\0" \ + "kerneladdr=0x80000000\0" \ + "ramdiskaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ + "fdt_high=0xffffffff\0" \ "usbtty=cdc_acm\0" \ - "vram=16M\0" \ ++++++ mlo-ext2.patch ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -1,11 +1,11 @@ -diff --git a/arch/arm/cpu/armv7/omap-common/spl_mmc.c b/arch/arm/cpu/armv7/omap-common/spl_mmc.c -index 6f5b43e..f369e47 100644 ---- a/arch/arm/cpu/armv7/omap-common/spl_mmc.c -+++ b/arch/arm/cpu/armv7/omap-common/spl_mmc.c -@@ -83,6 +83,53 @@ end: - } +Index: u-boot-2012.10/drivers/mmc/spl_mmc.c +=================================================================== +--- u-boot-2012.10.orig/drivers/mmc/spl_mmc.c ++++ u-boot-2012.10/drivers/mmc/spl_mmc.c +@@ -67,6 +67,53 @@ end: } + #ifdef CONFIG_SPL_FAT_SUPPORT +static void mmc_load_image_ext2(struct mmc *mmc) +{ + s32 err; @@ -16,34 +16,34 @@ + header = (struct image_header *)(CONFIG_SYS_TEXT_BASE - + sizeof(struct image_header)); + -+ err = ext2fs_set_blk_dev(&mmc->block_dev, ++ err = ext4fs_set_blk_dev(&mmc->block_dev, + CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION); + if (!err) { -+ printf("spl: ext2fs register err - %d\n", err); ++ printf("spl: ext4fs register err - %d\n", err); + hang(); + } + -+ err = ext2fs_mount(0); ++ err = ext4fs_mount(0); + if (!err) { -+ printf("spl: ext2fs mount err - %d\n", err); ++ printf("spl: ext4fs mount err - %d\n", err); + hang(); + } + + + payloadname = "u-boot.bin"; + -+ filelen = err = ext2fs_open(payloadname); ++ filelen = err = ext4fs_open(payloadname); + if (err < 0) { + goto end; + } -+ err = ext2fs_read((u8 *)header, sizeof(struct image_header)); ++ err = ext4fs_read((u8 *)header, sizeof(struct image_header)); + if (err <= 0) { + goto end; + } + + spl_parse_image_header(header); + -+ err = ext2fs_read((u8 *)spl_image.load_addr, filelen); ++ err = ext4fs_read((u8 *)spl_image.load_addr, filelen); + +end: + if (err <= 0) { @@ -56,32 +56,30 @@ static void mmc_load_image_fat(struct mmc *mmc) { s32 err; -@@ -136,12 +183,14 @@ void spl_mmc_load_image(void) +@@ -121,13 +168,15 @@ void spl_mmc_load_image(void) hang(); } - boot_mode = omap_boot_mode(); + boot_mode = spl_boot_mode(); + boot_mode = MMCSD_MODE_FAT; if (boot_mode == MMCSD_MODE_RAW) { debug("boot mode - RAW\n"); mmc_load_image_raw(mmc); + #ifdef CONFIG_SPL_FAT_SUPPORT } else if (boot_mode == MMCSD_MODE_FAT) { debug("boot mode - FAT\n"); - mmc_load_image_fat(mmc); +// mmc_load_image_fat(mmc); + mmc_load_image_ext2(mmc); + #endif } else { puts("spl: wrong MMC boot mode\n"); - hang(); -diff --git a/fs/ext2/ext2fs.c b/fs/ext2/ext2fs.c -index f621741..f38697c 100644 ---- a/fs/ext2/ext2fs.c -+++ b/fs/ext2/ext2fs.c -@@ -25,9 +25,47 @@ - - #include <common.h> - #include <ext2fs.h> --#include <malloc.h> - #include <asm/byteorder.h> +Index: u-boot-2012.10/fs/ext4/dev.c +=================================================================== +--- u-boot-2012.10.orig/fs/ext4/dev.c ++++ u-boot-2012.10/fs/ext4/dev.c +@@ -41,6 +41,45 @@ + #include <ext4fs.h> + #include <ext_common.h> +#ifndef CONFIG_SPL_BUILD + @@ -122,14 +120,14 @@ +#endif + + - extern int ext2fs_devread (int sector, int byte_offset, int byte_len, - char *buf); + unsigned long part_offset; -diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h -index ddeb414..0c46d5b 100644 ---- a/include/configs/omap3_beagle.h -+++ b/include/configs/omap3_beagle.h -@@ -256,7 +256,7 @@ + static block_dev_desc_t *ext4fs_block_dev_desc; +Index: u-boot-2012.10/include/configs/omap3_beagle.h +=================================================================== +--- u-boot-2012.10.orig/include/configs/omap3_beagle.h ++++ u-boot-2012.10/include/configs/omap3_beagle.h +@@ -258,7 +258,7 @@ "root=${nandroot} " \ "rootfstype=${nandrootfstype}\0" \ "bootenv=uEnv.txt\0" \ @@ -138,7 +136,7 @@ "importbootenv=echo Importing environment from mmc ...; " \ "env import -t $loadaddr $filesize\0" \ "ramargs=setenv bootargs console=${console} " \ -@@ -268,8 +268,8 @@ +@@ -270,8 +270,8 @@ "omapdss.def_disp=${defaultdisplay} " \ "root=${ramroot} " \ "rootfstype=${ramrootfstype}\0" \ @@ -149,11 +147,11 @@ "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} /boot/uImage\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ -diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h -index a989721..00578fe 100644 ---- a/include/configs/omap4_common.h -+++ b/include/configs/omap4_common.h -@@ -160,10 +160,10 @@ +Index: u-boot-2012.10/include/configs/omap4_common.h +=================================================================== +--- u-boot-2012.10.orig/include/configs/omap4_common.h ++++ u-boot-2012.10/include/configs/omap4_common.h +@@ -156,10 +156,10 @@ "vram=${vram} " \ "root=${mmcroot} " \ "rootfstype=${mmcrootfstype}\0" \ @@ -166,11 +164,11 @@ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ "bootm ${loadaddr}\0" \ -diff --git a/spl/Makefile b/spl/Makefile -index ea7d475..6abfd7e 100644 ---- a/spl/Makefile -+++ b/spl/Makefile -@@ -51,6 +51,7 @@ LIBS-$(CONFIG_SPL_SERIAL_SUPPORT) += drivers/serial/libserial.o +Index: u-boot-2012.10/spl/Makefile +=================================================================== +--- u-boot-2012.10.orig/spl/Makefile ++++ u-boot-2012.10/spl/Makefile +@@ -51,6 +51,7 @@ LIBS-$(CONFIG_SPL_SERIAL_SUPPORT) += dri LIBS-$(CONFIG_SPL_SPI_FLASH_SUPPORT) += drivers/mtd/spi/libspi_flash.o LIBS-$(CONFIG_SPL_SPI_SUPPORT) += drivers/spi/libspi.o LIBS-$(CONFIG_SPL_FAT_SUPPORT) += fs/fat/libfat.o @@ -178,3 +176,61 @@ LIBS-$(CONFIG_SPL_LIBGENERIC_SUPPORT) += lib/libgeneric.o LIBS-$(CONFIG_SPL_POWER_SUPPORT) += drivers/power/libpower.o LIBS-$(CONFIG_SPL_NAND_SUPPORT) += drivers/mtd/nand/libnand.o +Index: u-boot-2012.10/fs/ext4/ext4fs.c +=================================================================== +--- u-boot-2012.10.orig/fs/ext4/ext4fs.c ++++ u-boot-2012.10/fs/ext4/ext4fs.c +@@ -34,7 +34,6 @@ + */ + + #include <common.h> +-#include <malloc.h> + #include <ext_common.h> + #include <ext4fs.h> + #include <linux/stat.h> +@@ -905,6 +904,45 @@ void ext4fs_deinit(void) + fs->inode_bmaps = NULL; + } + ++#ifndef CONFIG_SPL_BUILD ++ ++#include <malloc.h> ++ ++#else ++ ++/* compat stuff */ ++ ++void *free_buf; ++void *topmost_entry; ++int topmost_size; ++char heap[10240]; ++ ++static inline void *malloc(int size) ++{ ++ void *r; ++ if (!free_buf) ++ free_buf = heap; ++ memset(free_buf, 0, size); ++ r = free_buf; ++ free_buf += size; ++ topmost_entry = r; ++ topmost_size = size; ++ return r; ++} ++ ++static inline void free(void *p) ++{ ++ if (p == topmost_entry) { ++ free_buf -= topmost_size; ++ topmost_entry = 0; ++ } else { ++ printf("leaked %d bytes\n", topmost_size); ++ } ++} ++ ++#endif ++ ++ + + free(fs->gdtable); + fs->gdtable = NULL; ++++++ mx53loco-bootscr.patch ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -2,20 +2,12 @@ =================================================================== --- u-boot-2012.04.01.orig/include/configs/mx53loco.h +++ u-boot-2012.04.01/include/configs/mx53loco.h -@@ -56,6 +56,7 @@ - #define CONFIG_CMD_MMC - #define CONFIG_GENERIC_MMC - #define CONFIG_CMD_FAT -+#define CONFIG_CMD_EXT2 - #define CONFIG_DOS_PARTITION - - /* Eth Configs */ @@ -106,6 +107,8 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "uimage=uImage\0" \ + "kerneladdr=0x70800000\0" \ -+ "ramdiskaddr=0x72000000\0" \ ++ "ramdiskaddr=0x7e000000\0" \ "mmcdev=0\0" \ "mmcpart=2\0" \ "mmcroot=/dev/mmcblk0p3 rw\0" \ ++++++ sdhc-1.patch ++++++ From: Jaehoon Chung <jh80.chung@samsung.com> Date: Thu, 20 Sep 2012 20:31:54 +0000 (+0000) Subject: mmc: sdhci: increase the timeout value for data transfer X-Git-Url: http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=5d48e42247916114984569... mmc: sdhci: increase the timeout value for data transfer Timeout value is tunable. When run read/write operation, sometime returned the timeout error. Because the timeout value is too short. So increased the enough timeout value. (This timeout value is used to prevent the infinite loop.) Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Andy Fleming <afleming@freescale.com> --- diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 2e3c408..9329874 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -83,7 +83,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data, { unsigned int stat, rdy, mask, timeout, block = 0; - timeout = 10000; + timeout = 1000000; rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL; mask = SDHCI_DATA_AVAILABLE | SDHCI_SPACE_AVAILABLE; do { ++++++ sdhc-2.patch ++++++ From: Jaehoon Chung <jh80.chung@samsung.com> Date: Thu, 20 Sep 2012 20:31:55 +0000 (+0000) Subject: mmc: sdhci: add the DMA select for SDMA X-Git-Url: http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=804c7f422169212e92530e... mmc: sdhci: add the DMA select for SDMA In host-control register, DMA select bit field is present. BUt in sdhci.c, didn't select for DMA. if set CONFIG_MMC_SDMA, we need to set SDMA-select bit. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Andy Fleming <afleming@freescale.com> --- diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 9329874..15b4686 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -82,6 +82,13 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data, unsigned int start_addr) { unsigned int stat, rdy, mask, timeout, block = 0; +#ifdef CONFIG_MMC_SDMA + unsigned char ctrl; + ctrl = sdhci_readl(host, SDHCI_HOST_CONTROL); + ctrl &= ~SDHCI_CTRL_DMA_MASK; + ctrl |= SDHCI_CTRL_SDMA; + sdhci_writel(host, ctrl, SDHCI_HOST_CONTROL); +#endif timeout = 1000000; rdy = SDHCI_INT_SPACE_AVAIL | SDHCI_INT_DATA_AVAIL; ++++++ sdhc-3.patch ++++++ From: Tushar Behera <tushar.behera@linaro.org> Date: Thu, 20 Sep 2012 20:31:57 +0000 (+0000) Subject: mmc: sdhci: Add a quirk to add delay during completion of sdhci_send_cmd X-Git-Url: http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=13243f2eafc42929171780... mmc: sdhci: Add a quirk to add delay during completion of sdhci_send_cmd MMC host controller requires a delay between every sdhci_send_cmd() execution. In s5p_mmc driver (s5p_sdhci replaces this driver), a delay of 1000us was provided after every mmc_send_cmd() call. Adding a quirk in current sdhci driver to replicate the behaviour. Without this delay, MMC initialization on Origen board fails with following error messages. Timeout for status update! mmc fail to send stop cmd Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Andy Fleming <afleming@freescale.com> --- diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c index b978236..dc49d37 100644 --- a/drivers/mmc/s5p_sdhci.c +++ b/drivers/mmc/s5p_sdhci.c @@ -83,7 +83,8 @@ int s5p_sdhci_init(u32 regbase, int index, int bus_width) host->ioaddr = (void *)regbase; host->quirks = SDHCI_QUIRK_NO_HISPD_BIT | SDHCI_QUIRK_BROKEN_VOLTAGE | - SDHCI_QUIRK_BROKEN_R1B | SDHCI_QUIRK_32BIT_DMA_ADDR; + SDHCI_QUIRK_BROKEN_R1B | SDHCI_QUIRK_32BIT_DMA_ADDR | + SDHCI_QUIRK_WAIT_SEND_CMD; host->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195; host->version = sdhci_readw(host, SDHCI_HOST_VERSION); diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 15b4686..7845f87 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -240,6 +240,9 @@ int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd, if (!ret && data) ret = sdhci_transfer_data(host, data, start_addr); + if (host->quirks & SDHCI_QUIRK_WAIT_SEND_CMD) + udelay(1000); + stat = sdhci_readl(host, SDHCI_INT_STATUS); sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS); if (!ret) { diff --git a/include/sdhci.h b/include/sdhci.h index c0345ed..c44793d 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -224,6 +224,7 @@ #define SDHCI_QUIRK_NO_HISPD_BIT (1 << 3) #define SDHCI_QUIRK_BROKEN_VOLTAGE (1 << 4) #define SDHCI_QUIRK_NO_CD (1 << 5) +#define SDHCI_QUIRK_WAIT_SEND_CMD (1 << 6) /* to make gcc happy */ struct sdhci_host; ++++++ u-boot-2012.04.01.tar.bz2 -> u-boot-2012.10.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/u-boot/u-boot-2012.04.01.tar.bz2 /work/SRC/openSUSE:Factory/.u-boot.new/u-boot-2012.10.tar.bz2 differ: char 11, line 1 ++++++ u-boot.spec.in ++++++ --- /var/tmp/diff_new_pack.VqEw5e/_old 2012-12-28 22:50:24.000000000 +0100 +++ /var/tmp/diff_new_pack.VqEw5e/_new 2012-12-28 22:50:24.000000000 +0100 @@ -22,7 +22,7 @@ %define origen_spl ORIGEN_SPL Name: u-boot-BOARDNAME -Version: 2012.04.01 +Version: 2012.10 Release: 0 Summary: The u-boot firmware for the BOARDNAME arm platform License: GPL-2.0 @@ -37,6 +37,9 @@ Patch4: beagle-bootscr.patch Patch5: mx53loco-bootscr.patch Patch6: exynos-ext2.patch +Patch7: sdhc-1.patch +Patch8: sdhc-2.patch +Patch9: sdhc-3.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: u-boot-loader Conflicts: otherproviders(u-boot-loader) @@ -69,6 +72,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %build make %{?jobs:-j %jobs} CFLAGS="$RPM_OPT_FLAGS" BOARDCONFIG -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de