X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fspl.h;h=a7e41da7fd4980ef2362816a63d8680cc26ef1b9;hb=174deb768c65969a3bcdab4dfbcdcb02abe9f09e;hp=af9ef71b0154c71591c6fbddb10e5887a0255a13;hpb=47f7bcae8c0de8b2a8af7ca309744f041a6d1424;p=u-boot diff --git a/include/spl.h b/include/spl.h index af9ef71b01..a7e41da7fd 100644 --- a/include/spl.h +++ b/include/spl.h @@ -2,34 +2,21 @@ * (C) Copyright 2012 * Texas Instruments, * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _SPL_H_ #define _SPL_H_ /* Platform-specific defines */ +#include #include + /* Boot type */ #define MMCSD_MODE_UNDEFINED 0 #define MMCSD_MODE_RAW 1 #define MMCSD_MODE_FAT 2 +#define MMCSD_MODE_EMMCBOOT 3 struct spl_image_info { const char *name; @@ -37,10 +24,12 @@ struct spl_image_info { u32 load_addr; u32 entry_point; u32 size; + u32 flags; }; +#define SPL_COPY_PAYLOAD_ONLY 1 + extern struct spl_image_info spl_image; -extern u32 *boot_params_ptr; /* SPL common functions */ void preloader_console_init(void); @@ -48,12 +37,19 @@ u32 spl_boot_device(void); u32 spl_boot_mode(void); void spl_parse_image_header(const struct image_header *header); void spl_board_prepare_for_linux(void); +void __noreturn jump_to_image_linux(void *arg); int spl_start_uboot(void); void spl_display_print(void); /* NAND SPL functions */ void spl_nand_load_image(void); +/* OneNAND SPL functions */ +void spl_onenand_load_image(void); + +/* NOR SPL functions */ +void spl_nor_load_image(void); + /* MMC SPL functions */ void spl_mmc_load_image(void); @@ -61,7 +57,20 @@ void spl_mmc_load_image(void); void spl_ymodem_load_image(void); /* SPI SPL functions */ -void spi_boot(void); +void spl_spi_load_image(void); + +/* Ethernet SPL functions */ +void spl_net_load_image(const char *device); + +/* USB SPL functions */ +void spl_usb_load_image(void); + +/* SATA SPL functions */ +void spl_sata_load_image(void); + +/* SPL FAT image functions */ +int spl_load_image_fat(block_dev_desc_t *block_dev, int partition, const char *filename); +int spl_load_image_fat_os(block_dev_desc_t *block_dev, int partition); #ifdef CONFIG_SPL_BOARD_INIT void spl_board_init(void);