From patchwork Tue Jun 26 17:10:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: York Sun X-Patchwork-Id: 934984 X-Patchwork-Delegate: trini@ti.com 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; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="inkzF+vg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 41FXd42tqjz9ryk for ; Wed, 27 Jun 2018 03:11:20 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 1D5A4C21DD4; Tue, 26 Jun 2018 17:11:10 +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, SPF_HELO_PASS, 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 7F5DBC21C2C; Tue, 26 Jun 2018 17:11:07 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E20FBC21C2C; Tue, 26 Jun 2018 17:11:05 +0000 (UTC) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60074.outbound.protection.outlook.com [40.107.6.74]) by lists.denx.de (Postfix) with ESMTPS id 3ED45C21C27 for ; Tue, 26 Jun 2018 17:11:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1BDB+snmF+iqMjvw0CAF3YocCJZAxKVOSzVdPbmiOR4=; b=inkzF+vgobK9ENUrvgjS2Nh+3jPf/SMJt79FFe+FoQJ3nnQgJKeNCFmUTD3XGaz4pmQDqAuXQDyjwwKXKzCg+dF+yXMe6kUC33FsVcukfdJnOZnhgOngnAjZV033fc/EPhUXadnOKAIo7sst8oKPiJJ36Vo3xgsuQxLeR+38my0= Received: from oslab-l16.am.freescale.net (192.88.158.246) by VI1PR04MB2078.eurprd04.prod.outlook.com (2a01:111:e400:7bde::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.24; Tue, 26 Jun 2018 17:11:01 +0000 From: York Sun To: u-boot@lists.denx.de Date: Tue, 26 Jun 2018 10:10:03 -0700 Message-Id: <1530033005-29044-1-git-send-email-york.sun@nxp.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [192.88.158.246] X-ClientProxiedBy: CO1PR15CA0099.namprd15.prod.outlook.com (2603:10b6:101:21::19) To VI1PR04MB2078.eurprd04.prod.outlook.com (2a01:111:e400:7bde::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eb5c050c-abea-4d55-74d4-08d5db87cc56 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB2078; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB2078; 3:eFJMDBkWUQxb7sLC0HHOD1rYL7GNPh+Os9MlWFvh+KkikE1ZbnhoWCNaSmM643rTSLAzUvJSQI4Ral4Ax6jE8/aTbOIDFMiT+fNZxYwag2E3iakwdC318UhXZyFOLeIbhsZ/uzW4Znju1TtNdex8nzuI9dwkOR3q1DH/I+EZVF5vpfKtwQcZOunmG5+dQ7wrkllT+x/1YG7idAOpRv/tk/dA03XIfxNnN4YMzoGUg252uGkDTAnZVgE+njzaO92C; 25:yWzBq8fAkLqIRrscc7cPMQ4Lwjbi+QRtPg9OVVzY5jsXqcMBT7dpG/dZ+FcubiyupipOqvfXzpDiPDdAYaeG3xGW2FPW1jmg4WVYo9hOP1NTnJ+qDPA/KR1UIObXrJVbwEuTkIXfn6RKbrBxvi3mbQMI2+NkD9qRnR0NF2+zmVnoSboUcFNcUzq5Erw9ce4Hn2HJlvDhZ+IqBKCOELuHQ+A4BKrTEV+MDkRaxmjXsxIUDHlSI7oSEjC6wMFTJ1MSb85RwBKskFutfTPoua8mW+4e/uZ6whhln5VRqzxdWRXBxFXtTEqSPkLHDRsAei3ZQ6vURLAQ7cj2nXoRRchbyw==; 31:cwniHukQprdyimGbusy27w6IWWGU9Pp4mmR3F7+TOfERyEemrx8NH+VH73tsODD4gtQi/BFtZQ8SVAe7oJPKdc3M+ZeBpqrTjoV6XRjkrt72Zntxc6gzFWGyxfJHmvj14ukCgYkxaPgnijbZVBd6jNIKPkJS7fStnsZPQ6XNv/o10QmhAyzBElsbzHX/M/bLLdHI8Y3aXa8GqD/UsTZXPKE2wr0TzhOGkCtC6UsBsrA= X-MS-TrafficTypeDiagnostic: VI1PR04MB2078: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=york.sun@nxp.com; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB2078; 20:bxDzjp2FhT1ojnLoP8cuxrYwAMedeHNGvreCgic4YEz8bnQN78WYdOyRgQZa4wWERngBS+ZSgtqzojXpwAVcvWAtZb46/kTWqbnxP2GjuKIoGMOvHpY5DoYqCtxUds//MI+0r1bdU1mAeI6noNybRudTNyqIi+fSt1ZZX6GN7WS7LfwKUoP/9+tgmr/z2R3xrkUbCK8Sfkquoa5fkUEYPXkey7ssuJMfQz7dWxZMaBZvQj2JziKD6X7hxn+FgGLACNkkAp9C5aDzAatJhyxkZaqaAQs575pJecZvs0HBXiPWRm5wz84EFjW5jwCnK6gmZl4O5ZOfMIRKHMDhniMIgg/0yxlINVWdpe2GhR+fsrf2M71eEaxdQPbFwj75Xpdf3cBc4k6wuBHvUXSzujr2OJVrw9o6UDdcKVAP73r9k5Jnttk2gyq0E130h5x218Tr1AYXMklQo4I+jpKlvzZoHI9Guwd5cBTAh5nnQEhlmTt2tYNU4jqegtDHF7Gf18UT; 4:vD1HiWWO3Ju+N6PQr3SXFz4n/FAxxkRpTisq2CMkA+YqSEafL27T5lHLn2f6oVAnXUAAtl+E1D6cHjvRF49nppHNrCemh2XtY0ReQyhElKR8asPjbGzPLMw0m5HkDEQVmBozKgqhKoycj6S69nM0fOD65wqqN3UHWiFCe5VbnXqaP0EigSZ6hL7DZ3qJDruDWrh5mvSia/u0VM0cw0YbHp+3zvto6VIOSqDQs1O1jItKTwijUHx3DZRi8PbenriGYO6fvTdMWgbbvakZLKPufngh1YEWJXYsstC7nqY6mRURjz7DbOE4oEkUp4bboXum X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:VI1PR04MB2078; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB2078; X-Forefront-PRVS: 071518EF63 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(376002)(39860400002)(346002)(366004)(396003)(189003)(199004)(4326008)(48376002)(7736002)(50466002)(25786009)(47776003)(2906002)(50226002)(66066001)(305945005)(106356001)(486006)(2351001)(476003)(956004)(105586002)(2616005)(97736004)(6512007)(6486002)(44832011)(36756003)(68736007)(53936002)(186003)(52116002)(86362001)(6916009)(6506007)(386003)(16526019)(26005)(2361001)(16586007)(5660300001)(8936002)(478600001)(6116002)(81156014)(81166006)(8676002)(3846002)(51416003)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB2078; H:oslab-l16.am.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB2078; 23:RoyHsnbgX6qLS1vuFeKTbeMHF7nDMWaeF3adp8mMC?= 2UXauw1KckiK177zsYRAoMCiQ9HbQ/LjtGxUi9yeqttRCW1LgQpu0VZJuqhobkZ7fX7ASna4sBwnH1S4s9WRe7n8JEcYKskEEeIPkerqUBouwFqDaQwWxAiW5pasK9exZ/gmpG6oMDw5jzR+77HuLr3XvOgisJbaZHE83S0Y/xQTzaKQCVJkpjhefYezV2VorEWN2eioYgppKyNacaq8FWRLaBD5HQxr8Am2/OTwOpCMxLtZ75IgsSiTWYa7BCPxFF2ExAv9wxdpuW2nC2tFSscPx3b9Cuw8O6qZDH4Ri+E8ZxoYyq1Xk9SBsZ++zezbzvjhjwMClvtXOYwwCugZWctcQIe3I1rWl1BVuQqoLvG4MQMV+aodkbis4iLlbqmiwhnN0epBjToeSNUj4KjcVESmXmAlnbDhbejdE1My3CsQlEVjnJa9bmeK6cC1cGJbGzM9UzBFSTKidSBqezsBazdCpeb27IIIgO7MWSlVdbV/DoA1nSHV94LjlcjWGIgbkTcK9Tybd9oxXFIcG2luOAfJMnopbWWxXZRabNhABMuRTxUivtpEnEAHUCcVNUBcNrwG3iup/lr9DmCZUUqUmjcvEvaZlb4reESRPPexV4f5/ybCYiwi1TSMzQP035b9ikBpzu7RHdWP1rDQu5Gm13s6OIUIMArsStmnYoMGxVeC6NhAPtJsO+BCnELoRyC11LvwH82zz9untKltFKy38TGkH9o43tuf1/4uYep4RpKMd4o3cBeA5neHZGHyFSvI00xmztK59ADb6p2X82Tv4Zk4ZIq2FSrfAky8qYTqkZu0YsiMDnO+jr5EYHhOqAPqSd5g2EIRcIWasCLRwlP2jAalykTSY92esgCHx4Uz99RoYsK/ArqBPhU/PxHKAshKagzB5WU1JUb2tM439V9oJtqqEIwT4bE8YRXIogYEcsqDf/UIMT7k7enwI3mQxnFRLaZ3gmvc0lSTUiRZNglai+gvypFZKqxMqxtb4PjtaCisNHaxK49xhEWit3WUYzCJxDl7BmdWsiUoYBhBID13BNHmelJwHKGqx+BMi3Z0GcowVTiXhUb439diwJazGPQFJHq2HOm+KzhEKVMm+dmSMP4 X-Microsoft-Antispam-Message-Info: L3Q1W223y5lwI2/QTzWqusl0ZKIa6dPJoyosoRqq/nGUSbVh6WwMAxgOE3qllDCXLCfQPuUB4vhq3ba7S2qtkins5W1D7Le6lcLe1Bma4D7dhsbxcsID3UjgycJ8vLO0tAkK7zJdAKuR+EA0RJ8s9ztjslIG/cUL7jrTyCufNz86uAZUSPZTZ3Qv4ftaBwDweeeP/wFRlr9PIVvfuH0NigOkicaakci9h4SxYNGcDXT7+0WCK/KUVa08cwdNjVf/c2wYJtsV9f4K0MEokwpJQAOtRIAaVQG12ufCkImiEOOx45iX/kJ8sNxT6IhKCCLYPNSGIsqZe3W28O6eI0rcHA2uXfUc1QUN9BnpZEVwl1c= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB2078; 6:2gFDZt43lDGTUFTBdOADftjPbqIJHAe0B+r4HTavSQpS9vbxkAErXr/1rf92xjxCL4DtY/xwaKLq42gPP2yNDdKwGcnEqTIPmYGjdFEccgOR8cNRTnaMYEhtYfi4Y3jN1lSLnOfn5PXQJF2t6TGDEzQYriUCojw67WnU1dxejTEwKw11fDPO9bmSEp4zr1cIZsqPxOWq4JpJUKpP3oLmAokIhRX2LLraXPDosp+E6BbZ8c33C0fYUXxiKxKUufBum2eP+nIWk9OZ+pPAPAE4G/7/Ki7PppEgXWScqBa/Aw/yu1UidEdSYUuEagBOLm1HSPe9sivSzm86yRfow0aXOxtiUwlwsS074pMy9USINiZyqaETplMqLr6+yolHlTldtO63CMYwaxmJ9UYaWnyzDROSroz8b7ps98gZ562cqbSawU6h4GRZSA7mNVeJB6neu6BtB+8cT1Hv6No5KESlkg==; 5:gG6wj/NA0G1/FLS6AapBMw+zcQFpAJqALp2uc5HT7rdcPX3LioFfsFOLkzFOrHbO+JEUpGPUtUcWtdxBZzDYDjkYdvZd5NWm0710q4+OblAy0RPy8ipjK40IhTZHilMRTjguL9l5R8+yGZ7z+mFaotAmBsqXK/5H2TB/Y3FEKiE=; 24:AL0oaW2PIJ4sTKcJPycQTF/83QGvjDvlF6BWovj4TzA8PqEnvOEeqmR+4M8K+MdBDEfTILnrndgtYn44Ephx6bEuKAs7BbesNd6jkx3VZls= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB2078; 7:uhSh+4nOHJMN3lQnPuX72VMol5eeQLqJllcnoB6WPyGfPMeESCK5VHNniD2nRa+qSRzCvrPStzksCzYopBGO0NZ5IuTUyugDuAfqZSm2G5/9h4BEKNf+3LkaO5GbJbYigCFKGaIdtRcfMqKQNb9TVDsQes/xukFoJK5OsNcl9uRbmaUUeCwUguQTAo+nXS8S8ZRGgsdqXACvEoF8UG7k/VOI4+T8+u57lIcyzqLlLhROyAvYDZ/CL/ylhQt8ycsO X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2018 17:11:01.9984 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eb5c050c-abea-4d55-74d4-08d5db87cc56 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB2078 Cc: sr@denx.de Subject: [U-Boot] [PATCH 1/2] spl: nor: Add FIT support 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" Add support of loading FIT image from NOR flash. Signed-off-by: York Sun --- common/spl/spl_nor.c | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c index bb6194f..b919fff 100644 --- a/common/spl/spl_nor.c +++ b/common/spl/spl_nor.c @@ -6,10 +6,25 @@ #include #include +#ifdef CONFIG_SPL_LOAD_FIT +static ulong spl_nor_load_read(struct spl_load_info *load, ulong sector, + ulong count, void *buf) +{ + debug("%s: sector %lx, count %lx, buf %p\n", + __func__, sector, count, buf); + memcpy(buf, (void *)sector, count); + + return count; +} +#endif + static int spl_nor_load_image(struct spl_image_info *spl_image, struct spl_boot_device *bootdev) { int ret; + __maybe_unused const struct image_header *header; + __maybe_unused struct spl_load_info load; + /* * Loading of the payload to SDRAM is done with skipping of * the mkimage header in this SPL NOR driver @@ -18,14 +33,24 @@ static int spl_nor_load_image(struct spl_image_info *spl_image, #ifdef CONFIG_SPL_OS_BOOT if (!spl_start_uboot()) { - const struct image_header *header; - /* * Load Linux from its location in NOR flash to its defined * location in SDRAM */ header = (const struct image_header *)CONFIG_SYS_OS_BASE; +#ifdef CONFIG_SPL_LOAD_FIT + if (image_get_magic(header) == FDT_MAGIC) { + debug("Found FIT\n"); + load.bl_len = 1; + load.read = spl_nor_load_read; + ret = spl_load_simple_fit(spl_image, &load, + CONFIG_SYS_OS_BASE, + (void *)header); + + return ret; + } +#endif if (image_get_os(header) == IH_OS_LINUX) { /* happy - was a Linux */ @@ -53,6 +78,19 @@ static int spl_nor_load_image(struct spl_image_info *spl_image, * Load real U-Boot from its location in NOR flash to its * defined location in SDRAM */ +#ifdef CONFIG_SPL_LOAD_FIT + header = (const struct image_header *)CONFIG_SYS_UBOOT_BASE; + if (image_get_magic(header) == FDT_MAGIC) { + debug("Found FIT format U-Boot\n"); + load.bl_len = 1; + load.read = spl_nor_load_read; + ret = spl_load_simple_fit(spl_image, &load, + CONFIG_SYS_UBOOT_BASE, + (void *)header); + + return ret; + } +#endif ret = spl_parse_image_header(spl_image, (const struct image_header *)CONFIG_SYS_UBOOT_BASE); if (ret)