void board_init_r(gd_t *id, ulong dummy) { u32 boot_device; debug(">>spl:board_init_r()\n"); timer_init(); i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); boot_device = omap_boot_device(); debug("boot device - %d\n", boot_device); switch (boot_device) { case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC2: mmc_load_image(); break; default: printf("SPL: Un-supported Boot Device - %d!!!\n", boot_device); hang(); break; } switch (image_os) { case IH_OS_U_BOOT: debug("Jumping to U-Boot\n"); jump_to_image_no_args(); break; default: puts("Unsupported OS image.. Jumping nevertheless..\n"); jump_to_image_no_args(); } }
void board_init_r(gd_t *id, ulong dummy) { u32 boot_device; debug(">>spl:board_init_r()\n"); mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START, CONFIG_SYS_SPL_MALLOC_SIZE); #ifdef CONFIG_SPL_BOARD_INIT spl_board_init(); #endif boot_device = omap_boot_device(); debug("boot device - %d\n", boot_device); switch (boot_device) { #ifdef CONFIG_SPL_MMC_SUPPORT case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC2: case BOOT_DEVICE_MMC2_2: spl_mmc_load_image(); break; #endif #ifdef CONFIG_SPL_NAND_SUPPORT case BOOT_DEVICE_NAND: spl_nand_load_image(); break; #endif #ifdef CONFIG_SPL_YMODEM_SUPPORT case BOOT_DEVICE_UART: spl_ymodem_load_image(); break; #endif default: printf("SPL: Un-supported Boot Device - %d!!!\n", boot_device); hang(); break; } switch (spl_image.os) { case IH_OS_U_BOOT: debug("Jumping to U-Boot\n"); jump_to_image_no_args(); break; #ifdef CONFIG_SPL_OS_BOOT case IH_OS_LINUX: debug("Jumping to Linux\n"); spl_board_prepare_for_linux(); jump_to_image_linux((void *)CONFIG_SYS_SPL_ARGS_ADDR); break; #endif default: puts("Unsupported OS image.. Jumping nevertheless..\n"); jump_to_image_no_args(); } }
int board_mmc_init(bd_t *bis) { switch (omap_boot_device()) { case BOOT_DEVICE_MMC1: omap_mmc_init(0); break; case BOOT_DEVICE_MMC2: omap_mmc_init(1); break; } return 0; }
/* auto boot mode detection is not possible for OMAP3 - hard code */ u32 omap_boot_mode(void) { switch (omap_boot_device()) { case BOOT_DEVICE_MMC2: return MMCSD_MODE_RAW; case BOOT_DEVICE_MMC1: return MMCSD_MODE_FAT; break; case BOOT_DEVICE_NAND: return NAND_MODE_HW_ECC; break; default: puts("spl: ERROR: unknown device - can't select boot mode\n"); hang(); } }
void board_init_r(gd_t *id, ulong dummy) { u32 boot_device; debug(">>spl:board_init_r()\n"); mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START, CONFIG_SYS_SPL_MALLOC_SIZE); timer_init(); i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); boot_device = omap_boot_device(); debug("boot device - %d\n", boot_device); switch (boot_device) { #ifdef CONFIG_SPL_MMC_SUPPORT case BOOT_DEVICE_MMC1: case BOOT_DEVICE_MMC2: spl_mmc_load_image(); break; #endif #ifdef CONFIG_SPL_NAND_SUPPORT case BOOT_DEVICE_NAND: spl_nand_load_image(); break; #endif default: printf("SPL: Un-supported Boot Device - %d!!!\n", boot_device); hang(); break; } switch (spl_image.os) { case IH_OS_U_BOOT: debug("Jumping to U-Boot\n"); jump_to_image_no_args(); break; default: puts("Unsupported OS image.. Jumping nevertheless..\n"); jump_to_image_no_args(); } }