diff -uprN u-boot-ti-1_1_4/cpu/omap3/config.mk u-boot-ti-revb/cpu/omap3/config.mk --- u-boot-ti-1_1_4/cpu/omap3/config.mk 2006-10-30 18:57:37.000000000 +0100 +++ u-boot-ti-revb/cpu/omap3/config.mk 2008-06-03 16:36:27.000000000 +0200 @@ -29,5 +29,6 @@ PLATFORM_CPPFLAGS += -march=armv7a # Supply options according to compiler version # # ========================================================================= -PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +#PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) +PLATFORM_CPPFLAGS +=$(call cc-option) PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) diff -uprN u-boot-ti-1_1_4/cpu/omap3/cpu.c u-boot-ti-revb/cpu/omap3/cpu.c --- u-boot-ti-1_1_4/cpu/omap3/cpu.c 2007-10-15 19:49:19.000000000 +0200 +++ u-boot-ti-revb/cpu/omap3/cpu.c 2008-06-03 16:36:27.000000000 +0200 +#ifndef CONFIG_L2_OFF +void l2cache_disable(void); +#endif @@ -107,84 +109,85 @@ int cleanup_before_linux (void) * +#ifndef CONFIG_L2_OFF + l2cache_enable(); #endif diff -uprN u-boot-ti-1_1_4/cpu/omap3/mmc.c u-boot-ti-revb/cpu/omap3/mmc.c --- u-boot-ti-1_1_4/cpu/omap3/mmc.c 2008-02-16 17:26:14.000000000 +0100 +++ u-boot-ti-revb/cpu/omap3/mmc.c 2008-06-03 16:36:27.000000000 +0200 @@ -48,7 +48,6 @@ void twl4030_mmc_config(void) i2c_write(0x4B, 0x82, 1, &data, 1); data = 0x2; i2c_write(0x4B, 0x85, 1, &data, 1); - return 1; } unsigned char mmc_board_init(void) @@ -68,16 +67,21 @@ unsigned char mmc_board_init(void) void mmc_init_stream(void) { + volatile unsigned int mmc_stat; + OMAP_HSMMC_CON |= INIT_INITSTREAM; OMAP_HSMMC_CMD = MMC_CMD0; - while (!(OMAP_HSMMC_STAT & CC_MASK)) { - } + do { + mmc_stat = OMAP_HSMMC_STAT; + } while (!(mmc_stat & CC_MASK)); + OMAP_HSMMC_STAT = CC_MASK; OMAP_HSMMC_CMD = MMC_CMD0; - while (!(OMAP_HSMMC_STAT & CC_MASK)) { - } + do { + mmc_stat = OMAP_HSMMC_STAT; + } while (!(mmc_stat & CC_MASK)); OMAP_HSMMC_STAT = OMAP_HSMMC_STAT; OMAP_HSMMC_CON &= ~INIT_INITSTREAM; @@ -116,7 +120,6 @@ unsigned char mmc_clock_config(unsigned unsigned char mmc_init_setup(void) { unsigned int reg_val; - unsigned int val = 0; mmc_board_init(); @@ -387,7 +390,7 @@ unsigned char mmc_read_cardsize(mmc_card unsigned char omap_mmc_read_sect(unsigned int start_sec, unsigned int num_bytes, mmc_card_data * mmc_c, - unsigned int *output_buf) + unsigned long *output_buf) { unsigned char err; unsigned int argument; @@ -413,7 +416,7 @@ unsigned char omap_mmc_read_sect(unsigne return err; } - err = mmc_read_data(output_buf); + err = mmc_read_data((unsigned int *) output_buf); if (err != 1) { return err; } @@ -500,10 +504,12 @@ unsigned char configure_mmc(mmc_card_dat return 1; } -unsigned long mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong * dst) +unsigned long mmc_bread(int dev_num, unsigned long blknr, lbaint_t blkcnt, + void *dst) { omap_mmc_read_sect(blknr, (blkcnt * MMCSD_SECTOR_SIZE), &cur_card_data, - (unsigned long *)dst); + (unsigned long *) dst); + return 1; } int mmc_init(int verbose) @@ -523,24 +529,23 @@ int mmc_init(int verbose) mmc_blk_dev.block_read = mmc_bread; fat_register_device(&mmc_blk_dev, 1); + return 0; } -int mmc_read(unsigned int src, unsigned char *dst, int size) +int mmc_read(ulong src, uchar * dst, int size) { - /* - * NOT Implemented - */ + /* not implemented */ + return (0); } -int mmc_write(unsigned char *src, unsigned long dst, int size) + +int mmc_write(uchar * src, ulong dst, int size) { - /* - * NOT Implemented - */ + /* not implementd */ + return (0); } -int mmc2info(unsigned int addr) +int mmc2info(ulong addr) { - /* - * NOT Implemented - */ + /*not implemented */ + return (0); }