1*6000992eSEnric Balletbo i Serra /* 2*6000992eSEnric Balletbo i Serra * Copyright (C) 2013 3*6000992eSEnric Balletbo i Serra * ISEE 2007 SL - Enric Balletbo i Serra <eballetbo@iseebcn.com> 4*6000992eSEnric Balletbo i Serra * 5*6000992eSEnric Balletbo i Serra * Based on common/spl/spl_nand.c 6*6000992eSEnric Balletbo i Serra * Copyright (C) 2011 7*6000992eSEnric Balletbo i Serra * Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de> 8*6000992eSEnric Balletbo i Serra * 9*6000992eSEnric Balletbo i Serra * See file CREDITS for list of people who contributed to this 10*6000992eSEnric Balletbo i Serra * project. 11*6000992eSEnric Balletbo i Serra * 12*6000992eSEnric Balletbo i Serra * This program is free software; you can redistribute it and/or 13*6000992eSEnric Balletbo i Serra * modify it under the terms of the GNU General Public License as 14*6000992eSEnric Balletbo i Serra * published by the Free Software Foundation; either version 2 of 15*6000992eSEnric Balletbo i Serra * the License, or (at your option) any later version. 16*6000992eSEnric Balletbo i Serra * 17*6000992eSEnric Balletbo i Serra * This program is distributed in the hope that it will be useful, 18*6000992eSEnric Balletbo i Serra * but WITHOUT ANY WARRANTY; without even the implied warranty of 19*6000992eSEnric Balletbo i Serra * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20*6000992eSEnric Balletbo i Serra * GNU General Public License for more details. 21*6000992eSEnric Balletbo i Serra * 22*6000992eSEnric Balletbo i Serra * You should have received a copy of the GNU General Public License 23*6000992eSEnric Balletbo i Serra * along with this program; if not, write to the Free Software 24*6000992eSEnric Balletbo i Serra * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 25*6000992eSEnric Balletbo i Serra * MA 02111-1307 USA 26*6000992eSEnric Balletbo i Serra */ 27*6000992eSEnric Balletbo i Serra #include <common.h> 28*6000992eSEnric Balletbo i Serra #include <config.h> 29*6000992eSEnric Balletbo i Serra #include <spl.h> 30*6000992eSEnric Balletbo i Serra #include <asm/io.h> 31*6000992eSEnric Balletbo i Serra #include <onenand_uboot.h> 32*6000992eSEnric Balletbo i Serra 33*6000992eSEnric Balletbo i Serra void spl_onenand_load_image(void) 34*6000992eSEnric Balletbo i Serra { 35*6000992eSEnric Balletbo i Serra struct image_header *header; 36*6000992eSEnric Balletbo i Serra 37*6000992eSEnric Balletbo i Serra debug("spl: onenand\n"); 38*6000992eSEnric Balletbo i Serra 39*6000992eSEnric Balletbo i Serra /*use CONFIG_SYS_TEXT_BASE as temporary storage area */ 40*6000992eSEnric Balletbo i Serra header = (struct image_header *)(CONFIG_SYS_TEXT_BASE); 41*6000992eSEnric Balletbo i Serra /* Load u-boot */ 42*6000992eSEnric Balletbo i Serra onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS, 43*6000992eSEnric Balletbo i Serra CONFIG_SYS_ONENAND_PAGE_SIZE, (void *)header); 44*6000992eSEnric Balletbo i Serra spl_parse_image_header(header); 45*6000992eSEnric Balletbo i Serra onenand_spl_load_image(CONFIG_SYS_ONENAND_U_BOOT_OFFS, 46*6000992eSEnric Balletbo i Serra spl_image.size, (void *)spl_image.load_addr); 47*6000992eSEnric Balletbo i Serra } 48