From patchwork Wed Sep 30 21:30:48 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrian Alonso X-Patchwork-Id: 524608 X-Patchwork-Delegate: sbabic@denx.de 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 6730B140788 for ; Thu, 1 Oct 2015 07:33:43 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 4781C4B92E; Wed, 30 Sep 2015 23:33:41 +0200 (CEST) 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 mam5hTexnb7i; Wed, 30 Sep 2015 23:33:41 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 529524B919; Wed, 30 Sep 2015 23:33:34 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 097344B8F2 for ; Wed, 30 Sep 2015 23:33:18 +0200 (CEST) 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 QeYtHg6-quXT for ; Wed, 30 Sep 2015 23:33:17 +0200 (CEST) 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 na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0146.outbound.protection.outlook.com [157.56.110.146]) by theia.denx.de (Postfix) with ESMTPS id 83D904B7F9 for ; Wed, 30 Sep 2015 23:33:07 +0200 (CEST) Received: from BY2PR03CA004.namprd03.prod.outlook.com (10.255.93.21) by BY1PR0301MB1224.namprd03.prod.outlook.com (10.161.203.20) with Microsoft SMTP Server (TLS) id 15.1.274.16; Wed, 30 Sep 2015 21:32:58 +0000 Received: from BY2FFO11OLC016.protection.gbl (10.255.93.4) by BY2PR03CA004.outlook.office365.com (10.255.93.21) with Microsoft SMTP Server (TLS) id 15.1.274.16 via Frontend Transport; Wed, 30 Sep 2015 21:32:58 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.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 BY2FFO11OLC016.mail.protection.outlook.com (10.1.15.61) with Microsoft SMTP Server (TLS) id 15.1.274.4 via Frontend Transport; Wed, 30 Sep 2015 21:32:58 +0000 Received: from bluefly.am.freescale.net (bluefly.am.freescale.net [10.81.17.130]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id t8ULWiSR030325; Wed, 30 Sep 2015 14:32:57 -0700 From: Adrian Alonso To: , Date: Wed, 30 Sep 2015 16:30:48 -0500 Message-ID: <1443648649-24599-4-git-send-email-aalonso@freescale.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1443648649-24599-1-git-send-email-aalonso@freescale.com> References: <1443648649-24599-1-git-send-email-aalonso@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC016; 1:05gPOTuQdtNregRLajQ74FifdRHyPDAzV4ikuUFur+tyRcmIGygnDXBZRSaTuFUiMdyM3xaJWnE+Kp7V/pD1ccgE82uAW6JHR7TXK6wlL2upByfF+bxMrCd9TroXv/bmwAUijKKWzb06lpI5VPk5tfVO2FaVeyjpsPsN55hB4t8Mc6Qil+GGAiinG6Gver8tjjzSQFGN93NU6YJ04iiwcn5Tzvw+Y18iBfRYkVMsANPUqtQKUJoQq56DVs6gUjXnr1g1dn7lnuVxR9a7ZhWLtDXi8LW3qGqs3iSS8lPRN++c5cXgWBg/mh4D0qlLPU3ZoC3rAYBqcDh/gc8WQbGKaCSwiLI6Gg9vBkK7YMoTtpZclShP5zkgamP00PzzeoEmdHIvZcg2xLQ2wKU+7SNuKA== X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(33646002)(77096005)(50466002)(64706001)(48376002)(47776003)(5001960100002)(107886002)(68736005)(92566002)(19580405001)(19580395003)(5003940100001)(5001860100001)(5001830100001)(97736004)(36756003)(5001770100001)(104016004)(6806005)(5008740100001)(85426001)(4001540100001)(81156007)(76176999)(229853001)(105606002)(50986999)(50226001)(106466001)(575784001)(86362001)(87936001)(2950100001)(189998001)(62966003)(77156002)(46102003)(11100500001)(5007970100001)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1224; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1224; 2:RJLY0PFO2AwKUKTMQbQToxsHiYxMZUVzuTkoQF+QAmFCdFhiT8AqVsl7SdPaPBV8HurZjV31m7hwjWGRgwH+Cej+vHS2/UfCFC29wDwlm+cAzmUmf32ZTTaFoaQZOsUA7A8tR4FWa5ku8yZsPRo9m7+2I9gjMKnU63aBGd8ZwPg=; 3:uZOfW0ZrYR+lGq+QsiVr1CaBckgFlqIyvbbu+D/+cVBBO7p8W5iEEFcHM4QEziJkbtL6xO90PgqL0PjVU7oNH/1TfbU6ZTOV/Cb6zyMExkc+NYtOnvEaVkCCnhZgAL0xAhKCg9W2b0Tm63zGsyiiOe7r9plTHd/erAyVIBnH7sNmtS6GTJx9Y1u7XxlpztNVJth9RqtUcGV9y9aOj6eFCkWnPDza9VNOyYRIpp3nLKA=; 25:ipLasgjVcBfGfa4FyaF1q4bxTgUaHhKmE80cVrXv1HIv6b0AfDoTvUT3zXzSIdSx6bdxq2UYUw0hzaRd6kr0D/CBMHQpHf6Lv/LW2O/lVBZ5jDxSU1MujOEReKhsYQa0NCWWNpBVy+/N2CiBskN5BkM27lXTDPx7E0whTHQ9Y28TzPfZ0S4e0aYQWnTVHltCyOJYT5eYwUi2nxmFa4P7JAWXO31y/RoWkePWQPREOITWHXL68JH0La9zgtpVbDLwLTjfel0ATxSvuQFwC1jESA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1224; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1224; 20:LRSL78kiTNejCQAW/cGzGYzqJ+CWzFMMPqKwtiq/47susrFWVUT5pZetInTJDUS9Klw9yDHTNpbEkLVZTFTrlwslunbFgIJHKqf2eSOPkRWDYVn/DI2ZYpqMzoCPzkmGrAw9xYkfJ6uGjV/5fqwp70W1DfugWWqu0KKrL3ZWzmly44Ocw0eHzHLv+Rlo0FMaikwQMZZv9U/lDq2iuWfFQ3bssiVnvyEp0G+YoQmxWOJUNj6QQmIAG4w0NhEDkjcaAwkI7x4pCcA2zS+6D7umMIGng5OjNuHW6y2/lqHLEJi8DzlAUqrY7IwSoy8/WZfUsLojvxjtqvEhsdvvGSWvVa6lRkJs8o7xVp3+g1tih+M=; 4:/eLQ5YnWLXmbawMb5r1yHYAdh2e6jSfX8JNVxl7TxfKe1UewbXUGfcjx72bUwESeQ8pCzRkOVlEkKBsTW21H1LzOb1nHduQEX/Q4qfBAh0yxUNokmP1NzI9xPIvLM16YB/rD8+IZUHe/pLi9/rHLR919JbtaKw7L53U2reKw2JyRqwuKb75ojVLDnm2AEVxUGXFUadxrB0LPhpFkfTM+xtHndaQsivqhs3Lndgj4SbLhE74CdyqBFr7SyOWmZQmggB4DoQW6hK7c3OdYEWBIZlQmG8JqDSL/iPcER2DTK4Hr2DmSKQNp4Qu+qcP5YNs3bptZ8ZyGWaaVY8Mk8gKFpy3Z5cGufQy/ZYeH6b7OulA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001); SRVR:BY1PR0301MB1224; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0301MB1224; X-Forefront-PRVS: 071518EF63 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1224; 23:6sBLb70hCKUto3HtdsCJef1yeWWAUUGcdadANMy?= =?us-ascii?Q?oXRJf8fg4s7ZPbzZLTgB0U9bAcGKg8jJzCr/KHaA7O4uCmuFfX7l1Pf5DtHT?= =?us-ascii?Q?tfmFh3yBB3tCOk1kJxBGVSkSvGzOxYbRYoX0GPs21cqU2FxsfVG2RHNOLuUP?= =?us-ascii?Q?PNK/PP9/YUsjQHAckCjJBLFLVTpncHSTqIb3l3/fR9MIqjMtEP61BKtHJlXK?= =?us-ascii?Q?+G38VeQp5bxoylbg80TNd7Yh9Y618Rmip0JZCSuAnkH+HL+btnx8KaSok/Gd?= =?us-ascii?Q?JVceNgK/41Sj7DmMrRqbw0xLI4yQjOxGVGt1M6EhdVbsg3pTRS+fufUxqiCq?= =?us-ascii?Q?FAuc/DnqsxMS9oY/RgrZ9iUnq9oB1igkiL6W7AmH10p8RQx4h8kriedzFNeF?= =?us-ascii?Q?sEMgulbXfsT2VjtZc149Xf6FnRc73y4bdQFE0XWPuanII5ZSn6d45XYc1m7g?= =?us-ascii?Q?+J2cebD2SRH0vfD5unlVh6JfmqjifUHu3nESp68HOzAYlsgEf6dv4OicEswV?= =?us-ascii?Q?fjnQjNWl+twOfcQCPVsdUlyRULqlazl0B95OVorNRCvqT609OXO6ZN20wvuy?= =?us-ascii?Q?3HbcJAvrQ3cNyEEl6FL+aP7FKmY1BKenMTBeVIcUXBh4c3e44ijBZHt5/6Hp?= =?us-ascii?Q?AaSU3guxh9koMWtDF8dGewTQGU7zznsrFUUpXR6KOEvluFPgq7fDFpEvizqw?= =?us-ascii?Q?jhlX71XMZk4S2ZLFEg1Dvyq+slZ6lmiS8Jn23cijtaZ5StxDdS4Ze2T4P5+o?= =?us-ascii?Q?tNMGPwuXVQl+ZFsJ5G9Uv0F0SQEN/GpUYKlAfprNpcKJnA6YuFjBO9gkhMGN?= =?us-ascii?Q?0sprckcgBADAv8IguyBHQZyUERvdfbsipUgGMoRofhblE+aSnO2FlbF105N3?= =?us-ascii?Q?CiCXwDTy21BJ36MaA2KD84cEqBwUibf86Cuf3wGD6qaewU+Pz3hENfvEyAnK?= =?us-ascii?Q?/GmMJgWYLC/gcgMm6YExjoacfENOsdh+h3oYfFVR/Lj2yjdMyxQKUC3xdfXo?= =?us-ascii?Q?pJMy3oqWKCLdw3ewZ6QquNMoP6KGXfAZrf0ekzEVYL025C2vCZVRdbBL3+NY?= =?us-ascii?Q?ud/ZDIOjALheniUifhz8T0SsxoHkqZ3XbrbSUovFIsRZYnDcvyVsF4lJlPAe?= =?us-ascii?Q?S6SDSNLby8YEGCkwHtKrWnlKozlzEK3yVIWyNAcjX+AgsiBlZKpZy1uDnIzZ?= =?us-ascii?Q?02YBA4FnZzwy8lhol8H8UkvomckWOPMKke2nfR/fvdT6lS7Flc0NmJ41PlVq?= =?us-ascii?Q?B4OSv7Podch7+dcMyfYE5UMWVGmh5GMErtOJ7jVc7a4OK4OP1Hk75mdR9qXx?= =?us-ascii?Q?y1FyW45jGHUE1AnqXspGt1PU=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1224; 5:KIbgyxDWAqNQh/QkBrvPW7FCS+KuexssY6oAofMLZRpTQdNRQMTBcEmGioYvQpZtLcoVKs2agvzTgaU95OpceM8Ohlq4HJu5FNWOI72HvFbBU+Rhsanah8GPWeHY+Gg4detULw7/rJgBT17Ea5vk9g==; 24:c9T8uJfbP7fOUMh7vEzLOhOUXQycE0mowG33Ev4miLJ/rLxf7nbaBTDl2ikfgl4A8LKPL2nGtFs9NyDlVXbhdGMVocugiaQLpEHT+9Xqkcs=; 20:GPK2/oIiMTGExApabH19a1k1SxrjpUfmW/dQSbt/bj4LFA8XpU/NjWS3g/fEKBrFYjruT8sVtR7zkxOOTqCGjQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2015 21:32:58.1474 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB1224 Cc: Fabio.Estevam@freescale.com, otavio@ossystems.com.br Subject: [U-Boot] [PATCH v2 4/5] imx: hab add mx7 secure boot support 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 mx7 secure boot support, reuse existing mx6 hab Signed-off-by: Adrian Alonso --- Changes for V2: - Split from original patch to track mx7 change set hab: rework support for imx6/imx7 arch/arm/imx-common/hab.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/arch/arm/imx-common/hab.c b/arch/arm/imx-common/hab.c index 9ee0f12..565a838 100644 --- a/arch/arm/imx-common/hab.c +++ b/arch/arm/imx-common/hab.c @@ -261,12 +261,25 @@ uint8_t hab_engines[16] = { bool is_hab_enabled(void) { struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR; + uint32_t reg; +#if CONFIG_MX7 + struct fuse_bank *bank = &ocotp->bank[1]; + struct fuse_bank1_regs *fuse = + (struct fuse_bank1_regs *)bank->fuse_regs; + reg = readl(&fuse->cfg0); +#elif CONFIG_MX6 struct fuse_bank *bank = &ocotp->bank[0]; struct fuse_bank0_regs *fuse = (struct fuse_bank0_regs *)bank->fuse_regs; - uint32_t reg = readl(&fuse->cfg5); + reg = readl(&fuse->cfg5); +#endif + + if (is_soc_type(MXC_SOC_MX7)) + return (reg & 0x2000000) == 0x2000000; + else if (is_soc_type(MXC_SOC_MX6)) + return (reg & 0x2) == 0x2; - return (reg & 0x2) == 0x2; + return 0; } static inline uint8_t get_idx(uint8_t *list, uint8_t tgt) @@ -414,7 +427,7 @@ uint32_t authenticate_image(uint32_t ddr_start, uint32_t image_size) * crash. */ /* Check MMU enabled */ - if (get_cr() & CR_M) { + if (is_soc_type(MXC_SOC_MX6) && get_cr() & CR_M) { if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) { /*