summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/common/spl
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/common/spl')
-rw-r--r--qemu/roms/u-boot/common/spl/Makefile22
-rw-r--r--qemu/roms/u-boot/common/spl/spl.c257
-rw-r--r--qemu/roms/u-boot/common/spl/spl_fat.c123
-rw-r--r--qemu/roms/u-boot/common/spl/spl_mmc.c147
-rw-r--r--qemu/roms/u-boot/common/spl/spl_nand.c84
-rw-r--r--qemu/roms/u-boot/common/spl/spl_net.c37
-rw-r--r--qemu/roms/u-boot/common/spl/spl_nor.c51
-rw-r--r--qemu/roms/u-boot/common/spl/spl_onenand.c31
-rw-r--r--qemu/roms/u-boot/common/spl/spl_sata.c49
-rw-r--r--qemu/roms/u-boot/common/spl/spl_usb.c58
-rw-r--r--qemu/roms/u-boot/common/spl/spl_ymodem.c59
11 files changed, 0 insertions, 918 deletions
diff --git a/qemu/roms/u-boot/common/spl/Makefile b/qemu/roms/u-boot/common/spl/Makefile
deleted file mode 100644
index 64569c2cc..000000000
--- a/qemu/roms/u-boot/common/spl/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# (C) Copyright 2012
-# Texas Instruments Incorporated - http://www.ti.com/
-# Aneesh V <aneesh@ti.com>
-#
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Based on common/Makefile.
-#
-
-ifdef CONFIG_SPL_BUILD
-obj-$(CONFIG_SPL_FRAMEWORK) += spl.o
-obj-$(CONFIG_SPL_NOR_SUPPORT) += spl_nor.o
-obj-$(CONFIG_SPL_YMODEM_SUPPORT) += spl_ymodem.o
-obj-$(CONFIG_SPL_NAND_SUPPORT) += spl_nand.o
-obj-$(CONFIG_SPL_ONENAND_SUPPORT) += spl_onenand.o
-obj-$(CONFIG_SPL_NET_SUPPORT) += spl_net.o
-obj-$(CONFIG_SPL_MMC_SUPPORT) += spl_mmc.o
-obj-$(CONFIG_SPL_USB_SUPPORT) += spl_usb.o
-obj-$(CONFIG_SPL_FAT_SUPPORT) += spl_fat.o
-obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o
-endif
diff --git a/qemu/roms/u-boot/common/spl/spl.c b/qemu/roms/u-boot/common/spl/spl.c
deleted file mode 100644
index 774fdad25..000000000
--- a/qemu/roms/u-boot/common/spl/spl.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * (C) Copyright 2010
- * Texas Instruments, <www.ti.com>
- *
- * Aneesh V <aneesh@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <spl.h>
-#include <asm/u-boot.h>
-#include <nand.h>
-#include <fat.h>
-#include <version.h>
-#include <i2c.h>
-#include <image.h>
-#include <malloc.h>
-#include <linux/compiler.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#ifndef CONFIG_SYS_UBOOT_START
-#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
-#endif
-#ifndef CONFIG_SYS_MONITOR_LEN
-#define CONFIG_SYS_MONITOR_LEN (200 * 1024)
-#endif
-
-u32 *boot_params_ptr = NULL;
-struct spl_image_info spl_image;
-
-/* Define board data structure */
-static bd_t bdata __attribute__ ((section(".data")));
-
-/*
- * Default function to determine if u-boot or the OS should
- * be started. This implementation always returns 1.
- *
- * Please implement your own board specific funcion to do this.
- *
- * RETURN
- * 0 to not start u-boot
- * positive if u-boot should start
- */
-#ifdef CONFIG_SPL_OS_BOOT
-__weak int spl_start_uboot(void)
-{
- puts("SPL: Please implement spl_start_uboot() for your board\n");
- puts("SPL: Direct Linux boot not active!\n");
- return 1;
-}
-#endif
-
-/*
- * Weak default function for board specific cleanup/preparation before
- * Linux boot. Some boards/platforms might not need it, so just provide
- * an empty stub here.
- */
-__weak void spl_board_prepare_for_linux(void)
-{
- /* Nothing to do! */
-}
-
-void spl_parse_image_header(const struct image_header *header)
-{
- u32 header_size = sizeof(struct image_header);
-
- if (image_get_magic(header) == IH_MAGIC) {
- if (spl_image.flags & SPL_COPY_PAYLOAD_ONLY) {
- /*
- * On some system (e.g. powerpc), the load-address and
- * entry-point is located at address 0. We can't load
- * to 0-0x40. So skip header in this case.
- */
- spl_image.load_addr = image_get_load(header);
- spl_image.entry_point = image_get_ep(header);
- spl_image.size = image_get_data_size(header);
- } else {
- spl_image.entry_point = image_get_load(header);
- /* Load including the header */
- spl_image.load_addr = spl_image.entry_point -
- header_size;
- spl_image.size = image_get_data_size(header) +
- header_size;
- }
- spl_image.os = image_get_os(header);
- spl_image.name = image_get_name(header);
- debug("spl: payload image: %.*s load addr: 0x%x size: %d\n",
- sizeof(spl_image.name), spl_image.name,
- spl_image.load_addr, spl_image.size);
- } else {
- /* Signature not found - assume u-boot.bin */
- debug("mkimage signature not found - ih_magic = %x\n",
- header->ih_magic);
- /* Let's assume U-Boot will not be more than 200 KB */
- spl_image.size = CONFIG_SYS_MONITOR_LEN;
- spl_image.entry_point = CONFIG_SYS_UBOOT_START;
- spl_image.load_addr = CONFIG_SYS_TEXT_BASE;
- spl_image.os = IH_OS_U_BOOT;
- spl_image.name = "U-Boot";
- }
-}
-
-__weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
-{
- typedef void __noreturn (*image_entry_noargs_t)(void);
-
- image_entry_noargs_t image_entry =
- (image_entry_noargs_t) spl_image->entry_point;
-
- debug("image entry point: 0x%X\n", spl_image->entry_point);
- image_entry();
-}
-
-#ifdef CONFIG_SPL_RAM_DEVICE
-static void spl_ram_load_image(void)
-{
- const struct image_header *header;
-
- /*
- * Get the header. It will point to an address defined by handoff
- * which will tell where the image located inside the flash. For
- * now, it will temporary fixed to address pointed by U-Boot.
- */
- header = (struct image_header *)
- (CONFIG_SYS_TEXT_BASE - sizeof(struct image_header));
-
- spl_parse_image_header(header);
-}
-#endif
-
-void board_init_r(gd_t *dummy1, ulong dummy2)
-{
- u32 boot_device;
- debug(">>spl:board_init_r()\n");
-
-#ifdef CONFIG_SYS_SPL_MALLOC_START
- mem_malloc_init(CONFIG_SYS_SPL_MALLOC_START,
- CONFIG_SYS_SPL_MALLOC_SIZE);
-#endif
-
-#ifndef CONFIG_PPC
- /*
- * timer_init() does not exist on PPC systems. The timer is initialized
- * and enabled (decrementer) in interrupt_init() here.
- */
- timer_init();
-#endif
-
-#ifdef CONFIG_SPL_BOARD_INIT
- spl_board_init();
-#endif
-
- boot_device = spl_boot_device();
- debug("boot device - %d\n", boot_device);
- switch (boot_device) {
-#ifdef CONFIG_SPL_RAM_DEVICE
- case BOOT_DEVICE_RAM:
- spl_ram_load_image();
- break;
-#endif
-#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_ONENAND_SUPPORT
- case BOOT_DEVICE_ONENAND:
- spl_onenand_load_image();
- break;
-#endif
-#ifdef CONFIG_SPL_NOR_SUPPORT
- case BOOT_DEVICE_NOR:
- spl_nor_load_image();
- break;
-#endif
-#ifdef CONFIG_SPL_YMODEM_SUPPORT
- case BOOT_DEVICE_UART:
- spl_ymodem_load_image();
- break;
-#endif
-#ifdef CONFIG_SPL_SPI_SUPPORT
- case BOOT_DEVICE_SPI:
- spl_spi_load_image();
- break;
-#endif
-#ifdef CONFIG_SPL_ETH_SUPPORT
- case BOOT_DEVICE_CPGMAC:
-#ifdef CONFIG_SPL_ETH_DEVICE
- spl_net_load_image(CONFIG_SPL_ETH_DEVICE);
-#else
- spl_net_load_image(NULL);
-#endif
- break;
-#endif
-#ifdef CONFIG_SPL_USBETH_SUPPORT
- case BOOT_DEVICE_USBETH:
- spl_net_load_image("usb_ether");
- break;
-#endif
-#ifdef CONFIG_SPL_USB_SUPPORT
- case BOOT_DEVICE_USB:
- spl_usb_load_image();
- break;
-#endif
-#ifdef CONFIG_SPL_SATA_SUPPORT
- case BOOT_DEVICE_SATA:
- spl_sata_load_image();
- break;
-#endif
- default:
- debug("SPL: Un-supported Boot Device\n");
- hang();
- }
-
- switch (spl_image.os) {
- case IH_OS_U_BOOT:
- debug("Jumping to U-Boot\n");
- 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);
-#endif
- default:
- debug("Unsupported OS image.. Jumping nevertheless..\n");
- }
- jump_to_image_no_args(&spl_image);
-}
-
-/*
- * This requires UART clocks to be enabled. In order for this to work the
- * caller must ensure that the gd pointer is valid.
- */
-void preloader_console_init(void)
-{
- gd->bd = &bdata;
- gd->baudrate = CONFIG_BAUDRATE;
-
- serial_init(); /* serial communications setup */
-
- gd->have_console = 1;
-
- puts("\nU-Boot SPL " PLAIN_VERSION " (" U_BOOT_DATE " - " \
- U_BOOT_TIME ")\n");
-#ifdef CONFIG_SPL_DISPLAY_PRINT
- spl_display_print();
-#endif
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_fat.c b/qemu/roms/u-boot/common/spl/spl_fat.c
deleted file mode 100644
index 56be94388..000000000
--- a/qemu/roms/u-boot/common/spl/spl_fat.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * (C) Copyright 2014
- * Texas Instruments, <www.ti.com>
- *
- * Dan Murphy <dmurphy@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- *
- * FAT Image Functions copied from spl_mmc.c
- */
-
-#include <common.h>
-#include <spl.h>
-#include <asm/u-boot.h>
-#include <fat.h>
-#include <image.h>
-
-static int fat_registered;
-
-#ifdef CONFIG_SPL_FAT_SUPPORT
-static int spl_register_fat_device(block_dev_desc_t *block_dev, int partition)
-{
- int err = 0;
-
- if (fat_registered)
- return err;
-
- err = fat_register_device(block_dev, partition);
- if (err) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("%s: fat register err - %d\n", __func__, err);
-#endif
- hang();
- }
-
- fat_registered = 1;
-
- return err;
-}
-
-int spl_load_image_fat(block_dev_desc_t *block_dev,
- int partition,
- const char *filename)
-{
- int err;
- struct image_header *header;
-
- err = spl_register_fat_device(block_dev, partition);
- if (err)
- goto end;
-
- header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -
- sizeof(struct image_header));
-
- err = file_fat_read(filename, header, sizeof(struct image_header));
- if (err <= 0)
- goto end;
-
- spl_parse_image_header(header);
-
- err = file_fat_read(filename, (u8 *)spl_image.load_addr, 0);
-
-end:
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- if (err <= 0)
- printf("%s: error reading image %s, err - %d\n",
- __func__, filename, err);
-#endif
-
- return (err <= 0);
-}
-
-#ifdef CONFIG_SPL_OS_BOOT
-int spl_load_image_fat_os(block_dev_desc_t *block_dev, int partition)
-{
- int err;
- __maybe_unused char *file;
-
- err = spl_register_fat_device(block_dev, partition);
- if (err)
- return err;
-
-#if defined(CONFIG_SPL_ENV_SUPPORT) && defined(CONFIG_SPL_OS_BOOT)
- file = getenv("falcon_args_file");
- if (file) {
- err = file_fat_read(file, (void *)CONFIG_SYS_SPL_ARGS_ADDR, 0);
- if (err <= 0) {
- printf("spl: error reading image %s, err - %d, falling back to default\n",
- file, err);
- goto defaults;
- }
- file = getenv("falcon_image_file");
- if (file) {
- err = spl_load_image_fat(block_dev, partition, file);
- if (err != 0) {
- puts("spl: falling back to default\n");
- goto defaults;
- }
-
- return 0;
- } else
- puts("spl: falcon_image_file not set in environment, falling back to default\n");
- } else
- puts("spl: falcon_args_file not set in environment, falling back to default\n");
-
-defaults:
-#endif
-
- err = file_fat_read(CONFIG_SPL_FAT_LOAD_ARGS_NAME,
- (void *)CONFIG_SYS_SPL_ARGS_ADDR, 0);
- if (err <= 0) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("%s: error reading image %s, err - %d\n",
- __func__, CONFIG_SPL_FAT_LOAD_ARGS_NAME, err);
-#endif
- return -1;
- }
-
- return spl_load_image_fat(block_dev, partition,
- CONFIG_SPL_FAT_LOAD_KERNEL_NAME);
-}
-#endif
-#endif
diff --git a/qemu/roms/u-boot/common/spl/spl_mmc.c b/qemu/roms/u-boot/common/spl/spl_mmc.c
deleted file mode 100644
index fa6f891bc..000000000
--- a/qemu/roms/u-boot/common/spl/spl_mmc.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * (C) Copyright 2010
- * Texas Instruments, <www.ti.com>
- *
- * Aneesh V <aneesh@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <spl.h>
-#include <asm/u-boot.h>
-#include <mmc.h>
-#include <version.h>
-#include <image.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static int mmc_load_image_raw(struct mmc *mmc, unsigned long sector)
-{
- unsigned long err;
- u32 image_size_sectors;
- struct image_header *header;
-
- header = (struct image_header *)(CONFIG_SYS_TEXT_BASE -
- sizeof(struct image_header));
-
- /* read image header to find the image size & load address */
- err = mmc->block_dev.block_read(0, sector, 1, header);
- if (err == 0)
- goto end;
-
- if (image_get_magic(header) != IH_MAGIC)
- return -1;
-
- spl_parse_image_header(header);
-
- /* convert size to sectors - round up */
- 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, sector, image_size_sectors,
- (void *)spl_image.load_addr);
-
-end:
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- if (err == 0)
- printf("spl: mmc blk read err - %lu\n", err);
-#endif
-
- return (err == 0);
-}
-
-#ifdef CONFIG_SPL_OS_BOOT
-static int mmc_load_image_raw_os(struct mmc *mmc)
-{
- if (!mmc->block_dev.block_read(0,
- CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR,
- CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS,
- (void *)CONFIG_SYS_SPL_ARGS_ADDR)) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("mmc args blk read error\n");
-#endif
- return -1;
- }
-
- return mmc_load_image_raw(mmc, CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR);
-}
-#endif
-
-void spl_mmc_load_image(void)
-{
- struct mmc *mmc;
- int err;
- u32 boot_mode;
-
- mmc_initialize(gd->bd);
- /* We register only one device. So, the dev id is always 0 */
- mmc = find_mmc_device(0);
- if (!mmc) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- puts("spl: mmc device not found!!\n");
-#endif
- hang();
- }
-
- err = mmc_init(mmc);
- if (err) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("spl: mmc init failed: err - %d\n", err);
-#endif
- hang();
- }
-
- boot_mode = spl_boot_mode();
- if (boot_mode == MMCSD_MODE_RAW) {
- debug("boot mode - RAW\n");
-#ifdef CONFIG_SPL_OS_BOOT
- if (spl_start_uboot() || mmc_load_image_raw_os(mmc))
-#endif
- err = mmc_load_image_raw(mmc,
- CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR);
-#ifdef CONFIG_SPL_FAT_SUPPORT
- } else if (boot_mode == MMCSD_MODE_FAT) {
- debug("boot mode - FAT\n");
-#ifdef CONFIG_SPL_OS_BOOT
- if (spl_start_uboot() || spl_load_image_fat_os(&mmc->block_dev,
- CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION))
-#endif
- err = spl_load_image_fat(&mmc->block_dev,
- CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION,
- CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME);
-#endif
-#ifdef CONFIG_SUPPORT_EMMC_BOOT
- } else if (boot_mode == MMCSD_MODE_EMMCBOOT) {
- /*
- * We need to check what the partition is configured to.
- * 1 and 2 match up to boot0 / boot1 and 7 is user data
- * which is the first physical partition (0).
- */
- int part = (mmc->part_config >> 3) & PART_ACCESS_MASK;
-
- if (part == 7)
- part = 0;
-
- if (mmc_switch_part(0, part)) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- puts("MMC partition switch failed\n");
-#endif
- hang();
- }
-#ifdef CONFIG_SPL_OS_BOOT
- if (spl_start_uboot() || mmc_load_image_raw_os(mmc))
-#endif
- err = mmc_load_image_raw(mmc,
- CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR);
-#endif
- } else {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- puts("spl: wrong MMC boot mode\n");
-#endif
- hang();
- }
-
- if (err)
- hang();
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_nand.c b/qemu/roms/u-boot/common/spl/spl_nand.c
deleted file mode 100644
index 9da021862..000000000
--- a/qemu/roms/u-boot/common/spl/spl_nand.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2011
- * Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <spl.h>
-#include <asm/io.h>
-#include <nand.h>
-
-void spl_nand_load_image(void)
-{
- struct image_header *header;
- int *src __attribute__((unused));
- int *dst __attribute__((unused));
-
- debug("spl: nand - using hw ecc\n");
- nand_init();
-
- /*use CONFIG_SYS_TEXT_BASE as temporary storage area */
- header = (struct image_header *)(CONFIG_SYS_TEXT_BASE);
-#ifdef CONFIG_SPL_OS_BOOT
- if (!spl_start_uboot()) {
- /*
- * load parameter image
- * load to temp position since nand_spl_load_image reads
- * a whole block which is typically larger than
- * CONFIG_CMD_SPL_WRITE_SIZE therefore may overwrite
- * following sections like BSS
- */
- nand_spl_load_image(CONFIG_CMD_SPL_NAND_OFS,
- CONFIG_CMD_SPL_WRITE_SIZE,
- (void *)CONFIG_SYS_TEXT_BASE);
- /* copy to destintion */
- for (dst = (int *)CONFIG_SYS_SPL_ARGS_ADDR,
- src = (int *)CONFIG_SYS_TEXT_BASE;
- src < (int *)(CONFIG_SYS_TEXT_BASE +
- CONFIG_CMD_SPL_WRITE_SIZE);
- src++, dst++) {
- writel(readl(src), dst);
- }
-
- /* load linux */
- nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS,
- CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
- spl_parse_image_header(header);
- if (header->ih_os == IH_OS_LINUX) {
- /* happy - was a linux */
- nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS,
- spl_image.size, (void *)spl_image.load_addr);
- nand_deselect();
- return;
- } else {
- puts("The Expected Linux image was not "
- "found. Please check your NAND "
- "configuration.\n");
- puts("Trying to start u-boot now...\n");
- }
- }
-#endif
-#ifdef CONFIG_NAND_ENV_DST
- nand_spl_load_image(CONFIG_ENV_OFFSET,
- CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
- spl_parse_image_header(header);
- nand_spl_load_image(CONFIG_ENV_OFFSET, spl_image.size,
- (void *)spl_image.load_addr);
-#ifdef CONFIG_ENV_OFFSET_REDUND
- nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND,
- CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
- spl_parse_image_header(header);
- nand_spl_load_image(CONFIG_ENV_OFFSET_REDUND, spl_image.size,
- (void *)spl_image.load_addr);
-#endif
-#endif
- /* Load u-boot */
- nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS,
- CONFIG_SYS_NAND_PAGE_SIZE, (void *)header);
- spl_parse_image_header(header);
- nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS,
- spl_image.size, (void *)spl_image.load_addr);
- nand_deselect();
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_net.c b/qemu/roms/u-boot/common/spl/spl_net.c
deleted file mode 100644
index ff5370592..000000000
--- a/qemu/roms/u-boot/common/spl/spl_net.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2012
- * Ilya Yanok <ilya.yanok@gmail.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <spl.h>
-#include <net.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-void spl_net_load_image(const char *device)
-{
- int rv;
-
- env_init();
- env_relocate();
- setenv("autoload", "yes");
- load_addr = CONFIG_SYS_TEXT_BASE - sizeof(struct image_header);
- rv = eth_initialize(gd->bd);
- if (rv == 0) {
- printf("No Ethernet devices found\n");
- hang();
- }
- if (device)
- setenv("ethact", device);
- rv = NetLoop(BOOTP);
- if (rv < 0) {
- printf("Problem booting with BOOTP\n");
- hang();
- }
- spl_parse_image_header((struct image_header *)load_addr);
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_nor.c b/qemu/roms/u-boot/common/spl/spl_nor.c
deleted file mode 100644
index b444a3ea2..000000000
--- a/qemu/roms/u-boot/common/spl/spl_nor.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2012 Stefan Roese <sr@denx.de>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <common.h>
-#include <spl.h>
-
-void spl_nor_load_image(void)
-{
- /*
- * Loading of the payload to SDRAM is done with skipping of
- * the mkimage header in this SPL NOR driver
- */
- spl_image.flags |= SPL_COPY_PAYLOAD_ONLY;
-
- if (spl_start_uboot()) {
- /*
- * Load real U-Boot from its location in NOR flash to its
- * defined location in SDRAM
- */
- spl_parse_image_header(
- (const struct image_header *)CONFIG_SYS_UBOOT_BASE);
-
- memcpy((void *)spl_image.load_addr,
- (void *)(CONFIG_SYS_UBOOT_BASE +
- sizeof(struct image_header)),
- spl_image.size);
- } else {
- /*
- * Load Linux from its location in NOR flash to its defined
- * location in SDRAM
- */
- spl_parse_image_header(
- (const struct image_header *)CONFIG_SYS_OS_BASE);
-
- memcpy((void *)spl_image.load_addr,
- (void *)(CONFIG_SYS_OS_BASE +
- sizeof(struct image_header)),
- spl_image.size);
-
- /*
- * Copy DT blob (fdt) to SDRAM. Passing pointer to flash
- * doesn't work (16 KiB should be enough for DT)
- */
- memcpy((void *)CONFIG_SYS_SPL_ARGS_ADDR,
- (void *)(CONFIG_SYS_FDT_BASE),
- (16 << 10));
- }
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_onenand.c b/qemu/roms/u-boot/common/spl/spl_onenand.c
deleted file mode 100644
index d8d80974f..000000000
--- a/qemu/roms/u-boot/common/spl/spl_onenand.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2013
- * ISEE 2007 SL - Enric Balletbo i Serra <eballetbo@iseebcn.com>
- *
- * Based on common/spl/spl_nand.c
- * Copyright (C) 2011
- * Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <spl.h>
-#include <asm/io.h>
-#include <onenand_uboot.h>
-
-void spl_onenand_load_image(void)
-{
- struct image_header *header;
-
- debug("spl: onenand\n");
-
- /*use CONFIG_SYS_TEXT_BASE as temporary storage area */
- header = (struct image_header *)(CONFIG_SYS_TEXT_BASE);
- /* Load u-boot */
- onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
- CONFIG_SYS_ONENAND_PAGE_SIZE, (void *)header);
- spl_parse_image_header(header);
- onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS,
- spl_image.size, (void *)spl_image.load_addr);
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_sata.c b/qemu/roms/u-boot/common/spl/spl_sata.c
deleted file mode 100644
index 2e7adca0c..000000000
--- a/qemu/roms/u-boot/common/spl/spl_sata.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * (C) Copyright 2013
- * Texas Instruments, <www.ti.com>
- *
- * Dan Murphy <dmurphy@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- *
- * Derived work from spl_usb.c
- */
-
-#include <common.h>
-#include <spl.h>
-#include <asm/u-boot.h>
-#include <sata.h>
-#include <fat.h>
-#include <version.h>
-#include <image.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-void spl_sata_load_image(void)
-{
- int err;
- block_dev_desc_t *stor_dev;
-
- err = init_sata(CONFIG_SPL_SATA_BOOT_DEVICE);
- if (err) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("spl: sata init failed: err - %d\n", err);
-#endif
- hang();
- } else {
- /* try to recognize storage devices immediately */
- stor_dev = scsi_get_dev(0);
- }
-
-#ifdef CONFIG_SPL_OS_BOOT
- if (spl_start_uboot() || spl_load_image_fat_os(stor_dev,
- CONFIG_SYS_SATA_FAT_BOOT_PARTITION))
-#endif
- err = spl_load_image_fat(stor_dev,
- CONFIG_SYS_SATA_FAT_BOOT_PARTITION,
- CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME);
- if (err) {
- puts("Error loading sata device\n");
- hang();
- }
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_usb.c b/qemu/roms/u-boot/common/spl/spl_usb.c
deleted file mode 100644
index 53a904379..000000000
--- a/qemu/roms/u-boot/common/spl/spl_usb.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * (C) Copyright 2014
- * Texas Instruments, <www.ti.com>
- *
- * Dan Murphy <dmurphy@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- *
- * Derived work from spl_mmc.c
- */
-
-#include <common.h>
-#include <spl.h>
-#include <asm/u-boot.h>
-#include <usb.h>
-#include <fat.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-#ifdef CONFIG_USB_STORAGE
-static int usb_stor_curr_dev = -1; /* current device */
-#endif
-
-void spl_usb_load_image(void)
-{
- int err;
- block_dev_desc_t *stor_dev;
-
- usb_stop();
- err = usb_init();
- if (err) {
-#ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
- printf("%s: usb init failed: err - %d\n", __func__, err);
-#endif
- hang();
- }
-
-#ifdef CONFIG_USB_STORAGE
- /* try to recognize storage devices immediately */
- usb_stor_curr_dev = usb_stor_scan(1);
- stor_dev = usb_stor_get_dev(usb_stor_curr_dev);
-#endif
-
- debug("boot mode - FAT\n");
-
-#ifdef CONFIG_SPL_OS_BOOT
- if (spl_start_uboot() || spl_load_image_fat_os(stor_dev,
- CONFIG_SYS_USB_FAT_BOOT_PARTITION))
-#endif
- err = spl_load_image_fat(stor_dev,
- CONFIG_SYS_USB_FAT_BOOT_PARTITION,
- CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME);
-
- if (err) {
- puts("Error loading USB device\n");
- hang();
- }
-}
diff --git a/qemu/roms/u-boot/common/spl/spl_ymodem.c b/qemu/roms/u-boot/common/spl/spl_ymodem.c
deleted file mode 100644
index 0f1e99707..000000000
--- a/qemu/roms/u-boot/common/spl/spl_ymodem.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * (C) Copyright 2000-2004
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * (C) Copyright 2011
- * Texas Instruments, <www.ti.com>
- *
- * Matt Porter <mporter@ti.com>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-#include <common.h>
-#include <spl.h>
-#include <xyzModem.h>
-#include <asm/u-boot.h>
-#include <asm/utils.h>
-
-#define BUF_SIZE 1024
-
-static int getcymodem(void) {
- if (tstc())
- return (getc());
- return -1;
-}
-
-void spl_ymodem_load_image(void)
-{
- int size = 0;
- int err;
- int res;
- int ret;
- connection_info_t info;
- char buf[BUF_SIZE];
- ulong store_addr = ~0;
- ulong addr = 0;
-
- info.mode = xyzModem_ymodem;
- ret = xyzModem_stream_open(&info, &err);
-
- if (!ret) {
- while ((res =
- xyzModem_stream_read(buf, BUF_SIZE, &err)) > 0) {
- if (addr == 0)
- spl_parse_image_header((struct image_header *)buf);
- store_addr = addr + spl_image.load_addr;
- size += res;
- addr += res;
- memcpy((char *)(store_addr), buf, res);
- }
- } else {
- printf("spl: ymodem err - %s\n", xyzModem_error(err));
- hang();
- }
-
- xyzModem_stream_close(&err);
- xyzModem_stream_terminate(false, &getcymodem);
-
- printf("Loaded %d bytes\n", size);
-}