From patchwork Sat Oct 27 13:15:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989881 X-Patchwork-Delegate: yorksun@freescale.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="ikHzTJvo"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1Zh26Zxz9s55 for ; Sun, 28 Oct 2018 00:15:56 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DE3FDC21DFD; Sat, 27 Oct 2018 13:15:35 +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=1.2 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID, UPPERCASE_75_100 autolearn=no autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id E1145C21E1D; Sat, 27 Oct 2018 13:15:19 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 88DE2C21DFD; Sat, 27 Oct 2018 13:15:12 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00089.outbound.protection.outlook.com [40.107.0.89]) by lists.denx.de (Postfix) with ESMTPS id 009DEC21DB3 for ; Sat, 27 Oct 2018 13:15:08 +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=oyw2Q5iFwKSOLaCP74EtYFi740UrRWkyWK5Nu7EU3jQ=; b=ikHzTJvoXoHC47lJSwuYSNQVKmVjtZQV0qe2s0KgxdUxz5LV+o4z7p8IC3BE/0WuOaeQtioV2mN8VFJNcWMmCtOZwb1XlaQ053LmmY7TXYBNSEkTS3MGhKeOn2ZoyJBxI6g+Sl4iz02aZSamregAGIc3FCgFQIkBeWTIsA0nJn8= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:06 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:06 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 01/27] move data structure out of cpu.h Thread-Index: AQHUbfcUTdvatwvPikKoZ5W3WDdDKQ== Date: Sat, 27 Oct 2018 13:15:06 +0000 Message-ID: <20181027131428.5246-2-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:DMDzXSl1YXwVj7CqWoh8TUrLN6yvdBijawcQuV9MvMl35WJOz/DfeU2VIYU7rxVRnGEkNz+3kBAQxm0HasQVRQdgwhEfs9E9vGOidwqwU0f8Iw6uMSP1XmuR7OI3T87EXNjOp7r1SigccpFDdmRWyzt6YyfDS/WxkV3bwNaHPZNS22bYr8V6+9baZKCZgwnrhViEyzHnrtwjgI4aF84+8WW2Mesm5QNsm6bVaKV8fEbYNNdDMS6lyeoqwSiyiuRkm5B2//rxv4l9ZM0ZOpRwiJNWngW1U0LFKARKlSPwAEkZvfaljMmROdckgX+Vu5P/l0NFh97SXA7MiXHVeAM+wzCN7J//6DHuqOKNG50RLpfogxbTzo/teYUHVD4aFm6EnDoDfzi2V0A0A++6uk+45ke5ri+cjPJKsQnHsapZYKGZjy81P2Vg4C1t65AjL9XIFKyw+YO7zFrIRlsQfzKZiA==; 5:2kGzhwTTJcPFWbawCrzbx7KDecXBd0BzUMHS37Uc31a1pFm0K07iYLpR1em12fG3aoHbDCkOwTWG0E0D/8Z1GJhEXPCGb4Aka8aAZVA+xJ9c15R62CxC16WYpoqe4y1717ezNSRpuGBwTSS/x5rGmeuBmk2G3BzOcPeH28FjYxQ=; 7:yu9d/FhBwXeGrNQ2qJULfPsDUv1FbLnbGh0psrZ4w2JpMgt1XdwdIxxHBz5gogjwjx5BHFacn+s4MsvIxZJk5PYpMPkZ/3vOILmskIehXJmh0wW6Cw9ju7jd17cXskhaLjHwjTjqknO0A17FY6mdXw== x-ms-office365-filtering-correlation-id: 06c00242-136f-47ba-7065-08d63c0e365d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(275809806118684)(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(53946003)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(575784001)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(4744004)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: KmS+iOqwVsMEa9RqnM5Kfrr1KV8B4k6Rf6Vwdmgko61RaiKw+CZxr/YCioT/Jm1p3+Gv7wJa+mgqFirwQAXFAyqB0Ai7fCA3oYX5OaAZeK7/wjXpcgU7pas8r/s2tdK6aGIcm7u4jLMnaxFcgpIZyCaG9ApOGEWCOtyVhEzUHaeuRTaGdkcR8eG5sW3OHJsg48nVCqCuIBBnfdF//sRAS0cmkO3Ge6JLsHXj1QTiYAJzdD4Y3pnHvyiW3SCkUH0ye5oZ3Nlvz+lj8H9qIv7VVgr0k//oPprwjjahw4MolYU9DkE54fLLfs75Hg2eNBUPtU9BUfBtvYeD7HNYLwGSmPgdhqSNwVadKl/ieuOoTwU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06c00242-136f-47ba-7065-08d63c0e365d X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:06.6149 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Subject: [U-Boot] [PATCH v5 01/27] move data structure out of cpu.h 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" From: York Sun Move static definitions to cpu.c file, as it doesn't allow the cpu.h file to be included in multiple c files. Signed-off-by: York Sun --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 297 +++++++++++++++++ .../arm/include/asm/arch-fsl-layerscape/cpu.h | 300 ------------------ 2 files changed, 297 insertions(+), 300 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 052e0708d4..bae50f68d8 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -33,6 +33,303 @@ DECLARE_GLOBAL_DATA_PTR; +static struct cpu_type cpu_type_list[] = { + CPU_TYPE_ENTRY(LS2080A, LS2080A, 8), + CPU_TYPE_ENTRY(LS2085A, LS2085A, 8), + CPU_TYPE_ENTRY(LS2045A, LS2045A, 4), + CPU_TYPE_ENTRY(LS2088A, LS2088A, 8), + CPU_TYPE_ENTRY(LS2084A, LS2084A, 8), + CPU_TYPE_ENTRY(LS2048A, LS2048A, 4), + CPU_TYPE_ENTRY(LS2044A, LS2044A, 4), + CPU_TYPE_ENTRY(LS2081A, LS2081A, 8), + CPU_TYPE_ENTRY(LS2041A, LS2041A, 4), + CPU_TYPE_ENTRY(LS1043A, LS1043A, 4), + CPU_TYPE_ENTRY(LS1023A, LS1023A, 2), + CPU_TYPE_ENTRY(LS1046A, LS1046A, 4), + CPU_TYPE_ENTRY(LS1026A, LS1026A, 2), + CPU_TYPE_ENTRY(LS2040A, LS2040A, 4), + CPU_TYPE_ENTRY(LS1012A, LS1012A, 1), + CPU_TYPE_ENTRY(LS1088A, LS1088A, 8), + CPU_TYPE_ENTRY(LS1084A, LS1084A, 8), + CPU_TYPE_ENTRY(LS1048A, LS1048A, 4), + CPU_TYPE_ENTRY(LS1044A, LS1044A, 4), +}; + +#define EARLY_PGTABLE_SIZE 0x5000 +static struct mm_region early_map[] = { +#ifdef CONFIG_FSL_LSCH3 + { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, + CONFIG_SYS_FSL_CCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, + SYS_FSL_OCRAM_SPACE_SIZE, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, + CONFIG_SYS_FSL_QSPI_SIZE1, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE}, +#ifdef CONFIG_FSL_IFC + /* For IFC Region #1, only the first 4MB is cache-enabled */ + { CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1, + CONFIG_SYS_FSL_IFC_SIZE1_1, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, + CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, + CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FSL_IFC_BASE1, + CONFIG_SYS_FSL_IFC_SIZE1, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, +#endif + { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, + CONFIG_SYS_FSL_DRAM_SIZE1, +#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) + PTE_BLOCK_MEMTYPE(MT_NORMAL) | +#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | +#endif + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, +#ifdef CONFIG_FSL_IFC + /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */ + { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, + CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, +#endif + { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, + CONFIG_SYS_FSL_DCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, + CONFIG_SYS_FSL_DRAM_SIZE2, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, +#elif defined(CONFIG_FSL_LSCH2) + { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, + CONFIG_SYS_FSL_CCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, + SYS_FSL_OCRAM_SPACE_SIZE, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, + CONFIG_SYS_FSL_DCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, + CONFIG_SYS_FSL_QSPI_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, +#ifdef CONFIG_FSL_IFC + { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, + CONFIG_SYS_FSL_IFC_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, +#endif + { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, + CONFIG_SYS_FSL_DRAM_SIZE1, +#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) + PTE_BLOCK_MEMTYPE(MT_NORMAL) | +#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | +#endif + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, + { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, + CONFIG_SYS_FSL_DRAM_SIZE2, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, +#endif + {}, /* list terminator */ +}; + +static struct mm_region final_map[] = { +#ifdef CONFIG_FSL_LSCH3 + { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, + CONFIG_SYS_FSL_CCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, + SYS_FSL_OCRAM_SPACE_SIZE, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, + CONFIG_SYS_FSL_DRAM_SIZE1, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, + { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, + CONFIG_SYS_FSL_QSPI_SIZE1, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2, + CONFIG_SYS_FSL_QSPI_SIZE2, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, +#ifdef CONFIG_FSL_IFC + { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, + CONFIG_SYS_FSL_IFC_SIZE2, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, +#endif + { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, + CONFIG_SYS_FSL_DCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_MC_BASE, CONFIG_SYS_FSL_MC_BASE, + CONFIG_SYS_FSL_MC_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_NI_BASE, CONFIG_SYS_FSL_NI_BASE, + CONFIG_SYS_FSL_NI_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + /* For QBMAN portal, only the first 64MB is cache-enabled */ + { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, + CONFIG_SYS_FSL_QBMAN_SIZE_1, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS + }, + { CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, + CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, + CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, + CONFIG_SYS_PCIE1_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, + CONFIG_SYS_PCIE2_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, + CONFIG_SYS_PCIE3_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, +#ifdef CONFIG_ARCH_LS2080A + { CONFIG_SYS_PCIE4_PHYS_ADDR, CONFIG_SYS_PCIE4_PHYS_ADDR, + CONFIG_SYS_PCIE4_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, +#endif + { CONFIG_SYS_FSL_WRIOP1_BASE, CONFIG_SYS_FSL_WRIOP1_BASE, + CONFIG_SYS_FSL_WRIOP1_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_AIOP1_BASE, CONFIG_SYS_FSL_AIOP1_BASE, + CONFIG_SYS_FSL_AIOP1_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_PEBUF_BASE, CONFIG_SYS_FSL_PEBUF_BASE, + CONFIG_SYS_FSL_PEBUF_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, + CONFIG_SYS_FSL_DRAM_SIZE2, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, +#elif defined(CONFIG_FSL_LSCH2) + { CONFIG_SYS_FSL_BOOTROM_BASE, CONFIG_SYS_FSL_BOOTROM_BASE, + CONFIG_SYS_FSL_BOOTROM_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, + CONFIG_SYS_FSL_CCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, + SYS_FSL_OCRAM_SPACE_SIZE, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE + }, + { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, + CONFIG_SYS_FSL_DCSR_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, + CONFIG_SYS_FSL_QSPI_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, +#ifdef CONFIG_FSL_IFC + { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, + CONFIG_SYS_FSL_IFC_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE + }, +#endif + { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, + CONFIG_SYS_FSL_DRAM_SIZE1, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, + { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, + CONFIG_SYS_FSL_QBMAN_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, + CONFIG_SYS_FSL_DRAM_SIZE2, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, + { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, + CONFIG_SYS_PCIE1_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, + CONFIG_SYS_PCIE2_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, + CONFIG_SYS_PCIE3_PHYS_SIZE, + PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | + PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN + }, + { CONFIG_SYS_FSL_DRAM_BASE3, CONFIG_SYS_FSL_DRAM_BASE3, + CONFIG_SYS_FSL_DRAM_SIZE3, + PTE_BLOCK_MEMTYPE(MT_NORMAL) | + PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS + }, +#endif +#ifdef CONFIG_SYS_MEM_RESERVE_SECURE + {}, /* space holder for secure mem */ +#endif + {}, +}; + struct mm_region *mem_map = early_map; void cpu_name(char *name) diff --git a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h index 48d0ab163a..3926aa3039 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h @@ -7,30 +7,6 @@ #ifndef _FSL_LAYERSCAPE_CPU_H #define _FSL_LAYERSCAPE_CPU_H -static struct cpu_type cpu_type_list[] = { - CPU_TYPE_ENTRY(LS2080A, LS2080A, 8), - CPU_TYPE_ENTRY(LS2085A, LS2085A, 8), - CPU_TYPE_ENTRY(LS2045A, LS2045A, 4), - CPU_TYPE_ENTRY(LS2088A, LS2088A, 8), - CPU_TYPE_ENTRY(LS2084A, LS2084A, 8), - CPU_TYPE_ENTRY(LS2048A, LS2048A, 4), - CPU_TYPE_ENTRY(LS2044A, LS2044A, 4), - CPU_TYPE_ENTRY(LS2081A, LS2081A, 8), - CPU_TYPE_ENTRY(LS2041A, LS2041A, 4), - CPU_TYPE_ENTRY(LS1043A, LS1043A, 4), - CPU_TYPE_ENTRY(LS1023A, LS1023A, 2), - CPU_TYPE_ENTRY(LS1046A, LS1046A, 4), - CPU_TYPE_ENTRY(LS1026A, LS1026A, 2), - CPU_TYPE_ENTRY(LS2040A, LS2040A, 4), - CPU_TYPE_ENTRY(LS1012A, LS1012A, 1), - CPU_TYPE_ENTRY(LS1088A, LS1088A, 8), - CPU_TYPE_ENTRY(LS1084A, LS1084A, 8), - CPU_TYPE_ENTRY(LS1048A, LS1048A, 4), - CPU_TYPE_ENTRY(LS1044A, LS1044A, 4), -}; - -#ifndef CONFIG_SYS_DCACHE_OFF - #ifdef CONFIG_FSL_LSCH3 #define CONFIG_SYS_FSL_CCSR_BASE 0x00000000 #define CONFIG_SYS_FSL_CCSR_SIZE 0x10000000 @@ -90,282 +66,6 @@ static struct cpu_type cpu_type_list[] = { #define CONFIG_SYS_FSL_DRAM_SIZE3 0x7800000000 /* 480GB */ #endif -#define EARLY_PGTABLE_SIZE 0x5000 -static struct mm_region early_map[] = { -#ifdef CONFIG_FSL_LSCH3 - { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, - CONFIG_SYS_FSL_CCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, - SYS_FSL_OCRAM_SPACE_SIZE, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, - CONFIG_SYS_FSL_QSPI_SIZE1, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE}, -#ifdef CONFIG_FSL_IFC - /* For IFC Region #1, only the first 4MB is cache-enabled */ - { CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1, - CONFIG_SYS_FSL_IFC_SIZE1_1, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, - CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, - CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FSL_IFC_BASE1, - CONFIG_SYS_FSL_IFC_SIZE1, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, -#endif - { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, - CONFIG_SYS_FSL_DRAM_SIZE1, -#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) - PTE_BLOCK_MEMTYPE(MT_NORMAL) | -#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | -#endif - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, -#ifdef CONFIG_FSL_IFC - /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */ - { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, - CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, -#endif - { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, - CONFIG_SYS_FSL_DCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, - CONFIG_SYS_FSL_DRAM_SIZE2, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, -#elif defined(CONFIG_FSL_LSCH2) - { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, - CONFIG_SYS_FSL_CCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, - SYS_FSL_OCRAM_SPACE_SIZE, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, - CONFIG_SYS_FSL_DCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, - CONFIG_SYS_FSL_QSPI_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, -#ifdef CONFIG_FSL_IFC - { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, - CONFIG_SYS_FSL_IFC_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, -#endif - { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, - CONFIG_SYS_FSL_DRAM_SIZE1, -#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) - PTE_BLOCK_MEMTYPE(MT_NORMAL) | -#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | -#endif - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, - { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, - CONFIG_SYS_FSL_DRAM_SIZE2, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, -#endif - {}, /* list terminator */ -}; - -static struct mm_region final_map[] = { -#ifdef CONFIG_FSL_LSCH3 - { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, - CONFIG_SYS_FSL_CCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, - SYS_FSL_OCRAM_SPACE_SIZE, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, - CONFIG_SYS_FSL_DRAM_SIZE1, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, - { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, - CONFIG_SYS_FSL_QSPI_SIZE1, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2, - CONFIG_SYS_FSL_QSPI_SIZE2, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, -#ifdef CONFIG_FSL_IFC - { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, - CONFIG_SYS_FSL_IFC_SIZE2, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, -#endif - { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, - CONFIG_SYS_FSL_DCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_MC_BASE, CONFIG_SYS_FSL_MC_BASE, - CONFIG_SYS_FSL_MC_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_NI_BASE, CONFIG_SYS_FSL_NI_BASE, - CONFIG_SYS_FSL_NI_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - /* For QBMAN portal, only the first 64MB is cache-enabled */ - { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, - CONFIG_SYS_FSL_QBMAN_SIZE_1, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS - }, - { CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, - CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, - CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, - CONFIG_SYS_PCIE1_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, - CONFIG_SYS_PCIE2_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, - CONFIG_SYS_PCIE3_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, -#ifdef CONFIG_ARCH_LS2080A - { CONFIG_SYS_PCIE4_PHYS_ADDR, CONFIG_SYS_PCIE4_PHYS_ADDR, - CONFIG_SYS_PCIE4_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, -#endif - { CONFIG_SYS_FSL_WRIOP1_BASE, CONFIG_SYS_FSL_WRIOP1_BASE, - CONFIG_SYS_FSL_WRIOP1_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_AIOP1_BASE, CONFIG_SYS_FSL_AIOP1_BASE, - CONFIG_SYS_FSL_AIOP1_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_PEBUF_BASE, CONFIG_SYS_FSL_PEBUF_BASE, - CONFIG_SYS_FSL_PEBUF_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, - CONFIG_SYS_FSL_DRAM_SIZE2, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, -#elif defined(CONFIG_FSL_LSCH2) - { CONFIG_SYS_FSL_BOOTROM_BASE, CONFIG_SYS_FSL_BOOTROM_BASE, - CONFIG_SYS_FSL_BOOTROM_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, - CONFIG_SYS_FSL_CCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, - SYS_FSL_OCRAM_SPACE_SIZE, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE - }, - { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, - CONFIG_SYS_FSL_DCSR_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, - CONFIG_SYS_FSL_QSPI_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, -#ifdef CONFIG_FSL_IFC - { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, - CONFIG_SYS_FSL_IFC_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE - }, -#endif - { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, - CONFIG_SYS_FSL_DRAM_SIZE1, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, - { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, - CONFIG_SYS_FSL_QBMAN_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, - CONFIG_SYS_FSL_DRAM_SIZE2, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, - { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, - CONFIG_SYS_PCIE1_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, - CONFIG_SYS_PCIE2_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, - CONFIG_SYS_PCIE3_PHYS_SIZE, - PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | - PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN - }, - { CONFIG_SYS_FSL_DRAM_BASE3, CONFIG_SYS_FSL_DRAM_BASE3, - CONFIG_SYS_FSL_DRAM_SIZE3, - PTE_BLOCK_MEMTYPE(MT_NORMAL) | - PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS - }, -#endif -#ifdef CONFIG_SYS_MEM_RESERVE_SECURE - {}, /* space holder for secure mem */ -#endif - {}, -}; -#endif /* !CONFIG_SYS_DCACHE_OFF */ - int fsl_qoriq_core_to_cluster(unsigned int core); u32 cpu_mask(void); From patchwork Sat Oct 27 13:15:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989882 X-Patchwork-Delegate: yorksun@freescale.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="l4bXQxDr"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1bv1KBcz9s55 for ; Sun, 28 Oct 2018 00:16:59 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BAFCDC21E18; Sat, 27 Oct 2018 13:16:19 +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=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 E6EE4C21DCA; Sat, 27 Oct 2018 13:15:25 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 40039C21D8A; Sat, 27 Oct 2018 13:15:14 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00050.outbound.protection.outlook.com [40.107.0.50]) by lists.denx.de (Postfix) with ESMTPS id 85F28C21DC1 for ; Sat, 27 Oct 2018 13:15:10 +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=yhZUJ9C23CKo451GKRsrRSf4xdxK5TtXUhIzypD5RnQ=; b=l4bXQxDrlLD7tG+5US2ia52kZzGd2RBmXqKf+cpY8g6E18Mjtb9mwVQBQD4zZ5jJqEvkHfDoUBtSA1JYYfMX1vRgoZSSg2NCnir/ct0Y8mddc1f2W9eEHG0D+/i6ZVRrU7+WfFdmGSlBhYRKPFK5cTfLztKQQFadqohy9Kwl3Ng= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:09 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:09 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 02/27] env: allow flash and nand env driver to compile together Thread-Index: AQHUbfcW1nEeQlH1oUa2LivBdHPtjg== Date: Sat, 27 Oct 2018 13:15:09 +0000 Message-ID: <20181027131428.5246-3-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:SjIF+U3or0QFy6ieDBQWYGLNgRUfbPytAZYGLYcxqAEGsVL2GZbWQfOzb9zNfSEOQHt/DFGEjOyEQ1TQvQH8+JbP30ZVOKcIVtH/ttIqq58cGWg4AzETemU3JNEnc3gPyKrHc+0RTzZC32ycKBs4DKM7UWFfB4iplhoptb0TZ5nqDI86PCxIAa/bwEUh3nQ66m4AdWSH1jjXovsqEr9FYufJmHJYe7VmwWQBLVYDkq1vnU1+zNN23rNEUxRDWoVMT/1Q9fLLot7+QfUWAbqRAhPDInPW67awz4IBSOnP1pEBpxCy/JyHGurOeF+RtgQrYDrZl0TOBIrzTpiiK0nxllaRnWxMKOnipDs7XGAmTPEXtjH/1EPtrekqETVXi9oz/BUBZVqOH5gsk7OIK+HOj046CVTb7qKDSSaMXEsHz7x6dWNxIB/UXQjHqn+S2s3YPRrNj2Ap2IzdIt64d/qFFA==; 5:e7GCdpOzJUX5nM4ZJLHlasOox/20ZutTA3I1/nEwrVXN7mZHj+AH3JT4TvemWsMr8l5fEF24qoFwOn2uwlOGh251W32j5/1X6DSIQiaeTQ3A7R7bfbrIQg/Jy7XfxRDwIma2TkTRMnibBMo0mPaMK7YJ4G2CmxyQoV+05kwdqvQ=; 7:VTveZrK8eFywlqEVnXgK1eCN6dleCAKq88Amr6vAEZ6LAMJPjL0koBb74IJQ08th7DvpKWcOY1Yx7AtNFeKeAkrrr/uPARrugIVrZPEXVHdBDz63u+iygsJT7xwSu48bC3DgmHt03S8medLxXzBj0A== x-ms-office365-filtering-correlation-id: 039c0aeb-43d4-4f8d-e4f3-08d63c0e3856 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: 3x/gt2N3tAR/y8/pSzTf8V97ZCqXHrVVnNpU5oqsHsboWcEkKKsR91W4Xeu50UTnNBvcSceG5WXz1+L9ohzFJdDnmMA8mdVdGfr3HBSNbmmLbGOURdQ+2AQA2gMkuoiY3iAnedVetAeMvN48k0BiDbTCAy6fo6/LP6PVqXVPLGxx4Hti7hpbOJNO/d9JHKNbrJvJHiYCpLrPVeJ7WH4qEVOcIJ/rQhAgQgVWbseeFs4kPbBZxeJsEe22Z27uX7cFy8siycjnQcdZT6CJqEUoHgDnl7P72zZ/fHa3No2ePU5Z2QQvONuonRuOMgKNxFff3XuPez7cKxINWrAUDwEl8Zz7lj1xTkaGGmNN1UhXglg= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 039c0aeb-43d4-4f8d-e4f3-08d63c0e3856 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:09.5837 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Subject: [U-Boot] [PATCH v5 02/27] env: allow flash and nand env driver to compile together 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" Define env_ptr as static in flash and nand env driver to allow these to compile together. Signed-off-by: Rajesh Bhagat --- Change in v5: - Solved compilation warning for boards mccmon6_sd and mccmon6_nor Change in v4: None Change in v3: - Merged env nand specific patches to remove compilation warning Change in v2: None env/flash.c | 12 ++++++------ env/nand.c | 6 ++---- include/environment.h | 1 - 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/env/flash.c b/env/flash.c index 32236c716e..dca6567a09 100644 --- a/env/flash.c +++ b/env/flash.c @@ -44,16 +44,16 @@ DECLARE_GLOBAL_DATA_PTR; #define INITENV #endif +#if defined(CONFIG_ENV_ADDR_REDUND) && defined(CMD_SAVEENV) || \ + !defined(CONFIG_ENV_ADDR_REDUND) && defined(INITENV) #ifdef ENV_IS_EMBEDDED -env_t *env_ptr = &environment; - -static __maybe_unused env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR; - +static env_t *env_ptr = &environment; #else /* ! ENV_IS_EMBEDDED */ -env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR; -static __maybe_unused env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR; +static env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR; #endif /* ENV_IS_EMBEDDED */ +#endif +static __maybe_unused env_t *flash_addr = (env_t *)CONFIG_ENV_ADDR; /* CONFIG_ENV_ADDR is supposed to be on sector boundary */ static ulong __maybe_unused end_addr = diff --git a/env/nand.c b/env/nand.c index 3698e68957..29eda66fad 100644 --- a/env/nand.c +++ b/env/nand.c @@ -40,11 +40,9 @@ #endif #if defined(ENV_IS_EMBEDDED) -env_t *env_ptr = &environment; +static env_t *env_ptr = &environment; #elif defined(CONFIG_NAND_ENV_DST) -env_t *env_ptr = (env_t *)CONFIG_NAND_ENV_DST; -#else /* ! ENV_IS_EMBEDDED */ -env_t *env_ptr; +static env_t *env_ptr = (env_t *)CONFIG_NAND_ENV_DST; #endif /* ENV_IS_EMBEDDED */ DECLARE_GLOBAL_DATA_PTR; diff --git a/include/environment.h b/include/environment.h index 5e90f157e8..7da1291d5b 100644 --- a/include/environment.h +++ b/include/environment.h @@ -157,7 +157,6 @@ extern env_t environment; #endif /* ENV_IS_EMBEDDED */ extern const unsigned char default_environment[]; -extern env_t *env_ptr; #if defined(CONFIG_NEEDS_MANUAL_RELOC) extern void env_reloc(void); From patchwork Sat Oct 27 13:15:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989883 X-Patchwork-Delegate: yorksun@freescale.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="F0RRTnYO"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1d83BJGz9sDF for ; Sun, 28 Oct 2018 00:18:04 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 3320FC21DA2; Sat, 27 Oct 2018 13:17:01 +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=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 D90C7C21DB3; Sat, 27 Oct 2018 13:15:42 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 07AB0C21E08; Sat, 27 Oct 2018 13:15:18 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10086.outbound.protection.outlook.com [40.107.1.86]) by lists.denx.de (Postfix) with ESMTPS id 0B5BBC21C51 for ; Sat, 27 Oct 2018 13:15:14 +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=pOLOETTnJNW0PYqu3mzztPNEhQJZVWf3edcTNVvBNsg=; b=F0RRTnYOrhO2dleRxsSvZfLznWfWRtADzE8Z8oCgDVs6RMvG2uyj/B1R9bgfTDdk1Hf/xpypyQbZCy6uYS34AcR8SoZlRiVFQDI0RWRiZkDFGq+Q5tcu/t0bJn+VIrYYZIshX6XQDymBYnRGEmw64NXsm3P/8Tx6B1b5Vi5VnEk= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:12 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:12 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 03/27] env: sf: define API to override sf environment address Thread-Index: AQHUbfcXalYWb5NOuEOmrFJgd1S3aw== Date: Sat, 27 Oct 2018 13:15:12 +0000 Message-ID: <20181027131428.5246-4-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:wZwjUzDDX0z8SnD9o+CzqJ1qdvhtqHaztk9o5jr9byphzApQo9CKHcfzK4Ok2EXVvLYAABQqbR9Jayo+Mdpswibgu0dAhFej7Axe8BAsv+PpDie03dDOc+jrRD8FLCann8xI5uSd9ubKsuHPQeIvWNzJ97g8DEoPPg/ZBVI2513iQ9YyA+Tk8FqXgyHHaVUqrGb41HXRUkP6YP8sKwzGlKrkDL2fT8jHg54QVwR+fjUFLnLT2qegiYcqKUGt0xXM0JqGnGnrk0sSU7DJZHx4OsmYTadBVAYgmWs5F2oJYWz2DKK7pu3AWU5RTE9jr9v8C1Qd9N01PgsMVQc2L2/IWIKXYyEl3C8TJadS9618XwVafamZG58akI/MplkDrGd1nqPU6XHwuOR1RPfztMkpebkAhqwZBU6wFUDCN5IMMNkIIEqtBWZCd1mwCU+JLQDJ1QJQ2I72QG63XhewaIJB0w==; 5:b4Opn5IvS9CWt26QoFqtTgbt9haIjau64xuXdMv0869wJ11ve7uRvcbTnmGzfH9BXtnLaLHkIPFRpxAO7SGEWJ+LmB2c+MB7NbDebHUyIKXcpvdBo+qEdRh1k7CFipM2rQq929agz4Lnp5QTXc2zeNX+ha985EjS5Q1xH5rDhzw=; 7:1fr1ZztJYmkYenxpYhf/7WOJS0wC8HPZGnpTaW87g54diElcoHOxCFnrOdudEfBosxeq5sBZ6/VnL7WkmKEzHIE/Vw+2MT0helQnZ3gPTs7q55FWK5uug49bOTKVFnW9xfBd2P4OrCBO9Sd1rJoI+Q== x-ms-office365-filtering-correlation-id: ca396186-e7dd-462a-4800-08d63c0e3a1e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: eSnLrzf0c0UdyXZTZiGr1SV4i/kpigoMhti/gpkOwMgZqbyYta3SBr7XGT0rtnyw7DxG9gXjD/JIshHxk7Qb9hONa5K2/h9pS1P3U3ZUlVNzgsGIykEeXTIOnOgUXNj0CXlIRzW5XkVzfAw6JC/ks6lBvPHdW+7WbwO4s9FTLIKsXyR+gbdQDUgQlTkZJS365LYrzG82x5Ynzvi11qhv+Auz9Bgjhn3SpepLyTA5qLjFjqbcSuHoG9M48Oz/LNexMjinmAeXs5VEOd/n1mUhaAPZYq5gOEDXuc5XBZS25P0FpSdmVsy2fXqCFnw7lMRYxSSMewOSLyZ9hOPyRBm4ghB2nvz9kYK86odTZ2C2dCg= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca396186-e7dd-462a-4800-08d63c0e3a1e X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:12.6619 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Subject: [U-Boot] [PATCH v5 03/27] env: sf: define API to override sf environment address 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" Defines env_sf_get_env_addr API to override sf environment address, required to support multiple environment. Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None env/sf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/env/sf.c b/env/sf.c index 2e3c600483..23cbad5d88 100644 --- a/env/sf.c +++ b/env/sf.c @@ -298,10 +298,17 @@ out: } #endif +#ifdef CONFIG_ENV_ADDR +__weak void *env_sf_get_env_addr(void) +{ + return (void *)CONFIG_ENV_ADDR; +} +#endif + #if defined(INITENV) && defined(CONFIG_ENV_ADDR) static int env_sf_init(void) { - env_t *env_ptr = (env_t *)(CONFIG_ENV_ADDR); + env_t *env_ptr = (env_t *)env_sf_get_env_addr(); if (crc32(0, env_ptr->data, ENV_SIZE) == env_ptr->crc) { gd->env_addr = (ulong)&(env_ptr->data); From patchwork Sat Oct 27 13:15:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989885 X-Patchwork-Delegate: yorksun@freescale.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="B/Pl8amR"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1gZ3Txkz9sBZ for ; Sun, 28 Oct 2018 00:20:10 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 297B6C21E1B; Sat, 27 Oct 2018 13:16:39 +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=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 08934C21D83; Sat, 27 Oct 2018 13:15:41 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4CF0FC21C6A; Sat, 27 Oct 2018 13:15:20 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00072.outbound.protection.outlook.com [40.107.0.72]) by lists.denx.de (Postfix) with ESMTPS id CCEEBC21C50 for ; Sat, 27 Oct 2018 13:15:16 +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=iMUvBgKQQQEuswhzmVe70Td6BEp606gKLs02xnuBbgE=; b=B/Pl8amRVzlAKIgnPDM/JLsXzsG1+HnAl6Eb8BChnps8sHrrQupmhR7XvOfM4W/BDDSbZW7qTxDjsNQTmIoMiqsT8jUNf/NQx6eeg8ufKdPhYQGPx4cMg1syFduQjxKMz8cbIJcYHP4kITtM8h7ioFpTjHSJTCB12w5cXEUs1ww= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:16 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:15 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 04/27] driver/ifc: replace __ilog2 with LOG2 macro Thread-Index: AQHUbfcZrGozxVMywUmvrzrbLoM5vw== Date: Sat, 27 Oct 2018 13:15:15 +0000 Message-ID: <20181027131428.5246-5-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:oQ3Jg4QFccsF8N47MmH6CRn4/f3E2MFXnfrMoJtxtd5B2TMscUVLKvJpdI3z3yjcOwR6KpCz+eY8MLyCYRc8o07a0k9r6QQ3caVZYgHmjWEBONlrYduVU3PJF0PVd4YUxXzCWeNg1UIXmLrYuKABEC+i3PcBntaO3ioOsAuOOL7HkKk7Tl3Z5kNvcRrquUuOchxW9GD6uIiNZPSBIDAOCjL3CTK4EaksGYvP96qefu344Ns7UQfDyo4f+/yI5QIp7Xk/bQB56Bb60/QFZqu6hW8MJrdETOpAotSHRpsGxO5CUvKWPwpCb97rmle0ewG8gnUqOrsUwIw1rcIleUej4srK5iVMb9LrQ6HLytGyEAtwMah68WV8zA02Z6WIuvH8GId4nAjp7KZ3m7HahiBE/GYGx//EjOaMwjDoiLCqhBM8utQSVhOyIdbhYqnescKC+6Cm0WU+snKLQzdDD2cwmg==; 5:EBQe3zWM0xSWQRwWPWRpNc3AbgjsimQZ/LWhv4UtPXEqNi41Q3Uf9yAC+A8d1xSqb5UX6wlTxHQmbRjlY9devwo4NI9IukXgwE1AbAutaffvRErkwJ1v9Pa4QkDAB4YCQbXYM5IgiX43mliYMLmC7sMEn1GI7SQAe6wHQyz5TrE=; 7:3EI5LN7ChO+uJDXO2Unsm81aQMw2nfrdq8WqlkEXS0WSp+qA+zKl6SG1uYVx4TWcKV0OGEmKvIGhijVMxwU8WzZMVa9+LlTOIjR9kTdas2ra1pREiEUBlLfu/6F6TQK5eudGLgDwV5VjZzDU68xvOg== x-ms-office365-filtering-correlation-id: eca2ec79-814a-4b20-9575-08d63c0e3c10 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(788757137089)(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(19627235002)(68736007)(486006)(5660300001)(3846002)(575784001)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: kchY8znCngps0chh6X9Vw3YwA0v6ZR+A7P4WmGyOSVruSccourU6ha+6Q7rz0PZoR2gIFMS4hmqlXlNI74SH3z2PrLHL3YB017tKPNzODA22AOrEGkQ0rFrl3TLPsvHGsAhugzQ9y6GV/KtmrQatgLHUvaQHh4Un4IRurkGqLDfeUx/ljlCdrJpcHsFb+asfF7XflNkloUTuJjl8DTcuXNx/34ffhY2REQibta36iK8s5jwYy9aQspKC9kbvCVK1icFSi2egeYT6wIZe6jlngy+zsJ8xlmGsCjd42EP972bCySpSiPIWD3XuX1CUEE8PLOxdweEqWsuCIZo3HAPDe06Yk81NXcrUAImf8QEvxjs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eca2ec79-814a-4b20-9575-08d63c0e3c10 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:15.8494 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 04/27] driver/ifc: replace __ilog2 with LOG2 macro 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" Replaces __ilog2 function call with LOG2 macro, required to use macros in global variables. Also, corrects the value passed in LOG2 for some PowerPC platforms. Minimum value that can be configured is is 64K for IFC IP. Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None include/configs/B4860QDS.h | 2 +- include/configs/T102xQDS.h | 2 +- include/configs/T1040QDS.h | 2 +- include/configs/T208xQDS.h | 2 +- include/configs/T4240QDS.h | 2 +- include/configs/T4240RDB.h | 2 +- include/fsl_ifc.h | 10 +++++----- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index c37864c139..be7ee8e433 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -286,7 +286,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_PORT_SIZE_8 \ | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4 * 1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64 * 1024) #define CONFIG_SYS_CSOR3 0x0 /* QIXIS Timing parameters for IFC CS3 */ #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h index 191616b8b0..a8d64998f2 100644 --- a/include/configs/T102xQDS.h +++ b/include/configs/T102xQDS.h @@ -299,7 +299,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_PORT_SIZE_8 \ | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) #define CONFIG_SYS_CSOR3 0x0 /* QIXIS Timing parameters for IFC CS3 */ #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h index 25615be40e..6a91071162 100644 --- a/include/configs/T1040QDS.h +++ b/include/configs/T1040QDS.h @@ -225,7 +225,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_PORT_SIZE_8 \ | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) #define CONFIG_SYS_CSOR3 0x0 /* QIXIS Timing parameters for IFC CS3 */ #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h index 7d9354b360..8d358c9285 100644 --- a/include/configs/T208xQDS.h +++ b/include/configs/T208xQDS.h @@ -275,7 +275,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_PORT_SIZE_8 \ | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) #define CONFIG_SYS_CSOR3 0x0 /* QIXIS Timing parameters for IFC CS3 */ #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h index f85881fc3c..0b469b1477 100644 --- a/include/configs/T4240QDS.h +++ b/include/configs/T4240QDS.h @@ -201,7 +201,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_PORT_SIZE_8 \ | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) #define CONFIG_SYS_CSOR3 0x0 /* QIXIS Timing parameters for IFC CS3 */ #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h index 9d8834a3be..27bd145b52 100644 --- a/include/configs/T4240RDB.h +++ b/include/configs/T4240RDB.h @@ -470,7 +470,7 @@ unsigned long get_board_ddr_clk(void); | CSPR_MSEL_GPCM \ | CSPR_V) -#define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) +#define CONFIG_SYS_AMASK3 IFC_AMASK(64*1024) #define CONFIG_SYS_CSOR3 0x0 /* CPLD Timing parameters for IFC CS3 */ diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h index 8120ca0de8..17697c7341 100644 --- a/include/fsl_ifc.h +++ b/include/fsl_ifc.h @@ -70,7 +70,7 @@ #define IFC_AMASK_MASK 0xFFFF0000 #define IFC_AMASK_SHIFT 16 #define IFC_AMASK(n) (IFC_AMASK_MASK << \ - (__ilog2(n) - IFC_AMASK_SHIFT)) + (LOG2(n) - IFC_AMASK_SHIFT)) /* * Chip Select Option Register IFC_NAND Machine @@ -111,7 +111,7 @@ /* Pages Per Block */ #define CSOR_NAND_PB_MASK 0x00000700 #define CSOR_NAND_PB_SHIFT 8 -#define CSOR_NAND_PB(n) ((__ilog2(n) - 5) << CSOR_NAND_PB_SHIFT) +#define CSOR_NAND_PB(n) ((LOG2(n) - 5) << CSOR_NAND_PB_SHIFT) /* Time for Read Enable High to Output High Impedance */ #define CSOR_NAND_TRHZ_MASK 0x0000001C #define CSOR_NAND_TRHZ_SHIFT 2 @@ -164,7 +164,7 @@ /* GPCM Timeout Count */ #define CSOR_GPCM_GPTO_MASK 0x0F000000 #define CSOR_GPCM_GPTO_SHIFT 24 -#define CSOR_GPCM_GPTO(n) ((__ilog2(n) - 8) << CSOR_GPCM_GPTO_SHIFT) +#define CSOR_GPCM_GPTO(n) ((LOG2(n) - 8) << CSOR_GPCM_GPTO_SHIFT) /* GPCM External Access Termination mode for read access */ #define CSOR_GPCM_RGETA_EXT 0x00080000 /* GPCM External Access Termination mode for write access */ @@ -644,7 +644,7 @@ enum ifc_nand_fir_opcodes { */ #define IFC_NAND_NCR_FTOCNT_MASK 0x1E000000 #define IFC_NAND_NCR_FTOCNT_SHIFT 25 -#define IFC_NAND_NCR_FTOCNT(n) ((_ilog2(n) - 8) << IFC_NAND_NCR_FTOCNT_SHIFT) +#define IFC_NAND_NCR_FTOCNT(n) ((LOG2(n) - 8) << IFC_NAND_NCR_FTOCNT_SHIFT) /* * NAND_AUTOBOOT_TRGR @@ -727,7 +727,7 @@ enum ifc_nand_fir_opcodes { /* Sequence Timeout Count */ #define IFC_NORCR_STOCNT_MASK 0x000F0000 #define IFC_NORCR_STOCNT_SHIFT 16 -#define IFC_NORCR_STOCNT(n) ((__ilog2(n) - 8) << IFC_NORCR_STOCNT_SHIFT) +#define IFC_NORCR_STOCNT(n) ((LOG2(n) - 8) << IFC_NORCR_STOCNT_SHIFT) /* * GPCM Machine specific registers From patchwork Sat Oct 27 13:15:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989884 X-Patchwork-Delegate: yorksun@freescale.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="H8krvYh5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1dB6PB4z9sBZ for ; Sun, 28 Oct 2018 00:18:06 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8699FC21DA2; Sat, 27 Oct 2018 13:17:21 +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=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 A357DC21E29; Sat, 27 Oct 2018 13:15:43 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9F98AC21DB6; Sat, 27 Oct 2018 13:15:25 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10069.outbound.protection.outlook.com [40.107.1.69]) by lists.denx.de (Postfix) with ESMTPS id 2706FC21E12 for ; Sat, 27 Oct 2018 13:15:20 +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=+3DQjiks5sTN+iOThBmze6lE+mJK8PZ+0W0OpaU3buw=; b=H8krvYh54e039GPVaLAH/40VdodKF4dbSjwuYOorTJr+hl8N4l+l2sUA5SMfNwHSHdHxjDHv22MGw5B2MR63yaAhjrWSjNQEX3rw+43Qpli0PUdjIzX3D68rgGjeoT72TcKnD9RILN4e0unnjCGQDB0qFN6YtxFaJa25b92WOXk= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:19 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:19 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 05/27] armv8: layerscape: Enable routing SError exception Thread-Index: AQHUbfcbpqtDL4H/Sk+dGZjtPYGXUQ== Date: Sat, 27 Oct 2018 13:15:19 +0000 Message-ID: <20181027131428.5246-6-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:XFWI4JTHadMTaZKYNN3wqCu2ajyXdWvhAqfPnX0+QuyRpRl9jK/GeJNYj+GeWNK8tjMq7N/bJWfsEeR99+PpdajVaJm+LnqJ35ekPPD/9zlfnwE4k1rVHIjX+tPVHkLbzirxz69INb1R8ahcyBx6yL0BV3KpoUeXYLlnySm/dEOEiXZMmk+2DwI0MXsIMb6UjTDBmfO6XUC99PxmPP3zGqZy5Q1Kea19aXF6zvY63qwdBZBahYMsXyxe1tEfBojxnByMv9M/VEPiwdeGdUr6kslL8mSILBAJTkSpoP7ox+9PmiFS7GQBngj5JHaWvxS7GLCVmS7DuS0HoXPue8mSPFOVO/CSz/Sn2rXmXsxEVusxoMB4rua4MQYa0n4jFDNEh6H/pTzhTQX8iEP/gpwR3ZpbG+C6P2kjNYFotsaj3S3H4JmrkUDKYY93tw4CW3tHfMgzW9m7dmmdBiPxVTETAg==; 5:3N8Z5AEGt5fazrjHSMSEwcS2DuMg/WSMjv4geCTC+rdU5lBIP+BxrmsUW7fXzMWQkekQh6g/ELOskqh16zEtYOGwsQAtjSIJBX8hvO3iNdRyCTIx0FTZvVnaYmLvPeFw3sVAEcLH30N+ghI/MJoWz8CaWlyV7wmLrNMuLXumEz8=; 7:yzkKsfoxXB/avDtu46OLqVgYppGnS78Q1wnk/7WREnTXgT63D2txNj01aF45JW9oU/BdKFkKGQu5FYCyljOZRjY8cfEb1FZ5IlTJEo+VYA0/uyqLcs4vaQ4K4+Rneo4Gcfx/9bCXIr0EoEGmvX8R4A== x-ms-office365-filtering-correlation-id: b9e1254f-ead0-4f73-e42f-08d63c0e3de3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: r5iNSrxM3OxOkCAt/F1B8msY4LAIogz7glRPZsAK3vtAWZ9mFbBKqovIVg/Es72H09L4P5oClfWGHIEVwcbr4t3xwWwTt0dCoSsOQrOWewB5aM7NZDpLF6qxNxtDZYLaiBIc9vAhkxF/zfNKif80ygOq5rbMgV5DpAadMLvKAMAeP4fpXg18gALh/lxX+hNbQtDT2klYGKQEJYJxCFD2Ogv49bAj2gsWDoAHAXCZaJFwvdyOAonu3KvPM7NrawGV3Yd/oLJH3q6s9BGfxY5dZXfGiI0FsqF+Dn2+c3V1UhLpTt4xjvjR7GWeg5FwlsZ4oGigBj7f+2SE3rNpdLJkkz2C4++3RabOpPtDwbnCFiU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9e1254f-ead0-4f73-e42f-08d63c0e3de3 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:19.0371 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Subject: [U-Boot] [PATCH v5 05/27] armv8: layerscape: Enable routing SError exception 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" From: York Sun In case SError happens at EL2, if SCR_EL3[EA] is not routing it to EL3, and SCR_EL3[RW] is set to aarch64, setting HCR_EL2[AMO] routes the exception to EL2. Otherwise this exception is not taken. Signed-off-by: York Sun --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S index ef3987ea84..11b5fb2ec3 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S +++ b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S @@ -71,6 +71,15 @@ ENDPROC(smp_kick_all_cpus) ENTRY(lowlevel_init) mov x29, lr /* Save LR */ + /* unmask SError and abort */ + msr daifclr, #4 + + /* Set HCR_EL2[AMO] so SError @EL2 is taken */ + mrs x0, hcr_el2 + orr x0, x0, #0x20 /* AMO */ + msr hcr_el2, x0 + isb + switch_el x1, 1f, 100f, 100f /* skip if not in EL3 */ 1: From patchwork Sat Oct 27 13:15:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989898 X-Patchwork-Delegate: yorksun@freescale.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="VACgvsM+"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1w74bJSz9s7h for ; Sun, 28 Oct 2018 00:31:03 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 09645C21D8E; Sat, 27 Oct 2018 13:18:29 +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=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 EEBC9C21E07; Sat, 27 Oct 2018 13:15:56 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id AD7BFC21DD9; Sat, 27 Oct 2018 13:15:32 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10074.outbound.protection.outlook.com [40.107.1.74]) by lists.denx.de (Postfix) with ESMTPS id A8821C21D8A for ; Sat, 27 Oct 2018 13:15:24 +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=xoHVZ+gVS6g6Dd9cF6SFqYu2CWF1HDCFwvbG0hojn1E=; b=VACgvsM+uOnGDnJ02pB7S04saVEscjpiYaxYaeLzUfEl2E50AnsAp1a2x6yB04KIsIz/9SU2NGHwXlZOKRNbIx6J8CTTwsX4vTuIVqapxFJrD2p0RimspwBrVR2M1Jcua5RnzIxsdlDXerNFFekXt/itaIv6A/FmmGJqBezUF8U= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:23 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:23 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 06/27] armv8: fsl-layerscape: change tlb base from OCRAM to DDR in EL < 3 Thread-Index: AQHUbfceMH/0Dy9sJE+gS6J2wNosEQ== Date: Sat, 27 Oct 2018 13:15:23 +0000 Message-ID: <20181027131428.5246-7-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:L2x8wSiTFgfKYvp8+NoVv1wJAbdjPCcehsWyxm2uZdHA8vI9HAiXMXRnMuGFWDDdwpnSzlJZYkKI6uVNo7u2v3E+ZxE4fg8KuNgv8rh+3Ne1rtj2tnG3RDMz4056JSzChFqLMDafpWil3k0KNu6k9xubrgkFQ+Dy4Pz93jIaJwFkUayKeL3oTQ7IfkPbN7G5+aeZR741k10SvZlfgJBvSmx5oTA20yKuQpjMvySzk5wcY4CH7YzxEr15ZCa14Da2FMjgjHbG9ZectCfT31VotlO9Lvb93pSb/H+dsxqW3tCwUpaLoO/lYxEZsX6kEZDGkUN5ULANN9X7daQOG8P4uHsV34MxFkNoxGZdgUi66h4xybByKEk63uCDOE1tzUKennzW42dYxneu7OhIL336ErzutjCGRw/xoH/u06rYcLG34fvQNp0GjgfAtAwAMsfJSwSj7SR1H6Q7VpTrLMDDZA==; 5:M7vLa1gaLklag093OMlrTvnOfiglhZo5wT9L5XtGtLU+a+yTgYcz3VJVqPtcBy7h+xG9BHZvy7lbYNwfxSDNhJS2mRxEnPZ2ZWt/nWWlH/XAGV1k7uc43Cr03aJHP3qLHtlc6D3U1Gi+THkepKsjkgxFlJZkkwVr9N7GPvQi2P4=; 7:lMPF27Pc3vBtgQ3h/yn4+neeuLUQdCHO4K/w5UCROUi5tF93nJmTBuQkw7XkCO72Ea2SdbX8CY34AvL/lrf3L9xrWUgYppATkFjXAXt+k7XGONN9Mw89ot1rbmTwcvVibkL17LMnpxYFBG2mtwct/w== x-ms-office365-filtering-correlation-id: 1dedc28a-8043-42d8-b4a7-08d63c0e407a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: nOT3+dKbCP/Lxdu85g7Z/fnWM+QItMeEg8MUKXdl+V6z2jHJyGGCN1MFUSvcxnkyNY96C/u6klS54ByMB00l5M9a/b8sMX/cMY7UwfDCJGI97ULwDbwXX7NiIZLgDU6WhuTp2NTzKr3E7lD8KS2XW/iSLwNbtWDJokUqsJY+6QxFXNbVlGURlSb5PVN8ImiZWgxJ0/DYBLa83RDKHpVmmqSiP4Kr6ti4K5v1UlbPadwNAL8OL2xdEdyiO7z4OFN23te/YOp1jP9SZf1X5Sb6AF2QqWuwoRsUggq1cV6iVb3nDwq+d6VYyIPylA6ZbOfX+fws43zttARkC7suaVb8qGORGYakMZWzdnaKb+qW3Ic= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dedc28a-8043-42d8-b4a7-08d63c0e407a X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:23.3808 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Cc: Ruchika Gupta , Pankit Garg Subject: [U-Boot] [PATCH v5 06/27] armv8: fsl-layerscape: change tlb base from OCRAM to DDR in EL < 3 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" From: Pankit Garg Change tlb base address from OCRAM to DDR when exception level is less than 3. Signed-off-by: Ruchika Gupta Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index bae50f68d8..6304825180 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -371,7 +371,10 @@ static inline void early_mmu_setup(void) unsigned int el = current_el(); /* global data is already setup, no allocation yet */ - gd->arch.tlb_addr = CONFIG_SYS_FSL_OCRAM_BASE; + if (el == 3) + gd->arch.tlb_addr = CONFIG_SYS_FSL_OCRAM_BASE; + else + gd->arch.tlb_addr = CONFIG_SYS_DDR_SDRAM_BASE; gd->arch.tlb_fillptr = gd->arch.tlb_addr; gd->arch.tlb_size = EARLY_PGTABLE_SIZE; From patchwork Sat Oct 27 13:15:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989888 X-Patchwork-Delegate: yorksun@freescale.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="POWoeRBc"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1km6dw3z9s7h for ; Sun, 28 Oct 2018 00:22:56 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8D33CC21DE8; Sat, 27 Oct 2018 13:17:42 +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.8 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID, UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 8B172C21E0D; Sat, 27 Oct 2018 13:15:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8F1DDC21D65; Sat, 27 Oct 2018 13:15:35 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10060.outbound.protection.outlook.com [40.107.1.60]) by lists.denx.de (Postfix) with ESMTPS id 69EBCC21DFB for ; Sat, 27 Oct 2018 13:15:28 +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=n7Cax98oa9U+x8B6e2/swUfhdig9yhV1IHc54td0HXU=; b=POWoeRBc52UsWdjzvlMcqszGSFqCmiz82pKgecZBpEKf35xzCpuChB7KZ1OjYDSMvz/GQFxjurWbEtRnnb8DM/jVlsgjeCIQ1bll3+di9dmdMx++jsgym6KRQAZZjsw7xOR1W2okXj0kxwdPmacLZ7Bno4OhueVNFiP7OPHC9nE= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:27 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:27 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 07/27] drivers: ifc: dynamic chipselect mapping support Thread-Index: AQHUbfcgUyQQa8BSukCcp3jCdv10XA== Date: Sat, 27 Oct 2018 13:15:26 +0000 Message-ID: <20181027131428.5246-8-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:fMgLOFAnSx4+gk1Pz9iMyvvOI0nB9ZP8t4pj1w/orOLZayvNgLljdh4EVyQUc0+4kQ3MV1Ctn8sPcBek0aWLAqiLJleXCmMh9bbeGYb2lzvVVHaTydLbk9tuWZhC8I9DblSdfVbQNnvayDuWUqC/4mzXtQ6ff1HuEvsOPbmKuWvi1bQCyMWTpNRncq5NCrHuAhGsVZDRZ1SDOmJ+J6c0Oj50UIWBEvAg19V5Tt6SjvYHta+LXZgfovVXv6E1kmgwn55Ex3oNYF9ncaYfkp5znsxxrzgFIJ92AvBI+BvMHqFJwC7uPRlJxdIbR5ghX3EdHDZCRm51TTvc//5j/99SBVQZQHoQpewUIoSaUvgy5qXCCni+bxloXLYrp+cp6Log/s2pXJeD9WkRou8juNGAxhx+YjM/3EaI/4ydXX/RebfQAikEGbVqOP/n7LB7N9Z/VeFmVgTU02TJ/jHbI7x/Xw==; 5:BfoxWZoPncKjDVQT7CSLD/RVHDF1eri8O8BfzOidtQgOXxTvTwPMR/dtXVs3loDOys09A8qXtPzvWy3eZl1GUXK2Tzb/WUElS/0gwOSORTdpj+21xbJ+Cq72XVgv/aMX9KaPDirpXt7bdaZc04bFYkejWZO4AzZqNO/AVsZRKtA=; 7:+WA6jiRRYQDytpvPpO2Wmgit/GQoN3aJIyDUkYawalncyh6qH9I/+NSXy4A/2aND5Rma/J14iLGXV+Cf2W9qv4JJzJYFyowuHLun5TSzsjLvdCo6pXQlifV5JWGHizGedGU3+/fU1EYUAGEN9rmfHw== x-ms-office365-filtering-correlation-id: 5f3b4b45-9465-49de-00d7-08d63c0e428c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(2906002)(6916009)(44832011)(26005)(2616005)(4744004)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: a/qq2zEyAn7NWL1+7NzDE2T4fdlTVbWKW+YQGrLJemLtzdTwRLdxcf5OkqNDLVAyIZbaSfcB59kat5ujtes0fmBQRsXNg7y/4VjI4cTdmPOYEQnTOy0d3Pok2OGz8vt/vLDkLp66Ibl+yAH/KFkCpGgcaE5FNJ1Gd/yqo+lZGQqyN9+1w6qeAdrdBEaCydNA3hyjacmh4H6mS2GXKE1KPmhbtQe+lVS9wrc5A86qPU2PTFRqJ4LhHclfv2bbYmZA6pPWlwpkdc2dV2rnarrmSHujl1wT2FkNGxFGSNHbJPga4nMk/nbvu3rBtfD1GeMB74bS0N0YcOhS6VYeVo69E2NuEqkAanWenblE26Oa1e0= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f3b4b45-9465-49de-00d7-08d63c0e428c X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:26.9902 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 07/27] drivers: ifc: dynamic chipselect mapping 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" From: Pankit Garg IFC driver changes to implement the chipselect mappings at run time. Defines init_early_memctl_regs and init_final_memctl_regs with chipselect dynamic mapping for nor and nand boot. Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None drivers/misc/fsl_ifc.c | 488 +++++++++++++++++++++++++++++------------ include/fsl_ifc.h | 17 ++ 2 files changed, 369 insertions(+), 136 deletions(-) diff --git a/drivers/misc/fsl_ifc.c b/drivers/misc/fsl_ifc.c index 7d66c3cf76..444cbaef6e 100644 --- a/drivers/misc/fsl_ifc.c +++ b/drivers/misc/fsl_ifc.c @@ -7,185 +7,401 @@ #include #include -void print_ifc_regs(void) -{ - int i, j; - - printf("IFC Controller Registers\n"); - for (i = 0; i < CONFIG_SYS_FSL_IFC_BANK_COUNT; i++) { - printf("CSPR%d:0x%08X\tAMASK%d:0x%08X\tCSOR%d:0x%08X\n", - i, get_ifc_cspr(i), i, get_ifc_amask(i), - i, get_ifc_csor(i)); - for (j = 0; j < 4; j++) - printf("IFC_FTIM%d:0x%08X\n", j, get_ifc_ftim(i, j)); - } -} - -void init_early_memctl_regs(void) -{ +struct ifc_regs ifc_cfg_default_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "cs0", #if defined(CONFIG_SYS_CSPR0) && defined(CONFIG_SYS_CSOR0) - set_ifc_ftim(IFC_CS0, IFC_FTIM0, CONFIG_SYS_CS0_FTIM0); - set_ifc_ftim(IFC_CS0, IFC_FTIM1, CONFIG_SYS_CS0_FTIM1); - set_ifc_ftim(IFC_CS0, IFC_FTIM2, CONFIG_SYS_CS0_FTIM2); - set_ifc_ftim(IFC_CS0, IFC_FTIM3, CONFIG_SYS_CS0_FTIM3); - -#ifndef CONFIG_A003399_NOR_WORKAROUND + CONFIG_SYS_CSPR0, #ifdef CONFIG_SYS_CSPR0_EXT - set_ifc_cspr_ext(IFC_CS0, CONFIG_SYS_CSPR0_EXT); -#endif + CONFIG_SYS_CSPR0_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK0 + CONFIG_SYS_AMASK0, +#else + 0, +#endif + CONFIG_SYS_CSOR0, + { + CONFIG_SYS_CS0_FTIM0, + CONFIG_SYS_CS0_FTIM1, + CONFIG_SYS_CS0_FTIM2, + CONFIG_SYS_CS0_FTIM3, + }, #ifdef CONFIG_SYS_CSOR0_EXT - set_ifc_csor_ext(IFC_CS0, CONFIG_SYS_CSOR0_EXT); + CONFIG_SYS_CSOR0_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_CSPR0_FINAL + CONFIG_SYS_CSPR0_FINAL, +#else + 0, #endif - set_ifc_cspr(IFC_CS0, CONFIG_SYS_CSPR0); - set_ifc_amask(IFC_CS0, CONFIG_SYS_AMASK0); - set_ifc_csor(IFC_CS0, CONFIG_SYS_CSOR0); +#ifdef CONFIG_SYS_AMASK0_FINAL + CONFIG_SYS_AMASK0_FINAL, +#else + 0, #endif #endif + }, +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 2 + { + "cs1", +#if defined(CONFIG_SYS_CSPR1) && defined(CONFIG_SYS_CSOR1) + CONFIG_SYS_CSPR1, #ifdef CONFIG_SYS_CSPR1_EXT - set_ifc_cspr_ext(IFC_CS1, CONFIG_SYS_CSPR1_EXT); -#endif + CONFIG_SYS_CSPR1_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK1 + CONFIG_SYS_AMASK1, +#else + 0, +#endif + CONFIG_SYS_CSOR1, + { + CONFIG_SYS_CS1_FTIM0, + CONFIG_SYS_CS1_FTIM1, + CONFIG_SYS_CS1_FTIM2, + CONFIG_SYS_CS1_FTIM3, + }, #ifdef CONFIG_SYS_CSOR1_EXT - set_ifc_csor_ext(IFC_CS1, CONFIG_SYS_CSOR1_EXT); + CONFIG_SYS_CSOR1_EXT, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR1) && defined(CONFIG_SYS_CSOR1) - set_ifc_ftim(IFC_CS1, IFC_FTIM0, CONFIG_SYS_CS1_FTIM0); - set_ifc_ftim(IFC_CS1, IFC_FTIM1, CONFIG_SYS_CS1_FTIM1); - set_ifc_ftim(IFC_CS1, IFC_FTIM2, CONFIG_SYS_CS1_FTIM2); - set_ifc_ftim(IFC_CS1, IFC_FTIM3, CONFIG_SYS_CS1_FTIM3); - - set_ifc_csor(IFC_CS1, CONFIG_SYS_CSOR1); - set_ifc_amask(IFC_CS1, CONFIG_SYS_AMASK1); - set_ifc_cspr(IFC_CS1, CONFIG_SYS_CSPR1); +#ifdef CONFIG_SYS_CSPR1_FINAL + CONFIG_SYS_CSPR1_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK1_FINAL + CONFIG_SYS_AMASK1_FINAL, +#else + 0, +#endif +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 3 + { + "cs2", +#if defined(CONFIG_SYS_CSPR2) && defined(CONFIG_SYS_CSOR2) + CONFIG_SYS_CSPR2, #ifdef CONFIG_SYS_CSPR2_EXT - set_ifc_cspr_ext(IFC_CS2, CONFIG_SYS_CSPR2_EXT); -#endif + CONFIG_SYS_CSPR2_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK2 + CONFIG_SYS_AMASK2, +#else + 0, +#endif + CONFIG_SYS_CSOR2, + { + CONFIG_SYS_CS2_FTIM0, + CONFIG_SYS_CS2_FTIM1, + CONFIG_SYS_CS2_FTIM2, + CONFIG_SYS_CS2_FTIM3, + }, #ifdef CONFIG_SYS_CSOR2_EXT - set_ifc_csor_ext(IFC_CS2, CONFIG_SYS_CSOR2_EXT); + CONFIG_SYS_CSOR2_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_CSPR2_FINAL + CONFIG_SYS_CSPR2_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK2_FINAL + CONFIG_SYS_AMASK2_FINAL, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR2) && defined(CONFIG_SYS_CSOR2) - set_ifc_ftim(IFC_CS2, IFC_FTIM0, CONFIG_SYS_CS2_FTIM0); - set_ifc_ftim(IFC_CS2, IFC_FTIM1, CONFIG_SYS_CS2_FTIM1); - set_ifc_ftim(IFC_CS2, IFC_FTIM2, CONFIG_SYS_CS2_FTIM2); - set_ifc_ftim(IFC_CS2, IFC_FTIM3, CONFIG_SYS_CS2_FTIM3); - - set_ifc_csor(IFC_CS2, CONFIG_SYS_CSOR2); - set_ifc_amask(IFC_CS2, CONFIG_SYS_AMASK2); - set_ifc_cspr(IFC_CS2, CONFIG_SYS_CSPR2); +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 4 + { + "cs3", +#if defined(CONFIG_SYS_CSPR3) && defined(CONFIG_SYS_CSOR3) + CONFIG_SYS_CSPR3, #ifdef CONFIG_SYS_CSPR3_EXT - set_ifc_cspr_ext(IFC_CS3, CONFIG_SYS_CSPR3_EXT); -#endif + CONFIG_SYS_CSPR3_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK3 + CONFIG_SYS_AMASK3, +#else + 0, +#endif + CONFIG_SYS_CSOR3, + { + CONFIG_SYS_CS3_FTIM0, + CONFIG_SYS_CS3_FTIM1, + CONFIG_SYS_CS3_FTIM2, + CONFIG_SYS_CS3_FTIM3, + }, #ifdef CONFIG_SYS_CSOR3_EXT - set_ifc_csor_ext(IFC_CS3, CONFIG_SYS_CSOR3_EXT); + CONFIG_SYS_CSOR3_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_CSPR3_FINAL + CONFIG_SYS_CSPR3_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK3_FINAL + CONFIG_SYS_AMASK3_FINAL, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR3) && defined(CONFIG_SYS_CSOR3) - set_ifc_ftim(IFC_CS3, IFC_FTIM0, CONFIG_SYS_CS3_FTIM0); - set_ifc_ftim(IFC_CS3, IFC_FTIM1, CONFIG_SYS_CS3_FTIM1); - set_ifc_ftim(IFC_CS3, IFC_FTIM2, CONFIG_SYS_CS3_FTIM2); - set_ifc_ftim(IFC_CS3, IFC_FTIM3, CONFIG_SYS_CS3_FTIM3); - - set_ifc_cspr(IFC_CS3, CONFIG_SYS_CSPR3); - set_ifc_amask(IFC_CS3, CONFIG_SYS_AMASK3); - set_ifc_csor(IFC_CS3, CONFIG_SYS_CSOR3); +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 5 + { + "cs4", +#if defined(CONFIG_SYS_CSPR4) && defined(CONFIG_SYS_CSOR4) + CONFIG_SYS_CSPR4, #ifdef CONFIG_SYS_CSPR4_EXT - set_ifc_cspr_ext(IFC_CS4, CONFIG_SYS_CSPR4_EXT); -#endif + CONFIG_SYS_CSPR4_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK4 + CONFIG_SYS_AMASK4, +#else + 0, +#endif + CONFIG_SYS_CSOR4, + { + CONFIG_SYS_CS4_FTIM0, + CONFIG_SYS_CS4_FTIM1, + CONFIG_SYS_CS4_FTIM2, + CONFIG_SYS_CS4_FTIM3, + }, #ifdef CONFIG_SYS_CSOR4_EXT - set_ifc_csor_ext(IFC_CS4, CONFIG_SYS_CSOR4_EXT); + CONFIG_SYS_CSOR4_EXT, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR4) && defined(CONFIG_SYS_CSOR4) - set_ifc_ftim(IFC_CS4, IFC_FTIM0, CONFIG_SYS_CS4_FTIM0); - set_ifc_ftim(IFC_CS4, IFC_FTIM1, CONFIG_SYS_CS4_FTIM1); - set_ifc_ftim(IFC_CS4, IFC_FTIM2, CONFIG_SYS_CS4_FTIM2); - set_ifc_ftim(IFC_CS4, IFC_FTIM3, CONFIG_SYS_CS4_FTIM3); - - set_ifc_cspr(IFC_CS4, CONFIG_SYS_CSPR4); - set_ifc_amask(IFC_CS4, CONFIG_SYS_AMASK4); - set_ifc_csor(IFC_CS4, CONFIG_SYS_CSOR4); +#ifdef CONFIG_SYS_CSPR4_FINAL + CONFIG_SYS_CSPR4_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK4_FINAL + CONFIG_SYS_AMASK4_FINAL, +#else + 0, +#endif +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 6 + { + "cs5", +#if defined(CONFIG_SYS_CSPR5) && defined(CONFIG_SYS_CSOR5) + CONFIG_SYS_CSPR5, #ifdef CONFIG_SYS_CSPR5_EXT - set_ifc_cspr_ext(IFC_CS5, CONFIG_SYS_CSPR5_EXT); -#endif + CONFIG_SYS_CSPR5_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK5 + CONFIG_SYS_AMASK5, +#else + 0, +#endif + CONFIG_SYS_CSOR5, + { + CONFIG_SYS_CS5_FTIM0, + CONFIG_SYS_CS5_FTIM1, + CONFIG_SYS_CS5_FTIM2, + CONFIG_SYS_CS5_FTIM3, + }, #ifdef CONFIG_SYS_CSOR5_EXT - set_ifc_csor_ext(IFC_CS5, CONFIG_SYS_CSOR5_EXT); + CONFIG_SYS_CSOR5_EXT, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR5) && defined(CONFIG_SYS_CSOR5) - set_ifc_ftim(IFC_CS5, IFC_FTIM0, CONFIG_SYS_CS5_FTIM0); - set_ifc_ftim(IFC_CS5, IFC_FTIM1, CONFIG_SYS_CS5_FTIM1); - set_ifc_ftim(IFC_CS5, IFC_FTIM2, CONFIG_SYS_CS5_FTIM2); - set_ifc_ftim(IFC_CS5, IFC_FTIM3, CONFIG_SYS_CS5_FTIM3); - - set_ifc_cspr(IFC_CS5, CONFIG_SYS_CSPR5); - set_ifc_amask(IFC_CS5, CONFIG_SYS_AMASK5); - set_ifc_csor(IFC_CS5, CONFIG_SYS_CSOR5); +#ifdef CONFIG_SYS_CSPR5_FINAL + CONFIG_SYS_CSPR5_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK5_FINAL + CONFIG_SYS_AMASK5_FINAL, +#else + 0, +#endif +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 7 + { + "cs6", +#if defined(CONFIG_SYS_CSPR6) && defined(CONFIG_SYS_CSOR6) + CONFIG_SYS_CSPR6, #ifdef CONFIG_SYS_CSPR6_EXT - set_ifc_cspr_ext(IFC_CS6, CONFIG_SYS_CSPR6_EXT); -#endif + CONFIG_SYS_CSPR6_EXT, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK6 + CONFIG_SYS_AMASK6, +#else + 0, +#endif + CONFIG_SYS_CSOR6, + { + CONFIG_SYS_CS6_FTIM0, + CONFIG_SYS_CS6_FTIM1, + CONFIG_SYS_CS6_FTIM2, + CONFIG_SYS_CS6_FTIM3, + }, #ifdef CONFIG_SYS_CSOR6_EXT - set_ifc_csor_ext(IFC_CS6, CONFIG_SYS_CSOR6_EXT); + CONFIG_SYS_CSOR6_EXT, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR6) && defined(CONFIG_SYS_CSOR6) - set_ifc_ftim(IFC_CS6, IFC_FTIM0, CONFIG_SYS_CS6_FTIM0); - set_ifc_ftim(IFC_CS6, IFC_FTIM1, CONFIG_SYS_CS6_FTIM1); - set_ifc_ftim(IFC_CS6, IFC_FTIM2, CONFIG_SYS_CS6_FTIM2); - set_ifc_ftim(IFC_CS6, IFC_FTIM3, CONFIG_SYS_CS6_FTIM3); - - set_ifc_cspr(IFC_CS6, CONFIG_SYS_CSPR6); - set_ifc_amask(IFC_CS6, CONFIG_SYS_AMASK6); - set_ifc_csor(IFC_CS6, CONFIG_SYS_CSOR6); +#ifdef CONFIG_SYS_CSPR6_FINAL + CONFIG_SYS_CSPR6_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK6_FINAL + CONFIG_SYS_AMASK6_FINAL, +#else + 0, +#endif +#endif + }, #endif +#if CONFIG_SYS_FSL_IFC_BANK_COUNT >= 8 + { + "cs7", +#if defined(CONFIG_SYS_CSPR7) && defined(CONFIG_SYS_CSOR7) + CONFIG_SYS_CSPR7, #ifdef CONFIG_SYS_CSPR7_EXT - set_ifc_cspr_ext(IFC_CS7, CONFIG_SYS_CSPR7_EXT); + CONFIG_SYS_CSPR7_EXT, +#else + 0, #endif -#ifdef CONFIG_SYS_CSOR7_EXT - set_ifc_csor_ext(IFC_CS7, CONFIG_SYS_CSOR7_EXT); +#ifdef CONFIG_SYS_AMASK7 + CONFIG_SYS_AMASK7, +#else + 0, #endif -#if defined(CONFIG_SYS_CSPR7) && defined(CONFIG_SYS_CSOR7) - set_ifc_ftim(IFC_CS7, IFC_FTIM0, CONFIG_SYS_CS7_FTIM0); - set_ifc_ftim(IFC_CS7, IFC_FTIM1, CONFIG_SYS_CS7_FTIM1); - set_ifc_ftim(IFC_CS7, IFC_FTIM2, CONFIG_SYS_CS7_FTIM2); - set_ifc_ftim(IFC_CS7, IFC_FTIM3, CONFIG_SYS_CS7_FTIM3); + CONFIG_SYS_CSOR7, +#ifdef CONFIG_SYS_CSOR7_EXT + CONFIG_SYS_CSOR7_EXT, +#else + 0, +#endif + { + CONFIG_SYS_CS7_FTIM0, + CONFIG_SYS_CS7_FTIM1, + CONFIG_SYS_CS7_FTIM2, + CONFIG_SYS_CS7_FTIM3, + }, +#ifdef CONFIG_SYS_CSPR7_FINAL + CONFIG_SYS_CSPR7_FINAL, +#else + 0, +#endif +#ifdef CONFIG_SYS_AMASK7_FINAL + CONFIG_SYS_AMASK7_FINAL, +#else + 0, +#endif +#endif + }, +#endif +}; - set_ifc_cspr(IFC_CS7, CONFIG_SYS_CSPR7); - set_ifc_amask(IFC_CS7, CONFIG_SYS_AMASK7); - set_ifc_csor(IFC_CS7, CONFIG_SYS_CSOR7); -#endif +__weak void ifc_cfg_boot_info(struct ifc_regs_info *regs_info) +{ + regs_info->regs = ifc_cfg_default_boot; + regs_info->cs_size = CONFIG_SYS_FSL_IFC_BANK_COUNT; +} + +void print_ifc_regs(void) +{ + int i, j; + + printf("IFC Controller Registers\n"); + for (i = 0; i < CONFIG_SYS_FSL_IFC_BANK_COUNT; i++) { + printf("CSPR%d:0x%08X\tAMASK%d:0x%08X\tCSOR%d:0x%08X\n", + i, get_ifc_cspr(i), i, get_ifc_amask(i), + i, get_ifc_csor(i)); + for (j = 0; j < 4; j++) + printf("IFC_FTIM%d:0x%08X\n", j, get_ifc_ftim(i, j)); + } +} + +void init_early_memctl_regs(void) +{ + int i, j; + struct ifc_regs *regs; + struct ifc_regs_info regs_info = {0}; + + ifc_cfg_boot_info(®s_info); + regs = regs_info.regs; + + for (i = 0 ; i < regs_info.cs_size; i++) { + if (regs[i].pr && (regs[i].pr & CSPR_V)) { + /* skip setting cspr/csor_ext in below condition */ + if (!(CONFIG_IS_ENABLED(A003399_NOR_WORKAROUND) && \ + i == 0 && \ + ((regs[0].pr & CSPR_MSEL) == CSPR_MSEL_NOR))) { + if (regs[i].pr_ext) + set_ifc_cspr_ext(i, regs[i].pr_ext); + if (regs[i].or_ext) + set_ifc_csor_ext(i, regs[i].or_ext); + } + + for (j = 0; j < ARRAY_SIZE(regs->ftim); j++) + set_ifc_ftim(i, j, regs[i].ftim[j]); + + set_ifc_csor(i, regs[i].or); + set_ifc_amask(i, regs[i].amask); + set_ifc_cspr(i, regs[i].pr); + } + } } void init_final_memctl_regs(void) { -#ifdef CONFIG_SYS_CSPR0_FINAL - set_ifc_cspr(IFC_CS0, CONFIG_SYS_CSPR0_FINAL); -#endif -#ifdef CONFIG_SYS_AMASK0_FINAL - set_ifc_amask(IFC_CS0, CONFIG_SYS_AMASK0); -#endif -#ifdef CONFIG_SYS_CSPR1_FINAL - set_ifc_cspr(IFC_CS1, CONFIG_SYS_CSPR1_FINAL); -#endif -#ifdef CONFIG_SYS_AMASK1_FINAL - set_ifc_amask(IFC_CS1, CONFIG_SYS_AMASK1_FINAL); -#endif -#ifdef CONFIG_SYS_CSPR2_FINAL - set_ifc_cspr(IFC_CS2, CONFIG_SYS_CSPR2_FINAL); -#endif -#ifdef CONFIG_SYS_AMASK2_FINAL - set_ifc_amask(IFC_CS2, CONFIG_SYS_AMASK2); -#endif -#ifdef CONFIG_SYS_CSPR3_FINAL - set_ifc_cspr(IFC_CS3, CONFIG_SYS_CSPR3_FINAL); -#endif -#ifdef CONFIG_SYS_AMASK3_FINAL - set_ifc_amask(IFC_CS3, CONFIG_SYS_AMASK3); -#endif + int i; + struct ifc_regs *regs; + struct ifc_regs_info regs_info; + + ifc_cfg_boot_info(®s_info); + regs = regs_info.regs; + + for (i = 0 ; i < regs_info.cs_size && i < ARRAY_SIZE(regs->ftim); i++) { + if (!(regs[i].pr_final & CSPR_V)) + continue; + if (regs[i].pr_final) + set_ifc_cspr(i, regs[i].pr_final); + if (regs[i].amask_final) + set_ifc_amask(i, (i == 1) ? regs[i].amask_final : + regs[i].amask); + } } diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h index 17697c7341..c42affcf1f 100644 --- a/include/fsl_ifc.h +++ b/include/fsl_ifc.h @@ -1031,6 +1031,23 @@ struct fsl_ifc { struct fsl_ifc_runtime *rregs; }; +struct ifc_regs { + const char *name; + uint32_t pr; + uint32_t pr_ext; + uint32_t amask; + uint32_t or; + uint32_t ftim[4]; + uint32_t or_ext; + uint32_t pr_final; + uint32_t amask_final; +}; + +struct ifc_regs_info { + struct ifc_regs *regs; + uint32_t cs_size; +}; + #ifdef CONFIG_SYS_FSL_ERRATUM_IFC_A002769 #undef CSPR_MSEL_NOR #define CSPR_MSEL_NOR CSPR_MSEL_GPCM From patchwork Sat Oct 27 13:15:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989897 X-Patchwork-Delegate: yorksun@freescale.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="ODjxahPu"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1vs3fVhz9s7h for ; Sun, 28 Oct 2018 00:30:49 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 34B4FC21C51; Sat, 27 Oct 2018 13:18:12 +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=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 C5B70C21DFB; Sat, 27 Oct 2018 13:15:54 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A4802C21D65; Sat, 27 Oct 2018 13:15:39 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10046.outbound.protection.outlook.com [40.107.1.46]) by lists.denx.de (Postfix) with ESMTPS id 40648C21CB6 for ; Sat, 27 Oct 2018 13:15:31 +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=os9qLg+pM6AWwHQkE5MZxz9toBAncaJF5KUgEd3XNA0=; b=ODjxahPuq5MvWNerSzCjMYYzCe1UEBGkMerMZYjR+XEL1thZnNXsRgnYjrdDe9ZYH1QlwAcWZqtNkHirIVWl3oVByaPlFVk/RPD6q8nu0CyFlSGFrsfZG+t9Ei/0kRLl76+u3RGJYaxm4vXcXIT/ExSSoDhJ2OnQosl8bmlrtMA= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:30 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:30 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 08/27] armv8: layerscape: Add TFABOOT support Thread-Index: AQHUbfci+Q4ZCpOThEO9EsWA3fiarw== Date: Sat, 27 Oct 2018 13:15:30 +0000 Message-ID: <20181027131428.5246-9-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:H7/8YlYqIdd30Uh6Ru+J7rB6oC+f+InQhow/9g1uQTku37icbH597KG2R709XG0pe20cNBKY934q8ykfch8Ic8GdNCz8F+5JcU2l1PsBGi2IzoRxR4ssGz0qb/z3VP/A2/AP8xUI5l+s2e90cSeHKwlNOK8GyIF4tV9IowiCeQGTgDGopMwMiG0+cP6GaSnDvJ5Zi4Fa312JObHjo0Vi/jrFhrqF3WPuTZSiyg/PN38W3aYNCwrjFWOTefEq/5vjbat14+5FLxAmxWP/ztoExgnXuppSIgs2V8dnM5qq27vRUixkWto8NGRhxhDKv8er7oJg0Ew294ZQ5SgFpATEjsNbF3y+ji5g9cN5fgqiOeDlzpwxfYE0+IcD/kFNzXJuEroM1G+1rkoPnJvDevwr7AqyQOxXO1kSG4SwZ+OGP07ZmcLiui7dxehRhHFzqpcVIoHkkBoPmIMpyEsWsaCxyA==; 5:5XEku2JnxTDNvHvXt2vVghYnFRDw/YLBBLiRhiz2ljmKsvUmKgfOIMnxKhg+c9wcpy1WFbkSM9U/VkEOEHtw/T+0KoZYxDAg543evja9scZplF/aMgErIgO62zpX/YT2qwQB9au4tPYIuH+eIv3+iPrPXjl6X1FGIyiG9/z3K2k=; 7:qxBCIqEQuseJitbWD+hG6RZr4jHZcKISYFxYdt+IAqtcvTkbTsTuf8TDOpV6rg6fwfnanueLiNEhUxMHytqx6s/rKKWeqCBk539mp53cRnx1uq0KmAIUxjy8aHKNS8RyKF6gOrm5MzV022hygT5fJQ== x-ms-office365-filtering-correlation-id: f95cecad-9d5c-451d-3a21-08d63c0e448a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: F5OSm/ePtLIYTbw936W/JD8DW5WOetKQ0wCB0Y8oujcbc+LPdL10n0EoN6RcysK/HzMxTpef0M9ncixM5FSlSJKKpLBOSTzZRc5XFxH2oNgN41rwEXCXOyjVFNaUCrC8qE83xW8IRrniTD568JGPyYbta71whrjlS8atvQksBppzcs1CpOHqJWnlNpV15uo8FpvRoasdL6qIJW5tZX8YdC4oUnelXWeWvsP3aE6kirbxxNGTNutPMhFQ5mr4V24rZQ3lSpD45mX9IH4q5Qj6wVPSgEH3mKzDiTQvALXwNOb9gb89rA+ktwzD/i2oTqByj2J78SLbs6D3rOnZgX1y8aD2ctdTN4FBu+sbPwZgcOE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f95cecad-9d5c-451d-3a21-08d63c0e448a X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:30.0997 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Subject: [U-Boot] [PATCH v5 08/27] armv8: layerscape: Add TFABOOT 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" Adds TFABOOT support config option and add generic code to enable execution from DDR. Signed-off-by: York Sun Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: - Seperated TFABOOT generic code - Moved before dependency patches arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 7 +++++++ arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 9 ++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index f2111fadc0..9092757d1f 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -514,3 +514,10 @@ config HAS_FSL_XHCI_USB help For some SoC(such as LS1043A and LS1046A), USB and QE-HDLC multiplex use pins, select it when the pins are assigned to USB. + +config TFABOOT + bool "Support for booting from TFA" + default n + help + Enabling this will make a U-Boot binary that is capable of being + booted via TFA. diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 6304825180..3e084eddfa 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -88,7 +88,8 @@ static struct mm_region early_map[] = { #endif { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_SIZE1, -#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) +#if defined(CONFIG_TFABOOT) || \ + (defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)) PTE_BLOCK_MEMTYPE(MT_NORMAL) | #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | @@ -139,7 +140,8 @@ static struct mm_region early_map[] = { #endif { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_SIZE1, -#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) +#if defined(CONFIG_TFABOOT) || \ + (defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)) PTE_BLOCK_MEMTYPE(MT_NORMAL) | #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | @@ -1236,7 +1238,8 @@ void update_early_mmu_table(void) __weak int dram_init(void) { fsl_initdram(); -#if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) +#if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \ + defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ update_early_mmu_table(); #endif From patchwork Sat Oct 27 13:15:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989891 X-Patchwork-Delegate: yorksun@freescale.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="PK++tRHV"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1s66XFdz9s7h for ; Sun, 28 Oct 2018 00:28:26 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 923F3C21DFB; Sat, 27 Oct 2018 13:18:47 +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=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 D8DDEC21E57; Sat, 27 Oct 2018 13:16:04 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 5F2ADC21E42; Sat, 27 Oct 2018 13:15:44 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80041.outbound.protection.outlook.com [40.107.8.41]) by lists.denx.de (Postfix) with ESMTPS id D36A4C21DEC for ; Sat, 27 Oct 2018 13:15:34 +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=gf08JtY8zlNhAllcbx0/gAEdsHU3pWzSS22kDqqsUWk=; b=PK++tRHV/snsENihUW72oqSH1I7rttpKgRwoo95pVA/1GsQxcvV+47La7zFCbZY4wmr1oyVObF2Y9GulBfo/9V9se3FhjPB/seFEgw0cSrKmLBczCSG52/PIrpphReQZnoBZrXGldavroJFd56G++UMh0IN0a8gD44jooZ7vmr8= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4590.eurprd04.prod.outlook.com (20.177.55.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.26; Sat, 27 Oct 2018 13:15:33 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:33 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 09/27] armv8: fsl-layerscape: identify boot source from PORSR register Thread-Index: AQHUbfckIjYv5DCsQkmn856HpReWxA== Date: Sat, 27 Oct 2018 13:15:33 +0000 Message-ID: <20181027131428.5246-10-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4590; 6:XKy7vWF27Yr7lYycCxmVC4/ylFin7I2kzU4XVCVj6nav0UXo+/FmC2fvAmT0dKV8+EO85YvKZTHdBZUOFXutCFph5mrL4dVQ1AEOJxBe4iTy8hUTrF3kcp14OuIDFmtCGu9mrF7qpMFIOa8mC/l+JaaOdh4sqoh9qNgA64ZAD7xLchUa9Cfs7gCneOsESNmqLdHsF0N8BSqRQ9jY4ikP6xXwqpB5cDq3XIpPtGjQRkXFaWzo5Ty2j+lYfP1yKVFNKe4iXmEoKQJgBtz4SRSJX4aSpxzh4LfQoiqv0sbwtBaN1tstoBDBTE1p69F60qzWXNZQ4rnFK6aAzHP3rKnqdD62TZCedijQXbP6LZHcRt1IWNqFB720nqNPM8vzOQjme9rtQ4lzM6n31iuYj0G24DGBU9opPSbwG3lDAfR8YzNmWKjXQswdqWd8+Q+Fa7p5VWdtaGBCNtqxazzVpb9w+w==; 5:XKuzqGrbTlrCuinuVFmslVBJv4ktkMOSknii0NrzhX+gfPoBSTeVX8z13BEfri8QaP7spfFwftrNU8BOOKKQM8zJSowMIbtNlyQ3Uqnnha0AxK30b2TZWfHRXLKSEVgQGK2IzJPJpGkpsRF52ovd/Jf5IeRdy5rIy6MuLtIFGdU=; 7:W1vF/BrPAAYNmQj1IbB0QF6QUxD2E6u+vomlA0H5TqmqGD2TrJweYL378vEgxHQ0kDg/szdPLWnHXLL9Af1s9h/Eo9RTAllRw1fAepGSagwCMAm7swFxqmEfXMreKh9PBb4fegjxMPTsTOQygnqSYA== x-ms-office365-filtering-correlation-id: 0f216f38-2e9f-4ce4-fce3-08d63c0e4691 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4590; x-ms-traffictypediagnostic: VI1PR04MB4590: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(192374486261705)(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231382)(944501410)(52105095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4590; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4590; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(376002)(366004)(346002)(136003)(189003)(199004)(6512007)(6436002)(71190400001)(386003)(476003)(14454004)(68736007)(1076002)(55236004)(486006)(256004)(478600001)(86362001)(44832011)(71200400001)(50226002)(2501003)(99286004)(6916009)(6486002)(2906002)(25786009)(14444005)(97736004)(106356001)(11346002)(3846002)(2616005)(5660300001)(8676002)(81156014)(81166006)(8936002)(6506007)(5640700003)(105586002)(6116002)(2351001)(446003)(53936002)(76176011)(52116002)(2900100001)(36756003)(54906003)(305945005)(186003)(4326008)(26005)(5250100002)(66066001)(316002)(102836004)(7736002)(575784001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4590; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: VWwF5up7Io3XpzOVxh3n2uB/CT8AfqOQORn+faThN9L5Vfu1C/9J9zRcGNcFz6nOgAJK9bRnjZhviTHLxTH+8muy/aNdt2Hr7tYL9wXTVTlmZebuMPU+MWTbdYxmyP3bPIr5TE0HbTqD57UtYTOoVKf2YeX6Mb0w194OgZGPEdZHW1n/mIeA7qkTUQxiUNCEzdcZOPcPshJOGUB84Moh2wxPlaf7ZMmYNo3pJxez/eRf4s5d0kN14J8WgcMN9R62DhFC4l7i8BItqpYYw6gjrqYJzLU4dZIu4R2eZt/skX7yOjUpwJBCZUsTGukT1Tdzk2URLpq1JdtwivAfIBtze38HrTh8BxW1R3yw2FDxFTs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f216f38-2e9f-4ce4-fce3-08d63c0e4691 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:33.4747 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4590 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 09/27] armv8: fsl-layerscape: identify boot source from PORSR register 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" PORSR register holds the cfg_rcw_src field which can be used to identify boot source. Further, it can be used to select the environment location. Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 190 ++++++++++++++++++ .../asm/arch-fsl-layerscape/immap_lsch2.h | 20 ++ .../asm/arch-fsl-layerscape/immap_lsch3.h | 49 +++++ .../arm/include/asm/arch-fsl-layerscape/soc.h | 17 ++ 4 files changed, 276 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 3e084eddfa..401fb4829d 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -31,6 +31,10 @@ #include #include +#ifdef CONFIG_TFABOOT +#include +#endif + DECLARE_GLOBAL_DATA_PTR; static struct cpu_type cpu_type_list[] = { @@ -581,7 +585,193 @@ void enable_caches(void) icache_enable(); dcache_enable(); } +#endif /* CONFIG_SYS_DCACHE_OFF */ + +#ifdef CONFIG_TFABOOT +enum boot_src __get_boot_src(u32 porsr1) +{ + enum boot_src src = BOOT_SOURCE_RESERVED; + uint32_t rcw_src = (porsr1 & RCW_SRC_MASK) >> RCW_SRC_BIT; +#if !defined(CONFIG_FSL_LSCH3_2) + uint32_t val; +#endif + debug("%s: rcw_src 0x%x\n", __func__, rcw_src); + +#if defined(CONFIG_FSL_LSCH3) +#if defined(CONFIG_FSL_LSCH3_2) + switch (rcw_src) { + case RCW_SRC_SDHC1_VAL: + src = BOOT_SOURCE_SD_MMC; + break; + case RCW_SRC_SDHC2_VAL: + src = BOOT_SOURCE_SD_MMC2; + break; + case RCW_SRC_I2C1_VAL: + src = BOOT_SOURCE_I2C1_EXTENDED; + break; + case RCW_SRC_FLEXSPI_NAND2K_VAL: + src = BOOT_SOURCE_XSPI_NAND; + break; + case RCW_SRC_FLEXSPI_NAND4K_VAL: + src = BOOT_SOURCE_XSPI_NAND; + break; + case RCW_SRC_RESERVED_1_VAL: + src = BOOT_SOURCE_RESERVED; + break; + case RCW_SRC_FLEXSPI_NOR_24B: + src = BOOT_SOURCE_XSPI_NOR; + break; + default: + src = BOOT_SOURCE_RESERVED; + } +#else + val = rcw_src & RCW_SRC_TYPE_MASK; + if (val == RCW_SRC_NOR_VAL) { + val = rcw_src & NOR_TYPE_MASK; + + switch (val) { + case NOR_16B_VAL: + case NOR_32B_VAL: + src = BOOT_SOURCE_IFC_NOR; + break; + default: + src = BOOT_SOURCE_RESERVED; + } + } else { + /* RCW SRC Serial Flash */ + val = rcw_src & RCW_SRC_SERIAL_MASK; + switch (val) { + case RCW_SRC_QSPI_VAL: + /* RCW SRC Serial NOR (QSPI) */ + src = BOOT_SOURCE_QSPI_NOR; + break; + case RCW_SRC_SD_CARD_VAL: + /* RCW SRC SD Card */ + src = BOOT_SOURCE_SD_MMC; + break; + case RCW_SRC_EMMC_VAL: + /* RCW SRC EMMC */ + src = BOOT_SOURCE_SD_MMC2; + break; + case RCW_SRC_I2C1_VAL: + /* RCW SRC I2C1 Extended */ + src = BOOT_SOURCE_I2C1_EXTENDED; + break; + default: + src = BOOT_SOURCE_RESERVED; + } + } +#endif +#elif defined(CONFIG_FSL_LSCH2) + /* RCW SRC NAND */ + val = rcw_src & RCW_SRC_NAND_MASK; + if (val == RCW_SRC_NAND_VAL) { + val = rcw_src & NAND_RESERVED_MASK; + if ((val != NAND_RESERVED_1) && (val != NAND_RESERVED_2)) + src = BOOT_SOURCE_IFC_NAND; + + } else { + /* RCW SRC NOR */ + val = rcw_src & RCW_SRC_NOR_MASK; + if (val == NOR_8B_VAL || val == NOR_16B_VAL) { + src = BOOT_SOURCE_IFC_NOR; + } else { + switch (rcw_src) { + case QSPI_VAL1: + case QSPI_VAL2: + src = BOOT_SOURCE_QSPI_NOR; + break; + case SD_VAL: + src = BOOT_SOURCE_SD_MMC; + break; + default: + src = BOOT_SOURCE_RESERVED; + } + } + } #endif + debug("%s: src 0x%x\n", __func__, src); + return src; +} + +enum boot_src get_boot_src(void) +{ + u32 porsr1; + +#if defined(CONFIG_FSL_LSCH3) + u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE; + + porsr1 = in_le32(dcfg_ccsr + DCFG_PORSR1 / 4); +#elif defined(CONFIG_FSL_LSCH2) + struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); + + porsr1 = in_be32(&gur->porsr1); +#endif + debug("%s: porsr1 0x%x\n", __func__, porsr1); + + return __get_boot_src(porsr1); +} + +#ifdef CONFIG_ENV_IS_IN_MMC +int mmc_get_env_dev(void) +{ + enum boot_src src = get_boot_src(); + int dev = CONFIG_SYS_MMC_ENV_DEV; + + switch (src) { + case BOOT_SOURCE_SD_MMC: + dev = 0; + break; + case BOOT_SOURCE_SD_MMC2: + dev = 1; + break; + default: + break; + } + + return dev; +} +#endif + +enum env_location env_get_location(enum env_operation op, int prio) +{ + enum boot_src src = get_boot_src(); + enum env_location env_loc = ENVL_NOWHERE; + + if (prio) + return ENVL_UNKNOWN; + + switch (src) { + case BOOT_SOURCE_IFC_NOR: + env_loc = ENVL_FLASH; + break; + case BOOT_SOURCE_QSPI_NOR: + /* FALLTHROUGH */ + case BOOT_SOURCE_XSPI_NOR: + env_loc = ENVL_SPI_FLASH; + break; + case BOOT_SOURCE_IFC_NAND: + /* FALLTHROUGH */ + case BOOT_SOURCE_QSPI_NAND: + /* FALLTHROUGH */ + case BOOT_SOURCE_XSPI_NAND: + env_loc = ENVL_NAND; + break; + case BOOT_SOURCE_SD_MMC: + /* FALLTHROUGH */ + case BOOT_SOURCE_SD_MMC2: + env_loc = ENVL_MMC; + break; + case BOOT_SOURCE_I2C1_EXTENDED: + /* FALLTHROUGH */ + default: + break; + } + + + return env_loc; +} +#endif /* CONFIG_TFABOOT */ u32 initiator_type(u32 cluster, int init_id) { diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h index 8c10526a6c..4d0f16f21c 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -677,6 +677,26 @@ struct ccsr_gpio { #define SCR0_CLIENTPD_MASK 0x00000001 #define SCR0_USFCFG_MASK 0x00000400 +#ifdef CONFIG_TFABOOT +#define RCW_SRC_MASK (0xFF800000) +#define RCW_SRC_BIT 23 + +/* RCW SRC NAND */ +#define RCW_SRC_NAND_MASK (0x100) +#define RCW_SRC_NAND_VAL (0x100) +#define NAND_RESERVED_MASK (0xFC) +#define NAND_RESERVED_1 (0x0) +#define NAND_RESERVED_2 (0x80) + +/* RCW SRC NOR */ +#define RCW_SRC_NOR_MASK (0x1F0) +#define NOR_8B_VAL (0x10) +#define NOR_16B_VAL (0x20) +#define SD_VAL (0x40) +#define QSPI_VAL1 (0x44) +#define QSPI_VAL2 (0x45) +#endif + uint get_svr(void); #endif /* __ARCH_FSL_LSCH2_IMMAP_H__*/ diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h index b0cec74db0..8ddff55dac 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h @@ -82,6 +82,55 @@ #define CONFIG_SYS_FSL_JR0_ADDR \ (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_JR0_OFFSET) +#ifdef CONFIG_TFABOOT +#ifdef CONFIG_FSL_LSCH3_2 +/* RCW_SRC field in Power-On Reset Control Register 1 */ +#define RCW_SRC_MASK 0x07800000 +#define RCW_SRC_BIT 23 + +/* CFG_RCW_SRC[3:0] */ +#define RCW_SRC_TYPE_MASK 0x8 +#define RCW_SRC_ADDR_OFFSET_8MB 0x800000 + +/* RCW SRC HARDCODED */ +#define RCW_SRC_HARDCODED_VAL 0x0 /* 0x00 - 0x07 */ + +#define RCW_SRC_SDHC1_VAL 0x8 /* 0x8 */ +#define RCW_SRC_SDHC2_VAL 0x9 /* 0x9 */ +#define RCW_SRC_I2C1_VAL 0xa /* 0xa */ +#define RCW_SRC_RESERVED_UART_VAL 0xb /* 0xb */ +#define RCW_SRC_FLEXSPI_NAND2K_VAL 0xc /* 0xc */ +#define RCW_SRC_FLEXSPI_NAND4K_VAL 0xd /* 0xd */ +#define RCW_SRC_RESERVED_1_VAL 0xe /* 0xe */ +#define RCW_SRC_FLEXSPI_NOR_24B 0xf /* 0xf */ +#else +#define RCW_SRC_MASK (0xFF800000) +#define RCW_SRC_BIT 23 +/* CFG_RCW_SRC[6:0] */ +#define RCW_SRC_TYPE_MASK (0x70) + +/* RCW SRC HARDCODED */ +#define RCW_SRC_HARDCODED_VAL (0x10) /* 0x10 - 0x1f */ +/* Hardcoded will also have CFG_RCW_SRC[7] as 1. 0x90 - 0x9f */ + +/* RCW SRC NOR */ +#define RCW_SRC_NOR_VAL (0x20) +#define NOR_TYPE_MASK (0x10) +#define NOR_16B_VAL (0x0) /* 0x20 - 0x2f */ +#define NOR_32B_VAL (0x10) /* 0x30 - 0x3f */ + +/* RCW SRC Serial Flash + * 1. SERIAL NOR (QSPI) + * 2. OTHERS (SD/MMC, SPI, I2C1 + */ +#define RCW_SRC_SERIAL_MASK (0x7F) +#define RCW_SRC_QSPI_VAL (0x62) /* 0x62 */ +#define RCW_SRC_SD_CARD_VAL (0x40) /* 0x40 */ +#define RCW_SRC_EMMC_VAL (0x41) /* 0x41 */ +#define RCW_SRC_I2C1_VAL (0x49) /* 0x49 */ +#endif +#endif + /* Security Monitor */ #define CONFIG_SYS_SEC_MON_ADDR (CONFIG_SYS_IMMR + 0x00e90000) diff --git a/arch/arm/include/asm/arch-fsl-layerscape/soc.h b/arch/arm/include/asm/arch-fsl-layerscape/soc.h index 61b6e4bf07..d327c7ba1f 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/soc.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/soc.h @@ -53,6 +53,23 @@ struct cpu_type { #define CPU_TYPE_ENTRY(n, v, nc) \ { .name = #n, .soc_ver = SVR_##v, .num_cores = (nc)} + +#ifdef CONFIG_TFABOOT +enum boot_src { + BOOT_SOURCE_RESERVED = 0, + BOOT_SOURCE_IFC_NOR, + BOOT_SOURCE_IFC_NAND, + BOOT_SOURCE_QSPI_NOR, + BOOT_SOURCE_QSPI_NAND, + BOOT_SOURCE_XSPI_NOR, + BOOT_SOURCE_XSPI_NAND, + BOOT_SOURCE_SD_MMC, + BOOT_SOURCE_SD_MMC2, + BOOT_SOURCE_I2C1_EXTENDED, +}; + +enum boot_src get_boot_src(void); +#endif #endif #define SVR_WO_E 0xFFFFFE #define SVR_LS1012A 0x870400 From patchwork Sat Oct 27 13:15:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989886 X-Patchwork-Delegate: yorksun@freescale.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="Loh7LxsC"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1jK2Pvgz9sBZ for ; Sun, 28 Oct 2018 00:21:41 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id F01E4C21DE8; Sat, 27 Oct 2018 13:19:29 +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=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 C027EC21E2C; Sat, 27 Oct 2018 13:16:14 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 50BF3C21C4A; Sat, 27 Oct 2018 13:15:47 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80043.outbound.protection.outlook.com [40.107.8.43]) by lists.denx.de (Postfix) with ESMTPS id 911DEC21C50 for ; Sat, 27 Oct 2018 13:15:37 +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=GqAO6aW4v6otTyU5dpoBUAmWvh3JSHoooL4zHBVscP8=; b=Loh7LxsCxe5Oec6pSUHlmO9dcyMvnboFAWUo5bRpX211i0IYLWBDvTI22kvc1wsl+tlcpaFUwR2mASAczGKK0R16QcVViOwtldT657X9YQHbwkp/fTal+uOXenrGFPNVTRxzd0oLDIBdb5eApP3f1+NdN7UqnQHI5/xe5U2govo= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4590.eurprd04.prod.outlook.com (20.177.55.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.26; Sat, 27 Oct 2018 13:15:36 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:36 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 10/27] armv8: layerscape: remove EL3 specific erratas for TFABOOT Thread-Index: AQHUbfcmTkm1ijdTL02A6Nv4KCllHg== Date: Sat, 27 Oct 2018 13:15:36 +0000 Message-ID: <20181027131428.5246-11-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4590; 6:8Lr+WRefkoFiIWd9tkVTKdskzhrrkHF3SUSij+iFJgBup9hk7Gr5vh9K5I3ZWUjzoCV8mddCYS+fZqZFBsCp5ehtKJe0Vo6vdPWIb00rq5bSQ20cycd89lSSv+RNT9wruraq3hktirOQbavSU87iSRQNwgh2nX3uiCoEy6yVZwueFq/NrbCw2nIVohf2dvVnkTpAdK5D/zQ/HSiu2EvfAIDXI8NE+QtxdZmG9UPEgR68wPue9tK+9Mv2eYlmTwKpS2kTuncdcn75pOEOLP96ZFR1VSvkoA2ov32uZ/JCf3v4H+Hw3kBPd7EGQSIOEqSjxpN1YhKyKDHIEIKPmkbMS9WsEMCtByiQ+uuq/Uq9+6Kype1BWWSoL7zR37ro/tmH734guKTCpN9NJKwx0l2h5jeSj0rkWOO9/mw2i3jv4lovWtnl/UzfXGQk6FJ+Y0Kbmnt/7IpaBT3cx10bG9u7rg==; 5:5gdbkvUNDbZaTMFtp+XDPmZWouwsMsmDwi5q1t2NnPEDEPjln0DSGR4JUyTaUcrifv1Grpqh635TZj+VXk8JIjRcFkyT/d6Lov4ZGOEj3DnADyrzQjLyvmXXdmtxn3fKYcmNI+6ACWtH4SlrPvyzWqmfIn9UoTPzkj0qYiF960M=; 7:LI6DXS0rLgB1WRxShyvegR64Ffjb3xXzb2LxBP0Kv3ZMPcVGZc5tRx4UeDGCX5sqAGfp9oblWXDrt1rB+FpNJ5b4lDpEPftdY5L2HYp5OWIZ6ibG/TMpsqsMRDqlWxP8LdZ+bc/85iu5CF0/IEEpFA== x-ms-office365-filtering-correlation-id: 562f2e76-168e-4196-e955-08d63c0e4862 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4590; x-ms-traffictypediagnostic: VI1PR04MB4590: 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)(5005006)(8121501046)(93006095)(93001095)(3231382)(944501410)(52105095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4590; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4590; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(376002)(366004)(346002)(136003)(189003)(199004)(6512007)(6436002)(71190400001)(386003)(476003)(14454004)(68736007)(1076002)(55236004)(486006)(256004)(478600001)(86362001)(44832011)(71200400001)(50226002)(2501003)(99286004)(6916009)(6486002)(2906002)(25786009)(97736004)(106356001)(11346002)(3846002)(2616005)(5660300001)(8676002)(81156014)(81166006)(8936002)(6506007)(5640700003)(105586002)(6116002)(2351001)(446003)(53936002)(76176011)(52116002)(2900100001)(36756003)(54906003)(305945005)(186003)(4326008)(26005)(5250100002)(66066001)(316002)(102836004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4590; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: EcRYL9V0qbzu0bOZJFiysdjl9qcI8CKHdZ3yRjwpkG03HflyGGfSTN4ljTZ1m9LRh9eopSTo2drt8euSyUJSAS2CXFLCHCdiTZ9n7SweqfgeQB7vqdZ5Ln5fN+SUv1V4nD09xER5QBeqcagt8mx80hxcgv+ZCSpXL/pCy0x9nJ8uctYjPXJDAxum1PzBYynAFymSN/NEA0mKWGKwot+gOrk7YfYHJNzueN8edQaPcpMcx6zX/BYBFdlYh7mpPSiXk4IpfKwPoSo6jG0/OtC2WXhZXCSV4S9BvlAb+GBu9tXiP7mb6jCjZs/JOfpXSR7T3bOgIfkyKVPGiQIVNh6jnRu2ZHU262dM77Rty56iuDk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 562f2e76-168e-4196-e955-08d63c0e4862 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:36.5998 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4590 Subject: [U-Boot] [PATCH v5 10/27] armv8: layerscape: remove EL3 specific erratas for TFABOOT 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" Removes EL3 specific erratas for TFABOOT, And now taken care in TFA. ARM_ERRATA_855873, SYS_FSL_ERRATUM_A008850, SYS_FSL_ERRATUM_A008511, SYS_FSL_ERRATUM_A008336, SYS_FSL_ERRATUM_A009663, SYS_FSL_ERRATUM_A009803 SYS_FSL_ERRATUM_A009942, SYS_FSL_ERRATUM_A010165 Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 9092757d1f..1872c66dcd 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -1,7 +1,7 @@ config ARCH_LS1012A bool select ARMV8_SET_SMPEN - select ARM_ERRATA_855873 + select ARM_ERRATA_855873 if !TFABOOT select FSL_LSCH2 select SYS_FSL_SRDS_1 select SYS_HAS_SERDES @@ -22,22 +22,22 @@ config ARCH_LS1012A config ARCH_LS1043A bool select ARMV8_SET_SMPEN - select ARM_ERRATA_855873 + select ARM_ERRATA_855873 if !TFABOOT select FSL_LSCH2 select SYS_FSL_SRDS_1 select SYS_HAS_SERDES select SYS_FSL_DDR select SYS_FSL_DDR_BE select SYS_FSL_DDR_VER_50 - select SYS_FSL_ERRATUM_A008850 + select SYS_FSL_ERRATUM_A008850 if !TFABOOT select SYS_FSL_ERRATUM_A008997 select SYS_FSL_ERRATUM_A009007 select SYS_FSL_ERRATUM_A009008 - select SYS_FSL_ERRATUM_A009660 - select SYS_FSL_ERRATUM_A009663 + select SYS_FSL_ERRATUM_A009660 if !TFABOOT + select SYS_FSL_ERRATUM_A009663 if !TFABOOT select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A009929 - select SYS_FSL_ERRATUM_A009942 + select SYS_FSL_ERRATUM_A009942 if !TFABOOT select SYS_FSL_ERRATUM_A010315 select SYS_FSL_ERRATUM_A010539 select SYS_FSL_HAS_DDR3 @@ -62,17 +62,17 @@ config ARCH_LS1046A select SYS_FSL_DDR select SYS_FSL_DDR_BE select SYS_FSL_DDR_VER_50 - select SYS_FSL_ERRATUM_A008336 - select SYS_FSL_ERRATUM_A008511 - select SYS_FSL_ERRATUM_A008850 + select SYS_FSL_ERRATUM_A008336 if !TFABOOT + select SYS_FSL_ERRATUM_A008511 if !TFABOOT + select SYS_FSL_ERRATUM_A008850 if !TFABOOT select SYS_FSL_ERRATUM_A008997 select SYS_FSL_ERRATUM_A009007 select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A009801 - select SYS_FSL_ERRATUM_A009803 - select SYS_FSL_ERRATUM_A009942 - select SYS_FSL_ERRATUM_A010165 + select SYS_FSL_ERRATUM_A009803 if !TFABOOT + select SYS_FSL_ERRATUM_A009942 if !TFABOOT + select SYS_FSL_ERRATUM_A010165 if !TFABOOT select SYS_FSL_ERRATUM_A010539 select SYS_FSL_HAS_DDR4 select SYS_FSL_SRDS_2 From patchwork Sat Oct 27 13:15:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989887 X-Patchwork-Delegate: yorksun@freescale.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="EmU1CPHg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1jj5g4jz9sBZ for ; Sun, 28 Oct 2018 00:22:01 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6EA47C21D56; Sat, 27 Oct 2018 13:20:39 +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=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 84463C21E75; Sat, 27 Oct 2018 13:16:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 278E1C21E4F; Sat, 27 Oct 2018 13:15:51 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80072.outbound.protection.outlook.com [40.107.8.72]) by lists.denx.de (Postfix) with ESMTPS id 1629EC21D8A for ; Sat, 27 Oct 2018 13:15:41 +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=uILKeHBR5TLZ/TPTPCfvGyYCNBvgoJrzj5xdURc4Shc=; b=EmU1CPHgvd+zWD3z3fNzWgE1NggvkJyl/cGrr3JgxU5g0OuSZmaj9S+QegqQ3tWBe/b/Mc5yTlZbPMObtMnn6YLOXq6qjXTyedTYTpFuiuPz6nVQvPrWae7UcuJj3nwOr4ZmTdhHR/9eNJyLPXnIuHLlisjN2Tt3eShdXA+j+1A= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4590.eurprd04.prod.outlook.com (20.177.55.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.26; Sat, 27 Oct 2018 13:15:40 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:40 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 11/27] armv8: fsl-layerscape: bootcmd identification for TFABOOT Thread-Index: AQHUbfcoIzbNsl2ptUSQJ6b1S6AcVQ== Date: Sat, 27 Oct 2018 13:15:39 +0000 Message-ID: <20181027131428.5246-12-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4590; 6:G3wFLMTukFYMqC2YT85Iilt164quVIzk7oUp2B904xukDmPb++lXVojY+9Jl11A9RtTdpI8CHyC8+AS02taogQJF6bKL0zyQhTcSP9TzrZLR/AqCPGmIRqE9y8oTFlmiw0gf89qoGI66jPNSlCK1VDCp7T8C3A8PFIkRqcaYhcNoAFPTfgTAohfUQ8gJYJ6GHK3xy5zjAYPZyvzmYa+Fo3lp4a9yuJ+mbkhbt7qTvFxE7ZyaBFiCbCYGH3QgvB/oVfIH76LMJ/klGbDQbfTQ/UdOV2sWgIXzOcxcCXRDIw5Io0uSG1HZImoxtYnHLat6wGygNRRO+ZVuK2e4DGOuF3UzUeLAYQ2/2ClQ+JrYOMsqq6jHFb/mvxkhqZC7cNRevcY7wVkOQTwyRwxKkI+zU0KJ54xjBIiEsjzAwz8N0qZSArxVJKyNjc4vYIIlhfuIJLdUAaO4/QAfbi+v1lHzzg==; 5:Xjp4jXBwrrusfTsLrnxYSpGHky1sgAiMfZv/xMr4NNdyFiOlTFhdixv+OLz/DmaOTjqtqxdlFyxY7c6QtwTtWo3HKWhcUV+XLgoOIEXh5tUBWGFRcwqGQp7UtNk+Y/vP+0pyonlDj2qhcwlNNPPE34qD8AoKyXvw/BeOz1VfNnk=; 7:2Iuco2f04CMWKFIpHlznM+kecPEbT1EBHC4KBJSWB1/1rOBbB02ltEBzkzzkMOknQ6RT0/A9jForHxKAYOmRuOdZHhhgidPb90pFVPzcU58wk1PBMZtefITHJCwwwSeTcVz/LqINth/Ah3uq1DV+SQ== x-ms-office365-filtering-correlation-id: 840f6ee0-d46b-49bf-abf9-08d63c0e4a6a x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4590; x-ms-traffictypediagnostic: VI1PR04MB4590: 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)(5005006)(8121501046)(93006095)(93001095)(3231382)(944501410)(52105095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4590; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4590; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(376002)(366004)(346002)(136003)(189003)(199004)(6512007)(6436002)(71190400001)(386003)(476003)(14454004)(68736007)(1076002)(55236004)(486006)(256004)(478600001)(86362001)(44832011)(71200400001)(50226002)(2501003)(99286004)(6916009)(6486002)(2906002)(25786009)(97736004)(106356001)(11346002)(3846002)(2616005)(5660300001)(8676002)(81156014)(81166006)(8936002)(6506007)(5640700003)(105586002)(6116002)(2351001)(446003)(53936002)(76176011)(52116002)(2900100001)(36756003)(54906003)(305945005)(186003)(4326008)(26005)(5250100002)(66066001)(316002)(102836004)(7736002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4590; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: QBJ/53tAKpAyi2GpMhhWfbwcJ4GLos5VPQia8587eKSvwoZrAZ1zoBGmq3UAdA0PG9n8hwRJhhUYdXxthSfuk+77hnronfqRNov77UPPd5GmC4dBJXwn9Nd+I7TnJvQSXY0+5GlTHNZE0R4hmE4Pwiee1th4r5sWOrZFUa5oYi9w78qvHOCVOW7TYWynI9AGcrotVeixT615+9w9Fs+G5fr13r8WqdpFcVP8jiagOmTTZWP4W0+nBzMdkllY2SWQEb72+GpM4NkwMUbSyxM3Wm0fNUG5whejOzR6uQJKsKyWm4hhn2N1072wjgSJ6b+ITH4ITB77374yQor3UELxKi5V1LYV6xEi+5h+ohWQ7ZA= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 840f6ee0-d46b-49bf-abf9-08d63c0e4a6a X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:39.9436 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4590 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 11/27] armv8: fsl-layerscape: bootcmd identification for TFABOOT 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" From: Pankit Garg Adds bootcmd identificaton on basis on boot source, valid in TFABOOT configuration. Signed-off-by: Rajesh Bhagat Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: - Merged secure boot bootcmd changes Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 14 +++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 78 +++++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 401fb4829d..dc1eaf6e15 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -33,6 +33,9 @@ #ifdef CONFIG_TFABOOT #include +#ifdef CONFIG_CHAIN_OF_TRUST +#include +#endif #endif DECLARE_GLOBAL_DATA_PTR; @@ -741,6 +744,14 @@ enum env_location env_get_location(enum env_operation op, int prio) if (prio) return ENVL_UNKNOWN; +#ifdef CONFIG_CHAIN_OF_TRUST + /* Check Boot Mode + * If Boot Mode is Secure, return ENVL_NOWHERE + */ + if (fsl_check_boot_mode_secure() == 1) + goto done; +#endif + switch (src) { case BOOT_SOURCE_IFC_NOR: env_loc = ENVL_FLASH; @@ -768,6 +779,9 @@ enum env_location env_get_location(enum env_operation op, int prio) break; } +#ifdef CONFIG_CHAIN_OF_TRUST +done: +#endif return env_loc; } diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 54fb0745f9..b68d99c765 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -24,6 +24,10 @@ #include #endif #include +#ifdef CONFIG_TFABOOT +#include +DECLARE_GLOBAL_DATA_PTR; +#endif bool soc_has_dp_ddr(void) { @@ -679,12 +683,86 @@ int qspi_ahb_init(void) } #endif +#ifdef CONFIG_TFABOOT +#define MAX_BOOTCMD_SIZE 256 + +int fsl_setenv_bootcmd(void) +{ + int ret; + enum boot_src src = get_boot_src(); + char bootcmd_str[MAX_BOOTCMD_SIZE]; + + switch (src) { +#ifdef IFC_NOR_BOOTCOMMAND + case BOOT_SOURCE_IFC_NOR: + sprintf(bootcmd_str, IFC_NOR_BOOTCOMMAND); + break; +#endif +#ifdef QSPI_NOR_BOOTCOMMAND + case BOOT_SOURCE_QSPI_NOR: + sprintf(bootcmd_str, QSPI_NOR_BOOTCOMMAND); + break; +#endif +#ifdef XSPI_NOR_BOOTCOMMAND + case BOOT_SOURCE_XSPI_NOR: + sprintf(bootcmd_str, XSPI_NOR_BOOTCOMMAND); + break; +#endif +#ifdef IFC_NAND_BOOTCOMMAND + case BOOT_SOURCE_IFC_NAND: + sprintf(bootcmd_str, IFC_NAND_BOOTCOMMAND); + break; +#endif +#ifdef QSPI_NAND_BOOTCOMMAND + case BOOT_SOURCE_QSPI_NAND: + sprintf(bootcmd_str, QSPI_NAND_BOOTCOMMAND); + break; +#endif +#ifdef XSPI_NAND_BOOTCOMMAND + case BOOT_SOURCE_XSPI_NAND: + sprintf(bootcmd_str, XSPI_NAND_BOOTCOMMAND); + break; +#endif +#ifdef SD_BOOTCOMMAND + case BOOT_SOURCE_SD_MMC: + sprintf(bootcmd_str, SD_BOOTCOMMAND); + break; +#endif +#ifdef SD2_BOOTCOMMAND + case BOOT_SOURCE_SD_MMC2: + sprintf(bootcmd_str, SD2_BOOTCOMMAND); + break; +#endif + default: +#ifdef QSPI_NOR_BOOTCOMMAND + sprintf(bootcmd_str, QSPI_NOR_BOOTCOMMAND); +#endif + break; + } + + ret = env_set("bootcmd", bootcmd_str); + if (ret) { + printf("Failed to set bootcmd: ret = %d\n", ret); + return ret; + } + return 0; +} +#endif + #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { #ifdef CONFIG_CHAIN_OF_TRUST fsl_setenv_chain_of_trust(); #endif +#ifdef CONFIG_TFABOOT + /* + * check if gd->env_addr is default_environment; then setenv bootcmd + */ + if (gd->env_addr + gd->reloc_off == (ulong)&default_environment[0]) { + fsl_setenv_bootcmd(); + } +#endif #ifdef CONFIG_QSPI_AHB_INIT qspi_ahb_init(); #endif From patchwork Sat Oct 27 13:15:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989906 X-Patchwork-Delegate: yorksun@freescale.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="f+xB/qFn"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1yV6bq6z9s7h for ; Sun, 28 Oct 2018 00:33:06 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 975EEC21DDC; Sat, 27 Oct 2018 13:20:03 +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=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 01732C21E60; Sat, 27 Oct 2018 13:16:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 85052C21D74; Sat, 27 Oct 2018 13:15:55 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10073.outbound.protection.outlook.com [40.107.1.73]) by lists.denx.de (Postfix) with ESMTPS id 71A8DC21E50 for ; Sat, 27 Oct 2018 13:15:44 +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=6lDXLjJnY3xvrBRX+ac5dHlPBx4/bGd5Ugh+9CMbs4s=; b=f+xB/qFnhUZjtIbyMeJyouO1Qy+Fl0E9QpOtzfhSvHuefV95apQ3NYaKFke1Z5ZtYtwXCt1x9GJphflcIyvQY9f5n3TAb3CieOaYmcoajOS8BUrIyzKZ5dFuaqYkBu9LNnX43osFDlmeDxkD1sHaesFpSYeK7kVRu9fYXZKz2wc= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:43 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:43 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 12/27] armv8: layerscape: add SMC calls for DDR size and bank info Thread-Index: AQHUbfcq/wO9HoGw/kurBskUb9yPnQ== Date: Sat, 27 Oct 2018 13:15:43 +0000 Message-ID: <20181027131428.5246-13-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:7+JaHEErAFXrw0u5tJP4JhT+/VHL+tPFQtKjty1ka7Vb19VVobshnslh/QPcouvU9N9EjuMBKIiWPJYY/wOUCK8WMUsndEmK6dsMnvoxO1XzB992jskloiOp7unNcWrUZhyztdrXdSY33TWsEsCH+cZDmQ8g5E3HhNuw440R30XNhRmkngFAsCchA7Txf3QsOLZswoKaAapTVOvifeJfdWXqND8pksIRw5xnLf1RgIa+3gtWyI/N1aww3sr1purl1pv7NzYVYnxTFkFwAUYDBlVH6Nd8ZxNk4vBFu8Ax4EJfr31K4lIQgqPqid0y7bUTHoJ4gAWNR+9l7XG5fzi1aQ/sXljv9bg7CZItOczQlFXNPSmeUVTLQtatbWqHrp20uAcaZO4qc78Z36H2aOW9TgZb29oG0YMs897/sxm/A40YSXSbSsg/XVm3C1SBs4NdxubcfbghCAMeFPAWSFFezg==; 5:ypswwwQGAJutOxjvai07PtCrOR6aBaEEv3z7WmRCn7nf2IwUFWHnHyagtzKyBM7vtN9fkwHrQv7CvKWNhWwE3UH0PHRDBF5uu3tLf4Uhtl+ljv7vCmGtVI7wFIhKLDRFVdmmLA9nj5QQ/MU+AJcta5kbLu5QSl0v5mwm9gLbEAg=; 7:uIMtbDbpUtaVzw8S4b7SYtjENm5J/jceefs827/bzOlfvSmuF/BRq1O7VsNXUbCqzLm3t7nZSVa7Ki5jL56lPU6bC9une3p7fshTu5e9s5KoRrMbCxDyH/pZnucssc6sf2sFX95xCMQ6OvbIJLbNuA== x-ms-office365-filtering-correlation-id: 8e20429a-1fb9-4a3e-f989-08d63c0e4c5c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(105169848403564)(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(15650500001)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: pre1u3mX/PVlXdzs7tTgaKvJ0Q+SaMfn5RBvju2FMw3HQWKhRm99C6gnBRq8l/Ea/uoqtRvMRCUZvg4XY3NfO1y6avrBmyG4lY2p1eDbGpUgtVMZwNbktx+xG5WdT3QehQs0HUC/t2xA+0kiwwEXKe/MfjICQvg19rbTBVrEO7TP9ys4olW0zIC8qkFKariNLCIx+vwGy5Oosd0y2pvLaU3a3zS0seUR0c6g1IGOZIzmx3pbNlStQVK27iPhpIISGRUpLVBWv0lz0L6ixl16ubWh0VXMmOKY6nFTMAs8jONiTAYsktcNx1cu1/dkA3IUB8zBIQiteetmIO03tErkxtQXnXpOq6gXX6KLYFvSj5Q= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e20429a-1fb9-4a3e-f989-08d63c0e4c5c X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:43.2249 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 12/27] armv8: layerscape: add SMC calls for DDR size and bank info 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" Adds SMC calls for getting DDR size and bank info for TFABOOT. Signed-off-by: Rajesh Bhagat Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 84 +++++++++++++++++++ .../arm/include/asm/arch-fsl-layerscape/soc.h | 4 + 2 files changed, 88 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index dc1eaf6e15..084208fa9e 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -1230,12 +1230,96 @@ phys_size_t get_effective_memsize(void) return ea_size; } +#ifdef CONFIG_TFABOOT +phys_size_t tfa_get_dram_size(void) +{ + struct pt_regs regs; + phys_size_t dram_size = 0; + + regs.regs[0] = SMC_DRAM_BANK_INFO; + regs.regs[1] = -1; + + smc_call(®s); + if (regs.regs[0]) + return 0; + + dram_size = regs.regs[1]; + return dram_size; +} + +static int tfa_dram_init_banksize(void) +{ + int i = 0, ret = 0; + struct pt_regs regs; + phys_size_t dram_size = tfa_get_dram_size(); + + debug("dram_size %llx\n", dram_size); + + if (!dram_size) + return -EINVAL; + + do { + regs.regs[0] = SMC_DRAM_BANK_INFO; + regs.regs[1] = i; + + smc_call(®s); + if (regs.regs[0]) { + ret = -EINVAL; + break; + } + + debug("bank[%d]: start %lx, size %lx\n", i, regs.regs[1], + regs.regs[2]); + gd->bd->bi_dram[i].start = regs.regs[1]; + gd->bd->bi_dram[i].size = regs.regs[2]; + + dram_size -= gd->bd->bi_dram[i].size; + + i++; + } while (dram_size); + + if (i > 0) + ret = 0; + +#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD) + /* Assign memory for MC */ +#ifdef CONFIG_SYS_DDR_BLOCK3_BASE + if (gd->bd->bi_dram[2].size >= + board_reserve_ram_top(gd->bd->bi_dram[2].size)) { + gd->arch.resv_ram = gd->bd->bi_dram[2].start + + gd->bd->bi_dram[2].size - + board_reserve_ram_top(gd->bd->bi_dram[2].size); + } else +#endif + { + if (gd->bd->bi_dram[1].size >= + board_reserve_ram_top(gd->bd->bi_dram[1].size)) { + gd->arch.resv_ram = gd->bd->bi_dram[1].start + + gd->bd->bi_dram[1].size - + board_reserve_ram_top(gd->bd->bi_dram[1].size); + } else if (gd->bd->bi_dram[0].size > + board_reserve_ram_top(gd->bd->bi_dram[0].size)) { + gd->arch.resv_ram = gd->bd->bi_dram[0].start + + gd->bd->bi_dram[0].size - + board_reserve_ram_top(gd->bd->bi_dram[0].size); + } + } +#endif /* CONFIG_FSL_MC_ENET */ + + return ret; +} +#endif + int dram_init_banksize(void) { #ifdef CONFIG_SYS_DP_DDR_BASE_PHY phys_size_t dp_ddr_size; #endif +#ifdef CONFIG_TFABOOT + if (!tfa_dram_init_banksize()) + return 0; +#endif /* * gd->ram_size has the total size of DDR memory, less reserved secure * memory. The DDR extends from low region to high region(s) presuming diff --git a/arch/arm/include/asm/arch-fsl-layerscape/soc.h b/arch/arm/include/asm/arch-fsl-layerscape/soc.h index d327c7ba1f..ef228b6443 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/soc.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/soc.h @@ -55,6 +55,10 @@ struct cpu_type { { .name = #n, .soc_ver = SVR_##v, .num_cores = (nc)} #ifdef CONFIG_TFABOOT +#define SMC_DRAM_BANK_INFO (0xC200FF12) + +phys_size_t tfa_get_dram_size(void); + enum boot_src { BOOT_SOURCE_RESERVED = 0, BOOT_SOURCE_IFC_NOR, From patchwork Sat Oct 27 13:15:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989894 X-Patchwork-Delegate: yorksun@freescale.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="rhVK8QBZ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1t16JSlz9s7h for ; Sun, 28 Oct 2018 00:29:13 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 91A1FC21DA6; Sat, 27 Oct 2018 13:20:21 +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=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 3D0BBC21E12; Sat, 27 Oct 2018 13:16:24 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B7C25C21E76; Sat, 27 Oct 2018 13:15:56 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10082.outbound.protection.outlook.com [40.107.1.82]) by lists.denx.de (Postfix) with ESMTPS id 9BE61C21DED for ; Sat, 27 Oct 2018 13:15:47 +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=4J2Fj/QFJtp+YQH+9BQuncMjfnPEDNW6cZir9UVV54U=; b=rhVK8QBZAS55tkSw518MKGchbbnnHE4jqV4wpde9uK/xIvN6C3gYtVetOwGXa/JPD8u1va7by902w0in6Ky08/2ifiChmhWXZ45DBCxWOFOcLCcSCF8AnFe/BJwjYJgaZ3GXZdyNelept3X2SX5ax0rlOOZd0mmfIVheTRbigLQ= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB5343.eurprd04.prod.outlook.com (52.134.123.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:46 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:46 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 13/27] armv8: layerscape: skip OCRAM init for TFABOOT Thread-Index: AQHUbfcs+YZ8DVaddUq7Yfotr4JMqw== Date: Sat, 27 Oct 2018 13:15:46 +0000 Message-ID: <20181027131428.5246-14-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB5343; 6:INhGCSiCRrCw++aYJCWcJoGQiYb30WHD8TFj4qTEtvp1RMiyk9MGOQrRD1Qj1UBPTqjCWmak/KsUQf9qI8NORdgm6T9WJhItveCNRkyVaLZMq3avj+SuWXbOoivpggrMr8YVDSMbPCzZUHafzoyr2il8zRmwmb5j1zpqSS14Rebr+zgQ7ejnMA1xHPDDBRDtKSQmabAZtg8nRU80DvhJTVZtm3BKcfS5+omQ9zEZRlLCBBp621NPmXNWdSIq9sgnC9FU6pLBjtSVMA7uLn0IdFxHizWvNUykQqTE+sKYqkO/6QpB493MEOly1W+Oj34cI9rbsi4FiEUhQh5r0AHVB8R29MH5XLb0ynBrx0LGaNy2N0HVEiZka56+/Z9HmaQlM9cMyujmnNzD7hHDudxczxIxQBj92b7DdmSqRVDSXKONYuFLc7AKRFHrRzXrO2kDNwMnzfB1edbOBRJEZxDGJA==; 5:MH950d7YIdYRnSkQpI7vrmuP5daHdCn7QQW/D8wyDGezvzymubJaxDge2EbWAnDIgz3yof28YLcVhBN629IvYHu0yRrCdgFuLyPyb49Uze+YWSIz0A9eGM1hHrXUvzJm9l15eLQf+j7BZf7vS/xRbdBnC3OPooL6yi/z1Sz1lKY=; 7:i94ITlFy5VhJQiN/FLdOQCN1678sXl1fJpXA4t+LDNSapkZ+Y7ym1VgYddmp6sStuBnbBg9EE8nBpDNLRQ/Y6wbAKEywjr+Ra5ub0Txqpwm5UE1y40FNgU9UtlxQ8XY39exaWbobA/eQUKvwQDivCg== x-ms-office365-filtering-correlation-id: b2cece2f-154f-4a9e-0d1b-08d63c0e4e35 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5343; x-ms-traffictypediagnostic: VI1PR04MB5343: authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; 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)(3231382)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB5343; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB5343; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39850400004)(396003)(136003)(376002)(366004)(189003)(199004)(11346002)(66066001)(6486002)(316002)(76176011)(4326008)(6436002)(5640700003)(52116002)(25786009)(55236004)(186003)(2900100001)(102836004)(53936002)(50226002)(105586002)(54906003)(97736004)(478600001)(106356001)(2351001)(5250100002)(2501003)(386003)(8936002)(36756003)(6506007)(6512007)(86362001)(68736007)(486006)(5660300001)(3846002)(6116002)(1076002)(14444005)(2906002)(6916009)(44832011)(26005)(2616005)(305945005)(71190400001)(71200400001)(7736002)(81166006)(81156014)(446003)(476003)(8676002)(14454004)(256004)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5343; H:VI1PR04MB4863.eurprd04.prod.outlook.com; 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-antispam-message-info: ATTCYZCeUDoQ9HWCY0rtgraWuXh3MX8L3IwDU41J+9V/2W9XFRmXcrQhnIjBdkSbWOxAUFYzQxaQhIpJsspgnTpvGeZl9n/je4IZtQayA2lq1QweWj+r/qn5Dxc+NODh96f8j6x6rZTJshEJgV4/Ziqj0UeZhemovx7VO/+S6q3pL9cUgl7wIQxao2Vv+xlPmLAPnFFstaMxxwIPXaztwLM1Pn09GZmk67RY8qcRBl+ZYnLwezbi1XnG+8dO/qDqZxPK1xMc4nFNXfGPSpayzMmn14xH4jXce83FqN1MIwhZeXhrfZB4EA2fK4loNnljubSRHT9elKtG0nAN/s0+oTWmTugUCeTLjKDX/n7I3TA= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2cece2f-154f-4a9e-0d1b-08d63c0e4e35 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:46.4437 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5343 Cc: Ruchika Gupta Subject: [U-Boot] [PATCH v5 13/27] armv8: layerscape: skip OCRAM init for TFABOOT 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" OCRAM initialization is performed by TFA, Hence skipped from u-boot. Signed-off-by: Ruchika Gupta --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S index 11b5fb2ec3..cbc9112eb1 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S +++ b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S @@ -304,7 +304,8 @@ ENTRY(lowlevel_init) 100: #endif -#if defined(CONFIG_FSL_LSCH2) && !defined(CONFIG_SPL_BUILD) +#if !defined(CONFIG_TFABOOT) && \ + (defined(CONFIG_FSL_LSCH2) && !defined(CONFIG_SPL_BUILD)) bl fsl_ocram_init #endif From patchwork Sat Oct 27 13:15:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989896 X-Patchwork-Delegate: yorksun@freescale.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="kOUDIR3+"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1vS5JCTz9s7h for ; Sun, 28 Oct 2018 00:30:28 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 07C00C21DB5; Sat, 27 Oct 2018 13:19:11 +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=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 92578C21E3E; Sat, 27 Oct 2018 13:16:09 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 26E82C21E02; Sat, 27 Oct 2018 13:16:03 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00076.outbound.protection.outlook.com [40.107.0.76]) by lists.denx.de (Postfix) with ESMTPS id 167C9C21DD4 for ; Sat, 27 Oct 2018 13:15:52 +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=YXYPL/2FPqFvroQEVVCtX5JDzkxdYu/f6Ty2lDNJuC0=; b=kOUDIR3+y/P3iuQaNMwAIisHfSQ5b++lfc3da/MAxzP32KMvcO7TPdGri9i85RMiSWEW6ANN/7alyYyfrHpmQoRvajO0MKhgI4iXsEQI5tmPrskTZRAyeNQAKLyeE5oHvYN9K57aEqLbpIz7Qk1fQI45sDhLbMtd2Xbp8Pte9+g= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:49 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:49 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 14/27] armv8: fsl-layerscape: Update parsing boot source Thread-Index: AQHUbfctzboWQNLOVkedDUv5hoOaIA== Date: Sat, 27 Oct 2018 13:15:49 +0000 Message-ID: <20181027131428.5246-15-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:18vZe0bztCnRvg+cQ5pS/c1qeT9sI22CSWyHztph1GMNDm1oOeHH5QBeFiax1mUKB7SJjn8KV5d2qShM5oVg8War5aB+ji+sSkWDRhUQamtmOfx/iczcQG1BsIPGheMrEs11ZnIUuCDETYn+V2bBN7uypDrOEycGs1Jns137PAy/VPSWuNNVWU5oGtGmym5VRjR2aITBVKY2OrkiK3SePH6dA4VvwyIitZ0QrLmsNgegbhhyHrVZnrxnDrXX+QfX+ISSNWwtCATkSPVxC2aqJLBruCUpHDyUixher+djGHQMe4l71GJuPb4HzAWJTMUuZlhvQdIMdmiECtgQG0a1QSGm1WrNjgvRPz5MeJqQtXhvAakWfMESh7odTzofLKYARcEAWfSFZHBLnwjM4PZIOcOwk2WIDrORG4IbNPkPN07efemRBK7znTUjBl8VlK0MeoDvDAOHDOOWPYvVe39PpA==; 5:YrhR/F2JZPzBlKAY2M86bl4fsI24qnAqYoxLgNgDli7cmPowH7yuNqLlPmNDJgOGC90pzfduvnCg9Wu0ykaf26oXe+HhnGZlZfKj2oCvAXVLgYsQC4KKyBh5gjQyzSEV645Z083M4zV71M4wHCnfQV+rxUcUWWQJ5VCYFF6TBUc=; 7:MAwu3trMjjwALAMPz5wE6T4B4WFdHWFyOLPjuNg3994yJ0NhGunkGn49HfVMCgofXf4mJctwnwYKzF+mwsUGvkMetv7LClVg2ObVi6+GhJ/cSbSk0E/Y+bxFDQ5BWY8WQKcp/Shpi3jKd1aR10maEQ== x-ms-office365-filtering-correlation-id: 0bf171e8-43b9-4fe3-5bae-08d63c0e5008 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: r+EsrsmSkM1LLafCrciWSMzr0eG7I7xY3b2t2IGT/7e4ohfZxizp79q20YlEA+t4mUfGD2he5fOzen4+DmrNsTlZCiLZrSox0XpNK0qVOz/r4Q/SLmlpNzaIPAZAHx9P6TJsrRX+AAO9hI+LLRiHjEGFYFBlItxRXQapKaauMa1gAu7rnaHdGKfyatnUzbkFehmIP51X86O3GHFYbfQUd1VXKF04Te/CApSTzOKR/XvUFCUBcFBDUupodgaRStln56oo3tBJnDflAZ+utQs5PBP2QdGnU5MvWgLbFhM4GLkSEdVLR9oggqDqDuA4BfTQvTwRJJs9zS6fRX1iPC7+9g9ginhw8qrdb1uAjhx8wPs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0bf171e8-43b9-4fe3-5bae-08d63c0e5008 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:49.4750 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Subject: [U-Boot] [PATCH v5 14/27] armv8: fsl-layerscape: Update parsing boot source 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" From: York Sun Workaround of erratum A010539 clears the RCW source field in PORSR1 register, causing failure of detecting boot source using this method. Use SMC call if U-Boot runs at EL2. If SMC is not implemented or running at EL3, continue to read PORSR1 and presume QSPI as boot source if erratum workaround A010539 is enabled and RCW source is cleared. Signed-off-by: York Sun --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 26 ++++++++++++++++--- .../arm/include/asm/arch-fsl-layerscape/soc.h | 1 + 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c index 084208fa9e..af1284a28b 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c @@ -693,23 +693,41 @@ enum boot_src __get_boot_src(u32 porsr1) } } #endif + + if (CONFIG_IS_ENABLED(SYS_FSL_ERRATUM_A010539) && !rcw_src) + src = BOOT_SOURCE_QSPI_NOR; + debug("%s: src 0x%x\n", __func__, src); return src; } enum boot_src get_boot_src(void) { - u32 porsr1; + struct pt_regs regs; + u32 porsr1 = 0; #if defined(CONFIG_FSL_LSCH3) u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE; - - porsr1 = in_le32(dcfg_ccsr + DCFG_PORSR1 / 4); #elif defined(CONFIG_FSL_LSCH2) struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); +#endif + + if (current_el() == 2) { + regs.regs[0] = SIP_SVC_RCW; - porsr1 = in_be32(&gur->porsr1); + smc_call(®s); + if (!regs.regs[0]) + porsr1 = regs.regs[1]; + } + + if (current_el() == 3 || !porsr1) { +#ifdef CONFIG_FSL_LSCH3 + porsr1 = in_le32(dcfg_ccsr + DCFG_PORSR1 / 4); +#elif defined(CONFIG_FSL_LSCH2) + porsr1 = in_be32(&gur->porsr1); #endif + } + debug("%s: porsr1 0x%x\n", __func__, porsr1); return __get_boot_src(porsr1); diff --git a/arch/arm/include/asm/arch-fsl-layerscape/soc.h b/arch/arm/include/asm/arch-fsl-layerscape/soc.h index ef228b6443..daa1c70b3a 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/soc.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/soc.h @@ -56,6 +56,7 @@ struct cpu_type { #ifdef CONFIG_TFABOOT #define SMC_DRAM_BANK_INFO (0xC200FF12) +#define SIP_SVC_RCW 0xC200FF18 phys_size_t tfa_get_dram_size(void); From patchwork Sat Oct 27 13:15:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989893 X-Patchwork-Delegate: yorksun@freescale.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="oktMf3K3"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1sp1Xm2z9s7h for ; Sun, 28 Oct 2018 00:29:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DBF3FC21C51; Sat, 27 Oct 2018 13:19:45 +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=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 E3536C21DD3; Sat, 27 Oct 2018 13:16:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B092CC21E31; Sat, 27 Oct 2018 13:16:03 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00070.outbound.protection.outlook.com [40.107.0.70]) by lists.denx.de (Postfix) with ESMTPS id 6C897C21DC1 for ; Sat, 27 Oct 2018 13:15:53 +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=/3mlUF9Zlw4w4ary8v9MVOEhn9AYDDo6BJ4FCXrKkn0=; b=oktMf3K3v7xAzCvjM47fn87CRtpLHWae+Cn4fUVUOwPNBaXIRjypXixxfROY13ouzFqH4fhkjvvqJAMRnmuMPDo8p1+Vw+0Hg9Gf1uB+hT1Wyq/zIg2oDQse6eFE4bhMBPTSkORAwhj4ea39PO7/ohhiPZmdcaezSmsu6LT7lzc= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:52 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:52 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 15/27] armv8: sec_firmware: change el2_to_aarch32 SMC ID Thread-Index: AQHUbfcvRTdvFNXFWU6sgeYvPo8k/w== Date: Sat, 27 Oct 2018 13:15:52 +0000 Message-ID: <20181027131428.5246-16-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:1DK74c+XpnwvUqaiJ9fcrnkFUUB2yBz2C62p6Z3aQRanDdmiF2RJ+sVnsvopwgITfCv5dt1SyRHHi7K9d2mNa0oB+cqE3U0JIRDZ/VD3IhvPUGdfCcxUE025lGYUondV7bx/+dFZqG4WzfAJJQjxWqXp0k+AA7QbKDkfv7nw4OOt10CyVcGH3O+UOcxeORVsHFiwUKpFJ0QWGU9gFKNqYfEoQjMkmdFZ6IfU3UzPxFOczWbUDl12Whr9qhDGc3fw577QSc8z/D36k02xBXpUIOkVqMvdMmH7uTkaq8ZueCIpZiQAA5eFbnTjxLoekZuj+jnoxqqSXMj4vCHPt0u2ivBepWD7zQg7d8cbktPTNinf82fHAjyuyQhCEYqnv7Ld4M7QB13PELtqvBlNKD4fiIdwfcR7IxwZhwxtVfapTMWrE4+0uEyn7WD2CVK++JDBOqKY9wpXrMOCBTSfZBoc6g==; 5:6sufmZCh7WLAcPjzAIMB5OQ9lMGG9HYaf5ZEOzgb4nNxGU9VpGiCgEjV+DtSccSjyOEB8JuMsSn56oUM4ymQDVVpWwKvbhbqVd0KpSyJAHYkqXJHEmLXIwQhV+nqzNsztuviJ8hZB3maCgGCN+ILocRAAwoNZllMNDh549Satxw=; 7:2VT+XfpFiHxC33D5s7A9O0/TQxrnr/QZYARxVgggqHI71rp3BDoGIdxUNThxsSUs2cnzkhvKo66aQEcnchymMAzElq/LAd3NuyQLuf95no6c52ThlMaN6kWtbhPckQVAtXjDzCie/rJj4bVQFeEzfg== x-ms-office365-filtering-correlation-id: 87d7a714-6b73-4565-482a-08d63c0e51d9 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: oD8XaINtX+NVY4nq+pl2qHzHJ+oreyxB03rwtMblafoXD3E3ibA1Flva75QE03HWb3z36GKPqiCglwv7Omo7kgZYjQ7IhnyPm3VhDOlqmmdoppjUdnarozEG6+rRGQUem4V1f3598OX+HMKH6Nj25M5SVwUOx1nxHWwxV1pMT3rmZqauKjyKESMEYZsJELnKMiqB9TbfRRPQ0SnQTG43Tluom+uz3Z4gxUuvHh4qOvjcmHsAKKq4qRFF6LwVg3lQ6DBAzyOOFpar+5E7ehLb5DPyyJrNwzXXQMJkmoVowxA10AlxqtlcI85IFa2k431n0sfOCCwUH9WShMHpgLpsEsl9JamQxbhx3roSUpO0CWU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87d7a714-6b73-4565-482a-08d63c0e51d9 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:52.4906 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Subject: [U-Boot] [PATCH v5 15/27] armv8: sec_firmware: change el2_to_aarch32 SMC ID 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" Changes the el2_to_aarch32 SMC ID from 0xc000ff04 to 0xc200ff17, it is applicable to both TFA and non-TFA boot. Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/sec_firmware_asm.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv8/sec_firmware_asm.S b/arch/arm/cpu/armv8/sec_firmware_asm.S index 1c0f963e18..af1b2da072 100644 --- a/arch/arm/cpu/armv8/sec_firmware_asm.S +++ b/arch/arm/cpu/armv8/sec_firmware_asm.S @@ -68,7 +68,7 @@ ENTRY(armv8_el2_to_aarch32) mov x3, x2 mov x2, x1 mov x1, x4 - ldr x0, =0xc000ff04 + ldr x0, =0xc200ff17 smc #0 ret ENDPROC(armv8_el2_to_aarch32) From patchwork Sat Oct 27 13:15:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989904 X-Patchwork-Delegate: yorksun@freescale.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="xqzj6OzO"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1yH1xyZz9s7h for ; Sun, 28 Oct 2018 00:32:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DF13FC21DF3; Sat, 27 Oct 2018 13:22:47 +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=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 B716CC21DFF; Sat, 27 Oct 2018 13:17:11 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BEED4C21DFF; Sat, 27 Oct 2018 13:16:06 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00050.outbound.protection.outlook.com [40.107.0.50]) by lists.denx.de (Postfix) with ESMTPS id 2761EC21E2B for ; Sat, 27 Oct 2018 13:15:57 +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=d4PIEnCBkWSqvkrNi+I2hCBHBFZ30UO+rI4PG5AeGbc=; b=xqzj6OzOXJa2LQKUkxdPNQZdVsKAAP/2sU9pPLWsYuD76d9HRNyIBZdD5xNuq2M+3bBKyLJL7qtCQJNwDaxHuJ/k8c+ep8fH7+0tdRBua5jqPYAsObfB8HmLHZryxAWXy9tUl6ytreUJHZn3im9++Zj6/ydYWtbRvBEnuY3o06c= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:56 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:56 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 16/27] armv8: sec_firmware: return job ring status as true in TFABOOT Thread-Index: AQHUbfcxLCYolmSbPE6MnaAWWIhesw== Date: Sat, 27 Oct 2018 13:15:56 +0000 Message-ID: <20181027131428.5246-17-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:v/HYFU0pUL3hl6+bN/E38RE4qUGZufh6ddZjwkKZAMXmdGeqj9co8qIfupxDRcQ8navfcyC1y/k2MqmcSSs8rbAvga7cSfuh8xaTAnnB+icT64aqDvcTLyUSjEf8JdrVoCPW0npkUWPSnvq6CYAoA7MwLAIamGg8U0dyHNAgEeiHoJ/39BpT9Pyway7mcjEnXhAVSLM/uNUt2lczbXBMqkfSZ85Zgm9z4G3NGwkDA/OIraWNLwSKMUIy45XDpzLLxXVbTtdEZ7tjbLgKVMvTola0OocTuSltKgITiLSj8ZdU8BiQN4ixMmpV/gawLNFH7zagnK2UCdXLj7jZGdEM0DeqwwtES4Qd42AJR8gqv2x0CNCwdWrZHjkhn3VTFrc3Y9LS0taFiGXUbgUZhjbJ02F4RTubMBLcK4xz0+RYFe+yDLgeEgtUd/zidQmXUOOZBYTfbQHHE3uQ1J/UcTnlHw==; 5:FgzrZJ5bIzW3kMwyu6FMAE16Dt/U8+sF1z6QeXkz/1V1gity0L25ixn2cZDLNdOeRVyzXm2+6RUS/QIRja0Tp/HtOF79F8OWxMJ1AOb3A9zGjWgxbbRylTTCNSFexMSoAZpCTRMkreVr8R0AbKhGmUr+fBkW9URcGD01va1cu2Y=; 7:vFoC1YmEgk8+Dc8lkBrIKfm+xN5M10nArDsuzFhbGWOd7Pq0aeQdYuI9AkOHYtDo9SaFwxKFP/dwFpQDyMbGEUXwtfZcmBYqPow34WlgQiWLbfCwB4RrDAULnCv8KSGyrlvihkp6qnZlXMDrjBGOOQ== x-ms-office365-filtering-correlation-id: 47c18bb7-c37d-4006-a73b-08d63c0e53fd x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: hFHqbkPT12VixH9fUJl6/Eb+mD399mMQh78Ttm3Pi5yKd+8Su46sbLiRGlzNwVFPNUCz62UKWq6+3f357X8DH2+eMl0zqJR3WYc1HfCAlvEIvyo9sXy/hlrK3z8E+2GsNWteqXTAs9qXkZICwcdQ/xmyytfrKvCZF54/Oih+jl6JtXyX/Dd4/FFPaQEQQUd9ByXNXZjqxAJsho0RLuoIO+dy8bN6afZTQOmSN2IENYwO70Fg50Q2sc58CXRcLgI3+XJ8C4KcAp1iYNNeAofFIgE4WBA5mqqAtJAtmW70ImktqDisGCwZxZayIsCiIf3G4CxJ9rsUZIhlpKKBN85osLk5FMmBsMmHWt4UB25bZmY= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47c18bb7-c37d-4006-a73b-08d63c0e53fd X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:56.1470 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Ruchika Gupta , Pankit Garg Subject: [U-Boot] [PATCH v5 16/27] armv8: sec_firmware: return job ring status as true in TFABOOT 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" From: Pankit Garg Returns job ring status as true in TFABOOT, as one job ring is always reserved. Signed-off-by: Ruchika Gupta Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/sec_firmware.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c index a13c92e246..8dc0ac9266 100644 --- a/arch/arm/cpu/armv8/sec_firmware.c +++ b/arch/arm/cpu/armv8/sec_firmware.c @@ -348,6 +348,10 @@ unsigned int sec_firmware_support_psci_version(void) */ bool sec_firmware_support_hwrng(void) { +#ifdef CONFIG_TFABOOT + /* return true as TFA has one job ring reserved */ + return true; +#endif if (sec_firmware_addr & SEC_FIRMWARE_RUNNING) { return true; } From patchwork Sat Oct 27 13:15:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989899 X-Patchwork-Delegate: yorksun@freescale.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="V2vRMm4O"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1wQ23wTz9sBZ for ; Sun, 28 Oct 2018 00:31:18 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D58B9C21DD9; Sat, 27 Oct 2018 13:23:04 +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=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 C39D9C21DB3; Sat, 27 Oct 2018 13:17:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B649FC21E08; Sat, 27 Oct 2018 13:16:09 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00059.outbound.protection.outlook.com [40.107.0.59]) by lists.denx.de (Postfix) with ESMTPS id 4FA23C21C29 for ; Sat, 27 Oct 2018 13:16:00 +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=3NEnXSmOdivMc7GgcGr8/3QsJ5DJ3l7Tml6mjlTe2dc=; b=V2vRMm4O5Mu/z8ONpLs0XCmAqn7JQ/537JsY+V4VBhXtJA4RC4mJm/w//maBCspiUlhatu80yfe7lzbnPFzDMQBAObT8X0p8ap3n5iBbS0ByCIogJJyuZa+Id1HFo3xS4cZHZ5RIeGU/o41a50h6Ag2eX81DbqzQxPBob30WRf4= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:15:59 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:15:59 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 17/27] net: fm: add TFABOOT support Thread-Index: AQHUbfczlCDzr4Yf+02yPUgrROn46A== Date: Sat, 27 Oct 2018 13:15:59 +0000 Message-ID: <20181027131428.5246-18-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:S7AlQY7cwGnxXy5pA+YKunVW1eKKL3+UuKNZfOfYZ9g15XLiycGGm/58nHTJCb5YTWEeCyObzKeULyDTBn7rpbDIVWWUP0r4dEyPybge11PgVCZg9mDe5AzmvTz09SS2OzBvm3rb2ylyuqOOH20audBxRcuc1N+9b/s+DkGp/krlmBKNX9AE4ndZTrNAWzxTdfUiM+YT7r1NLJ41Kv90/oEBNN+sxbni1J5BtbMzSYihBzx+1/zHq+rTBJ51AMuPkQtfyoE2NmWWDQisnIdKjUTk3s3JDlzks9BTt7F47UAwZBsd6WVIS+BZc6Y2AJnb67QKylPpvBFidtPfbqKRv4H72UH6tGILTk8lzzUHcrIElycCM3+M8AMSoS4UX4h17vmJ10DAnKIZt/XvQY48GrY46/ApAa25yF/7Vlc2soAk3aCrOOdq6vo/1XaDq9fc6rGfEGk12OihzyfZTnWlmQ==; 5:xOOo7DrCR7SugLjKI5gO+/c1jZl1HBxfRkBw7ZU8/V+pGA2zSRApEc+2ZEuTNjuW3+uAywMamDxa9taNoqqOI83rCFDwYy86mWhVtkgLzWU1mRePwa0VduUOrSrgyMClYQXGdpvVD2/GKQaOib+EsdcUKrIYsCi55RjKuAG6dUQ=; 7:8eamBGFSaXNUw0zZRwfObHX/xHdUmvguyRSL2hGunED84KPBrPzfSntysfMEOtGwlT8bRhccxuaQvsAPorzKcBNjwNRCP3vQ73cYqL+FBHROApLGmM43brviCuD6TSpTgQFpZ8CTSTjig3KoTt7ybg== x-ms-office365-filtering-correlation-id: 563bd7e6-39e6-4251-7e2c-08d63c0e55f9 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(186003)(476003)(256004)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 86F2HWAdJxNjUqU6HdFjYCtokv52YhwoSKDK3pXlpOYp4+oMcWAtBi8nLkGTATdeO/RISbH0TjwQYiZ67ctklx/pzFfWe+YnkwLn7vgWgdvV00JZn0wYGJFpQwKG21x5POcdl5IOSC7zzrLpGiPjdSFcEK42+dphTKD4Ehfbfvz8K1FYTU5pmffyd0f8YzUu/sTP/oF8n5cRUL//uqngILn2afbdfECwPF6XqX5Cast0vijXP/raKSbua5OFYIhDPueTpHnD9n/W5RrvkRPnEHQ/CxZJ9DF375ucoK4yDC+df1JUx/UVck5ZsETTRzcdRaVZcM6BR8OPmP/tgLrpeWV4FXP6hydCrvS6ATpFqps= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 563bd7e6-39e6-4251-7e2c-08d63c0e55f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:15:59.2876 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 17/27] net: fm: add TFABOOT 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" Adds TFABOOT support and allows to pick FMAN firmware on basis of boot source. Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: - Added CONFIG_ARM64 flag for includes in fm driver Change in v4: None Change in v3: None Change in v2: - Removed extra CONFIG_TFABOOT flag usage drivers/net/fm/fm.c | 102 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 99 insertions(+), 3 deletions(-) diff --git a/drivers/net/fm/fm.c b/drivers/net/fm/fm.c index c5cf188f05..a652a9c42a 100644 --- a/drivers/net/fm/fm.c +++ b/drivers/net/fm/fm.c @@ -11,12 +11,14 @@ #include "fm.h" #include /* For struct qe_firmware */ -#ifdef CONFIG_SYS_QE_FMAN_FW_IN_NAND #include -#elif defined(CONFIG_SYS_QE_FW_IN_SPIFLASH) #include -#elif defined(CONFIG_SYS_QE_FMAN_FW_IN_MMC) #include +#include + +#ifdef CONFIG_ARM64 +#include +#include #endif struct fm_muram muram[CONFIG_SYS_NUM_FMAN]; @@ -347,6 +349,99 @@ static void fm_init_qmi(struct fm_qmi_common *qmi) } /* Init common part of FM, index is fm num# like fm as above */ +#ifdef CONFIG_TFABOOT +int fm_init_common(int index, struct ccsr_fman *reg) +{ + int rc; + void *addr = NULL; + enum boot_src src = get_boot_src(); + + if (src == BOOT_SOURCE_IFC_NOR) { + addr = (void *)(CONFIG_SYS_FMAN_FW_ADDR + + CONFIG_SYS_FSL_IFC_BASE); + } else if (src == BOOT_SOURCE_IFC_NAND) { + size_t fw_length = CONFIG_SYS_QE_FMAN_FW_LENGTH; + + addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH); + + rc = nand_read(get_nand_dev_by_index(0), + (loff_t)CONFIG_SYS_FMAN_FW_ADDR, + &fw_length, (u_char *)addr); + if (rc == -EUCLEAN) { + printf("NAND read of FMAN firmware at offset 0x%x\ + failed %d\n", CONFIG_SYS_FMAN_FW_ADDR, rc); + } + } else if (src == BOOT_SOURCE_QSPI_NOR) { + struct spi_flash *ucode_flash; + + addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH); + int ret = 0; + +#ifdef CONFIG_DM_SPI_FLASH + struct udevice *new; + + /* speed and mode will be read from DT */ + ret = spi_flash_probe_bus_cs(CONFIG_ENV_SPI_BUS, + CONFIG_ENV_SPI_CS, 0, 0, &new); + + ucode_flash = dev_get_uclass_priv(new); +#else + ucode_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, + CONFIG_ENV_SPI_CS, + CONFIG_ENV_SPI_MAX_HZ, + CONFIG_ENV_SPI_MODE); +#endif + if (!ucode_flash) + printf("SF: probe for ucode failed\n"); + else { + ret = spi_flash_read(ucode_flash, + CONFIG_SYS_FMAN_FW_ADDR + + CONFIG_SYS_FSL_QSPI_BASE, + CONFIG_SYS_QE_FMAN_FW_LENGTH, + addr); + if (ret) + printf("SF: read for ucode failed\n"); + spi_flash_free(ucode_flash); + } + } else if (src == BOOT_SOURCE_SD_MMC) { + int dev = CONFIG_SYS_MMC_ENV_DEV; + + addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH); + u32 cnt = CONFIG_SYS_QE_FMAN_FW_LENGTH / 512; + u32 blk = CONFIG_SYS_FMAN_FW_ADDR / 512; + struct mmc *mmc = find_mmc_device(CONFIG_SYS_MMC_ENV_DEV); + + if (!mmc) + printf("\nMMC cannot find device for ucode\n"); + else { + printf("\nMMC read: dev # %u, block # %u, count %u \ + ...\n", dev, blk, cnt); + mmc_init(mmc); + (void)mmc->block_dev.block_read(&mmc->block_dev, blk, + cnt, addr); + } + } else + addr = NULL; + + /* Upload the Fman microcode if it's present */ + rc = fman_upload_firmware(index, ®->fm_imem, addr); + if (rc) + return rc; + env_set_addr("fman_ucode", addr); + + fm_init_muram(index, ®->muram); + fm_init_qmi(®->fm_qmi_common); + fm_init_fpm(®->fm_fpm); + + /* clear DMA status */ + setbits_be32(®->fm_dma.fmdmsr, FMDMSR_CLEAR_ALL); + + /* set DMA mode */ + setbits_be32(®->fm_dma.fmdmmr, FMDMMR_SBER); + + return fm_init_bmi(index, ®->fm_bmi_common); +} +#else int fm_init_common(int index, struct ccsr_fman *reg) { int rc; @@ -429,3 +524,4 @@ int fm_init_common(int index, struct ccsr_fman *reg) return fm_init_bmi(index, ®->fm_bmi_common); } +#endif From patchwork Sat Oct 27 13:16:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989905 X-Patchwork-Delegate: yorksun@freescale.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="N6vlwKJJ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1yP0SvYz9s7h for ; Sun, 28 Oct 2018 00:33:00 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B576FC21DED; Sat, 27 Oct 2018 13:23:22 +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=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 DF1EFC21EA6; Sat, 27 Oct 2018 13:17:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id EEBC9C21EA6; Sat, 27 Oct 2018 13:16:13 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00052.outbound.protection.outlook.com [40.107.0.52]) by lists.denx.de (Postfix) with ESMTPS id D4569C21E2C for ; Sat, 27 Oct 2018 13:16:03 +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=OWh1Y52+mrqJtDs39+Em9D9VUXZ4/vF8OoCnYK21kaI=; b=N6vlwKJJWFOKe5c2snGuAPvZIyf7FkkyATOoh3/4PIkNVSf46eOtGOFeSsNeK0eh0HZEX/mEcMSCFk9XxxCbO8y4TDz/e9tIy+4loUdRa926QXaLRLTViPtfrO+kyf6dbaSWH6xVPADLCRf+dTpeJyJP7XUcQEq880hI8zFMJTw= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:02 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:02 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 18/27] drivers: qe: add TFABOOT support Thread-Index: AQHUbfc16vf2a2kSbkqjhyPzADgLsA== Date: Sat, 27 Oct 2018 13:16:02 +0000 Message-ID: <20181027131428.5246-19-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:Hd+7gGL0Y+29EjIlRF/40m3oG8lfBA9opoycGvQ1xHpe6zRWXZMMq9dmfX1a/7g4GnrxHVOV+IJvTrRJDE3G8jC6u5vIUYhAdqhz3ieamAfJgC4rJnQi4oZunX6vlBXc5F76WdBiWhF6o1vwqu9Paib4UtgQ8W/D+84FdFDb9l9ICSLyQYVK4GvnWdd5PhgbTNEUGJCzTVC9y9qEhORKVS9CoQ5jUFtgY26Xu8iteg9FixVNw6GOwqG+b74NYw6xXE84QxVaSfP0QQR6HgqxQOy13jvERU8nItKINxKJ2qzGrE59Qb4SkyUJveXQ+ustqd5OA3RHf6H3yqntysHPCcAFVk30eD42MJLWFz5k0KivVG3+XwumKVNRhkEE+WY9HDaea3XpJMW0fqZ4WfR5tyIFp92oNUJ60tmj7GnQS9v9ggqQEDcOzQnXP5peIcJKb4p6evvaqILlmoGAO4PsYQ==; 5:Mq16/57nSSfYPlM7fiqBtGewOpD9gIGZUlxZ8QohXA7TKVw1C9rKMtH4btkk4mehq2M4vHsBkYXtXarju3K6iQFRq3/nY/mkHUOhw5Jtn9t6UBCwKimXwzDrV0r0qUus+sqJCSV+w3kabWlDLbm+uMzUHisv9Ya0Mir8bsGQkOo=; 7:MArkLvYQqhd7pxlYnKGD/Y+vJzKQTzbwI+xxNvx/U6304i+C8cd3QFV6h4pPWPrg6KGEFLkW07z1bOSAk6BDALw4S98jRN01zJkXtHefHL7970kPWTIb1u5E0oQ3NDQfZe2DUGrXIyyv2qJRV/zowQ== x-ms-office365-filtering-correlation-id: 38431f2a-da41-4945-059b-08d63c0e5806 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: rv0Bx6RxAxuWRD0At9H3MeI+VGBUHNUQ1ewCk3pBew8qoGcm+4CyPj7Dfi/7L+YXiAgv0TN0niP523mOwBPaINjAsJkFwlvUAzQvC10ckK1roKwR/nHQ5E7dU42XhvYtlcatqFd9/apVASZ2szRlsxAmD7pZ6qFwT1ysS8YGwg0tK5xlmNLjz0Dw19XmVrRtSfyKlc2wpoBa6jJJIkuaTRdGTC+HfMOV0UMlit9rsC89Z6NpKD4qzZo+zbCvdWj9MQm/IlOUGPxWjuGR5Ftk1wFU7wpc4WHK37ETyiybHZbRZZs3ptmdnn7jDNoioLhUs3U/G0aiBKR+n5XFemkR92cpQ6JEEd7Lr1C0igQJ1Hw= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 38431f2a-da41-4945-059b-08d63c0e5806 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:02.8033 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 18/27] drivers: qe: add TFABOOT 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" Adds TFABOOT support and allows to pick QE firmware on basis of boot source. Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: - Added CONFIG_ARM64 flag for includes in qe driver Change in v4: None Change in v3: None Change in v2: - Removed extra CONFIG_TFABOOT flag usage drivers/qe/qe.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 3 deletions(-) diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c index 7010bbc230..eefb3bf252 100644 --- a/drivers/qe/qe.c +++ b/drivers/qe/qe.c @@ -13,12 +13,15 @@ #include #include #include +#include +#include + #ifdef CONFIG_ARCH_LS1021A #include #endif - -#ifdef CONFIG_SYS_QE_FMAN_FW_IN_MMC -#include +#ifdef CONFIG_ARM64 +#include +#include #endif #define MPC85xx_DEVDISR_QE_DISABLE 0x1 @@ -170,6 +173,33 @@ void qe_put_snum(u8 snum) } } +#ifdef CONFIG_TFABOOT +void qe_init(uint qe_base) +{ + enum boot_src src = get_boot_src(); + + /* Init the QE IMMR base */ + qe_immr = (qe_map_t *)qe_base; + + if (src == BOOT_SOURCE_IFC_NOR) { + /* + * Upload microcode to IRAM for those SOCs + * which do not have ROM in QE. + */ + qe_upload_firmware((const void *)(CONFIG_SYS_QE_FW_ADDR + + CONFIG_SYS_FSL_IFC_BASE)); + + /* enable the microcode in IRAM */ + out_be32(&qe_immr->iram.iready, QE_IRAM_READY); + } + + gd->arch.mp_alloc_base = QE_DATAONLY_BASE; + gd->arch.mp_alloc_top = gd->arch.mp_alloc_base + QE_DATAONLY_SIZE; + + qe_sdma_init(); + qe_snums_init(); +} +#else void qe_init(uint qe_base) { /* Init the QE IMMR base */ @@ -192,8 +222,53 @@ void qe_init(uint qe_base) qe_snums_init(); } #endif +#endif #ifdef CONFIG_U_QE +#ifdef CONFIG_TFABOOT +void u_qe_init(void) +{ + enum boot_src src = get_boot_src(); + + qe_immr = (qe_map_t *)(CONFIG_SYS_IMMR + QE_IMMR_OFFSET); + + void *addr = (void *)CONFIG_SYS_QE_FW_ADDR; + + if (src == BOOT_SOURCE_IFC_NOR) + addr = (void *)(CONFIG_SYS_QE_FW_ADDR + CONFIG_SYS_FSL_IFC_BASE); + + if (src == BOOT_SOURCE_QSPI_NOR) + addr = (void *)(CONFIG_SYS_QE_FW_ADDR + CONFIG_SYS_FSL_QSPI_BASE); + + if (src == BOOT_SOURCE_SD_MMC) { + int dev = CONFIG_SYS_MMC_ENV_DEV; + u32 cnt = CONFIG_SYS_QE_FMAN_FW_LENGTH / 512; + u32 blk = CONFIG_SYS_QE_FW_ADDR / 512; + + if (mmc_initialize(gd->bd)) { + printf("%s: mmc_initialize() failed\n", __func__); + return; + } + addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH); + struct mmc *mmc = find_mmc_device(CONFIG_SYS_MMC_ENV_DEV); + + if (!mmc) { + free(addr); + printf("\nMMC cannot find device for ucode\n"); + } else { + printf("\nMMC read: dev # %u, block # %u,\ + count %u ...\n", dev, blk, cnt); + mmc_init(mmc); + (void)mmc->block_dev.block_read(&mmc->block_dev, blk, + cnt, addr); + } + } + if (!u_qe_upload_firmware(addr)) + out_be32(&qe_immr->iram.iready, QE_IRAM_READY); + if (src == BOOT_SOURCE_SD_MMC) + free(addr); +} +#else void u_qe_init(void) { qe_immr = (qe_map_t *)(CONFIG_SYS_IMMR + QE_IMMR_OFFSET); @@ -229,6 +304,7 @@ void u_qe_init(void) #endif } #endif +#endif #ifdef CONFIG_U_QE void u_qe_resume(void) From patchwork Sat Oct 27 13:16:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989889 X-Patchwork-Delegate: yorksun@freescale.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="EJxhNymN"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1mD1Pncz9s7h for ; Sun, 28 Oct 2018 00:24:12 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AA69AC21C4A; Sat, 27 Oct 2018 13:20:56 +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=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 90FF5C21E77; Sat, 27 Oct 2018 13:16:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 51EF5C21E0F; Sat, 27 Oct 2018 13:16:18 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00088.outbound.protection.outlook.com [40.107.0.88]) by lists.denx.de (Postfix) with ESMTPS id B1B33C21D72 for ; Sat, 27 Oct 2018 13:16:07 +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=Jpj38ZTj94PcgzFMtpswiYd3BCEPJ/XNFlqLzj+k2Go=; b=EJxhNymNqY4uYGAycQvnnqGEteUYJNjLbdfsVtn/93QfF+fhPS0SoCNBKqyWYQRmGZ1QPnodfePZQmNBb7IvziRmMpVqvDV8+ADC8076FBbcdKF3ih34wF/uDoEzwiUU+ceLC5/lB47twecRK+r6AjJpluthIb7Abi1e4Nup6Jk= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:06 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:06 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 19/27] armv8: fsl-layerscape: add support of MC framework for TFA Thread-Index: AQHUbfc3rHCxJk5snke/TEVdZLCZ7w== Date: Sat, 27 Oct 2018 13:16:06 +0000 Message-ID: <20181027131428.5246-20-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:AQows8+j2Zob3kgUzmuX3KePsAlbvwVlaBOS+RWCdYDsnmCd3yhb/9QgWHFv1kJiORctxSLZj1ihgo6k7GDl6eT27nLgPqZiym70DjzQJ5WH9Dnc2rMYAwjB6Pl7MM7TH+iIg3cakiXyaXLhtPuFJm7fmMN+JucnDTwVlWBSyRQ10avZ/9AM/GGx6o/6z93KpR1CQVsWt3BD+11poFPo4LsNjOadxnmyYTsw1oHflm9Xa6xybcFZ0fiLCW+wvIMahfQRAlFfX8e1a/5+ajLODyCsUU7etHE8qp23f7UTLOJzit2GGHF3vEqsWexJNomRPWiyHu/18xerG46tEYpaXz30XtZyDalkS6vdcxleg88NX4Qy8r6Mri6/IYDWNvHYnW5yPpqiGiQplx0EsvVB4HmuoE53RcDqo90avpeiSFlOLH3B/Jn9pFoJgiwbER6gL9PGYOX3jD6g3vM8cEVamQ==; 5:UiZJs4i6xSdi9D7d9MaYu8m9kArjOSkhgF8APuy2xiVCDH11WoPk85+7p7HvCiWewTXsEjU8OdDvQd3OMjCy82ycExPSQvKzz5J+F6DX58/EZVqrKtbtN56Z/1MjYFl2n53Wmy5eBt5GGOAZpbSaM7EcI9oa8OBCHWNNjwThSYs=; 7:EwOR7j2g2oJrhA/phsZS83FEStRhVt37NTmz9bbi4cRMlBLsJP45NXrph/aJh2C/2iy1C18xkXeEnrXo/J4suu/nyMJBs45DHjOAzMpwu3jIHmhLluwdhUVHgqJ/WL8L/bClG0gQRvMdHD3E9C88vA== x-ms-office365-filtering-correlation-id: eadafac6-97d0-418c-281f-08d63c0e5a4e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(186003)(476003)(256004)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: WwBVcNXJLjEMumS3B5xqoNPKHq7YTF0oyK4WS63CEJxAfjCupzo1aXiriL3h1FqxIA0wDIG4XbHX91xmDQEkc3YK257KES7RJlXFVsiKK5gFrffjgstB0hYRRQPNh5210v/lEIC12yp0+yUFhN9rzBrzPdBUZnrfMWRGQRofcdoo6yNMavpgg4QQvUXYteFy5e0L5qiSsGBP3FdSWy88jbkEoLry4V6KloU+38A1c4sMmX6a80w1vmxvzYdzZQlfEnttFOoszEOMEkmLcm3CETVCeXCxJYlE10apAF30oK+4Go4Q48cLLHWeFRE67ygTJQzBKZVWKb6CvsenvmmcefthrvGrEaTMG/KpvqpdXRU= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eadafac6-97d0-418c-281f-08d63c0e5a4e X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:06.6002 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 19/27] armv8: fsl-layerscape: add support of MC framework for TFA 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" From: Pankit Garg Add support of MC framework for TFA Make MC framework independent of boot source. Signed-off-by: Rajesh Bhagat Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: None Change in v2: None arch/arm/cpu/armv8/fsl-layerscape/soc.c | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index b68d99c765..0092a22394 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -747,6 +747,54 @@ int fsl_setenv_bootcmd(void) } return 0; } + +int fsl_setenv_mcinitcmd(void) +{ + int ret = 0; + enum boot_src src = get_boot_src(); + + switch (src) { +#ifdef IFC_MC_INIT_CMD + case BOOT_SOURCE_IFC_NAND: + case BOOT_SOURCE_IFC_NOR: + ret = env_set("mcinitcmd", IFC_MC_INIT_CMD); + break; +#endif +#ifdef QSPI_MC_INIT_CMD + case BOOT_SOURCE_QSPI_NAND: + case BOOT_SOURCE_QSPI_NOR: + ret = env_set("mcinitcmd", QSPI_MC_INIT_CMD); + break; +#endif +#ifdef XSPI_MC_INIT_CMD + case BOOT_SOURCE_XSPI_NAND: + case BOOT_SOURCE_XSPI_NOR: + ret = env_set("mcinitcmd", XSPI_MC_INIT_CMD); + break; +#endif +#ifdef SD_MC_INIT_CMD + case BOOT_SOURCE_SD_MMC: + ret = env_set("mcinitcmd", SD_MC_INIT_CMD); + break; +#endif +#ifdef SD2_MC_INIT_CMD + case BOOT_SOURCE_SD_MMC2: + ret = env_set("mcinitcmd", SD2_MC_INIT_CMD); + break; +#endif + default: +#ifdef QSPI_MC_INIT_CMD + ret = env_set("mcinitcmd", QSPI_MC_INIT_CMD); +#endif + break; + } + + if (ret) { + printf("Failed to set mcinitcmd: ret = %d\n", ret); + return ret; + } + return 0; +} #endif #ifdef CONFIG_BOARD_LATE_INIT @@ -758,9 +806,11 @@ int board_late_init(void) #ifdef CONFIG_TFABOOT /* * check if gd->env_addr is default_environment; then setenv bootcmd + * and mcinitcmd. */ if (gd->env_addr + gd->reloc_off == (ulong)&default_environment[0]) { fsl_setenv_bootcmd(); + fsl_setenv_mcinitcmd(); } #endif #ifdef CONFIG_QSPI_AHB_INIT From patchwork Sat Oct 27 13:16:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989895 X-Patchwork-Delegate: yorksun@freescale.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="I8M8SlyL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1tg63jZz9s7h for ; Sun, 28 Oct 2018 00:29:47 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 8A1B3C21C6A; Sat, 27 Oct 2018 13:21:15 +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=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 D8499C21E13; Sat, 27 Oct 2018 13:16:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 5A519C21E8A; Sat, 27 Oct 2018 13:16:18 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00069.outbound.protection.outlook.com [40.107.0.69]) by lists.denx.de (Postfix) with ESMTPS id 75FACC21E60 for ; Sat, 27 Oct 2018 13:16:12 +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=MiZwUqQ+R3S5lMaGGFztzkjER3VaiUYsgLSn5eWnyIk=; b=I8M8SlyLUtIaGPRYtNiTOrXE3H1YCTCwubf6v8mJ5x8MXisgwfvCpTee1VChZKi7uolzk0y4JmSD7ewkbKJL0xxFG/l14rTkCz9n6t2KgmcatfHA8qbcs5jFXv/7hcTRYFQgnVVAlVngY6UpY2lG7ZfXv9lgYe6T2iDkokYOFFQ= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:11 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:11 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 20/27] armv8: ls1046ardb: Add TFABOOT support Thread-Index: AQHUbfc6I848Q999LE+8SCFruMQ8Bw== Date: Sat, 27 Oct 2018 13:16:10 +0000 Message-ID: <20181027131428.5246-21-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:0IQDFHhc7o3kW5h4bsp6AaG8vREpkmwD81EEz/2wmkJZz8Xle85DnDZYAw87o0WAnJHtoJhu18plErTEaSg8GS2O4RYQ1wAsvPGRx+BIiLUHzd3u7dd6+IYU4y57lfeOZ/ZxX8qURxoWWt2wLFrOlu2ug5AUWbR4tZDvtLwrU9Po51z/ZPlbTDpMXPKM6s1EaVAKl9W8+fJbLM9k1gNyixzdL98leQXDBEccK217d03m+qG+L2l7o0YlTGxOP5qocXlyfzGHZX0Qi9jg8qXJFKF41oCR1hqHG3G61HiTwJfK3awDHr6tUSUCcE4j859qEUaC3YPWknkWzGC8bHtjUFldcvqZ2v3jceqE5i6TTUckUweuqSwZJLRr56ik3b1NIttS1eUVw0qjdXRJ8xOMEN+2VXa+6HHWB5rWmns6fc/fKPjvNaYdhGmCwYPhHFMTANfHBSKv3tKSv9dYTkaRwA==; 5:yfphp0bJAeb2ecTeH+GHCSPzrt2gycw6YZiHCW8mWe3qtrlfw9hHbp5iYU2oRDBMJMVFlcniEsECYaked9XWT5WMchiUz4FyGQJDDf7oL7wbeXUOUdD03njMEjPtkhdzG+7RonA98u5kmZWoI1PCdWOaN6l61pYFWqEQzvxP5rQ=; 7:OTc3eSN54y2S4MymoZgjG4JE+HpgqryL0CODfXt10p/IRNacjkQOoS0a3sZUWlVC3tcpXF8ujUPsqOzsftitqB60GTh/cHAPBJePjigEJawtnqSVEBn1xp16jghtjjddRH2hyJui9EU+UHfOW9fpew== x-ms-office365-filtering-correlation-id: 27b70142-c484-4953-5ae5-08d63c0e5ce7 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: zqoLMPRYgfqOWmdrYHWX5FPNW1voxGrmwiChmCyizNfF/8+5V8j4A/bRlLziajClps0clzpIU7vu3wk3BrlpOzoqqcTJPaydpcerSszSYbJSqz9YCyjlZKWTQsMPwAxN/QQv4u8FGz654be8OxOAsrtEln54eg+dohBfg7mOMQctBRj/i0/vGsfIkAuCUeG3BytJavEXXswzTsrZuIIdoNqNWix0iclZj4GaO716FyOwlHZLokFRNlonB/PU8tZ7cmcmgCscheL9KNO5P/OSe0KQP0Tbi6J485PSRfnMIsVc8/awHvGPCA/nE9N4vMechCfQvKRQMCQVXACzB8iDdaw9aCsG8Mxxf8aiAe40m6Q= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27b70142-c484-4953-5ae5-08d63c0e5ce7 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:11.0066 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 20/27] armv8: ls1046ardb: Add TFABOOT 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" TFABOOT support includes: - ls1046ardb_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - FMAN address changes for TFABOOT - define BOOTCOMMAND for TFABOOT Signed-off-by: York Sun Signed-off-by: Pankit Garg Signed-off-by: Vinitha V Pillai Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: - Removed TFABOOT generic code - Added ls1046ardb_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1046ardb TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1046ardb/MAINTAINERS | 2 + board/freescale/ls1046ardb/ddr.c | 12 +++++ configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 52 ++++++++++++++++++++ configs/ls1046ardb_tfa_defconfig | 49 ++++++++++++++++++ include/configs/ls1046a_common.h | 12 +++++ include/configs/ls1046ardb.h | 15 ++++++ 6 files changed, 142 insertions(+) create mode 100644 configs/ls1046ardb_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1046ardb_tfa_defconfig diff --git a/board/freescale/ls1046ardb/MAINTAINERS b/board/freescale/ls1046ardb/MAINTAINERS index aac649a942..b7d9564057 100644 --- a/board/freescale/ls1046ardb/MAINTAINERS +++ b/board/freescale/ls1046ardb/MAINTAINERS @@ -1,5 +1,6 @@ LS1046A BOARD M: Mingkai Hu +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1046ardb/ F: board/freescale/ls1046ardb/ls1046ardb.c @@ -8,6 +9,7 @@ F: configs/ls1046ardb_qspi_defconfig F: configs/ls1046ardb_qspi_spl_defconfig F: configs/ls1046ardb_sdcard_defconfig F: configs/ls1046ardb_emmc_defconfig +F: configs/ls1046ardb_tfa_defconfig LS1046A_SECURE_BOOT BOARD M: Ruchika Gupta diff --git a/board/freescale/ls1046ardb/ddr.c b/board/freescale/ls1046ardb/ddr.c index 82b1b1d9ea..321222d68d 100644 --- a/board/freescale/ls1046ardb/ddr.c +++ b/board/freescale/ls1046ardb/ddr.c @@ -97,6 +97,17 @@ found: popts->cpo_sample = 0x61; } +#ifdef CONFIG_TFABOOT +int fsl_initdram(void) +{ + gd->ram_size = tfa_get_dram_size(); + + if (!gd->ram_size) + gd->ram_size = fsl_ddr_sdram_size(); + + return 0; +} +#else int fsl_initdram(void) { phys_size_t dram_size; @@ -117,3 +128,4 @@ int fsl_initdram(void) return 0; } +#endif diff --git a/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..8102d13d7d --- /dev/null +++ b/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,52 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1046ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SECURE_BOOT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_QSPI_AHB_INIT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1046a-rdb" +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_TFABOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=1550000.quadspi:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)" +CONFIG_MISC_INIT_R=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.quadspi:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)" +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_FSL_ESDHC=y +CONFIG_SPI_FLASH=y +CONFIG_PHYLIB=y +CONFIG_NETDEVICES=y +CONFIG_PHY_GIGE=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_SPI=y +CONFIG_DM_SPI=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_USB=y +CONFIG_FSL_QSPI=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y +CONFIG_RSA=y diff --git a/configs/ls1046ardb_tfa_defconfig b/configs/ls1046ardb_tfa_defconfig new file mode 100644 index 0000000000..5bc80ed24e --- /dev/null +++ b/configs/ls1046ardb_tfa_defconfig @@ -0,0 +1,49 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1046ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_QSPI_AHB_INIT=y +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=1550000.quadspi:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)" +CONFIG_MISC_INIT_R=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=1550000.quadspi:1m(rcw),15m(u-boot),48m(kernel.itb);7e800000.flash:16m(nand_uboot),48m(nand_kernel),448m(nand_free)" +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1046a-rdb" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_FSL_ESDHC=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHYLIB=y +CONFIG_PHY_GIGE=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_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_QSPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h index cdb73f644a..6e36c9339b 100644 --- a/include/configs/ls1046a_common.h +++ b/include/configs/ls1046a_common.h @@ -33,7 +33,11 @@ #include /* Link Definitions */ +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE +#else #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0) +#endif #define CONFIG_SKIP_LOWLEVEL_INIT @@ -165,6 +169,13 @@ #define CONFIG_SYS_FM_MURAM_SIZE 0x60000 #endif +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_FMAN_FW_ADDR 0x900000 +#define CONFIG_ENV_SPI_BUS 0 +#define CONFIG_ENV_SPI_CS 0 +#define CONFIG_ENV_SPI_MAX_HZ 1000000 +#define CONFIG_ENV_SPI_MODE 0x03 +#else #ifdef CONFIG_SD_BOOT /* * PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is @@ -187,6 +198,7 @@ #define CONFIG_SYS_QE_FMAN_FW_IN_NOR #define CONFIG_SYS_FMAN_FW_ADDR 0x60900000 #endif +#endif #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000 #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH) #endif diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h index ffca410b1a..cc1f5f5f55 100644 --- a/include/configs/ls1046ardb.h +++ b/include/configs/ls1046ardb.h @@ -160,6 +160,13 @@ #define CONFIG_ENV_OVERWRITE #endif +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_MMC_ENV_DEV 0 + +#define CONFIG_ENV_SIZE 0x2000 /* 8KB */ +#define CONFIG_ENV_OFFSET 0x500000 /* 5MB */ +#define CONFIG_ENV_SECT_SIZE 0x40000 /* 256KB */ +#else #if defined(CONFIG_SD_BOOT) #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_ENV_OFFSET (3 * 1024 * 1024) @@ -169,6 +176,7 @@ #define CONFIG_ENV_OFFSET 0x300000 /* 3MB */ #define CONFIG_ENV_SECT_SIZE 0x40000 /* 256KB */ #endif +#endif #define AQR105_IRQ_MASK 0x80000000 /* FMan */ @@ -208,6 +216,12 @@ #ifndef SPL_NO_MISC #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \ + "env exists secureboot && esbc_halt;;" +#define SD_BOOTCOMMAND "run distro_bootcmd;run sd_bootcmd; " \ + "env exists secureboot && esbc_halt;" +#else #if defined(CONFIG_QSPI_BOOT) #define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \ "env exists secureboot && esbc_halt;;" @@ -216,6 +230,7 @@ "env exists secureboot && esbc_halt;" #endif #endif +#endif #include From patchwork Sat Oct 27 13:16:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989890 X-Patchwork-Delegate: yorksun@freescale.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="h7AWZnxX"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1pq5X5rz9s7h for ; Sun, 28 Oct 2018 00:26:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 75CB2C21C50; Sat, 27 Oct 2018 13:21:42 +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=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 2B867C21DDC; Sat, 27 Oct 2018 13:16:48 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B990DC21E18; Sat, 27 Oct 2018 13:16:20 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00060.outbound.protection.outlook.com [40.107.0.60]) by lists.denx.de (Postfix) with ESMTPS id A6796C21D9A for ; Sat, 27 Oct 2018 13:16:16 +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=TmsFzVGDimt81NTw7RRWEYOfjtVjiUOAr86Nj0dcraU=; b=h7AWZnxX0MANG74D082dsAqrdSyc6VUUgYjV12iLZCqy1FOY3Obw8Osbx8aXVarlbfIwigbDXxBfAL1v24FaNXeLd6t0t3QVeN6ixQ/UyaM+/I1YVRBGr7vNrePEI3ELIxqCd4D7hHZLCDE7H8kJHV/6TisssYWZjJlL/6WpVxQ= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:15 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:15 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 21/27] armv8: ls1046aqds: Add TFABOOT support Thread-Index: AQHUbfc9VzDmvKQcmkW5BtPUqe+v4g== Date: Sat, 27 Oct 2018 13:16:15 +0000 Message-ID: <20181027131428.5246-22-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:9nHHGbYmfew1jTQSwKcbybokyal3N5PFbQIiJEWaZP1sWRFa7uMwcTLqs7dlRbPY0hYfxwdWkyxjuy5QUAtaH73zE6KDmfqCHz2TiIW9AfVGNDYp9AaIMia6gls4CCCEabBdcePDpVRkqxT31HH2h2VZ2Hdx2v38UeKgI0WoSaKf3UIV/2hiOXYF2QbHE7ifDxBB8XzTePisK8fEc8hXdDPUIAp4DOnTDb3c1W1nZaA5p3UQgaLYR+4B4wfaCJLU+atoF/IoKCgw5cqDLC85HENkfrKGxRJkP+3jr1owJDD7jduHMAJABmKD+Ym7ZPrQimrosbDrCQhdfxrmxuu/7om/0/xHJO/SZTNo7sLk99KrH+5I4wqbUrMkjGMbbinJRJ5+j4RFc60f+iZ0tf7StHCECVhzZxvLJS90UBKjP3Y/fTcmsRER9YOLG04P2lIR9Givut42JBXauEcsyre9ow==; 5:1f7aghGiBHbADuTKLgBOzmZvymWgOlU2AC5AhTyN41wHCBJaYcLh6S1jiGZ2xDaC5nLuGMe5cNnFbagBsT4zfEXNYbICvwud7MZd6ehyDU3BOWswy4Jz0s3KsmyfIAkBd2NkhjG2brj3xABONtRmPknImM5vrU3mMJQYvsJvAxA=; 7:sSa/XG8c7HUPgEbGhV08L4JVcffY9+mXoTGMbzG4L+A3PmJW6GZ3s5TbQ8AW9RDueZ/0LFpL9IhC7/2xtR4UXG36MAnwhthV45VlHkxw4OEfuyTDz6zloqxiyTppkOXrZezqWnzVMllLYV8lIeMsEw== x-ms-office365-filtering-correlation-id: ed5f8d9c-f164-4e48-0454-08d63c0e5f77 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(4744004)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53946003)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: KFBykJOYFtaBJB7xIPqXk7p+LO2Z83Dx8OnRZ2N6DHzTGpPiFbSHY+bLN/tnnKXAhd6NqnRsWH9QcyzzcOayzwOoB4TjqTVYXXpMcXZ8xTgpKyecjUkuRSg6TaesYX1chuYvg3H3vWKoiOo69UuTskuAZXs6Iqbe71fTFjNd38tkW/hfDZZKz0R0boWsBwZLB0cnSrD2i92ssL6f2vPFvwlPCqg9Oc0z+JuwoOJyJX4VfuGIZFLWfqVzLUAH4kSfnX9cXfRJl6yDuZfSIs4VlolLrAvNm41Fg3z54swDsOyxa+xhN0sW9pDa2EeyF9ta7HMG+yv3bifmrz8nSby0Aas01V5yi0M9xvzPUkGaULA= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed5f8d9c-f164-4e48-0454-08d63c0e5f77 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:15.2723 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 21/27] armv8: ls1046aqds: Add TFABOOT 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" TFABOOT support includes: - ls1046aqds_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - FMAN address changes for TFABOOT - define BOOTCOMMAND for TFABOOT Signed-off-by: Pankit Garg Signed-off-by: Vinitha V Pillai Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: - Added ls1046aqds_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1046aqds TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1046aqds/MAINTAINERS | 2 + board/freescale/ls1046aqds/ddr.c | 11 ++ board/freescale/ls1046aqds/ls1046aqds.c | 148 ++++++++++++++++++- configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 58 ++++++++ configs/ls1046aqds_tfa_defconfig | 57 +++++++ include/configs/ls1046aqds.h | 59 +++++++- 6 files changed, 332 insertions(+), 3 deletions(-) create mode 100644 configs/ls1046aqds_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1046aqds_tfa_defconfig diff --git a/board/freescale/ls1046aqds/MAINTAINERS b/board/freescale/ls1046aqds/MAINTAINERS index 76190c6383..22c3926539 100644 --- a/board/freescale/ls1046aqds/MAINTAINERS +++ b/board/freescale/ls1046aqds/MAINTAINERS @@ -1,5 +1,6 @@ LS1046AQDS BOARD M: Mingkai Hu +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1046aqds/ F: include/configs/ls1046aqds.h @@ -9,6 +10,7 @@ F: configs/ls1046aqds_sdcard_ifc_defconfig F: configs/ls1046aqds_sdcard_qspi_defconfig F: configs/ls1046aqds_qspi_defconfig F: configs/ls1046aqds_lpuart_defconfig +F: configs/ls1046aqds_tfa_defconfig M: Sumit Garg S: Maintained diff --git a/board/freescale/ls1046aqds/ddr.c b/board/freescale/ls1046aqds/ddr.c index 08f7610e69..45b1f373a7 100644 --- a/board/freescale/ls1046aqds/ddr.c +++ b/board/freescale/ls1046aqds/ddr.c @@ -92,6 +92,16 @@ found: popts->cpo_sample = 0x70; } +#ifdef CONFIG_TFABOOT +int fsl_initdram(void) +{ + gd->ram_size = tfa_get_dram_size(); + if (!gd->ram_size) + gd->ram_size = fsl_ddr_sdram_size(); + + return 0; +} +#else int fsl_initdram(void) { phys_size_t dram_size; @@ -116,3 +126,4 @@ int fsl_initdram(void) return 0; } +#endif diff --git a/board/freescale/ls1046aqds/ls1046aqds.c b/board/freescale/ls1046aqds/ls1046aqds.c index 0da82381af..b71c1746bb 100644 --- a/board/freescale/ls1046aqds/ls1046aqds.c +++ b/board/freescale/ls1046aqds/ls1046aqds.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -32,12 +33,140 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_TFABOOT +struct ifc_regs ifc_cfg_nor_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nor0", + CONFIG_SYS_NOR0_CSPR, + CONFIG_SYS_NOR0_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + + }, + { + "nor1", + CONFIG_SYS_NOR1_CSPR, + CONFIG_SYS_NOR1_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "fpga", + CONFIG_SYS_FPGA_CSPR, + CONFIG_SYS_FPGA_CSPR_EXT, + CONFIG_SYS_FPGA_AMASK, + CONFIG_SYS_FPGA_CSOR, + { + CONFIG_SYS_FPGA_FTIM0, + CONFIG_SYS_FPGA_FTIM1, + CONFIG_SYS_FPGA_FTIM2, + CONFIG_SYS_FPGA_FTIM3 + }, + } +}; + +struct ifc_regs ifc_cfg_nand_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "nor0", + CONFIG_SYS_NOR0_CSPR, + CONFIG_SYS_NOR0_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "nor1", + CONFIG_SYS_NOR1_CSPR, + CONFIG_SYS_NOR1_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "fpga", + CONFIG_SYS_FPGA_CSPR, + CONFIG_SYS_FPGA_CSPR_EXT, + CONFIG_SYS_FPGA_AMASK, + CONFIG_SYS_FPGA_CSOR, + { + CONFIG_SYS_FPGA_FTIM0, + CONFIG_SYS_FPGA_FTIM1, + CONFIG_SYS_FPGA_FTIM2, + CONFIG_SYS_FPGA_FTIM3 + }, + } +}; + +void ifc_cfg_boot_info(struct ifc_regs_info *regs_info) +{ + enum boot_src src = get_boot_src(); + + if (src == BOOT_SOURCE_IFC_NAND) + regs_info->regs = ifc_cfg_nand_boot; + else + regs_info->regs = ifc_cfg_nor_boot; + regs_info->cs_size = CONFIG_SYS_FSL_IFC_BANK_COUNT; +} + +#endif + enum { MUX_TYPE_GPIO, }; int checkboard(void) { +#ifdef CONFIG_TFABOOT + enum boot_src src = get_boot_src(); +#endif char buf[64]; #ifndef CONFIG_SD_BOOT u8 sw; @@ -45,6 +174,12 @@ int checkboard(void) puts("Board: LS1046AQDS, boot from "); +#ifdef CONFIG_TFABOOT + if (src == BOOT_SOURCE_SD_MMC) + puts("SD\n"); + else { +#endif + #ifdef CONFIG_SD_BOOT puts("SD\n"); #else @@ -63,6 +198,9 @@ int checkboard(void) printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH); #endif +#ifdef CONFIG_TFABOOT + } +#endif printf("Sys ID: 0x%02x, Sys Ver: 0x%02x\n", QIXIS_READ(id), QIXIS_READ(arch)); @@ -153,7 +291,8 @@ int dram_init(void) */ select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT); fsl_initdram(); -#if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) +#if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \ + defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ update_early_mmu_table(); #endif @@ -342,3 +481,10 @@ u16 flash_read16(void *addr) return (((val) >> 8) & 0x00ff) | (((val) << 8) & 0xff00); } + +#ifdef CONFIG_TFABOOT +void *env_sf_get_env_addr(void) +{ + return (void *)(CONFIG_SYS_FSL_QSPI_BASE + CONFIG_ENV_OFFSET); +} +#endif diff --git a/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..1a20d0becf --- /dev/null +++ b/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,58 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1046AQDS=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SECURE_BOOT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1046a-qds-duart" +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_TFABOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:4m(nand_uboot),36m(nand_kernel),472m(nand_free);spi0.0:2m(uboot),14m(free)" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMINFO=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:4m(nand_uboot),36m(nand_kernel),472m(nand_free);spi0.0:2m(uboot),14m(free)" +CONFIG_OF_CONTROL=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_DM=y +CONFIG_FSL_ESDHC=y +CONFIG_FSL_CAAM=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +CONFIG_PHYLIB=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_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=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 diff --git a/configs/ls1046aqds_tfa_defconfig b/configs/ls1046aqds_tfa_defconfig new file mode 100644 index 0000000000..c91bb76edf --- /dev/null +++ b/configs/ls1046aqds_tfa_defconfig @@ -0,0 +1,57 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1046AQDS=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:4m(nand_uboot),36m(nand_kernel),472m(nand_free);spi0.0:2m(uboot),14m(free)" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMINFO=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:4m(nand_uboot),36m(nand_kernel),472m(nand_free);spi0.0:2m(uboot),14m(free)" +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1046a-qds-duart" +CONFIG_ENV_IS_IN_FLASH=y +CONFIG_ENV_IS_IN_NAND=y +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_FSL_ESDHC=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHYLIB=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_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=y +CONFIG_FSL_QSPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y diff --git a/include/configs/ls1046aqds.h b/include/configs/ls1046aqds.h index 8edaf190d0..6f292a0af9 100644 --- a/include/configs/ls1046aqds.h +++ b/include/configs/ls1046aqds.h @@ -50,7 +50,8 @@ unsigned long get_board_ddr_clk(void); #endif /* QSPI */ -#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) +#if defined(CONFIG_TFABOOT) || \ + defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #ifdef CONFIG_FSL_QSPI #define CONFIG_SPI_FLASH_SPANSION #define FSL_QSPI_FLASH_SIZE (1 << 24) @@ -230,7 +231,8 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_NAND_U_BOOT_SIZE (768 << 10) #endif -#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) +#if defined(CONFIG_TFABOOT) || \ + defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_QIXIS_I2C_ACCESS #define CONFIG_SYS_I2C_EARLY_INIT #endif @@ -285,6 +287,40 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_FPGA_FTIM3 0x0 #endif +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT +#define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR +#define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK +#define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR +#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 +#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 +#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 +#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 +#define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT +#define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR +#define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK +#define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR +#define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 +#define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 +#define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 +#define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 +#define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT +#define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR +#define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK +#define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR +#define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 +#define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 +#define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 +#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 +#define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT +#define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR +#define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK +#define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR +#define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 +#define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 +#define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 +#define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 +#else #ifdef CONFIG_NAND_BOOT #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR @@ -352,6 +388,7 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 #endif +#endif /* * I2C bus multiplexer @@ -402,6 +439,14 @@ unsigned long get_board_ddr_clk(void); */ #define CONFIG_ENV_OVERWRITE +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_MMC_ENV_DEV 0 + +#define CONFIG_ENV_SIZE 0x2000 +#define CONFIG_ENV_OFFSET 0x500000 /* 5MB */ +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x500000) +#define CONFIG_ENV_SECT_SIZE 0x20000 +#else #ifdef CONFIG_NAND_BOOT #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_ENV_OFFSET (12 * CONFIG_SYS_NAND_BLOCK_SIZE) @@ -418,10 +463,19 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_ENV_SECT_SIZE 0x20000 #define CONFIG_ENV_SIZE 0x20000 #endif +#endif #define CONFIG_CMDLINE_TAG #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#define QSPI_NOR_BOOTCOMMAND "sf probe && sf read $kernel_load " \ + "e0000 f00000 && bootm $kernel_load" +#define IFC_NOR_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \ + "$kernel_size && bootm $kernel_load" +#define SD_BOOTCOMMAND "mmc info; mmc read $kernel_load" \ + "$kernel_addr_sd $kernel_size_sd && bootm $kernel_load" +#else #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_BOOTCOMMAND "sf probe && sf read $kernel_load " \ "e0000 f00000 && bootm $kernel_load" @@ -429,6 +483,7 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \ "$kernel_size && bootm $kernel_load" #endif +#endif #include From patchwork Sat Oct 27 13:16:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989902 X-Patchwork-Delegate: yorksun@freescale.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="bRRfWMBs"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1xY4zKfz9s7h for ; Sun, 28 Oct 2018 00:32:17 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 5C305C21D83; Sat, 27 Oct 2018 13:22:16 +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=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 8D503C21E8A; Sat, 27 Oct 2018 13:17:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 25956C21E1E; Sat, 27 Oct 2018 13:16:28 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00066.outbound.protection.outlook.com [40.107.0.66]) by lists.denx.de (Postfix) with ESMTPS id DA908C21E7E for ; Sat, 27 Oct 2018 13:16:24 +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=2mhnYJRlXio5O/ijrUawhjSFInE8bkw6nmzFpAaU/fY=; b=bRRfWMBsKz/LSW3EKl4V/5eIGpJ3CZLj61DIut0uGSpG5UQAKgrm+Jcjq32965fmjSW7Lji5WjdsSqSe5ZKd+NxYld6ynngUO44smo+3hEVz8o53+EKjh/HzoGwHVTqyFx2blifYa0ihyfZuBtBMabgHrkOgQ/Vw+dubLS1/auU= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:23 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:23 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 22/27] armv8: ls1043ardb: Add TFABOOT support Thread-Index: AQHUbfdCCWjw6obKT0CHWVCOrzx9jg== Date: Sat, 27 Oct 2018 13:16:23 +0000 Message-ID: <20181027131428.5246-23-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:83zWdRgMqevTSdbwsBoMtSch9yv+84lkIUXRlNEOSqTDtqFltAxaMX108rsZieOv0TEzPAmXKDPU+7XyBYCY8ZgIAYnuDLhy45CMZanqj96VjssFvGswHuPpsAPmrTkysJMEL7uJh290AyLFxc31nN8k5RO1jfxYZAMWXLq6D+9LQ/o9nCI2v7PmjnkzNI6Ex/blUJjazXRCNp1oCTwgVyByBy97vPkZTRV90DTywZgq/ZL2Y7MOzW4o1k1SHYCNxyALrdqVTt/BU9Zb8+R1RCyGcOw0gywOKk23mSj5+TYEiEodtQTG7stnJ0nf8CvbYgaf8An1PNdLyTB49wY1My2YrHYPh44Yycd38olqBpNJt0KwfgztBf5kIKVD/cY+vhbx+paSp1g9Ts1B7yf0BqnYfNtDIZCyw1rsel8IrjuS93pStsBH3sIZnhba3Rz2HckBFf1FEvABIrjkyDwgQA==; 5:4rRrbeUYC/8DpTo58jQJTOJv0Cw6Utu5oyW8ere06gjGfzmud4tn0LujBlnr4z++iGFkDYp6dRKcoXAfypARfDXUEOIP3uNEk9G02ewFdQuGlPoJQuLUS1GIVvI5E6iaG5b4nT4KeJ5FMlrBE+DPdTYasXF1VQZPLQwkuIeS++A=; 7:UaG96JeGANvoQ+6lX+kU0D6uJGFjVG2qc6VFHxmxtelCHTMYnVDPlQd2lMaqH1XUaLrdVui5zYFaS8S7DOAfOphINoZA5RGwOIjqCUC5YXUHbDEctkcnIpd6bVFnMQalK4FvHgPdf2w9TDDzcGoXtQ== x-ms-office365-filtering-correlation-id: 596b1b8c-9f3a-495f-4f31-08d63c0e61a7 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(4744004)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: jgLWzHFqjet4oUIXm7Qfy/CoO+afvkIefrfrzkvENPWlu1z8gXNNjPxscJs3AqdsjJWAFThsKqZT7fFDiTi2nSwCRRlXbtRzxZjR/8/bgDCC36upGnbHTKE33g+BIi79CBB4Dt1OrHWyIn4y6wvahvi18Kg1+HuIL36e8WdFsIU9xy3nk2oMzSzfcECMkvbAjHeSjfPg4sgqqSKewf2uwubNxpyjdcNZFs9APo251xyg9xk7Bmjizp0t9gm2xp9uxtHj8Z7Og0/ACmnoc2r+1C5k9vJ5kjWgSw9JSftG49BwKwSt9dZZye4uN/TzXZyT3TPxaH57aV6yzUTiIkKuwp/p7P+wTPm7Qi0aymT1sLc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 596b1b8c-9f3a-495f-4f31-08d63c0e61a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:23.5224 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 22/27] armv8: ls1043ardb: Add TFABOOT 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" TFABOOT support includes: - ls1043ardb_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - FMAN and QE address changes for TFABOOT - define BOOTCOMMAND for TFABOOT Signed-off-by: Pankit Garg Signed-off-by: Vinitha V Pillai Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: - Added ls1046ardb_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1046ardb TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1043ardb/MAINTAINERS | 2 + board/freescale/ls1043ardb/ddr.c | 14 +++ board/freescale/ls1043ardb/ls1043ardb.c | 110 +++++++++++++++++++ configs/ls1043ardb_tfa_SECURE_BOOT_defconfig | 51 +++++++++ configs/ls1043ardb_tfa_defconfig | 49 +++++++++ include/configs/ls1043a_common.h | 27 ++++- include/configs/ls1043ardb.h | 29 +++++ 7 files changed, 281 insertions(+), 1 deletion(-) create mode 100644 configs/ls1043ardb_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1043ardb_tfa_defconfig diff --git a/board/freescale/ls1043ardb/MAINTAINERS b/board/freescale/ls1043ardb/MAINTAINERS index 88fe42e1e8..3f64a6fc02 100644 --- a/board/freescale/ls1043ardb/MAINTAINERS +++ b/board/freescale/ls1043ardb/MAINTAINERS @@ -1,5 +1,6 @@ LS1043A BOARD M: Mingkai Hu +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1043ardb/ F: board/freescale/ls1043ardb/ls1043ardb.c @@ -7,6 +8,7 @@ F: include/configs/ls1043ardb.h F: configs/ls1043ardb_defconfig F: configs/ls1043ardb_nand_defconfig F: configs/ls1043ardb_sdcard_defconfig +F: configs/ls1043ardb_tfa_defconfig LS1043A_SECURE_BOOT BOARD M: Ruchika Gupta diff --git a/board/freescale/ls1043ardb/ddr.c b/board/freescale/ls1043ardb/ddr.c index 7bc0f568ff..784e482f32 100644 --- a/board/freescale/ls1043ardb/ddr.c +++ b/board/freescale/ls1043ardb/ddr.c @@ -205,6 +205,19 @@ phys_size_t fixed_sdram(void) } #endif +#ifdef CONFIG_TFABOOT +int fsl_initdram(void) +{ + gd->ram_size = tfa_get_dram_size(); + if (!gd->ram_size) +#ifdef CONFIG_SYS_DDR_RAW_TIMING + gd->ram_size = fsl_ddr_sdram_size(); +#else + gd->ram_size = 0x80000000; +#endif + return 0; +} +#else int fsl_initdram(void) { phys_size_t dram_size; @@ -236,3 +249,4 @@ int fsl_initdram(void) return 0; } +#endif diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c index f31f0ec515..fbd9a2691b 100644 --- a/board/freescale/ls1043ardb/ls1043ardb.c +++ b/board/freescale/ls1043ardb/ls1043ardb.c @@ -27,6 +27,104 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_TFABOOT +struct ifc_regs ifc_cfg_nor_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nor", + CONFIG_SYS_NOR_CSPR, + CONFIG_SYS_NOR_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + + }, + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "cpld", + CONFIG_SYS_CPLD_CSPR, + CONFIG_SYS_CPLD_CSPR_EXT, + CONFIG_SYS_CPLD_AMASK, + CONFIG_SYS_CPLD_CSOR, + { + CONFIG_SYS_CPLD_FTIM0, + CONFIG_SYS_CPLD_FTIM1, + CONFIG_SYS_CPLD_FTIM2, + CONFIG_SYS_CPLD_FTIM3 + }, + } +}; + +struct ifc_regs ifc_cfg_nand_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "nor", + CONFIG_SYS_NOR_CSPR, + CONFIG_SYS_NOR_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "cpld", + CONFIG_SYS_CPLD_CSPR, + CONFIG_SYS_CPLD_CSPR_EXT, + CONFIG_SYS_CPLD_AMASK, + CONFIG_SYS_CPLD_CSOR, + { + CONFIG_SYS_CPLD_FTIM0, + CONFIG_SYS_CPLD_FTIM1, + CONFIG_SYS_CPLD_FTIM2, + CONFIG_SYS_CPLD_FTIM3 + }, + } +}; + +void ifc_cfg_boot_info(struct ifc_regs_info *regs_info) +{ + enum boot_src src = get_boot_src(); + + if (src == BOOT_SOURCE_IFC_NAND) + regs_info->regs = ifc_cfg_nand_boot; + else + regs_info->regs = ifc_cfg_nor_boot; + regs_info->cs_size = CONFIG_SYS_FSL_IFC_BANK_COUNT; +} + +#endif int board_early_init_f(void) { fsl_lsch2_early_init_f(); @@ -38,6 +136,9 @@ int board_early_init_f(void) int checkboard(void) { +#ifdef CONFIG_TFABOOT + enum boot_src src = get_boot_src(); +#endif static const char *freq[2] = {"100.00MHZ", "156.25MHZ"}; #ifndef CONFIG_SD_BOOT u8 cfg_rcw_src1, cfg_rcw_src2; @@ -47,6 +148,12 @@ int checkboard(void) printf("Board: LS1043ARDB, boot from "); +#ifdef CONFIG_TFABOOT + if (src == BOOT_SOURCE_SD_MMC) + puts("SD\n"); + else { +#endif + #ifdef CONFIG_SD_BOOT puts("SD\n"); #else @@ -64,6 +171,9 @@ int checkboard(void) printf("Invalid setting of SW4\n"); #endif +#ifdef CONFIG_TFABOOT + } +#endif printf("CPLD: V%x.%x\nPCBA: V%x.0\n", CPLD_READ(cpld_ver), CPLD_READ(cpld_ver_sub), CPLD_READ(pcba_ver)); diff --git a/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..71adda87f1 --- /dev/null +++ b/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,51 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1043ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-rdb" +CONFIG_SECURE_BOOT=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_TFABOOT=y +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_MISC_INIT_R=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_FSL_ESDHC=y +CONFIG_FSL_CAAM=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +CONFIG_PHYLIB=y +CONFIG_NETDEVICES=y +CONFIG_PHY_GIGE=y +CONFIG_E1000=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=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_RSA_SOFTWARE_EXP=y diff --git a/configs/ls1043ardb_tfa_defconfig b/configs/ls1043ardb_tfa_defconfig new file mode 100644 index 0000000000..a15cb524d3 --- /dev/null +++ b/configs/ls1043ardb_tfa_defconfig @@ -0,0 +1,49 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1043ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_MISC_INIT_R=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-rdb" +CONFIG_ENV_IS_IN_FLASH=y +CONFIG_ENV_IS_IN_NAND=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_FSL_ESDHC=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHYLIB=y +CONFIG_PHY_GIGE=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_SPI=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 diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h index 656d10dffb..7875bf4bba 100644 --- a/include/configs/ls1043a_common.h +++ b/include/configs/ls1043a_common.h @@ -33,7 +33,11 @@ #include /* Link Definitions */ +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE +#else #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0) +#endif #define CONFIG_SKIP_LOWLEVEL_INIT @@ -119,7 +123,8 @@ /* IFC */ #ifndef SPL_NO_IFC -#if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) +#if defined(CONFIG_TFABOOT) || \ + (!defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)) #define CONFIG_FSL_IFC /* * CONFIG_SYS_FLASH_BASE has the final address (core view) @@ -185,6 +190,16 @@ #ifdef CONFIG_SYS_DPAA_FMAN #define CONFIG_SYS_FM_MURAM_SIZE 0x60000 +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_FMAN_FW_ADDR 0x900000 +#define CONFIG_SYS_QE_FW_ADDR 0x940000 + +#define CONFIG_ENV_SPI_BUS 0 +#define CONFIG_ENV_SPI_CS 0 +#define CONFIG_ENV_SPI_MAX_HZ 1000000 +#define CONFIG_ENV_SPI_MODE 0x03 + +#else #ifdef CONFIG_NAND_BOOT /* Store Fman ucode at offeset 0x900000(72 blocks). */ #define CONFIG_SYS_QE_FMAN_FW_IN_NAND @@ -211,6 +226,7 @@ #define CONFIG_SYS_FMAN_FW_ADDR 0x60900000 #define CONFIG_SYS_QE_FW_ADDR 0x60940000 #endif +#endif #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000 #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH) #endif @@ -303,6 +319,14 @@ #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \ + "env exists secureboot && esbc_halt;" +#define SD_BOOTCOMMAND "run distro_bootcmd; run sd_bootcmd; " \ + "env exists secureboot && esbc_halt;" +#define IFC_NOR_BOOTCOMMAND "run distro_bootcmd; run nor_bootcmd; " \ + "env exists secureboot && esbc_halt;" +#else #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \ "env exists secureboot && esbc_halt;" @@ -314,6 +338,7 @@ "env exists secureboot && esbc_halt;" #endif #endif +#endif /* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h index ffd92dbb43..fe73e8b219 100644 --- a/include/configs/ls1043ardb.h +++ b/include/configs/ls1043ardb.h @@ -162,6 +162,25 @@ #define CONFIG_SYS_CPLD_FTIM3 0x0 /* IFC Timing Params */ +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR_CSPR_EXT +#define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR_CSPR +#define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK +#define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR +#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 +#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 +#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 +#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 + +#define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NAND_CSPR_EXT +#define CONFIG_SYS_CSPR1 CONFIG_SYS_NAND_CSPR +#define CONFIG_SYS_AMASK1 CONFIG_SYS_NAND_AMASK +#define CONFIG_SYS_CSOR1 CONFIG_SYS_NAND_CSOR +#define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NAND_FTIM0 +#define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NAND_FTIM1 +#define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NAND_FTIM2 +#define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NAND_FTIM3 +#else #ifdef CONFIG_NAND_BOOT #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR @@ -199,6 +218,7 @@ #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NAND_FTIM2 #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NAND_FTIM3 #endif +#endif #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_CPLD_CSPR_EXT #define CONFIG_SYS_CSPR2 CONFIG_SYS_CPLD_CSPR @@ -227,6 +247,14 @@ #define CONFIG_ENV_OVERWRITE #endif +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_MMC_ENV_DEV 0 + +#define CONFIG_ENV_SIZE 0x2000 +#define CONFIG_ENV_OFFSET 0x500000 +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x500000) +#define CONFIG_ENV_SECT_SIZE 0x20000 +#else #if defined(CONFIG_NAND_BOOT) #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_ENV_OFFSET (24 * CONFIG_SYS_NAND_BLOCK_SIZE) @@ -239,6 +267,7 @@ #define CONFIG_ENV_SECT_SIZE 0x20000 #define CONFIG_ENV_SIZE 0x20000 #endif +#endif /* FMan */ #ifndef SPL_NO_FMAN From patchwork Sat Oct 27 13:16:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989907 X-Patchwork-Delegate: yorksun@freescale.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="C/1gf45l"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1z65GLdz9s7h for ; Sun, 28 Oct 2018 00:33:38 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 69813C21DFB; Sat, 27 Oct 2018 13:24:28 +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=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 69F7BC21EAE; Sat, 27 Oct 2018 13:18:34 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 40E96C21EBA; Sat, 27 Oct 2018 13:16:36 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00084.outbound.protection.outlook.com [40.107.0.84]) by lists.denx.de (Postfix) with ESMTPS id 9939CC21E56 for ; Sat, 27 Oct 2018 13:16:31 +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=KHalWt764acGtxIQnjPjDL+9w5FyOOGPQwiL36SZgbo=; b=C/1gf45ldtz5SO8uEkxFmB2Nlx6nmzZ3m96tiX/mOFdkswxp6TmP8BlxZveEPJEdsi8aweRdcZHYeggWZRt7tuZMOqJl0tHCu7GsB7CuxWvwbpZY4WCL/T8lHFzrdHtpuFy8UXCExqJbPF+10OkgIJpjn0joU/UkZTb0PtQ0Vt0= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:30 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:30 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 23/27] armv8: ls1043aqds: Add TFABOOT support Thread-Index: AQHUbfdGmoX0+cEwtEuOMfTGoLEk5Q== Date: Sat, 27 Oct 2018 13:16:30 +0000 Message-ID: <20181027131428.5246-24-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:V1nI3NF1b/WhULLoGk88+8zHs2ch6nRoxi40V48Y1Taf/FXo0sA+IEXKuG3z1zwG9ALykkGexIL4eAxF6uGbNSUtWhA3nC6RORb6llZFzJqhHvZsNApgq5H/Yk7v8YGk2/r63m/db/VoMCdGthHnNlSiwzf40FjGrQdDt2HXnHmCiTQ0161iHZnFAn9niCGUsiGZ9Ecre+oYzcVATKdn2hiRQWuYoWB3Psu6d+15/yvUdtv4im2yTNrwM8VArPeAgI+2XwgWhU97kUog1hCFvcgQ3M5wHPHv3GnAWSkva34EGismJ99Y/VWgWasP6TnouS0RiD0m09TyByrM55gZj5rOSb5KNH3EutY2urH0pq6pYQ+oDftlNtf/JPexg9qHR8vEAlWqP+0oRrOq3WKY3C6SJiW2fSoiU+Q9o0uLZZ8pbID1YehKSBZidFIi0eF6l/XSv4A8oz0NACVUmjdcGQ==; 5:2OIelexSFrUHLTVpK/KTR3RmkHX4XuY8lc79AR1/RymCU9M1VjfBj6Tzfcf3h4t8NYr6m3DQq0PN5gfbefchpBmRv3D5K0qso6GLHZXgazYVCwImp7rPa7pdAM+nRc1u90y2ZRectbW539IkvaE1amEfI2QL2bUBnZ63mTiOyHk=; 7:xP5EYFrZns0Xmk3ZKF51T3l8k7XnLfkyXMxfMlYaIfLKeWjgk2cbvcY1Er3sHcYj4ait0OgpdeW8DRuZEVWfG/zBlfbCxjh9Hgr9i5b5Rve0L8SA5+kbGoksLQGoBewJXOSYm3C/En/Pj340oFFyWA== x-ms-office365-filtering-correlation-id: d5745c28-2ebb-4eb4-2f1a-08d63c0e6673 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(4744004)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 4zWg5XSLRRJ4wp8ZYFBzPnHLbvbSdofpz5OUsf4jALKKc+W2Bp856OV1dxHbBsUO3pR7gLuRV/34qau409QbaSs+eu4XyZJjcnuBp7LjzPUcPOBHTA53FF02Ob1c0H6SHBum0higzmF95op0TORRMNxnuCtLMryBArdaYrOdhHFYVDakTaILW8TqsielzP6QaqGNFEl4dsT7GjoBPHV2CvA4QqAx8znO+pDUXmRyhKZi3JAdndmMDkm+GeLevDY+eGycJiOF6IkPFrwGvwRpT73ud7spQL/bezF+DcBKfFZts0eal7A/fdaPl4xHoNyOFTgpXH1DgHRaO9vwgWLJDV+NjZHZKlMWArBL/gZHRd0= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5745c28-2ebb-4eb4-2f1a-08d63c0e6673 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:30.3037 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 23/27] armv8: ls1043aqds: Add TFABOOT 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" TFABOOT support includes: - ls1043aqds_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - define BOOTCOMMAND for TFABOOT Signed-off-by: Pankit Garg Signed-off-by: Vinitha V Pillai Signed-off-by: Rajesh Bhagat --- Change in v5: None Change in v4: None Change in v3: - Added ls1043aqds_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1043aqds TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1043aqds/MAINTAINERS | 2 + board/freescale/ls1043aqds/ddr.c | 11 ++ board/freescale/ls1043aqds/ls1043aqds.c | 147 ++++++++++++++++++- configs/ls1043aqds_tfa_SECURE_BOOT_defconfig | 58 ++++++++ configs/ls1043aqds_tfa_defconfig | 54 +++++++ include/configs/ls1043aqds.h | 50 ++++++- 6 files changed, 319 insertions(+), 3 deletions(-) create mode 100644 configs/ls1043aqds_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1043aqds_tfa_defconfig diff --git a/board/freescale/ls1043aqds/MAINTAINERS b/board/freescale/ls1043aqds/MAINTAINERS index 3c8e8c24f7..d10eb56d28 100644 --- a/board/freescale/ls1043aqds/MAINTAINERS +++ b/board/freescale/ls1043aqds/MAINTAINERS @@ -1,5 +1,6 @@ LS1043AQDS BOARD M: Mingkai Hu +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1043aqds/ F: include/configs/ls1043aqds.h @@ -10,3 +11,4 @@ F: configs/ls1043aqds_sdcard_ifc_defconfig F: configs/ls1043aqds_sdcard_qspi_defconfig F: configs/ls1043aqds_qspi_defconfig F: configs/ls1043aqds_lpuart_defconfig +F: configs/ls1043aqds_tfa_defconfig diff --git a/board/freescale/ls1043aqds/ddr.c b/board/freescale/ls1043aqds/ddr.c index efc441a917..d29a3ad797 100644 --- a/board/freescale/ls1043aqds/ddr.c +++ b/board/freescale/ls1043aqds/ddr.c @@ -108,6 +108,16 @@ found: #endif } +#ifdef CONFIG_TFABOOT +int fsl_initdram(void) +{ + gd->ram_size = tfa_get_dram_size(); + if (!gd->ram_size) + gd->ram_size = fsl_ddr_sdram_size(); + + return 0; +} +#else int fsl_initdram(void) { phys_size_t dram_size; @@ -131,3 +141,4 @@ int fsl_initdram(void) return 0; } +#endif diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index 44cc509b53..45f006dab7 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -46,8 +47,135 @@ enum { #define CFG_UART_MUX_SHIFT 1 #define CFG_LPUART_EN 0x1 +#ifdef CONFIG_TFABOOT +struct ifc_regs ifc_cfg_nor_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nor0", + CONFIG_SYS_NOR0_CSPR, + CONFIG_SYS_NOR0_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + + }, + { + "nor1", + CONFIG_SYS_NOR1_CSPR, + CONFIG_SYS_NOR1_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "fpga", + CONFIG_SYS_FPGA_CSPR, + CONFIG_SYS_FPGA_CSPR_EXT, + CONFIG_SYS_FPGA_AMASK, + CONFIG_SYS_FPGA_CSOR, + { + CONFIG_SYS_FPGA_FTIM0, + CONFIG_SYS_FPGA_FTIM1, + CONFIG_SYS_FPGA_FTIM2, + CONFIG_SYS_FPGA_FTIM3 + }, + } +}; + +struct ifc_regs ifc_cfg_nand_boot[CONFIG_SYS_FSL_IFC_BANK_COUNT] = { + { + "nand", + CONFIG_SYS_NAND_CSPR, + CONFIG_SYS_NAND_CSPR_EXT, + CONFIG_SYS_NAND_AMASK, + CONFIG_SYS_NAND_CSOR, + { + CONFIG_SYS_NAND_FTIM0, + CONFIG_SYS_NAND_FTIM1, + CONFIG_SYS_NAND_FTIM2, + CONFIG_SYS_NAND_FTIM3 + }, + }, + { + "nor0", + CONFIG_SYS_NOR0_CSPR, + CONFIG_SYS_NOR0_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "nor1", + CONFIG_SYS_NOR1_CSPR, + CONFIG_SYS_NOR1_CSPR_EXT, + CONFIG_SYS_NOR_AMASK, + CONFIG_SYS_NOR_CSOR, + { + CONFIG_SYS_NOR_FTIM0, + CONFIG_SYS_NOR_FTIM1, + CONFIG_SYS_NOR_FTIM2, + CONFIG_SYS_NOR_FTIM3 + }, + }, + { + "fpga", + CONFIG_SYS_FPGA_CSPR, + CONFIG_SYS_FPGA_CSPR_EXT, + CONFIG_SYS_FPGA_AMASK, + CONFIG_SYS_FPGA_CSOR, + { + CONFIG_SYS_FPGA_FTIM0, + CONFIG_SYS_FPGA_FTIM1, + CONFIG_SYS_FPGA_FTIM2, + CONFIG_SYS_FPGA_FTIM3 + }, + } +}; + +void ifc_cfg_boot_info(struct ifc_regs_info *regs_info) +{ + enum boot_src src = get_boot_src(); + + if (src == BOOT_SOURCE_IFC_NAND) + regs_info->regs = ifc_cfg_nand_boot; + else + regs_info->regs = ifc_cfg_nor_boot; + regs_info->cs_size = CONFIG_SYS_FSL_IFC_BANK_COUNT; +} +#endif + int checkboard(void) { +#ifdef CONFIG_TFABOOT + enum boot_src src = get_boot_src(); +#endif char buf[64]; #ifndef CONFIG_SD_BOOT u8 sw; @@ -55,6 +183,12 @@ int checkboard(void) puts("Board: LS1043AQDS, boot from "); +#ifdef CONFIG_TFABOOT + if (src == BOOT_SOURCE_SD_MMC) + puts("SD\n"); + else { +#endif + #ifdef CONFIG_SD_BOOT puts("SD\n"); #else @@ -73,6 +207,9 @@ int checkboard(void) printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH); #endif +#ifdef CONFIG_TFABOOT + } +#endif printf("Sys ID: 0x%02x, Sys Ver: 0x%02x\n", QIXIS_READ(id), QIXIS_READ(arch)); @@ -156,7 +293,8 @@ int dram_init(void) */ select_i2c_ch_pca9547(I2C_MUX_CH_DEFAULT); fsl_initdram(); -#if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) +#if (!defined(CONFIG_SPL) && !defined(CONFIG_TFABOOT)) || \ + defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ update_early_mmu_table(); #endif @@ -386,3 +524,10 @@ u16 flash_read16(void *addr) return (((val) >> 8) & 0x00ff) | (((val) << 8) & 0xff00); } + +#ifdef CONFIG_TFABOOT +void *env_sf_get_env_addr(void) +{ + return (void *)(CONFIG_SYS_FSL_QSPI_BASE + CONFIG_ENV_OFFSET); +} +#endif diff --git a/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..268be5df83 --- /dev/null +++ b/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,58 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1043AQDS=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SECURE_BOOT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-duart" +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_TFABOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMINFO=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_OF_CONTROL=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_DM=y +CONFIG_FSL_ESDHC=y +CONFIG_FSL_CAAM=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHYLIB=y +CONFIG_NETDEVICES=y +CONFIG_PHY_GIGE=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_SPI=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_RSA_SOFTWARE_EXP=y diff --git a/configs/ls1043aqds_tfa_defconfig b/configs/ls1043aqds_tfa_defconfig new file mode 100644 index 0000000000..149a26ef33 --- /dev/null +++ b/configs/ls1043aqds_tfa_defconfig @@ -0,0 +1,54 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1043AQDS=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +CONFIG_CMD_BOOTZ=y +CONFIG_CMD_IMLS=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMINFO=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_NAND=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +CONFIG_CMD_CACHE=y +CONFIG_MP=y +CONFIG_MTDPARTS_DEFAULT="mtdparts=60000000.nor:2m@0x100000(nor_bank0_uboot),40m@0x1100000(nor_bank0_fit),7m(nor_bank0_user),2m@0x4100000(nor_bank4_uboot),40m@0x5100000(nor_bank4_fit),-(nor_bank4_user);7e800000.flash:1m(nand_uboot),1m(nand_uboot_env),20m(nand_fit);spi0.0:1m(uboot),5m(kernel),1m(dtb),9m(file_system)" +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1043a-qds-duart" +CONFIG_ENV_IS_IN_FLASH=y +CONFIG_ENV_IS_IN_NAND=y +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_DM=y +CONFIG_FSL_CAAM=y +CONFIG_FSL_ESDHC=y +CONFIG_MTD_NOR_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_PHYLIB=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_SPI=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 diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 68f202f97a..ed07d9f28e 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -196,7 +196,8 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_NAND_U_BOOT_SIZE (640 << 10) #endif -#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) +#if defined(CONFIG_TFABOOT) || \ + defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_QIXIS_I2C_ACCESS #define CONFIG_SYS_I2C_EARLY_INIT #endif @@ -251,6 +252,40 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_FPGA_FTIM3 0x0 #endif +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT +#define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR +#define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK +#define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR +#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 +#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 +#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 +#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 +#define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT +#define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR +#define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK +#define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR +#define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 +#define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 +#define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 +#define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 +#define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT +#define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR +#define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK +#define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR +#define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 +#define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 +#define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 +#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 +#define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT +#define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR +#define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK +#define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR +#define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0 +#define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1 +#define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 +#define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 +#else #ifdef CONFIG_NAND_BOOT #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR @@ -318,6 +353,7 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2 #define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3 #endif +#endif /* * I2C bus multiplexer @@ -349,7 +385,8 @@ unsigned long get_board_ddr_clk(void); #define VDD_MV_MAX 1212 /* QSPI device */ -#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) +#if defined(CONFIG_TFABOOT) || \ + (defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)) #define CONFIG_FSL_QSPI #ifdef CONFIG_FSL_QSPI #define CONFIG_SPI_FLASH_SPANSION @@ -381,6 +418,14 @@ unsigned long get_board_ddr_clk(void); */ #define CONFIG_ENV_OVERWRITE +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_MMC_ENV_DEV 0 + +#define CONFIG_ENV_SIZE 0x2000 +#define CONFIG_ENV_OFFSET 0x500000 /* 5MB */ +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x500000) +#define CONFIG_ENV_SECT_SIZE 0x20000 +#else #ifdef CONFIG_NAND_BOOT #define CONFIG_ENV_SIZE 0x2000 #define CONFIG_ENV_OFFSET (24 * CONFIG_SYS_NAND_BLOCK_SIZE) @@ -397,6 +442,7 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_ENV_SECT_SIZE 0x20000 #define CONFIG_ENV_SIZE 0x20000 #endif +#endif #define CONFIG_CMDLINE_TAG From patchwork Sat Oct 27 13:16:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989903 X-Patchwork-Delegate: yorksun@freescale.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="q+4Bg83b"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1xb07kXz9sj2 for ; Sun, 28 Oct 2018 00:32:18 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AFAB2C21D74; Sat, 27 Oct 2018 13:25:15 +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=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 E6ECEC21DEC; Sat, 27 Oct 2018 13:19:56 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id AE55DC21DE8; Sat, 27 Oct 2018 13:16:39 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00046.outbound.protection.outlook.com [40.107.0.46]) by lists.denx.de (Postfix) with ESMTPS id 6E19CC21DAF for ; Sat, 27 Oct 2018 13:16:35 +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=0vGbD4/coOS8we1Bzy9RI2OMQUNLT6bJ3+KkI30JpXo=; b=q+4Bg83bEsnGLHplbKh+0ED1mIeHiWOQZu8vpCHdF3Ap0izVYtOSArsHswq/xLSOvjCBncT6rIVap4hV2+Aa+YDIK8+y6kP5lXIZZ9DpRs46tnOe2c8kx8II8NhvhbwkkKAuDaxC6/SwFpXcN0kfd6rKuzeOTCH6WYYk4Rgkxxg= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:34 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:34 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 24/27] armv8: ls1012ardb: Add TFABOOT support Thread-Index: AQHUbfdIVgtO9ESpu0C+AVp2fAUN8Q== Date: Sat, 27 Oct 2018 13:16:34 +0000 Message-ID: <20181027131428.5246-25-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:dnin5K+5vcG5M1Yza43Z7SMmI/kxWXAkTAWpVqv07mttwkRZC/M4wb/uuo65Kn6PpLD47hqlSYIf0Y8sk3fD2yeBfM/Ovk7vyt3l/j1viEtpwCwbW2eaVXAHEp/pCakFc7phzpdyWrSkeZsCCpgxRM1j9wDKbmXh3k8sLoRqcSCou8XkbZGKTnLh9mnH+UnHPTLRrxsT9NjyBKi17XPXRX+jk8JQwdEL/fzEyQljXwzJQpZny6QzrBu0vff7KydppdPkcMt1BGv24Bvo7K4f6Ud9O+dhPYxAJjmsVrBDHFbKbyaQ3RNY8Xm6yBP/ULkkH2M+bWNCzN3GXjXqWl3iz50KVw10KiT16dhQ6/8UZEK/agGeIe3fqdA8h9dslV+F9QjXpXV1U4EnmDxwPhIboMZfCdlQb/GeNZ+3+SlLvCYfz7yy5xzmfpmjQND696JUob89z/00x3zLUnn6cK25bA==; 5:F0Tye90SrXjLfIyBtOuMAeMMKAKoFgOhTMawKQ3gStdYIK4rJucXwiNeEBijrIWijFtTuHQ/yPFvP6u+D4b904e4TsPd+pKwB5buMaP6iUsI+qzaDOGLVNEx2U2R9yyVQJSnSdGYeLd2fMll75JfdP9AJT6DGXLRqFhAcuulKjM=; 7:qJMBh6VVyl5kZq21Tml/3gfATvOAz4WfMzkKCTbgZ9p0a9N24zrazpGDnDT6aK+pLy6l678lIKhZkH4b9o72TYQBjuzA+s17wFFAz8njQwHvqXGK0vs8INL/S7kwzk3e5Htj2Al0eid3HP3hm7yxRA== x-ms-office365-filtering-correlation-id: 324c8fd9-8d41-465f-9f12-08d63c0e6aad x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(551934003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: U1qbpV+xaSoqLoWGsLogUl4FrdWPZo9cMKcaBu/LX+zua55Hwy4qypwHgllfMEoDTOC5mugrjbMvIQvkfAiD6RSCvTyw8lfV/zwp7uh75ifox2SRa3PyZGvf68Q/cOe3RM7mUb/fTCuO8AdR0VrjCAMknubG/M6GVsf84+lIwDvD8Exw5fHmmkAybul6sE0hO6yUdP25KSePsqlHXvhiIQgNqV+5ku9y5/q8ulhyRcvlvZNIxfYSu2Go3cMiVu4jxWb5WHqNG7Fm3ooc4d+OSX7sk3mW1z2ZU/7bBJGr7r1mNLhOG6sdpGoa4UNIWkbRTvuIeV0lC+xeGVvIS7Fc0k1Ix+YSixhlA0QiHnXbJoc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 324c8fd9-8d41-465f-9f12-08d63c0e6aad X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:34.2257 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 24/27] armv8: ls1012ardb: Add TFABOOT 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" TFABOOT support includes: - ls1012ardb_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - define BOOTCOMMAND for TFABOOT - enable PFE validation for secure boot Signed-off-by: Rajesh Bhagat Signed-off-by: Vinitha V Pillai Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: - enable PFE validation for secure boot to solve warning Change in v3: - Added ls1012ardb_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1012ardb TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1012ardb/Kconfig | 4 ++ board/freescale/ls1012ardb/MAINTAINERS | 2 + board/freescale/ls1012ardb/ls1012ardb.c | 16 ++++- configs/ls1012ardb_tfa_SECURE_BOOT_defconfig | 63 ++++++++++++++++++++ configs/ls1012ardb_tfa_defconfig | 56 +++++++++++++++++ include/configs/ls1012a_common.h | 16 ++++- include/configs/ls1012ardb.h | 6 ++ 7 files changed, 161 insertions(+), 2 deletions(-) create mode 100644 configs/ls1012ardb_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1012ardb_tfa_defconfig diff --git a/board/freescale/ls1012ardb/Kconfig b/board/freescale/ls1012ardb/Kconfig index 4cd66bd548..51efd0fa37 100644 --- a/board/freescale/ls1012ardb/Kconfig +++ b/board/freescale/ls1012ardb/Kconfig @@ -33,6 +33,10 @@ config SYS_LS_PFE_FW_ADDR hex "Flash address of PFE firmware" default 0x40a00000 +config SYS_LS_PFE_ESBC_ADDR + hex "PFE Firmware HDR Addr" + default 0x40700000 + config DDR_PFE_PHYS_BASEADDR hex "PFE DDR physical base address" default 0x03800000 diff --git a/board/freescale/ls1012ardb/MAINTAINERS b/board/freescale/ls1012ardb/MAINTAINERS index a0a0d8dc24..bb2a183b34 100644 --- a/board/freescale/ls1012ardb/MAINTAINERS +++ b/board/freescale/ls1012ardb/MAINTAINERS @@ -1,9 +1,11 @@ LS1012ARDB BOARD M: Prabhakar Kushwaha +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1012ardb/ F: include/configs/ls1012ardb.h F: configs/ls1012ardb_qspi_defconfig +F: configs/ls1012ardb_tfa_defconfig M: Sumit Garg S: Maintained diff --git a/board/freescale/ls1012ardb/ls1012ardb.c b/board/freescale/ls1012ardb/ls1012ardb.c index 888f8500d4..f648a9040b 100644 --- a/board/freescale/ls1012ardb/ls1012ardb.c +++ b/board/freescale/ls1012ardb/ls1012ardb.c @@ -87,8 +87,19 @@ int checkboard(void) return 0; } +#ifdef CONFIG_TFABOOT int dram_init(void) { + gd->ram_size = tfa_get_dram_size(); + if (!gd->ram_size) + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; + + return 0; +} +#else +int dram_init(void) +{ +#ifndef CONFIG_TFABOOT static const struct fsl_mmdc_info mparam = { 0x05180000, /* mdctl */ 0x00030035, /* mdpdc */ @@ -106,6 +117,7 @@ int dram_init(void) }; mmdc_init(&mparam); +#endif gd->ram_size = CONFIG_SYS_SDRAM_SIZE; #if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) @@ -115,6 +127,7 @@ int dram_init(void) return 0; } +#endif int board_early_init_f(void) @@ -132,7 +145,8 @@ int board_init(void) * Set CCI-400 control override register to enable barrier * transaction */ - out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); + if (current_el() == 3) + out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); #ifdef CONFIG_SYS_FSL_ERRATUM_A010315 erratum_a010315(); diff --git a/configs/ls1012ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1012ardb_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..3754931702 --- /dev/null +++ b/configs/ls1012ardb_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,63 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SECURE_BOOT=y +CONFIG_QSPI_AHB_INIT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-rdb" +CONFIG_AHCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_TFABOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_USE_BOOTCOMMAND is not set +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_SATA_CEVA=y +# CONFIG_BLK is not set +CONFIG_DM_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_DM_SPI_FLASH=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_E1000=y +CONFIG_FSL_PFE=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_DM_SCSI=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=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_RSA_SOFTWARE_EXP=y diff --git a/configs/ls1012ardb_tfa_defconfig b/configs/ls1012ardb_tfa_defconfig new file mode 100644 index 0000000000..e594bd6b21 --- /dev/null +++ b/configs/ls1012ardb_tfa_defconfig @@ -0,0 +1,56 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012ARDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_QSPI_AHB_INIT=y +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_AHCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-rdb" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +# CONFIG_BLK is not set +CONFIG_DM_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_FSL_PFE=y +CONFIG_DM_ETH=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_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h index 787adbc382..324dba2b7e 100644 --- a/include/configs/ls1012a_common.h +++ b/include/configs/ls1012a_common.h @@ -16,7 +16,11 @@ #define CONFIG_SKIP_LOWLEVEL_INIT +#ifdef CONFIG_TFABOOT +#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE +#else #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_FSL_OCRAM_BASE + 0xfff0) +#endif #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000) #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000 @@ -34,7 +38,7 @@ #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024) /*SPI device */ -#ifdef CONFIG_QSPI_BOOT +#if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_TFABOOT) #define CONFIG_SYS_QE_FW_IN_SPIFLASH #define CONFIG_SYS_FMAN_FW_ADDR 0x400d0000 #define CONFIG_ENV_SPI_BUS 0 @@ -58,7 +62,11 @@ #define CONFIG_ENV_OVERWRITE #define CONFIG_ENV_SIZE 0x40000 /* 256KB */ +#ifdef CONFIG_TFABOOT +#define CONFIG_ENV_OFFSET 0x500000 /* 5MB */ +#else #define CONFIG_ENV_OFFSET 0x300000 /* 3MB */ +#endif #define CONFIG_ENV_SECT_SIZE 0x40000 #endif @@ -106,9 +114,15 @@ "kernel_size=0x2800000\0" \ #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#define QSPI_NOR_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\ + "$kernel_start $kernel_size && "\ + "bootm $kernel_load" +#else #define CONFIG_BOOTCOMMAND "pfe stop; sf probe 0:0; sf read $kernel_load "\ "$kernel_start $kernel_size && "\ "bootm $kernel_load" +#endif /* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ diff --git a/include/configs/ls1012ardb.h b/include/configs/ls1012ardb.h index 17554ea955..f149a604cf 100644 --- a/include/configs/ls1012ardb.h +++ b/include/configs/ls1012ardb.h @@ -112,8 +112,14 @@ "bootm $load_addr#$board\0" #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#undef QSPI_NOR_BOOTCOMMAND +#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\ + "env exists secureboot && esbc_halt;" +#else #define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run qspi_bootcmd; "\ "env exists secureboot && esbc_halt;" +#endif #include From patchwork Sat Oct 27 13:16:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989908 X-Patchwork-Delegate: yorksun@freescale.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="QZRNp58G"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1zT0cfFz9s7h for ; Sun, 28 Oct 2018 00:33:57 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BBCD3C21D72; Sat, 27 Oct 2018 13:24:58 +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=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 C2007C21C3F; Sat, 27 Oct 2018 13:19:50 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9BCA7C21DD3; Sat, 27 Oct 2018 13:16:44 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00043.outbound.protection.outlook.com [40.107.0.43]) by lists.denx.de (Postfix) with ESMTPS id 623D9C21E53 for ; Sat, 27 Oct 2018 13:16:40 +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=NQJaIkKpqIaKPgsbnZVcMa0Uolqi3ZZudiDnr/HfVsQ=; b=QZRNp58G7ASbzuVp1a3EItUkM04XbG5Oh3y+akiDcHfkQKEwW4iOspLzePvj9IqtaGaKcDhqfOro4RVU0+doiHU90shf/JKDqvRQec5+OJrNbKJem/DYwXNMSQYAxkkz8Zdi8tHwELj+537WpvyL3tS59c0OpPiegFYy29ajq2s= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:39 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:39 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 25/27] armv8: ls1012aqds: fix secure boot compilation Thread-Index: AQHUbfdLlALcasl3xkuC9/FW14jEZA== Date: Sat, 27 Oct 2018 13:16:39 +0000 Message-ID: <20181027131428.5246-26-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:6MeYSaixAoFznFnsda2zoFg6Lkwpemtd8wuYSglGMbfAEkBVqeVCe76m1YPgbM0VlJ3zMf3hGrVSdnqxkKfeXPR5UWU4TpKHf3wBft3mtsVXFQh4LHEp0Z1JhXQmTxI/575AFfnDwanah8DRjSmm7I/FDNy0s9BuCVxqXfi2SyKS43xlMmxAsQEPuL/NRj0yhjBDsuYWhxwGCN8x9gAOk2fzzk23hPnn1uxjUjUsQwLAvHTVzAVeDYMxZbNVcpMgEdpb2/EXmmNLe/lAELck4T0HIvt2DZyKwXssPsllIL5FvtH10NlVqF8CTiJ91fqpj0GbbTqZMKkzJWl4NG228y5SO6IUA+GjxqStCcUuhc3X7eZ0RtIAtXxvcoV8fEBo+zvLJXO7CE8oaBilUHvJuEmeT/vm254Kkmpq/0/eAaF3qUj9KJg2H5WB0LYoMyIL0icfXxdCZZ/0OjL8TS/TkA==; 5:aV9xzeIP3/PCX7bL64LCxV1eD9iNH6V00ibjMIhurqus1t6IN/ZI3ZIgb9RYYC2DjTyTVUoFCshbewOLJ4omZTWGUIxG1W2rdUYqykklXQerd8OELvJggyoJqvm5v50ZqSjC78kZJlpLVMFrO4gs3RoArGdYjm3mqUjyS7qoxyI=; 7:rFTqEpNsD+yTFlf9FhTg53tJRrY6xVI/m7KfWM3DxdZzPcvm4Udv0M2XdbERMnLo/5lPjjAv/tmYyoBFEnq2nqovW5+dco+i9obyMrPVjZbykU6KD1V6BGHhs/ytG003d3c7iKtyYZlM9N36pxo6bw== x-ms-office365-filtering-correlation-id: 8e9b6341-0625-41cf-4201-08d63c0e6dd8 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: VyoL0jgB97FBimL+GWKIVXsL4fSp0ai8Ev8ApihBjrt2mvGuoq3FkJX7Ww7LnAbJsiZtFVy2S1qAIMjbmVcBQpnZdVbMZwydGnhHWI5cjPZgJruMt0/1zWpAhVOiaxf+azrucZuqSKPjQY3nhJblaGkMSHRTludSBZLLgbs718lwJ+8aQJ0LUtBGTrXN2OtY+MDUjCaQm32zaVep4KwBQptKnpyTZ2CRNharUo1kPV+OOiuILHE+oo4XjCDQDx79rJFrcc22HjhSWHMkvAUX7bu6QyUJL+PGuenfHTGWK5v9W07RPbPEy72F6gMXgBoJLKjGSMx7jUuB9QE0hfqL6M6nVaiLuyptyLkAgFcr1bA= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e9b6341-0625-41cf-4201-08d63c0e6dd8 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:39.4289 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Vinitha V Pillai Subject: [U-Boot] [PATCH v5 25/27] armv8: ls1012aqds: fix secure boot compilation 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" Includes environment.h file in ls1012aqds.c Also, enables pfe validation Signed-off-by: Vinitha V Pillai --- Change in v5: None Change in v4: - Changed order to solve compilation error Change in v3: None Change in v2: None board/freescale/ls1012aqds/Kconfig | 10 ++++++++++ board/freescale/ls1012aqds/ls1012aqds.c | 6 ++++++ include/configs/ls1012aqds.h | 1 + 3 files changed, 17 insertions(+) diff --git a/board/freescale/ls1012aqds/Kconfig b/board/freescale/ls1012aqds/Kconfig index b702fb2740..8844557aae 100644 --- a/board/freescale/ls1012aqds/Kconfig +++ b/board/freescale/ls1012aqds/Kconfig @@ -16,6 +16,12 @@ config SYS_LS_PPA_FW_ADDR hex "PPA Firmware Addr" default 0x40400000 +if CHAIN_OF_TRUST +config SYS_LS_PPA_ESBC_ADDR + hex "PPA Firmware HDR Addr" + default 0x40680000 +endif + if FSL_PFE config BOARD_SPECIFIC_OPTIONS # dummy @@ -33,6 +39,10 @@ config SYS_LS_PFE_FW_ADDR hex "Flash address of PFE firmware" default 0x40a00000 +config SYS_LS_PFE_ESBC_ADDR + hex "PFE Firmware HDR Addr" + default 0x40700000 + config DDR_PFE_PHYS_BASEADDR hex "PFE DDR physical base address" default 0x03800000 diff --git a/board/freescale/ls1012aqds/ls1012aqds.c b/board/freescale/ls1012aqds/ls1012aqds.c index 7102237756..3a1c2351c4 100644 --- a/board/freescale/ls1012aqds/ls1012aqds.c +++ b/board/freescale/ls1012aqds/ls1012aqds.c @@ -18,12 +18,14 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include "../common/qixis.h" #include "ls1012aqds_qixis.h" #include "ls1012aqds_pfe.h" @@ -121,6 +123,10 @@ int board_init(void) gd->env_addr = (ulong)&default_environment[0]; #endif +#ifdef CONFIG_FSL_CAAM + sec_init(); +#endif + #ifdef CONFIG_FSL_LS_PPA ppa_init(); #endif diff --git a/include/configs/ls1012aqds.h b/include/configs/ls1012aqds.h index c5bdea6798..c76bfdc8f8 100644 --- a/include/configs/ls1012aqds.h +++ b/include/configs/ls1012aqds.h @@ -117,4 +117,5 @@ #define CONFIG_SYS_MEMTEST_START 0x80000000 #define CONFIG_SYS_MEMTEST_END 0x9fffffff +#include #endif /* __LS1012AQDS_H__ */ From patchwork Sat Oct 27 13:16:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989892 X-Patchwork-Delegate: yorksun@freescale.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="CdOJL4aA"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1sL1zvFz9s7h for ; Sun, 28 Oct 2018 00:28:38 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 02962C21DC1; Sat, 27 Oct 2018 13:24:05 +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_MSPIKE_H2, 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 4E8EAC21E44; Sat, 27 Oct 2018 13:18:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E79FFC21DA6; Sat, 27 Oct 2018 13:16:55 +0000 (UTC) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00040.outbound.protection.outlook.com [40.107.0.40]) by lists.denx.de (Postfix) with ESMTPS id DC464C21D83 for ; Sat, 27 Oct 2018 13:16:49 +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=pYRH46FLjpWH8SCeonuYeVinmkEL5khXuHMYlcZmdl8=; b=CdOJL4aA7NOxb8n8qFUC1c1jZEA/j00Z1iWooOeq8NcWJ5bZZL68X4MGSZGO3ph/A+AYNCz9IMK58/3UnWttVNYAKQjJGWMD7SohbyCH4jOzL6+oPqr0lkRh4QVJ1XpAb6oY3V7mLl54gPIEtAFIG+oHibwewEZQx7Q6mv9AlRA= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:48 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:48 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 26/27] armv8: ls1012aqds: Add TFABOOT support Thread-Index: AQHUbfdREjoqZaC7YEOpKPub8otpjw== Date: Sat, 27 Oct 2018 13:16:48 +0000 Message-ID: <20181027131428.5246-27-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:1XODfUbvbQInVS6N7fjSBlAKkzrSmIe4Q+jFgdHVwCpuUGqnO0NURWMVkpLKmsM0+p010A2iU0GfBAcnSQXkrb9fpkP+cVHVFTGsv7NXLmQMFzjFvs9Qou9/ynvtbhio2V/4TPpka4yHFPLGu5yu5ZwuxHQXlPHHs6qOsSo8m186OGKtsqTzDmIg5V57GQhVT/ZxqBapvI7MiKlmDqNPxpBol0a8tkc3IAYjWiEaTXl1FubiNDg0v9URoDta75jEjNVsu+WZaQWFMc2T0C6mgzNTobKV+vPP3k8LKvJ5KWRQHP5csmqUKcIL16RZ4glpGxWiYpSfLehkYaYiPxIE+iFq+LyoPqVgTXV8wYoPs4Y2pc0IQi1M1kkBExi5wGOrXKZSiYk/yhlNAk+9s1khS1jQTwreaj59hxTk47yjw5cxYBs0O9R5rsn2ms0+ac3mKa5Tf+Ip21OKjUDYy2oI3Q==; 5:yQGk9bKLb0WZFtpwVqygxpwJ9xYUVd/8jSxE3pFCTozt2iqFwXwjD0rgOlKCbH/R7gFvZpygCZ3sGBWwgih8tOKUE7B8bdPfkFfsW1yLfr9paq/bF48zjSfcYG7JNGVuEuL1bgnnjFq/Ng+u2HdayaWrg5KDAqOnFBaTFKYjlS4=; 7:tpOWBV/UmDJX9hbsdQSIWNCVHX1RaabcS12uNSmJCydfGq7YHQNe0FWAEiFr/SRsIEDZ+b4OSPkOXwHufTptSzTHJsXKOXHXGphxMMa/LdO7xGC65GqnrNetrkGwwdhVA+g4Jq3I+p2l4/Fo/1h52g== x-ms-office365-filtering-correlation-id: fe3e1072-86d9-4d7b-e5fe-08d63c0e70e3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(551934003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: x/UqXMnXoxqoOxhAHQUetVwUsGMAEYIFIuyk41fWnr1+7XF0+IZjoxwX8zeaWsM+KA+TIS2McKUjh7ZGMwovoRzcRrNdzp6D8/oqqKG3snNy/zT6T9Wm0d8/HD8DRisO8Mj3XBGsYds4Uuwqk9+3qAT6iZfeKEuVC2U90nn/o9GhQXWN4CM5GIxX/TtCtdTnqyV/mTTiSxO7GfXHzPalyuf9vAZ0ZpJAYSSYxdEKKp5dseP6BSlF5smrW8MrfutXxgIJB9hHvKJh60ADDdhRnfW0yZtx4SMq3fNmS1ZTmeN3ALBEQNPb0JvjdixkU2RQjgLliiEmQN7+ysMeaa6Uqctnh4l2ToSGpUs4VQIj0yc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe3e1072-86d9-4d7b-e5fe-08d63c0e70e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:48.7259 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg , Vinitha V Pillai Subject: [U-Boot] [PATCH v5 26/27] armv8: ls1012aqds: Add TFABOOT 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" TFABOOT support includes: - ls1012aqds_tfa_defconfig to be loaded by trusted firmware - environment address and size changes for TFABOOT - define BOOTCOMMAND for TFABOOT Signed-off-by: Rajesh Bhagat Signed-off-by: Vinitha V Pillai Signed-off-by: Pankit Garg --- Change in v5: None Change in v4: None Change in v3: - Added ls1012aqds_tfa_SECURE_BOOT_defconfig Change in v2: - Merged ls1012aqds TFA boot support patches - Removed extra CONFIG_TFABOOT flag usage board/freescale/ls1012aqds/MAINTAINERS | 2 + board/freescale/ls1012aqds/ls1012aqds.c | 17 ++++- configs/ls1012aqds_tfa_SECURE_BOOT_defconfig | 65 ++++++++++++++++++++ configs/ls1012aqds_tfa_defconfig | 62 +++++++++++++++++++ 4 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 configs/ls1012aqds_tfa_SECURE_BOOT_defconfig create mode 100644 configs/ls1012aqds_tfa_defconfig diff --git a/board/freescale/ls1012aqds/MAINTAINERS b/board/freescale/ls1012aqds/MAINTAINERS index 27c4affd30..2dcc22a485 100644 --- a/board/freescale/ls1012aqds/MAINTAINERS +++ b/board/freescale/ls1012aqds/MAINTAINERS @@ -1,6 +1,8 @@ LS1012AQDS BOARD M: Prabhakar Kushwaha +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1012aqds/ F: include/configs/ls1012aqds.h F: configs/ls1012aqds_qspi_defconfig +F: configs/ls1012aqds_tfa_defconfig diff --git a/board/freescale/ls1012aqds/ls1012aqds.c b/board/freescale/ls1012aqds/ls1012aqds.c index 3a1c2351c4..a862fe6a93 100644 --- a/board/freescale/ls1012aqds/ls1012aqds.c +++ b/board/freescale/ls1012aqds/ls1012aqds.c @@ -57,6 +57,16 @@ int checkboard(void) return 0; } +#ifdef CONFIG_TFABOOT +int dram_init(void) +{ + gd->ram_size = tfa_get_dram_size(); + if (!gd->ram_size) + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; + + return 0; +} +#else int dram_init(void) { static const struct fsl_mmdc_info mparam = { @@ -76,7 +86,6 @@ int dram_init(void) }; mmdc_init(&mparam); - gd->ram_size = CONFIG_SYS_SDRAM_SIZE; #if !defined(CONFIG_SPL) || defined(CONFIG_SPL_BUILD) /* This will break-before-make MMU for DDR */ @@ -85,6 +94,7 @@ int dram_init(void) return 0; } +#endif int board_early_init_f(void) { @@ -112,8 +122,9 @@ int board_init(void) /* Set CCI-400 control override register to enable barrier * transaction */ - out_le32(&cci->ctrl_ord, - CCI400_CTRLORD_EN_BARRIER); + if (current_el() == 3) + out_le32(&cci->ctrl_ord, + CCI400_CTRLORD_EN_BARRIER); #ifdef CONFIG_SYS_FSL_ERRATUM_A010315 erratum_a010315(); diff --git a/configs/ls1012aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1012aqds_tfa_SECURE_BOOT_defconfig new file mode 100644 index 0000000000..8087825bec --- /dev/null +++ b/configs/ls1012aqds_tfa_SECURE_BOOT_defconfig @@ -0,0 +1,65 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012AQDS=y +CONFIG_SECURE_BOOT=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_QSPI_AHB_INIT=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-qds" +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_TFABOOT=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_EEPROM=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_CMD_DATE=y +CONFIG_OF_CONTROL=y +CONFIG_ENV_IS_NOWHERE=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_SCSI_AHCI=y +# CONFIG_BLK is not set +CONFIG_DM_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_DM_ETH=y +CONFIG_NETDEVICES=y +CONFIG_E1000=y +CONFIG_FSL_PFE=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_SCSI=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=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_RSA_SOFTWARE_EXP=y diff --git a/configs/ls1012aqds_tfa_defconfig b/configs/ls1012aqds_tfa_defconfig new file mode 100644 index 0000000000..39805ccf9e --- /dev/null +++ b/configs/ls1012aqds_tfa_defconfig @@ -0,0 +1,62 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012AQDS=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_QSPI_AHB_INIT=y +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_AHCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_USE_BOOTCOMMAND is not set +CONFIG_MISC_INIT_R=y +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_EEPROM=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_CMD_DATE=y +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-qds" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_SCSI_AHCI=y +# CONFIG_BLK is not set +CONFIG_DM_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_FSL_PFE=y +CONFIG_DM_ETH=y +CONFIG_E1000=y +CONFIG_PCI=y +CONFIG_DM_PCI=y +CONFIG_DM_PCI_COMPAT=y +CONFIG_PCIE_LAYERSCAPE=y +CONFIG_SCSI=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_DM_SPI=y +CONFIG_FSL_DSPI=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y From patchwork Sat Oct 27 13:16:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajesh Bhagat X-Patchwork-Id: 989901 X-Patchwork-Delegate: yorksun@freescale.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="bRyEA+rL"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42j1x628Hfz9sBZ for ; Sun, 28 Oct 2018 00:31:54 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 01D8FC21E18; Sat, 27 Oct 2018 13:23:40 +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=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 EBD43C21DAF; Sat, 27 Oct 2018 13:17:49 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id A91AEC21D8E; Sat, 27 Oct 2018 13:17:00 +0000 (UTC) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10082.outbound.protection.outlook.com [40.107.1.82]) by lists.denx.de (Postfix) with ESMTPS id 2258EC21E68 for ; Sat, 27 Oct 2018 13:16:54 +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=cnEHgj27YztX4e+DFl7zrRhTq9UBxsRbSx7isK+zQT8=; b=bRyEA+rLgVeuQ+orMb/LGOMB2Jo9gu9nt8rsiTzU1MDdh+0e7lzHdbjlW9iDTxBRSslefotB5/4SJN3QMl+vDt9pMVyC81PFCmsUrdqP0UeIFeQeeowOK+GLytBYWO5tPtWOrzWOPqDlwsMRh7NwgyriknBs/wyge+Xq4DZofnQ= Received: from VI1PR04MB4863.eurprd04.prod.outlook.com (20.177.49.148) by VI1PR04MB4319.eurprd04.prod.outlook.com (52.134.122.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.21; Sat, 27 Oct 2018 13:16:52 +0000 Received: from VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50]) by VI1PR04MB4863.eurprd04.prod.outlook.com ([fe80::2927:ca76:cff0:bd50%3]) with mapi id 15.20.1273.025; Sat, 27 Oct 2018 13:16:52 +0000 From: Rajesh Bhagat To: "u-boot@lists.denx.de" Thread-Topic: [PATCH v5 27/27] armv8: ls1012afrx: Add TFABOOT support Thread-Index: AQHUbfdT7cVhlNRk7E20lsAsVvVi3w== Date: Sat, 27 Oct 2018 13:16:52 +0000 Message-ID: <20181027131428.5246-28-rajesh.bhagat@nxp.com> References: <20181027131428.5246-1-rajesh.bhagat@nxp.com> In-Reply-To: <20181027131428.5246-1-rajesh.bhagat@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-originating-ip: [14.143.30.134] x-clientproxiedby: SG2PR04CA0192.apcprd04.prod.outlook.com (2603:1096:4:14::30) To VI1PR04MB4863.eurprd04.prod.outlook.com (2603:10a6:803:56::20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=rajesh.bhagat@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR04MB4319; 6:stBFEvG4Cc5PDY0M9OCmgAK2sD/IoavUW1K5He5X8zY103BSIdF5NQFVlIxMy9yBCmkIHyJegNomMdWHeLi0iTmKZEGVmxTH44vAxXNXWOmS8vkVS8L2JSwEzpFd8eCPp22fUZpKOibUBLE5ftl08hqSof3qi1l7fpGlWBD04iw+eKCbodt1qS+HYF5jTYVK3c/uiKQOCxwoqGXtP58YzU0PY7j/BuAjdYPtShTNHw9k2z/I4iXHohcHebfdVc+4LDBr1F6GETp6SPSB5wsmkTcc1pH2fKZim1cUu7zJagbbYu+zyRQ4W3kpxXaULMZCtM7ASWNFkHK8D9lemv3gVro9sSRKVomwgzTaTQmNwqqnHbZTVBC4VoB5oCfUa/eDcckpNKmtLf+Rnd+zg1FshoItvQZ3wzubpk3zuYCYIlYtnkvl/HvQ+6gK/5AVz1eN1bBu6Wi+a25nqeFkT3Zg6w==; 5:FhOKiYeR5NcJo/Z9sr3Mf5doqK6H7u+47WmDmoTPCHZ2HiJZmoR5Lkl5MysIxc4EDidv+d5IJjc/8Ci0eEP8hfCfg6X6WGjB0Fq5SHMXrSbgf7nli4oRGIGQzydNIaPSif8x9nXMzcs9tFLjJsfa7VJ+BqTE81CR63MEodr1VKs=; 7:9qdQgwio3jfRSJ2kWkRnUwznNPNdFwiakRVake1WUwqEhL+xkmHOJRS9w69oKigrSKTn21FqoplRIAJVZAg3txqUiRTUAjqxwudWz2nhZHYLVg8KVToy6Q1GJoc5XuhoYQGOuJzrD2Y/D4Rm/eZaRQ== x-ms-office365-filtering-correlation-id: 9263d57f-2530-48ae-0022-08d63c0e75ca x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4319; x-ms-traffictypediagnostic: VI1PR04MB4319: 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)(5005006)(8121501046)(3231382)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:VI1PR04MB4319; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4319; x-forefront-prvs: 08381C729B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(366004)(39850400004)(396003)(199004)(189003)(575784001)(186003)(476003)(256004)(14444005)(446003)(71200400001)(25786009)(2616005)(316002)(44832011)(478600001)(11346002)(14454004)(86362001)(2900100001)(486006)(2351001)(71190400001)(4326008)(105586002)(106356001)(54906003)(2906002)(5250100002)(2501003)(551934003)(68736007)(1076002)(6916009)(76176011)(99286004)(36756003)(7736002)(305945005)(50226002)(8936002)(97736004)(8676002)(6116002)(81166006)(81156014)(3846002)(52116002)(5660300001)(66066001)(6436002)(6512007)(5640700003)(26005)(6486002)(6506007)(53936002)(55236004)(102836004)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4319; H:VI1PR04MB4863.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: Vk7ZPw6Uo2qzFLk0quNsIfD71EbyhP2y/V8YkEjK61E2om9jCQXgwo2avcg4vS5v/r1bbdYeVeKaqb+3YTc/be4fms6phvvWaLpQH+6+Zss526uP3Nn9B2WEwgUs8NBMiTAgV/b0JAhrbJ7CmaExW4sQl4sA3oh8SdnKr8N/y3q3ikZ2YbKgs0gXa0GvIONp6V+dBqD7Xfnsnyz//zBM3g/rI0LR8agq7VQJx2dgEZmNgWDfF/SXU6LoximmVvbtqOg1O2yd3ID4xY2kbLojIYz2TsEnUhcrPscMZAk2L0YBwL/FINL75/yThWHPrMx1PSVZzL4db7VejYr313fqeuU613QNudOj2zN5OsZwrEI= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9263d57f-2530-48ae-0022-08d63c0e75ca X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2018 13:16:52.7260 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4319 Cc: Pankit Garg Subject: [U-Boot] [PATCH v5 27/27] armv8: ls1012afrx: Add TFABOOT 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" TFABOOT support includes: - ls1012a2g5rdb/ls1012afrdm/ls1012afrwy_tfa_defconfig to be loaded by trusted firmware - define BOOTCOMMAND for TFABOOT Signed-off-by: Pankit Garg Signed-off-by: Rajesh Bhagat --- Change in v5: None board/freescale/ls1012afrdm/MAINTAINERS | 3 ++ board/freescale/ls1012afrdm/ls1012afrdm.c | 29 ++++++++++++- configs/ls1012a2g5rdb_tfa_defconfig | 50 +++++++++++++++++++++++ configs/ls1012afrdm_tfa_defconfig | 50 +++++++++++++++++++++++ configs/ls1012afrwy_tfa_defconfig | 48 ++++++++++++++++++++++ include/configs/ls1012a2g5rdb.h | 6 +++ include/configs/ls1012afrdm.h | 5 +++ include/configs/ls1012afrwy.h | 6 +++ 8 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 configs/ls1012a2g5rdb_tfa_defconfig create mode 100644 configs/ls1012afrdm_tfa_defconfig create mode 100644 configs/ls1012afrwy_tfa_defconfig diff --git a/board/freescale/ls1012afrdm/MAINTAINERS b/board/freescale/ls1012afrdm/MAINTAINERS index f3fcdb87ae..5ef4ae8fe9 100644 --- a/board/freescale/ls1012afrdm/MAINTAINERS +++ b/board/freescale/ls1012afrdm/MAINTAINERS @@ -1,9 +1,12 @@ LS1012AFRDM BOARD M: Prabhakar Kushwaha +M: Rajesh Bhagat S: Maintained F: board/freescale/ls1012afrdm/ F: include/configs/ls1012afrdm.h F: configs/ls1012afrdm_qspi_defconfig +F: configs/ls1012afrdm_tfa_defconfig +F: configs/ls1012afrwy_tfa_defconfig LS1012AFRWY BOARD M: Bhaskar Upadhaya diff --git a/board/freescale/ls1012afrdm/ls1012afrdm.c b/board/freescale/ls1012afrdm/ls1012afrdm.c index 5db1027717..b4ff23d058 100644 --- a/board/freescale/ls1012afrdm/ls1012afrdm.c +++ b/board/freescale/ls1012afrdm/ls1012afrdm.c @@ -80,6 +80,31 @@ int esdhc_status_fixup(void *blob, const char *compat) } #endif +#ifdef CONFIG_TFABOOT +int dram_init(void) +{ +#ifdef CONFIG_TARGET_LS1012AFRWY + int board_rev; +#endif + + gd->ram_size = tfa_get_dram_size(); + + if (!gd->ram_size) { +#ifdef CONFIG_TARGET_LS1012AFRWY + board_rev = get_board_version(); + + if (board_rev & BOARD_REV_C) { + gd->ram_size = SYS_SDRAM_SIZE_1024; + } else { + gd->ram_size = SYS_SDRAM_SIZE_512; + } +#else + gd->ram_size = CONFIG_SYS_SDRAM_SIZE; +#endif + } + return 0; +} +#else int dram_init(void) { #ifdef CONFIG_TARGET_LS1012AFRWY @@ -122,6 +147,7 @@ int dram_init(void) return 0; } +#endif int board_early_init_f(void) { @@ -139,7 +165,8 @@ int board_init(void) * Set CCI-400 control override register to enable barrier * transaction */ - out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); + if (current_el() == 3) + out_le32(&cci->ctrl_ord, CCI400_CTRLORD_EN_BARRIER); #ifdef CONFIG_ENV_IS_NOWHERE gd->env_addr = (ulong)&default_environment[0]; diff --git a/configs/ls1012a2g5rdb_tfa_defconfig b/configs/ls1012a2g5rdb_tfa_defconfig new file mode 100644 index 0000000000..3987eb4d91 --- /dev/null +++ b/configs/ls1012a2g5rdb_tfa_defconfig @@ -0,0 +1,50 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012A2G5RDB=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_QSPI_AHB_INIT=y +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_AHCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-2g5rdb" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_SATA_CEVA=y +CONFIG_DM_MMC=y +CONFIG_FSL_ESDHC=y +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_FSL_PFE=y +CONFIG_DM_ETH=y +CONFIG_DM_SCSI=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=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 diff --git a/configs/ls1012afrdm_tfa_defconfig b/configs/ls1012afrdm_tfa_defconfig new file mode 100644 index 0000000000..703f9cb99e --- /dev/null +++ b/configs/ls1012afrdm_tfa_defconfig @@ -0,0 +1,50 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012AFRDM=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_QSPI_AHB_INIT=y +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_MEMTEST=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-frdm" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +# CONFIG_MMC is not set +CONFIG_DM_SPI_FLASH=y +CONFIG_SPI_FLASH=y +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_FSL_PFE=y +CONFIG_DM_ETH=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_SPI=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 diff --git a/configs/ls1012afrwy_tfa_defconfig b/configs/ls1012afrwy_tfa_defconfig new file mode 100644 index 0000000000..14075cb1f5 --- /dev/null +++ b/configs/ls1012afrwy_tfa_defconfig @@ -0,0 +1,48 @@ +CONFIG_ARM=y +CONFIG_TARGET_LS1012AFRWY=y +CONFIG_SYS_TEXT_BASE=0x82000000 +CONFIG_TFABOOT=y +CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT=y +CONFIG_SEC_FIRMWARE_ARMV8_PSCI=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=2 +# CONFIG_SYS_MALLOC_F is not set +CONFIG_FIT_VERBOSE=y +CONFIG_OF_BOARD_SETUP=y +CONFIG_OF_STDOUT_VIA_ALIAS=y +CONFIG_BOOTDELAY=10 +CONFIG_USE_BOOTARGS=y +CONFIG_BOOTARGS="console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 quiet lpj=250000" +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_DISPLAY_BOARDINFO_LATE=y +CONFIG_CMD_GREPENV=y +CONFIG_CMD_GPT=y +CONFIG_CMD_I2C=y +CONFIG_CMD_MMC=y +CONFIG_CMD_PCI=y +CONFIG_CMD_SF=y +CONFIG_CMD_USB=y +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_CACHE=y +CONFIG_OF_CONTROL=y +CONFIG_DEFAULT_DEVICE_TREE="fsl-ls1012a-frwy" +CONFIG_ENV_IS_IN_SPI_FLASH=y +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +# CONFIG_BLK is not set +CONFIG_DM_MMC=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_FSL_PFE=y +CONFIG_DM_ETH=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_USB=y +CONFIG_DM_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DWC3=y +CONFIG_USB_STORAGE=y diff --git a/include/configs/ls1012a2g5rdb.h b/include/configs/ls1012a2g5rdb.h index 71e4a8b427..cb329385d9 100644 --- a/include/configs/ls1012a2g5rdb.h +++ b/include/configs/ls1012a2g5rdb.h @@ -93,10 +93,16 @@ "bootm $load_addr#$board\0" #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#undef QSPI_NOR_BOOTCOMMAND +#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \ + "env exists secureboot && esbc_halt;" +#else #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd; run qspi_bootcmd; " \ "env exists secureboot && esbc_halt;" #endif +#endif #define DEFAULT_PFE_MDIO_NAME "PFE_MDIO" #define DEFAULT_PFE_MDIO1_NAME "PFE_MDIO1" diff --git a/include/configs/ls1012afrdm.h b/include/configs/ls1012afrdm.h index 7affabfdba..8c7d4e558d 100644 --- a/include/configs/ls1012afrdm.h +++ b/include/configs/ls1012afrdm.h @@ -65,7 +65,12 @@ "$kernel_addr $kernel_size && bootm $load_addr#$board\0" #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#undef QSPI_NOR_BOOTCOMMAND +#define QSPI_NOR_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd" +#else #define CONFIG_BOOTCOMMAND "pfe stop;run distro_bootcmd;run qspi_bootcmd" +#endif #define CONFIG_CMD_MEMINFO #define CONFIG_SYS_MEMTEST_START 0x80000000 diff --git a/include/configs/ls1012afrwy.h b/include/configs/ls1012afrwy.h index e450002e83..ebb1df41c7 100644 --- a/include/configs/ls1012afrwy.h +++ b/include/configs/ls1012afrwy.h @@ -119,8 +119,14 @@ "bootm $load_addr#$board\0" #undef CONFIG_BOOTCOMMAND +#ifdef CONFIG_TFABOOT +#undef QSPI_NOR_BOOTCOMMAND +#define QSPI_NOR_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\ + "env exists secureboot && esbc_halt;" +#else #define CONFIG_BOOTCOMMAND "pfe stop; run distro_bootcmd; run sd_bootcmd; "\ "env exists secureboot && esbc_halt;" +#endif #define CONFIG_CMD_MEMINFO #define CONFIG_CMD_MEMTEST #define CONFIG_SYS_MEMTEST_START 0x80000000