From patchwork Mon Feb 20 20:37:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruchika Gupta X-Patchwork-Id: 730111 X-Patchwork-Delegate: yorksun@freescale.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 3vRqkL4TKpz9s7n for ; Tue, 21 Feb 2017 04:04:58 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 03E8CB3885; Mon, 20 Feb 2017 18:04:57 +0100 (CET) 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 T_SjzFO96u2O; Mon, 20 Feb 2017 18:04:56 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6AE39A7BF3; Mon, 20 Feb 2017 18:04:56 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 10065A7BF3 for ; Mon, 20 Feb 2017 18:04:52 +0100 (CET) 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 KqcdWJZSc_yt for ; Mon, 20 Feb 2017 18:04:51 +0100 (CET) X-Greylist: delayed 4654 seconds by postgrey-1.34 at theia; Mon, 20 Feb 2017 18:04:46 CET X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0070.outbound.protection.outlook.com [104.47.37.70]) by theia.denx.de (Postfix) with ESMTPS id 2DD3FA7BEC for ; Mon, 20 Feb 2017 18:04:46 +0100 (CET) Received: from BN3PR03CA0108.namprd03.prod.outlook.com (10.174.66.26) by DM5PR03MB2955.namprd03.prod.outlook.com (10.175.106.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.13; Mon, 20 Feb 2017 15:31:18 +0000 Received: from BN1AFFO11FD038.protection.gbl (2a01:111:f400:7c10::181) by BN3PR03CA0108.outlook.office365.com (2603:10b6:400:4::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.919.13 via Frontend Transport; Mon, 20 Feb 2017 15:31:18 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; 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 BN1AFFO11FD038.mail.protection.outlook.com (10.58.52.242) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.919.10 via Frontend Transport; Mon, 20 Feb 2017 15:31:18 +0000 Received: from perf-idc04.ap.freescale.net (perf-idc04.ap.freescale.net [10.232.14.49]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v1KFVBrj016014; Mon, 20 Feb 2017 08:31:16 -0700 From: Ruchika Gupta To: , , , , Date: Tue, 21 Feb 2017 02:07:39 +0530 Message-ID: <1487623061-28098-2-git-send-email-ruchika.gupta@nxp.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1487623061-28098-1-git-send-email-ruchika.gupta@nxp.com> References: <1487623061-28098-1-git-send-email-ruchika.gupta@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131320782784458574; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39840400002)(39380400002)(39860400002)(39400400002)(39410400002)(39850400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(50986999)(105606002)(76176999)(68736007)(106466001)(2201001)(33646002)(86362001)(104016004)(2906002)(4326007)(8676002)(36756003)(305945005)(356003)(97736004)(81156014)(81166006)(8936002)(53936002)(966004)(50226002)(38730400002)(92566002)(189998001)(54906002)(47776003)(50466002)(5660300001)(5003940100001)(48376002)(85426001)(6306002)(2950100002)(626004)(8656002)(6666003)(6636002)(4720700003)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2955; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD038; 1:qZhntyFyMqCA2kER72rKHjQx7ZB2oVdxPIJ3RAGPP/HHYcpxdkflQxBCQ5bK6t9Ic8ltSe0nW0RdgYCf8gD43xlnAqS2CqCnV4nTq3yjcX+s+e7VVudl5VDse13beURJuIHWBiBoUyHl8HeKrB+VBxv0kEVLO1w+O4cT0SIKbpQz7XHP4eMl+CdqC81hMtzYYIptwtwvmrvKWN2CQumshgJnavAN4I7cLwVBSqXT7BKkxhw7WPxeJXX28IKA5O/qz5J1G/9rpH+Y9rXEIv/VNui9IFEk3TXwGOSvRVbMVrCUcVuwAXWPyAvmvTVmp1RfiOp4VUKDc5CWn4fbnNprJPc04uM3ZtxeF+qIB4EeUzhllfvO+EGXnPFKOF6U/OiFf/L9qyiEEGc6qPrIlqIEAZ65K61wsPehti3L35LzMVEmiGV/DyDwJ5gvXfR9I0GyN0i2lF+OVRHOaPQhhIisN2lwqKvr2FRBB4iIij5Dl0fBhM894H8yW3sN0Yi8EMCC5Xh4oVmdoed/vf56lF0VEbrSu4GfH+g0eCDxVu5edy8IB40/xlwEOB472rzP5em1mPPj7pl8JKe8NUafWmtQqVYyhvayt3455ZlMiry/RyKgksaTgnZdNZzQrv2DigTGZa4mN0APvIF4t4TAP5P9iJH+7wzOBXFlziY4xdXzpU5xIhSXGkg3tq2iiLTEwl+Zm++nYb7JKk+TjL62PVzkmQ== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 46abd5b0-cd4f-4485-0ded-08d459a583f3 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM5PR03MB2955; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2955; 3:wHo+5bx3YnpKZU/2gfBalLiGFSsDwZ8MpwK25yOwZ+O9cNC5XljJ1hvgkiIU9grJCqZAdjIR/4tEZE5yFOuF+VivB6Cjyi/JqoG5mfFHZZ+Ng2yVIc1/uzglh+4hgmC0J2UjA8acbp4CmDWanhSgevMB2umcFUb0PDIKafZiCtzIdpLvHxHhdgXCYBdjVumzYPT6u0JJvc92boNXH24Mkj6WwQilA6jvYAuyteKvxsapE90c+CrPdkfL4e/5UwjRV9qmZwb33EWij7FDCGM4wbrPNJqiM/xq2Cvkuqj1aq6r5FfKZdi6+s0zgg6l0bfjjCgW8ycZPFsX/kwQtI6qRPBi/y2wj0wday6mADEDMd9PzAUE6SK2Ky+GCeNST26n; 25:IN96wuTjxzlZCmPAUpAmxxrzCJuyn1vG1sOP9noDD2kRa94DtHEO6rELrniNY2GLV2jEVQLybiJkky6ox2GBIIf9DJ5un7gM0sTmVtF8E6p04ioZ0mGcleoC1lCPZCWlYXZVZRJy8ILcfx2HTacdyl+Q/HqsJMKY7AInz5AEv/wt5qkb9JINr7h3vpmPKAkmwM1j6U8I/GFiPfpIFeh7YDaNoWNathfBz3qhLMUmgnY/H60AcwVgRBUKAA2x5ENPBz8o3GATlAnNVQOA7SW2X7W1UuN0Qnx80Cf52++1lGngEg1AVDpZBGnlXksJHOvZeZVuw0C7GYbUBz87I20UqcP75GMhoPj8nFpws/VdDWViJxnwSyHSFPu2b6hFMqQtZmZSJM8MFsdiobV8QBzgblQvQOkA0Hj/bUo1SzlqjOBnbAUnRy4Ni5gWEC3ZRdjc4LoY0YNdvGn/eHcTmJe/6g== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2955; 31:m0yMhD6e5z27Z1hxmqBBogNoJiRibTbUZ6lygUhCNvO55Mw0ZsECE868tR/KipIMsOxkvJc7xgyRKdY2gg51GZUXR4WAcjkfGq2kCQFDlndz+VuR7Xaufi2hQ/i5M9GwdvRweUncqGOHwgJqjzAtemOH7RHzwZ21wrUExjB/vcQt3cehBM8KVlcNvklhirJ+/jsIs1I85izUV8nHYEMi+xQxThYmQ5Iw817BZvqUAXNChpS8pooApa9h/YDU/NCjqYyWgWvtqaJB11+kS31oTF07550Nhh8CuZzk9+5TpIg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13015025)(13017025)(13024025)(13023025)(8121501046)(5005006)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123559025)(20161123561025); SRVR:DM5PR03MB2955; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2955; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2955; 4:vtZXlBvLr0+uB4rFAq3NprY1JGHUbY21pgZX1+2y1WatmrWMdwdamFSAqKjhKGeFGXaQSab72YpbbBN49OgZGIyavGyY4g6YwyjXlzwMTPvdOnkASb55PkaisgdjdtPLIUodKkyNQbPSKcAAyRnQ0OqYnQ5RyrZh2uy4uMeXxTcOXQKveq7Fy1IQ++CWSobeUtpP1rRPMWvb1XdO0tP5RVABFlrTJdR7bPBI1mIlirfoS+EycgkMYXMEf1uAnaKI54UZ04tlttPLCYbstaF8N9/EJdLDBfmNOstk8CFYzzIIt3w5SqsamC/Zt/JYSj51o0tR23LgeZKxjUFL4z9LCfvKcWhMVmZWWW9/F8TfW6yTr4C8e/K5DgziZliIwb0O9h0MVjx0RcU14pkvyJiuVe9LGKB2bqw8C8Zujzbr2KltRuaMKxUCpbnEtULB5xB60OnEF3rIJLOHf5BdsRY1b4GoZ17lJGCr9R+z9hxe/ulxEX8jyr618lKJZzPOPbRRtGuZC4TjybnNu+NkkIaIX5u9kUky0/N5bh810KHOTmjfpNwGlZgjvAaGgC6LyytFzwYX+F8h2FaPJEAmMTNkclN0V7c6KLMjJboNOQKiwj1Dv10lZjHBk8ZXvgdvWMEebl/h69sjqvmYmD9aEMoWLdtFWPlkyVxRETvQp5Ux+QD930Qe8c73eVkWcM7v0eSfHSuaGh5MMc43hK9t+X3S34h5fr9+Ax/Vp3flsU9fH6EIu3Pp7w/zgDSxJt1tjtDD X-Forefront-PRVS: 02243C58C6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2955; 23:wuu/Ctm0Fc4J2t+x66CtOkRWTd+5slqOexYEkUW4O?= =?us-ascii?Q?B4TD7f5YoxxJ7rZVMPZ/ByeAm6IO2hmup/xLQYGqdo44dObG7nCeWJYoqRkt?= =?us-ascii?Q?EJ8YXaccNUsZHM/FSxzlgtGKstKLOeNKd442bvEX5toVKdvfjO9yDp+ybrWy?= =?us-ascii?Q?IXMi2Xdu/oTF1DGa92oazkUCO7aNfQY4kfqDOu4r9XEeiI43gLUoVP8prVpn?= =?us-ascii?Q?tll4JruuoRNq5xkbeW/zBg6wlEwl6iNhxlspEh7DU+BXCAOruKZerDfpywbI?= =?us-ascii?Q?du01jgrK4xxvEI9AjzzLC+HLv+vLe5QqHywipg3HIrTrObPKtEA17Eknmkg/?= =?us-ascii?Q?+cHJ88t8VDibuohhONAgCUIFs7scd18aDEDbHVZF5AULfyrILPfNcPxhQ0zR?= =?us-ascii?Q?E+6niQvSgCOHzpVAg8gzZ6Ksz/lY4i3gY0wcyLIUszv6tWBmLig4KBn0NBbx?= =?us-ascii?Q?iOCWhWOdBTeLtZhtDCwOqRtwoBflsGgL/ufSnbJB9Jl9LiVBQNABoqYREhaJ?= =?us-ascii?Q?BYe63DAKBY7unGgZ67IXlK9k4GiMngVoB9PfygWgPlK2W5YZrpx1s71hpGpj?= =?us-ascii?Q?PZgz7dlSPmKkcdYfr9/YIxb4k2LLUjki17Z8npPZG3i5dv/Tm2ck1q2q4+jM?= =?us-ascii?Q?0ncSrLMbjCp+NRCFqhDjqWzOI+pQ9AXdmLckoaNaZ8R+LkZTtV0AfLpP/2/x?= =?us-ascii?Q?TzzPH11sYORlZ+mf4+j7tsgojB7t+F9N55g9s/neIzBNOUzOdta6bi9d00VU?= =?us-ascii?Q?iGA+91esw5yV31oKrtOwlFAoedVRzSUYI5JGXONfS9YBqWZ/SzgPND7iwvq8?= =?us-ascii?Q?H9xIfVZd6GQXYzd9WrL2g0+D8Y0S+AttaXdGqlTe3dbKThzXFoJ81v4HKTrR?= =?us-ascii?Q?4iiaerDg1aFhWyB1/XdgxvCYHzWx4NVvnE0ELmIZW8gmNVC5tsccdlBJmoF3?= =?us-ascii?Q?zemGxvCSAiXhNaqSrAMQdeIGHwX11Nkv/WIiw74VoGe1RZdV+WEg3L/jhnnH?= =?us-ascii?Q?Op34pEybhnTKKS8MRVyGjB45KXmbuc3gy5Ej5iE0+WUePA2Nwq00xPZL/sYc?= =?us-ascii?Q?Tj/rqdzoGzsG9LyDoA+CLW34GNwIUm3Jkcsvwbvz0HIgvRc5zEnziCLwliM4?= =?us-ascii?Q?0Tf5mFYa5tmXsHfupoHdCn8+62fAVeziNE9f2uCQ117fXuAPLASspbDPYVAx?= =?us-ascii?Q?nQhNmgHX2aWmT9BkGyB0BaS5XGdG2E9SJEKBUqXii6a5LuTqThND7uhZ6YHM?= =?us-ascii?Q?HYpdgEcrhboNZaSxrVwogxI7nMLqyPcD1hNDyee1ei7ynbdK/tlg1SMd7v3V?= =?us-ascii?Q?pWpryFW4ptzqtDJgpvDTOjZ+v/626qqu2jm0IUg8B3Fei8ZhfOTcbIlTUInE?= =?us-ascii?Q?nj2WQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2955; 6:2V8f2shukMTeJEO1//bOVAddErSFNs6lo4svYyza1aysLcp0VMzuaMfByA6lAYZIHKq4PkZ5MIZCiLB+E+5CvR7hGrC5knwAVAbT6nEkjuCS/OqJrNuN7lqS8CipesCIAEyI2N2hqWw9QsYcsQT2XwlUUTgV/9NwovVjVvUybEYwtimEzOfdztL5018saXqzkW+QJQYFLZn3oBiYrxQY/SfCCHbAOxF6bmEQFF8eT+D5HJpCmqlkk0eCIZpAiE7lN+OiDX+CpAn5B0bP9wqROndN+o+8fmIfdz3wTLpXCBbh6OAg+1zBjFKVVjliO+qwv5CCrCxBKx3CrBeGFqmsGEutiuIP1pinT5Vdqjd5KFoNIu5RuPSg/Jr0cxSX3PqreqzhYmebHGU7c7Mq2V87dbo2M2M3E9kQl7vipdZfiHQ=; 5:qTODSRx/Nviia4dVYfhx1XvnXXn2tf26nJvgHvw6SRhqZ2jqCVJL9yr6eG4Pi0w14NDdPBFNT/iHr3i62Kec258Q32Kf8o1CFaRCfGIWajT8VDuq+Yd1bQiJ0oZiwvZDOH7z9UfrShcH5OA35KldQ8ZA8OyVFv0FbvRv0Os+kHxn5EHTOVH4o1Jsr9QUryCO; 24:e0WArEzC8N/5PFSlT7/0tOLexPCoiv47M+1Dptf+Rhlc8tYyCEocRCO40cP4/krOWAU93Z193WgsGjTvJGePS7zrVH8AEyPWkYKqKWUDU6s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2955; 7:t2888SCuZp46fbQ5XxN+fjjXgD7nOJVWW8SgLeNJzgc9GUaIm5DVOEECl+jIiy/GjZDiT8Enn2rxDNhhwHRM9+RpA2kuNnN13gPOL5IA6V/WSVUKMHpIY8eHqeU0qeJDUXs5oGqD9iF5zP8UxBld9ELDjRRCA1lI2hBK5r3Tqby5S4XARRjRNAI+0AihVojoq+1Smc0e+gzVLW4RuheAfudR7uOJFCNHbjSGnLy1oHQbkFlBMmvCm2Frb/ALNIC7EIXeK0Tr+oIS5XYrPP5dN7tkERaWVbueLempiAoJ3djlkV9wBx5qpYldGVdrU76zlasp8WlogmJJpgOeWednkA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2017 15:31:18.2430 (UTC) 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: DM5PR03MB2955 Cc: Ruchika Gupta , Vinitha Pillai-B57223 Subject: [U-Boot] [PATCH 1/3] arm: ls1043ardb: Add SD secure boot target X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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 SD secure boot target for ls1043ardb. - Implement board specific spl_board_init() to setup CAAM stream ID and corresponding stream ID in SMMU. - Change the u-boot size defined by a macro for copying the main U-Boot by SPL to also include the u-boot Secure Boot header size as header is appended to u-boot image. So header will also be copied from SD to DDR. - CONFIG_MAX_SPL_SIZE is limited to 90K.SPL is copied to OCRAM (128K) where 32K are reserved for use by boot ROM and 6K for secure boto header - Error messages during SPL boot are limited to error code numbers instead of strings to reduce the size of SPL image Signed-off-by: Vinitha Pillai-B57223 Signed-off-by: Sumit Garg Signed-off-by: Ruchika Gupta --- The patchset is dependent on the following patches: https://patchwork.ozlabs.org/patch/717614/ http://patchwork.ozlabs.org/patch/724332/ http://patchwork.ozlabs.org/patch/729932/ http://patchwork.ozlabs.org/patch/729980/ arch/arm/include/asm/fsl_secure_boot.h | 9 +++- board/freescale/common/fsl_validate.c | 4 ++ board/freescale/ls1043ardb/ls1043ardb.c | 19 +++++++++ configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig | 57 +++++++++++++++++++++++++ include/configs/ls1043a_common.h | 16 ++++++- 5 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig diff --git a/arch/arm/include/asm/fsl_secure_boot.h b/arch/arm/include/asm/fsl_secure_boot.h index 8d9de45..a1474eb 100644 --- a/arch/arm/include/asm/fsl_secure_boot.h +++ b/arch/arm/include/asm/fsl_secure_boot.h @@ -32,10 +32,11 @@ #define CONFIG_SPL_UBOOT_KEY_HASH NULL #endif /* ifdef CONFIG_SPL_BUILD */ +#define CONFIG_KEY_REVOCATION + #ifndef CONFIG_SPL_BUILD #define CONFIG_CMD_BLOB #define CONFIG_CMD_HASH -#define CONFIG_KEY_REVOCATION #ifndef CONFIG_SYS_RAMBOOT /* The key used for verification of next level images * is picked up from an Extension Table which has @@ -91,7 +92,11 @@ /* For SD boot address and size are assigned in terms of sector * offset and no. of sectors respectively. */ -#define CONFIG_BS_HDR_ADDR_DEVICE 0x00000900 +#if defined(CONFIG_LS1043A) +#define CONFIG_BS_HDR_ADDR_DEVICE 0x00000920 +#else +#define CONFIG_BS_HDR_ADDR_DEVICE 0x00000900 +#endif #define CONFIG_BS_ADDR_DEVICE 0x00000940 #define CONFIG_BS_HDR_SIZE 0x00000010 #define CONFIG_BS_SIZE 0x00000008 diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c index 2b723a4..235c6ab 100644 --- a/board/freescale/common/fsl_validate.c +++ b/board/freescale/common/fsl_validate.c @@ -356,6 +356,7 @@ static void fsl_secboot_bootscript_parse_failure(void) */ void fsl_secboot_handle_error(int error) { +#ifndef CONFIG_SPL_BUILD const struct fsl_secboot_errcode *e; for (e = fsl_secboot_errcodes; e->errcode != ERROR_ESBC_CLIENT_MAX; @@ -363,6 +364,9 @@ void fsl_secboot_handle_error(int error) if (e->errcode == error) printf("ERROR :: %x :: %s\n", error, e->name); } +#else + printf("ERROR :: %x\n", error); +#endif /* If Boot Mode is secure, transition the SNVS state and issue * reset based on type of failure and ITS setting. diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c index 5a76742..0b3840d 100644 --- a/board/freescale/ls1043ardb/ls1043ardb.c +++ b/board/freescale/ls1043ardb/ls1043ardb.c @@ -43,6 +43,25 @@ int board_early_init_f(void) return 0; } +#if defined(CONFIG_SPL_BUILD) +void spl_board_init(void) +{ +#ifdef CONFIG_SECURE_BOOT + /* + * In case of Secure Boot, the IBR configures the SMMU + * to allow only Secure transactions. + * SMMU must be reset in bypass mode. + * Set the ClientPD bit and Clear the USFCFG Bit + */ + u32 val; + val = (in_le32(SMMU_SCR0) | SCR0_CLIENTPD_MASK) & ~(SCR0_USFCFG_MASK); + out_le32(SMMU_SCR0, val); + val = (in_le32(SMMU_NSCR0) | SCR0_CLIENTPD_MASK) & ~(SCR0_USFCFG_MASK); + out_le32(SMMU_NSCR0, val); +#endif +} +#endif + #ifndef CONFIG_SPL_BUILD int checkboard(void) diff --git a/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig new file mode 100644 index 0000000..3f35d64 --- /dev/null +++ b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig @@ -0,0 +1,57 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1043ARDB=y +CONFIG_SPL_LIBCOMMON_SUPPORT=y +CONFIG_SPL_LIBGENERIC_SUPPORT=y +CONFIG_SPL_MMC_SUPPORT=y +CONFIG_SPL_SERIAL_SUPPORT=y +CONFIG_SPL_ENV_SUPPORT=y +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y +CONFIG_SPL_WATCHDOG_SUPPORT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-rdb" +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPL_FSL_PBL,SD_BOOT" +CONFIG_SECURE_BOOT=y +CONFIG_SD_BOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_SPL=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x110 +CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y +CONFIG_HUSH_PARSER=y +CONFIG_CMD_GPT=y +CONFIG_CMD_MMC=y +CONFIG_CMD_SF=y +CONFIG_CMD_I2C=y +CONFIG_CMD_USB=y +CONFIG_CMD_DHCP=y +CONFIG_CMD_PXE=y +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_CACHE=y +CONFIG_CMD_EXT2=y +CONFIG_CMD_FAT=y +# CONFIG_SPL_EFI_PARTITION is not set +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_SPL_DM=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +CONFIG_NETDEVICES=y +CONFIG_E1000=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_SYS_NS16550=y +CONFIG_DM_SPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y +CONFIG_RSA=y +CONFIG_SPL_RSA=y +CONFIG_SPL_CRYPTO_SUPPORT=y +CONFIG_SPL_HASH_SUPPORT=y diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h index e8ba031..70099f6 100644 --- a/include/configs/ls1043a_common.h +++ b/include/configs/ls1043a_common.h @@ -52,7 +52,7 @@ #define CONFIG_SPL_TARGET "u-boot-with-spl.bin" #define CONFIG_SPL_TEXT_BASE 0x10000000 -#define CONFIG_SPL_MAX_SIZE 0x1d000 +#define CONFIG_SPL_MAX_SIZE 0x17000 #define CONFIG_SPL_STACK 0x1001e000 #define CONFIG_SPL_PAD_TO 0x1d000 @@ -61,7 +61,19 @@ #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 #define CONFIG_SPL_BSS_START_ADDR 0x80100000 #define CONFIG_SPL_BSS_MAX_SIZE 0x80000 -#define CONFIG_SYS_MONITOR_LEN 0xa0000 + +#ifdef CONFIG_SECURE_BOOT +#define CONFIG_U_BOOT_HDR_SIZE (16 << 10) +/* + * HDR would be appended at end of image and copied to DDR along + * with U-Boot image. Here u-boot max. size is 512K. So if binary + * size increases then increase this size in case of secure boot as + * it uses raw u-boot image instead of fit image. + */ +#define CONFIG_SYS_MONITOR_LEN (0x100000 + CONFIG_U_BOOT_HDR_SIZE) +#else +#define CONFIG_SYS_MONITOR_LEN 0x100000 +#endif /* ifdef CONFIG_SECURE_BOOT */ #endif /* NAND SPL */