mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-01 16:43:28 +08:00
ARM: SPL: Make spl_mmc.c more generic
Move the default omap/related-centric board_mmc_init to arch/arm/cpu/armv7/omap-common/boot-common.c and move the type defines to <asm/spl.h>. Also use mmc->read_bl_len rather than MMCSD_SECTOR_SIZE Signed-off-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
55cdbb8d4e
commit
f0881250f9
@ -17,8 +17,10 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/spl.h>
|
||||
#include <asm/omap_common.h>
|
||||
#include <asm/arch/omap.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
|
||||
/*
|
||||
* This is used to verify if the configuration header
|
||||
@ -46,4 +48,18 @@ u32 spl_boot_mode(void)
|
||||
{
|
||||
return omap_bootmode;
|
||||
}
|
||||
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
omap_mmc_init(0, 0, 0);
|
||||
break;
|
||||
case BOOT_DEVICE_MMC2:
|
||||
case BOOT_DEVICE_MMC2_2:
|
||||
omap_mmc_init(1, 0, 0);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
@ -26,31 +26,12 @@
|
||||
#include <asm/spl.h>
|
||||
#include <asm/u-boot.h>
|
||||
#include <asm/utils.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include <mmc.h>
|
||||
#include <fat.h>
|
||||
#include <version.h>
|
||||
#include <asm/omap_common.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#ifdef CONFIG_GENERIC_MMC
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
omap_mmc_init(0, 0, 0);
|
||||
break;
|
||||
case BOOT_DEVICE_MMC2:
|
||||
case BOOT_DEVICE_MMC2_2:
|
||||
omap_mmc_init(1, 0, 0);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void mmc_load_image_raw(struct mmc *mmc)
|
||||
{
|
||||
u32 image_size_sectors, err;
|
||||
@ -70,8 +51,8 @@ static void mmc_load_image_raw(struct mmc *mmc)
|
||||
spl_parse_image_header(header);
|
||||
|
||||
/* convert size to sectors - round up */
|
||||
image_size_sectors = (spl_image.size + MMCSD_SECTOR_SIZE - 1) /
|
||||
MMCSD_SECTOR_SIZE;
|
||||
image_size_sectors = (spl_image.size + mmc->read_bl_len - 1) /
|
||||
mmc->read_bl_len;
|
||||
|
||||
/* Read the header too to avoid extra memcpy */
|
||||
err = mmc->block_dev.block_read(0,
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <asm/spl.h>
|
||||
#include <asm/omap_common.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
#include <i2c.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
@ -89,6 +90,20 @@ u32 spl_boot_device(void)
|
||||
return omap3_boot_device;
|
||||
}
|
||||
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
omap_mmc_init(0, 0, 0);
|
||||
break;
|
||||
case BOOT_DEVICE_MMC2:
|
||||
case BOOT_DEVICE_MMC2_2:
|
||||
omap_mmc_init(1, 0, 0);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void spl_board_init(void)
|
||||
{
|
||||
#ifdef CONFIG_SPL_I2C_SUPPORT
|
||||
|
@ -34,11 +34,6 @@
|
||||
#define OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL 2
|
||||
#define OMAP_INIT_CONTEXT_UBOOT_AFTER_CH 3
|
||||
|
||||
/* Boot type */
|
||||
#define MMCSD_MODE_UNDEFINED 0
|
||||
#define MMCSD_MODE_RAW 1
|
||||
#define MMCSD_MODE_FAT 2
|
||||
|
||||
static inline u32 omap_revision(void)
|
||||
{
|
||||
extern u32 *const omap_si_rev;
|
||||
|
@ -26,6 +26,11 @@
|
||||
/* Platform-specific defines */
|
||||
#include <asm/arch/spl.h>
|
||||
|
||||
/* Boot type */
|
||||
#define MMCSD_MODE_UNDEFINED 0
|
||||
#define MMCSD_MODE_RAW 1
|
||||
#define MMCSD_MODE_FAT 2
|
||||
|
||||
struct spl_image_info {
|
||||
const char *name;
|
||||
u8 os;
|
||||
|
Loading…
Reference in New Issue
Block a user