From patchwork Thu Feb 15 12:12:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 873966 X-Patchwork-Delegate: sbabic@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=) Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zj19N3Rz6z9t1t for ; Fri, 16 Feb 2018 02:56:40 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 0F118C221A3; Thu, 15 Feb 2018 15:56:24 +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=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS 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 74C25C221B9; Thu, 15 Feb 2018 15:55:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 185F0C21E1D; Thu, 15 Feb 2018 15:55:46 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0064.outbound.protection.outlook.com [104.47.41.64]) by lists.denx.de (Postfix) with ESMTPS id 03846C21E1D for ; Thu, 15 Feb 2018 15:55:46 +0000 (UTC) Received: from BYAPR03CA0031.namprd03.prod.outlook.com (52.135.212.44) by CY1PR03MB1423.namprd03.prod.outlook.com (10.163.17.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.506.18; Thu, 15 Feb 2018 15:55:43 +0000 Received: from BN1AFFO11FD018.protection.gbl (2a01:111:f400:7c10::186) by BYAPR03CA0031.outlook.office365.com (2603:10b6:a02:a8::44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.506.18 via Frontend Transport; Thu, 15 Feb 2018 15:55:43 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; lists.denx.de; dkim=none (message not signed) header.d=none; lists.denx.de; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD018.mail.protection.outlook.com (10.58.52.78) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.485.12 via Frontend Transport; Thu, 15 Feb 2018 15:55:42 +0000 Received: from fabio-Latitude-E5450.am.freescale.net (fabio-Latitude-E5450.am.freescale.net [10.29.244.143]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w1FCCfjF009414; Thu, 15 Feb 2018 05:12:42 -0700 From: Fabio Estevam To: Date: Thu, 15 Feb 2018 10:12:46 -0200 Message-ID: <1518696766-15562-1-git-send-email-fabio.estevam@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131631837431630175; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:CAL; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(396003)(376002)(39860400002)(346002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(2351001)(8676002)(26826003)(106466001)(59450400001)(81156014)(81166006)(8936002)(26005)(105606002)(50226002)(336011)(77096007)(1857600001)(85426001)(5660300001)(575784001)(97736004)(86362001)(316002)(16586007)(54906003)(51416003)(47776003)(498600001)(356003)(53936002)(36756003)(104016004)(2906002)(4326008)(6862004)(305945005)(68736007)(50466002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB1423; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD018; 1:V82FIi9MBztEjsudaFThES0RFT8ui0hlJkvAUFAzbVOv11FPL+XD2Mg3NR0+bfNGOR3XGaZbdydj3gDMx9RkF7nJtyUiicr0ZwKu75pguoyho755Y0KKavzu/lWnAOoz MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b78e5fad-db17-4768-27fe-08d5748c91b3 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:CY1PR03MB1423; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1423; 3:CztMOPieNLSBkyptl8f4TWV8CyHldpnNTLcwnL6jdo7tk0c98KFBwWSi6vkvVDbJ0X5iPguh5/ZFbUnJRV3Z8Q+aYIctGx+8dtDe8mT9f+Ai2HWMvzycFy2XIoef6uh0bXZ5ehu7S1JgL5MoIgt7s5etLFoM2WqHaavtq77xr7MgxlP58dlREYxeO4GswOZLAIfkNCLqNd6uVoroPlse8Gp1rjXiJ3CMu3lUsSGxfBbM2MqWEu+lWPxRBv7eS09fnSxEeOi7guhFFYGfZiOG1sYdzPjCeDDs0FtudrT/5gZpxkxF0m2avMo5SlzEYDRPt+Slu1bd8WBzqUBFlBcC1JGANbfI7O+8KJQp+9Pfc1w=; 25:1REbU3e662GnjoElTS44l2+kw14H+rNADM9JisF7MYUsAa1aLOWurRM1Hw3FFeSCf8c1K3BK6McDCX9aMXYfo5+kKNmr0X9rs9pdUWFyx+D1MBueQMjbyIOCkjw3j31iJq2fwFoLHTCPnGxIp6SKnn2kgj3vs1MX4ywQKnJ4bMsCFSi6mQysfTJmqA1Zaijuub5Mi/+EVGXxsapTlKt/sNgyslnMGSFnIFCzeFFaw3YOzkD4tU8m4/DG2WDqKI5dPYUPAOidakM1iKTLaTF6vszkjkYnY/QgzOP2DeDPw6CE3o7d+2bVKvQDSpERctxAqjgtTySojxRy5OWi51zfhQ== X-MS-TrafficTypeDiagnostic: CY1PR03MB1423: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1423; 31:OVcpEXJRnc+2ie/kUYyIBB+O6S92N07rLK1JxDDd0Nvk38hiKTr7q6lg6b9tWrbTmbU71TABYyQ9S4pJuy0AaoPwHhPq5if4GQhf9KgQurtzKk1c7yH3f+P8LFFRKg3XyDt7/qWKn2burvJuRbR1XFzwaHjEZCcyvx2kGexiTxv83o9OWquYjubApLX2QeR6+jIWQDyW8xNf4cJYbIltFGQXUkg6/cBZe406on5eDRI=; 4:hO78ynsqjFYhLdlqPlsDvTQKJr6abh/qPrVGj8qqYGnzVjA1oVPn/RI+r4SDxk9gfq5Ft29+jXvulqCPxJ5QWl7VHXNeVLq637JwqC7RoLw76SyP95HrgqxOFL0YEJ6JoDuIbYEEIYxkJtDcs4ZZwyy8W4SxqGuEzgaSVP0L/76eahX3ME8Ff4Egh0b/yR6Yi9ER3v8fhig5tfvG0AzdkfUFuPBLT62QEwwUvvHCGS+/o4O5Xv9UqKK4LAxJqK4cY277Vy3L6fQVB4oU8QYmZ68jTniemqx23roIx1lvdjq18D49QUbmSi2SDxfjAt7q X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(3231101)(944501161)(10201501046)(6055026)(6096035)(20161123561025)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703151042153)(20161123559100)(20161123565025)(20161123563025)(201708071742011); SRVR:CY1PR03MB1423; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB1423; X-Forefront-PRVS: 058441C12A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB1423; 23:OIF5Dc7B0FQuWga6VuFm+Tjs8TDm8489LWH3VAE8K?= zZF8KioInNPkqgG38/Z/P0tqTMi9QtZJjtBLmyPrI0jC1bQG80LLnb5B2k+P/59C7T7nQbxxdErEx7oLvYpv899U0O+n5VWICPRjcXLDzOcpkirGWo3pd7oNgJjZ5L2cFhxeJN8OWStrrkdOS9VcmOFF/7paGIdbOuArLEaDkHm49IN6y9kieUHIwqtR8iSdax+Rosa60m+DOrr7iaFWjmI0eI0ueAUvEUbEkk8MYaE7+ignukYWAIRbeIRBTUShRH1H4bQBEgwl6aQ+ZKm5NtYuKXU4X0Se3xaWk/H/DyAZ8CKlTvZ8S7T4asApOK0kMxUlcqmZCDPaA6J420Nf6fe6AnABsK8i7tgZKhrFILlrHiaYguF9tnZZzwNhoGMmX+osc79qmfmLjbRBQfE5NWJR3DqaQssJL40SIAIYMuJoPJT6SAdpdU18nh0lUC7kCSLFTiYpRveXdI9ykrcvPyk/OOIERA2AbtuiXzcm1TuI1mMXMpg9JgEZskwwIdMmIrTF7NP/V4CmBpCLsSdmSakYLzzl2xiunEzKhDnYfrVMRA+rf2ChTPcTDabIArzJK9gLn4zrsvD7KWyQpUZjxmGPtDV2gBZv7oPfcBhbB1Oc2XOqSRKPSCzjoCfC9297X512NJqTf/ST4Pdw1g9FC1fghVEfrMzSW1vtG50YOEVy9bAS9rsmCCRTB8pqaFqvNMeY04u2bFd8MU7Jji7yApyrb8CXosiogLNwZUpgw75Rn+bnvS0bRRkJzkWf6OtqlVWAKKP+qxAI7knu/yKfMQT39DYYNeGXd+hgoXRc3kc8l4rGic1PONbf4V2goR59F2kKla0QZfZzAUZlLBykjiu7vmfniXi1++mVESHxmcw9/6GkATP1S+II+qvJ65Flt6i/QcjUCSdsMmKmTggVIW1GDW+ZqKfgnAYGYwFsI5qL5JqHfZy3xctV5/s8kg0yYLX0vR+88f8DLC4/e2Q7Qo859b+2oaJuuaFRYkhcomPu5pC+c3anR25rskuKjuxDASXAJnGZxaihB4njX6T64satfWL8Yh9njdQpZR2hYBRAQbZx2DBLDA+x0P1PfZMU0E= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB1423; 6:W3CevZoLVSw/bSuoKGG4Xse9F2rHoKUcVEy0JrIxsYc/jOTxQ+3q60nqrw5UM4LCPZZkwbf2MauPZszeUN5PMPKfTuad1DXgOfn+an02/guu8EZoggaAGeum1WwcE6qr6gYfFLYjigVwSjtJzGT2tvEhmVB1iOpf2iAk/nIrFR599gj/RHKfjFgDWFDbsrshrnl7UawQUeciu5h8uTc12Di+NB0yB4T+yF1i8UgjNJE7RNinq5qknEoz0AuXZDAu5InO2iEcj2OkmyUQ0QRSbqNS6lpwD5b4UsokcPECKebXUv5+rdkORfGaN6bPS52E3nlfP4PJB2fIXDUqbsTbwdf0vy5YlH8Kg7oT1ujMqJI=; 5:JMMPbsPp/uVWguGp6ajs/CCLPvwsBDudNEcX1BWtj8r1s4I8a/zwzStC+GdtRhmTtWvxfWoGpTutUXB1C4yvWJHue3EQ5HvZGcedH2IADvZUSoV9zVmu6TnxrL+ZkbX9ouaQbww2l4GVOI8/GpYR71R3bs0swoAidmbkVictFxs=; 24:7cz8iTWdq12z8C8cv19u2JuEuuDqESKnekfHkg63MJwPjPLUpynq5zALCacTgqSzP+yNeATTWgq63RvvAIlW0RCqfsfvyjPL02QugDuLZ1w=; 7:T7v0Tv1vx0uVqOs0c5QKriKCJyIcTOvVg/zjeKFCGyZXxu4t2JN6eBlKTlESQkn/x7P1BJcR8znmJ96hM/MYtIYMKlRqXIgk5OQ880qg1Ok4ccYIOJjmRM4llHEgtOgWJ/cC4bhqeMxO38zbdSV9AKEKnk+ainm6L6UY0oxGSScf7a4CH3xnFgYrhIIVqmQuujZ3/REYc9MXU+PBuSquaEVT5v4UES4zxn5Z3vOjaQ4TKW1e6mzx15BE6AERMVAe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2018 15:55:42.9758 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b78e5fad-db17-4768-27fe-08d5748c91b3 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1423 Cc: Fabio Estevam , trini@konsulko.com, jsg@jsg.id.au, u-boot@lists.denx.de Subject: [U-Boot] [PATCH] Revert "spl: eMMC/SD: Provide one __weak spl_boot_mode() function" 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" This reverts commit d695d6627803dbb78a226e04b0436a01633a9936. Commit d695d6627803 ("spl: eMMC/SD: Provide one __weak spl_boot_mode() function") breaks the build on several i.MX6 boards, such as cuboxi and wandboard: U-Boot SPL 2018.03-rc1-00212-g48914fc119 (Feb 10 2018 - 11:04:33 +1300) Trying to boot from MMC1 Failed to mount ext2 filesystem... spl_load_image_ext: ext4fs mount err - 0 Revert it so that we can boot U-Boot again. Reported-by: Jonathan Gray Signed-off-by: Fabio Estevam --- arch/arm/cpu/arm1136/mx35/generic.c | 21 +++++++++++++++++++++ arch/arm/cpu/armv7/ls102xa/spl.c | 17 +++++++++++++++++ arch/arm/cpu/armv8/fsl-layerscape/spl.c | 17 +++++++++++++++++ arch/arm/cpu/armv8/zynqmp/spl.c | 14 ++++++++++++++ arch/arm/mach-at91/spl.c | 15 +++++++++++++++ arch/arm/mach-davinci/spl.c | 5 +++++ arch/arm/mach-imx/spl.c | 23 +++++++++++++++++++++++ arch/arm/mach-mvebu/spl.c | 7 +++++++ arch/arm/mach-rockchip/rk3188-board-spl.c | 5 +++++ arch/arm/mach-rockchip/rk3288-board-spl.c | 5 +++++ arch/arm/mach-rockchip/rk3368-board-spl.c | 5 +++++ arch/arm/mach-rockchip/rk3399-board-spl.c | 5 +++++ arch/arm/mach-socfpga/spl.c | 11 +++++++++++ arch/arm/mach-sunxi/board.c | 6 ++++++ arch/arm/mach-zynq/spl.c | 7 +++++++ common/spl/spl_mmc.c | 11 ----------- 16 files changed, 163 insertions(+), 11 deletions(-) diff --git a/arch/arm/cpu/arm1136/mx35/generic.c b/arch/arm/cpu/arm1136/mx35/generic.c index 4dcfc72..5297d62 100644 --- a/arch/arm/cpu/arm1136/mx35/generic.c +++ b/arch/arm/cpu/arm1136/mx35/generic.c @@ -524,3 +524,24 @@ u32 spl_boot_device(void) return BOOT_DEVICE_NONE; } + +#ifdef CONFIG_SPL_BUILD +u32 spl_boot_mode(const u32 boot_device) +{ + switch (spl_boot_device()) { + case BOOT_DEVICE_MMC1: +#ifdef CONFIG_SPL_FAT_SUPPORT + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif + break; + case BOOT_DEVICE_NAND: + return 0; + break; + default: + puts("spl: ERROR: unsupported device\n"); + hang(); + } +} +#endif diff --git a/arch/arm/cpu/armv7/ls102xa/spl.c b/arch/arm/cpu/armv7/ls102xa/spl.c index 1e4a164..1246eed 100644 --- a/arch/arm/cpu/armv7/ls102xa/spl.c +++ b/arch/arm/cpu/armv7/ls102xa/spl.c @@ -14,3 +14,20 @@ u32 spl_boot_device(void) #endif return BOOT_DEVICE_NAND; } + +u32 spl_boot_mode(const u32 boot_device) +{ + switch (spl_boot_device()) { + case BOOT_DEVICE_MMC1: +#ifdef CONFIG_SPL_FAT_SUPPORT + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif + case BOOT_DEVICE_NAND: + return 0; + default: + puts("spl: error: unsupported device\n"); + hang(); + } +} diff --git a/arch/arm/cpu/armv8/fsl-layerscape/spl.c b/arch/arm/cpu/armv8/fsl-layerscape/spl.c index 3a74040..4093d15 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/spl.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/spl.c @@ -26,6 +26,23 @@ u32 spl_boot_device(void) return 0; } +u32 spl_boot_mode(const u32 boot_device) +{ + switch (spl_boot_device()) { + case BOOT_DEVICE_MMC1: +#ifdef CONFIG_SPL_FAT_SUPPORT + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif + case BOOT_DEVICE_NAND: + return 0; + default: + puts("spl: error: unsupported device\n"); + hang(); + } +} + #ifdef CONFIG_SPL_BUILD void spl_board_init(void) diff --git a/arch/arm/cpu/armv8/zynqmp/spl.c b/arch/arm/cpu/armv8/zynqmp/spl.c index 0bfa5c1..bc7313a 100644 --- a/arch/arm/cpu/armv8/zynqmp/spl.c +++ b/arch/arm/cpu/armv8/zynqmp/spl.c @@ -115,6 +115,20 @@ u32 spl_boot_device(void) return 0; } +u32 spl_boot_mode(const u32 boot_device) +{ + switch (boot_device) { + case BOOT_DEVICE_RAM: + return 0; + case BOOT_DEVICE_MMC1: + case BOOT_DEVICE_MMC2: + return MMCSD_MODE_FS; + default: + puts("spl: error: unsupported device\n"); + hang(); + } +} + #ifdef CONFIG_SPL_OS_BOOT int spl_start_uboot(void) { diff --git a/arch/arm/mach-at91/spl.c b/arch/arm/mach-at91/spl.c index 91add92..7e7e24b 100644 --- a/arch/arm/mach-at91/spl.c +++ b/arch/arm/mach-at91/spl.c @@ -87,3 +87,18 @@ u32 spl_boot_device(void) return BOOT_DEVICE_NONE; } #endif + +u32 spl_boot_mode(const u32 boot_device) +{ + switch (boot_device) { +#if defined(CONFIG_SYS_USE_MMC) || defined(CONFIG_SD_BOOT) + case BOOT_DEVICE_MMC1: + case BOOT_DEVICE_MMC2: + return MMCSD_MODE_FS; + break; +#endif + case BOOT_DEVICE_NONE: + default: + hang(); + } +} diff --git a/arch/arm/mach-davinci/spl.c b/arch/arm/mach-davinci/spl.c index 4c74db9..564c200 100644 --- a/arch/arm/mach-davinci/spl.c +++ b/arch/arm/mach-davinci/spl.c @@ -45,6 +45,11 @@ void spl_board_init(void) preloader_console_init(); } +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + u32 spl_boot_device(void) { switch (davinci_syscfg_regs->bootcfg) { diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c index a9079fc..b2521b2 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -132,6 +132,29 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) } #endif +#if defined(CONFIG_SPL_MMC_SUPPORT) +/* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */ +u32 spl_boot_mode(const u32 boot_device) +{ + switch (spl_boot_device()) { + /* for MMC return either RAW or FAT mode */ + case BOOT_DEVICE_MMC1: + case BOOT_DEVICE_MMC2: +#if defined(CONFIG_SPL_FAT_SUPPORT) + return MMCSD_MODE_FS; +#elif defined(CONFIG_SUPPORT_EMMC_BOOT) + return MMCSD_MODE_EMMCBOOT; +#else + return MMCSD_MODE_RAW; +#endif + break; + default: + puts("spl: ERROR: unsupported device\n"); + hang(); + } +} +#endif + #if defined(CONFIG_SECURE_BOOT) /* diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c index a5086f1..d16a62d 100644 --- a/arch/arm/mach-mvebu/spl.c +++ b/arch/arm/mach-mvebu/spl.c @@ -70,6 +70,13 @@ u32 spl_boot_device(void) return get_boot_device(); } +#ifdef CONFIG_SPL_MMC_SUPPORT +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} +#endif + void board_init_f(ulong dummy) { int ret; diff --git a/arch/arm/mach-rockchip/rk3188-board-spl.c b/arch/arm/mach-rockchip/rk3188-board-spl.c index 74771d3..8e3b8ae 100644 --- a/arch/arm/mach-rockchip/rk3188-board-spl.c +++ b/arch/arm/mach-rockchip/rk3188-board-spl.c @@ -72,6 +72,11 @@ fallback: return BOOT_DEVICE_MMC1; } +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + static int setup_arm_clock(void) { struct udevice *dev; diff --git a/arch/arm/mach-rockchip/rk3288-board-spl.c b/arch/arm/mach-rockchip/rk3288-board-spl.c index f3ea624..f64a548 100644 --- a/arch/arm/mach-rockchip/rk3288-board-spl.c +++ b/arch/arm/mach-rockchip/rk3288-board-spl.c @@ -78,6 +78,11 @@ fallback: return BOOT_DEVICE_MMC1; } +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + #ifdef CONFIG_SPL_MMC_SUPPORT static int configure_emmc(struct udevice *pinctrl) { diff --git a/arch/arm/mach-rockchip/rk3368-board-spl.c b/arch/arm/mach-rockchip/rk3368-board-spl.c index 8055ae5..72d2c97 100644 --- a/arch/arm/mach-rockchip/rk3368-board-spl.c +++ b/arch/arm/mach-rockchip/rk3368-board-spl.c @@ -57,6 +57,11 @@ void board_init_f(ulong dummy) } } +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + u32 spl_boot_device(void) { return BOOT_DEVICE_MMC1; diff --git a/arch/arm/mach-rockchip/rk3399-board-spl.c b/arch/arm/mach-rockchip/rk3399-board-spl.c index d35990e..b96903e 100644 --- a/arch/arm/mach-rockchip/rk3399-board-spl.c +++ b/arch/arm/mach-rockchip/rk3399-board-spl.c @@ -60,6 +60,11 @@ u32 spl_boot_device(void) return boot_device; } +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + #define TIMER_CHN10_BASE 0xff8680a0 #define TIMER_END_COUNT_L 0x00 #define TIMER_END_COUNT_H 0x04 diff --git a/arch/arm/mach-socfpga/spl.c b/arch/arm/mach-socfpga/spl.c index 9bf3b9a..71bae82 100644 --- a/arch/arm/mach-socfpga/spl.c +++ b/arch/arm/mach-socfpga/spl.c @@ -66,6 +66,17 @@ u32 spl_boot_device(void) } } +#ifdef CONFIG_SPL_MMC_SUPPORT +u32 spl_boot_mode(const u32 boot_device) +{ +#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT) + return MMCSD_MODE_FS; +#else + return MMCSD_MODE_RAW; +#endif +} +#endif + #if defined(CONFIG_TARGET_SOCFPGA_GEN5) static void socfpga_nic301_slave_ns(void) { diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c index 1753fae..0c60ee0 100644 --- a/arch/arm/mach-sunxi/board.c +++ b/arch/arm/mach-sunxi/board.c @@ -260,6 +260,12 @@ u32 spl_boot_device(void) return sunxi_get_boot_device(); } +/* No confirmation data available in SPL yet. Hardcode bootmode */ +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_RAW; +} + void board_init_f(ulong dummy) { spl_init(); diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c index 0a303f4..b7e6d98 100644 --- a/arch/arm/mach-zynq/spl.c +++ b/arch/arm/mach-zynq/spl.c @@ -69,6 +69,13 @@ u32 spl_boot_device(void) return mode; } +#ifdef CONFIG_SPL_MMC_SUPPORT +u32 spl_boot_mode(const u32 boot_device) +{ + return MMCSD_MODE_FS; +} +#endif + #ifdef CONFIG_SPL_OS_BOOT int spl_start_uboot(void) { diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index 351f4ed..b57e0b0 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -281,17 +281,6 @@ static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc) } #endif -u32 __weak spl_boot_mode(const u32 boot_device) -{ -#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT) - return MMCSD_MODE_FS; -#elif defined(CONFIG_SUPPORT_EMMC_BOOT) - return MMCSD_MODE_EMMCBOOT; -#else - return MMCSD_MODE_RAW; -#endif -} - int spl_mmc_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) {