X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=common%2Fspl%2Fspl_onenand.c;h=ee30f328e6027e92a22f0b387b7aa326c467dbae;hb=3cd71981531a767e5109368fede61931944bdb5c;hp=1a28a84e4407a252706a2a3eb4870dd72b39503f;hpb=7e0f22674ae871460706f9cc8653487bb51e0804;p=oweals%2Fu-boot.git diff --git a/common/spl/spl_onenand.c b/common/spl/spl_onenand.c index 1a28a84e44..ee30f328e6 100644 --- a/common/spl/spl_onenand.c +++ b/common/spl/spl_onenand.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2013 * ISEE 2007 SL - Enric Balletbo i Serra @@ -5,8 +6,6 @@ * Based on common/spl/spl_nand.c * Copyright (C) 2011 * Corscience GmbH & Co. KG - Simon Schwarz - * - * SPDX-License-Identifier: GPL-2.0+ */ #include #include @@ -14,23 +13,26 @@ #include #include -int spl_onenand_load_image(void) +static int spl_onenand_load_image(struct spl_image_info *spl_image, + struct spl_boot_device *bootdev) { struct image_header *header; int ret; debug("spl: onenand\n"); - /*use CONFIG_SYS_TEXT_BASE as temporary storage area */ - header = (struct image_header *)(CONFIG_SYS_TEXT_BASE); + header = spl_get_load_buffer(0, CONFIG_SYS_ONENAND_PAGE_SIZE); /* Load u-boot */ onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS, CONFIG_SYS_ONENAND_PAGE_SIZE, (void *)header); - ret = spl_parse_image_header(header); + ret = spl_parse_image_header(spl_image, header); if (ret) return ret; onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS, - spl_image.size, (void *)spl_image.load_addr); + spl_image->size, (void *)spl_image->load_addr); return 0; } +/* Use priorty 1 so that Ubi can override this */ +SPL_LOAD_IMAGE_METHOD("OneNAND", 1, BOOT_DEVICE_ONENAND, + spl_onenand_load_image);