From patchwork Fri Nov 24 13:01:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Sean_Nyekj=C3=A6r?= X-Patchwork-Id: 841026 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="H1vgLtBq"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3yjxDz6wCCz9s4s for ; Sat, 25 Nov 2017 00:02:43 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 54710C21DCA; Fri, 24 Nov 2017 13:02:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 489C0C21DE5; Fri, 24 Nov 2017 13:02:38 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 27D53C21DDD; Fri, 24 Nov 2017 13:02:15 +0000 (UTC) Received: from mail02.prevas.se (mail02.prevas.se [62.95.78.10]) by lists.denx.de (Postfix) with ESMTPS id 1BEF7C21DDE for ; Fri, 24 Nov 2017 13:02:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=prevas.dk; i=@prevas.dk; l=1882; q=dns/txt; s=ironport2; t=1511528534; x=1543064534; h=from:to:cc:subject:date:message-id:mime-version; bh=ldqNrJul8U8WnEW6vH2mc12GBfjRw40+QhmAbDHKCyc=; b=H1vgLtBqnwFSUdVQpPe4BPoAZG2C3s1MVzFOaMpBDyknaP43qTddE2P8 h6pyMbZFibYMK/HvUo5bHY6zqcj3W4bXdne4XMA65tFUP4i7VBbSY4MZx Q84H9j1mhWenkIk8xNXHPdWl6mTPpfzODAJVz9LEEnNt3e0m7tzfypKLo 8=; X-IronPort-AV: E=Sophos;i="5.44,447,1505772000"; d="scan'208";a="2723962" Received: from vmprevas4.prevas.se (HELO smtp.prevas.se) ([172.16.8.104]) by ironport2.prevas.se with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Nov 2017 14:02:13 +0100 Received: from skn.prevas.se (172.16.8.31) by smtp.prevas.se (172.16.8.104) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 24 Nov 2017 14:02:13 +0100 From: Sean Nyekjaer To: , Date: Fri, 24 Nov 2017 14:01:47 +0100 Message-ID: <20171124130147.11567-1-sean.nyekjaer@prevas.dk> X-Mailer: git-send-email 2.15.0 MIME-Version: 1.0 X-Originating-IP: [172.16.8.31] Cc: prafulla@marvell.com, sr@denx.de, luka.perkov@sartura.hr Subject: [U-Boot] [PATCH] arm: mvebu: enable boot from NAND X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Check if we are booting from NAND and let the bootrom continue to load the rest of the bootloader Signed-off-by: Sean Nyekjaer --- arch/arm/mach-mvebu/include/mach/soc.h | 1 + arch/arm/mach-mvebu/spl.c | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h index 4f81285bb5..1a06a1e876 100644 --- a/arch/arm/mach-mvebu/include/mach/soc.h +++ b/arch/arm/mach-mvebu/include/mach/soc.h @@ -147,6 +147,7 @@ #define BOOT_DEV_SEL_OFFS 4 #define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS) +#define BOOT_FROM_NAND 0x0A #define BOOT_FROM_UART 0x28 #define BOOT_FROM_UART_ALT 0x3f #define BOOT_FROM_SPI 0x32 diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c index 2fd6c62589..d16a62d2dd 100644 --- a/arch/arm/mach-mvebu/spl.c +++ b/arch/arm/mach-mvebu/spl.c @@ -45,6 +45,10 @@ static u32 get_boot_device(void) boot_device = (val & BOOT_DEV_SEL_MASK) >> BOOT_DEV_SEL_OFFS; debug("SAR_REG=0x%08x boot_device=0x%x\n", val, boot_device); switch (boot_device) { +#if defined(CONFIG_ARMADA_38X) + case BOOT_FROM_NAND: + return BOOT_DEVICE_NAND; +#endif #ifdef CONFIG_SPL_MMC_SUPPORT case BOOT_FROM_MMC: case BOOT_FROM_MMC_ALT: @@ -128,7 +132,15 @@ void board_init_f(ulong dummy) * SPL has no chance to receive this information. So we * need to return to the BootROM to enable this xmodem * UART download. + * + * If booting from NAND lets let the BootROM load the + * rest of the bootloader. */ - if (get_boot_device() == BOOT_DEVICE_UART) - return_to_bootrom(); + switch (get_boot_device()) { + case BOOT_DEVICE_UART: +#if defined(CONFIG_ARMADA_38X) + case BOOT_DEVICE_NAND: +#endif + return_to_bootrom(); + } }