From patchwork Mon May 13 18:36:27 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Korsgaard X-Patchwork-Id: 243493 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 1FDAB2C0098 for ; Tue, 14 May 2013 04:37:36 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A9B644A036; Mon, 13 May 2013 20:37:29 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sl2UHFqglBY6; Mon, 13 May 2013 20:37:29 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1552C4A028; Mon, 13 May 2013 20:37:00 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 90E5F4A023 for ; Mon, 13 May 2013 20:36:53 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b9dF2KEf8Ue5 for ; Mon, 13 May 2013 20:36:48 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 BL_NJABL=ERR(-1.5) (only DNSBL check requested) Received: from mail-wg0-f54.google.com (mail-wg0-f54.google.com [74.125.82.54]) by theia.denx.de (Postfix) with ESMTPS id 3FA734A026 for ; Mon, 13 May 2013 20:36:35 +0200 (CEST) Received: by mail-wg0-f54.google.com with SMTP id x12so6875478wgg.9 for ; Mon, 13 May 2013 11:36:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=rQIIuFH+6nsI6Up6TqdqR+enRJXt2x1/6OVjvIhm31A=; b=ijFOe9/OcpUCXd3tXw1dwCt4hFN4oLvFV6HyQb4YwbIGh6a6/52B1eKdmviMLsjl4k xrbcidEXBP1A2EA47HUSH/jLu3QT6zHIkaMzJACzLO61ZGGceotPEyEIPnr6BFggwEdQ VRgj3Kl6JL5BaMYwMwNzkT7g4+EMJ+XVkAOEIXJ7SiipM3ekPNlLKWM2ADARCrlHhKi/ Fs/oY2E/xRq5+tXX2Wuk+B2v9ehDLRm+kFgckJ6uYYF8ItrzPfdghxof3UEXUhLrT96P GB4/1XY0xewHpDa86F/1qXMdkGJxBgBnZXQJJWfi/3fEf/28ZipArq96l+BIj3sPnIG/ u3rg== X-Received: by 10.180.39.137 with SMTP id p9mr11024318wik.27.1368470195599; Mon, 13 May 2013 11:36:35 -0700 (PDT) Received: from dell.be.48ers.dk ([2001:6f8:1434:0:6267:20ff:fe4e:21b6]) by mx.google.com with ESMTPSA id dj7sm17214114wib.6.2013.05.13.11.36.33 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 13 May 2013 11:36:34 -0700 (PDT) Received: from peko by dell.be.48ers.dk with local (Exim 4.80) (envelope-from ) id 1Ubxbs-0002hA-CW; Mon, 13 May 2013 20:36:32 +0200 From: Peter Korsgaard To: u-boot@lists.denx.de, trini@ti.com, sbabic@denx.de Date: Mon, 13 May 2013 20:36:27 +0200 Message-Id: <1368470190-10299-4-git-send-email-peter.korsgaard@barco.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1368470190-10299-1-git-send-email-peter.korsgaard@barco.com> References: <1368470190-10299-1-git-send-email-peter.korsgaard@barco.com> Cc: Peter Korsgaard Subject: [U-Boot] [PATCHv3 3/6] spl_mmc: add Falcon mode support for FAT variant X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de If Falcon mode support is enabled (and the system isn't directed into booting u-boot), it will instead try to load kernel from CONFIG_SPL_FAT_LOAD_KERNEL_NAME file and kernel argument parameters from CONFIG_SPL_FAT_LOAD_ARGS_NAME, both from the same partition as u-boot. Signed-off-by: Peter Korsgaard --- README | 8 ++++++++ drivers/mmc/spl_mmc.c | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/README b/README index 0d37d56..595c05d 100644 --- a/README +++ b/README @@ -2921,6 +2921,14 @@ FIT uImage format: CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME Filename to read to load U-Boot when reading from FAT + CONFIG_SPL_FAT_LOAD_KERNEL_NAME + Filename to read to load kernel uImage when reading + from FAT (for Falcon mode) + + CONFIG_SPL_FAT_LOAD_ARGS_NAME + Filename to read to load kernel argument parameters + when reading from FAT (for Falcon mode) + CONFIG_SPL_MPC83XX_WAIT_FOR_NAND Set this for NAND SPL on PPC mpc83xx targets, so that start.S waits for the rest of the SPL to load before diff --git a/drivers/mmc/spl_mmc.c b/drivers/mmc/spl_mmc.c index fac6f2d..d250b40 100644 --- a/drivers/mmc/spl_mmc.c +++ b/drivers/mmc/spl_mmc.c @@ -91,6 +91,24 @@ end: return (err <= 0); } + +#ifdef CONFIG_SPL_OS_BOOT +static int mmc_load_image_fat_os(struct mmc *mmc) +{ + int err; + + err = file_fat_read(CONFIG_SPL_FAT_LOAD_ARGS_NAME, + (void *)CONFIG_SYS_SPL_ARGS_ADDR, 0); + if (err <= 0) { + printf("spl: error reading image %s, err - %d\n", + CONFIG_SPL_FAT_LOAD_ARGS_NAME, err); + return -1; + } + + return mmc_load_image_fat(mmc, CONFIG_SPL_FAT_LOAD_KERNEL_NAME); +} +#endif + #endif void spl_mmc_load_image(void) @@ -128,6 +146,9 @@ void spl_mmc_load_image(void) hang(); } +#ifdef CONFIG_SPL_OS_BOOT + if (spl_start_uboot() || mmc_load_image_fat_os(mmc)) +#endif err = mmc_load_image_fat(mmc, CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME); #endif } else {