From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A056C433EF for ; Tue, 16 Nov 2021 12:59:31 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DB19861BF6 for ; Tue, 16 Nov 2021 12:59:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org DB19861BF6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oss.nxp.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7A638838A4; Tue, 16 Nov 2021 13:59:28 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="gJFDlv1e"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8CFB38375B; Tue, 16 Nov 2021 11:17:16 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3A9AE832FB for ; Tue, 16 Nov 2021 11:17:12 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sahil.malhotra@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RKhINjTdkjL0HjL1Nnj2XXLltUQZEIc4VPeRhQcVnYH1KW9PRLDpS8DI3zX3y5D62VLgpL9GQlS+QC+UW5IG6JPm7WSA+QO7XBVYyQSjRPNsxx0dMDcSEAD5b1Q96CItwBkViaQWYW2VUDWiRFrNDqO6WEO2yHEplZgjldAXx+7Mb9bpR0KoKsxSM/DwIpy5gEofsdEy/mrIS4NSTQn3fYrHT/Em8cCKILzxx1FBqk/Zcx1BlLaQjGE4gnr4OTOuc+D34PwOvjiuaIh50BbdDn9/sU1vjCxUyE6I0bVJem+qJkH6NXwpdLIwjDzJpCwbzIHJ4LVqWUnDreZ1dBaz5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yOPGyI8/A1+hFxWu/Ve5kvhquVpRken+2tDnghh6QBw=; b=aCoRoQKJjR0VF/7sQtpReiBYTYK9xxfA5NulTql9OXwCJ7gEMG1KLjrHnFFDnRXS4YIwdZuZXeVoVNR7A43B/lcL+2YQC4i3MHxyRNnGVt2bxLDZRHPn/+ITPRzNoLCfx4SLRGkNG7ErX4jUEvzjUFzJm04txGYwMujBjR4NOwGtL/h5dohXX771Ea4KLqH7PbPMnLov7hjsSu037SEHwh6otcM1GHj7Z9SIRP9u1iWag0WjscHUp+4Jx5VaAC2dxQKTXbXK0Fmzc1h+Oj09D+NIDFjt8YJdW1Qe6rkK15+HrMOgyQoDCFlD+/kgZYoCujodCKRmeCk14aUzapg5ZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yOPGyI8/A1+hFxWu/Ve5kvhquVpRken+2tDnghh6QBw=; b=gJFDlv1eiSqYNW8F+fR/HK0aal3BsqON/HJl+qaExLdBUln1M3wljVF3DYcVQkJwdQPSGX9FJCWmGRAW/SsXyVVTiabaNJedlEPau3d6X0QfEiJZ5li/7SVaPHh7SXkntnZBBw2fduK9Uzeavk8lmPcd3bmKrrNv7hs9ginc2+g= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB7PR04MB5322.eurprd04.prod.outlook.com (2603:10a6:10:1f::15) by DB7PR04MB4907.eurprd04.prod.outlook.com (2603:10a6:10:14::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Tue, 16 Nov 2021 10:17:10 +0000 Received: from DB7PR04MB5322.eurprd04.prod.outlook.com ([fe80::d4a0:67dd:1872:19ec]) by DB7PR04MB5322.eurprd04.prod.outlook.com ([fe80::d4a0:67dd:1872:19ec%3]) with mapi id 15.20.4669.022; Tue, 16 Nov 2021 10:17:10 +0000 From: Sahil Malhotra To: u-boot@lists.denx.de, v.sethi@nxp.com, priyanka.jain@nxp.com, ye.li@nxp.com, clement.faure@nxp.com, gaurav.jain@nxp.com, pankaj.gupta@nxp.com Cc: Sahil Malhotra Subject: [PATCH 1/2] fsl-layerscape: add dtb overlay feature Date: Tue, 16 Nov 2021 15:46:45 +0530 Message-Id: <20211116101646.7594-1-sahil.malhotra@oss.nxp.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To DB7PR04MB5322.eurprd04.prod.outlook.com (2603:10a6:10:1f::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from lsv03303.swis.in-blr01.nxp.com (14.142.151.118) by SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.5 via Frontend Transport; Tue, 16 Nov 2021 10:17:07 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6f481b20-0d65-43ba-8aad-08d9a8ea3ff9 X-MS-TrafficTypeDiagnostic: DB7PR04MB4907: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OJdIB9z0whGu2hqFMWomSxlqpSvTYQ3tfhxO2wyfeWiyFCsABIB2DnY8/MDZWCwA/by4R3KpoeFZ1m+hBFdEewUOyhUKAyBYG1bTe9/EVV1/Zm8Yr1LrEU2lGlH6FkGMxOiIlWWvx2deYkM4xNFyNRGqzF2Al0s88pj7ObnRRryo/6Sghh5z4PCJcaynBk4mdiikB0mfXe9R8mVJPvynTN1MtmKcLtfAQwhL5pRTqJ5y5f+gnQBcYNisvAKo1MCMRd5ZovdtaxgCZr/Oe6TFgDDU/hiQjQM1u45LN1kWmh2sgJp9N6vAtB2LrBnqqjXfznqyHPfXKngKxG0HrL2gL9jlZkngDsvCMyw9gOOwcTxY7Vnyttn3ddFKS2gmQAU3MmFzCm9GxiUZW+0F8zMI3S+biA0di7jVv6TNoI00n2YhHMTPcpnvnWzM651+ktSSLiVH5tIXq4LcGWp0UaWbz2XkA8eZOdA7QyyBYP6d1bawVS91zWjMxGbk1NzwbtnOX8FVYGEhZFCHYSg8mwlaON8r3oavqTfpdSl0i1SUCS6mlovY1hoWxe7ZgFFuhk3nPtvjHchjqs3M5fu2FffPf9qaBN8uhKUQ/PwqJMU6TWYB0ayUJv8960M7lcRzraMmyb4dSwsr74JzzYP6RFpIolEmMUWUWpcuRMx02bQ3BwV4tNjHvy0QJUgyHhTJp8GGesMgO0rQ/Lt7CLf73FGO8SylwVn/MH5Ze6aKklcLmNRNC5c2kNVQskjSFptJno5C X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR04MB5322.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(5660300002)(8936002)(8676002)(2616005)(316002)(6666004)(956004)(66556008)(44832011)(1006002)(6512007)(186003)(6506007)(38100700002)(55236004)(52116002)(1076003)(4326008)(38350700002)(2906002)(66476007)(66946007)(6486002)(508600001)(86362001)(26005)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IMV5+hmjfLS0KCPYZX2F/z0csX/b+h1qzCDteMDt3N9tji5JsaR42oH5ePmL?= =?us-ascii?Q?3bGBjxuWTafu0t9VzLecxGE5u147Nw8AE64b9ZZUkxns4uLfjmn7CbQuAQ8X?= =?us-ascii?Q?MNZCTfv79pM9ixW38HhRXChAZzno6VCzgCv/vBbUzmNb1uT+5jjQdqZC2BCJ?= =?us-ascii?Q?/6wz2aBpo52SNj6XS4KxqGXy5EVA4jKSah36NHBwzw3cKbrcCz0ztpml2HqQ?= =?us-ascii?Q?rrixmWl2kQDQI2CzNEHGc42dyRK016BM+kxKpI47Kg7lNwf2xmjZ/hj4LUlL?= =?us-ascii?Q?hweap3Py2ZGuDbmYVOj38tYDhO2wdpn2KqDWExL1Wr/MfuNtnZHkGZvb2O+J?= =?us-ascii?Q?zbZ+Fs2NluT44D1XSf4AyP044HsZm4D45/mswFFdsEXCm6uIUaUInZa886Tj?= =?us-ascii?Q?mthyYgd3uQLZ1CynY3MtSx6WiC1BtBIFhQKj6smRtRn7dqtjd/ly+ElZ0yso?= =?us-ascii?Q?itgyrGogfwnxp6FTv56zQzWEllwP2YZkIvuB7stkHj5XRM4EJgPl+voj6nWB?= =?us-ascii?Q?xd5WPpmgl9Cxl/QIen455skZZ/qjO+xit2uzAm1mmPzGNl5lGuWhiXI9OaDv?= =?us-ascii?Q?EyUAh6tVQroUIMUjo1aO1bJlOYdHjJGSeDKhgWACuZKUd2Xa34IAuNDtrr+o?= =?us-ascii?Q?kN+nVSRYeACFv+ql1i+6hYYc8ZNrGZtyQ1e19DaK4idu1xJm6W0EJK4/UmBZ?= =?us-ascii?Q?eTgXn8GW5XnZanIDes5cUb9aQmUSA5mLyJMFMX2pICcE6dLb5HbvBgNYVzRw?= =?us-ascii?Q?ef43C5LSjwrOxlv2e8aXg04+RmkhV/6SRYjZ4J1bM1d3foU3Hk59CfOGMx4U?= =?us-ascii?Q?8in0SdCK2V63vynv+TrWJ4wmT+yTCN7mYu30SgCXnwXczkmZ/rRmI1xDh66E?= =?us-ascii?Q?vOOlocQ5FNhj7XrSJGe2DVMEGnEypWCk9EdJyOkHZ7tDbC//DzbD2oWnqcHU?= =?us-ascii?Q?sK4LR/l8+UOv/WAuowYo8SWQpLqwsZ2/SfB7EbWvxrrm6j+wXy4yM58ew43Q?= =?us-ascii?Q?HKqeKS7zG51xaqGZVbLyIEcTuIf680qWn64woOcGYPUkwuc1Srk4UUdOk4zv?= =?us-ascii?Q?p0gJ/AtcTeH5mY+iZ/mG5g84uVpbohhhMjOosJRsyZhWR+f3ctwWEBQLw/RQ?= =?us-ascii?Q?m2xdDxyRFFXya8Mpr5mpzKTWQfmGp07hZ9hq79k81b4tGoVHSWIhKONotMni?= =?us-ascii?Q?crFKaUEcz/PTXa5h7rtaxxO00JgrIH0BgucUNJMjM2gW+SVKJkwEyoXyEKhG?= =?us-ascii?Q?vmmZbl5nmczpV1F72gJgQwZBXPh5VNMtdU/AymHynKrkc1/mhptq30Xhm1Si?= =?us-ascii?Q?LhfiMiqJs0QBduRnxI68UZbTG72ptYzhDi3PtQcJj2Lo5hJRJPGHJ2WMkFHR?= =?us-ascii?Q?neUJbiGuGyjqTNxSzR1sW+X7F2mVHKKYpatv1T6vZ3D+ff5hHGL9i2V+FB3L?= =?us-ascii?Q?3y9i+rEBnUcLhSOX0XDaSH7MzH7pVjprEoHE9ZiMWQDSGn+R2okFZBtt7Yn2?= =?us-ascii?Q?bk8mxQutD6LVBPNgzuHIgaiCMKduMMNtwaUbXynT42/XF27f4s7uo2UJCS00?= =?us-ascii?Q?S6mSR0wRIzLUDqr6Eq2k+wHKI55s1ANUUvAGCepA9dVZyJgn/Y9sD0Fw6OE/?= =?us-ascii?Q?XQxydEDQ9HuyuKIz4zC1wX6yaJpo72BnIQIz5HUPkbrS?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f481b20-0d65-43ba-8aad-08d9a8ea3ff9 X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5322.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2021 10:17:10.1906 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eW4xBjJsQha7jgJquafLZIXUa2nL/5b291gF7R+M5msE0G6U+j1wzx0jcmVu+CHZ7NrT1qJhdPl22NSBSOrHhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4907 X-Mailman-Approved-At: Tue, 16 Nov 2021 13:56:51 +0100 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.35 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" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: Sahil Malhotra This patch enables the DTB overlay feature for LS platforms. Signed-off-by: Sahil Malhotra --- arch/arm/cpu/armv8/fsl-layerscape/Makefile | 1 + arch/arm/cpu/armv8/fsl-layerscape/dt_optee.c | 39 +++++++++++++++++++ arch/arm/cpu/armv8/fsl-layerscape/dt_optee.h | 10 +++++ arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 12 ++++++ .../cpu/armv8/fsl-layerscape/lowlevel_init.S | 25 ++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/dt_optee.c create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/dt_optee.h create mode 100644 arch/arm/cpu/armv8/fsl-layerscape/lowlevel_init.S diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Makefile b/arch/arm/cpu/armv8/fsl-layerscape/Makefile index 598c36ee66..97f1f291dd 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Makefile +++ b/arch/arm/cpu/armv8/fsl-layerscape/Makefile @@ -7,6 +7,7 @@ obj-y += lowlevel.o obj-y += soc.o ifndef CONFIG_SPL_BUILD obj-$(CONFIG_MP) += mp.o spintable.o +obj-$(CONFIG_OF_LIBFDT_OVERLAY) += lowlevel_init.o dt_optee.o obj-$(CONFIG_OF_LIBFDT) += fdt.o endif obj-$(CONFIG_SPL) += spl.o diff --git a/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.c b/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.c new file mode 100644 index 0000000000..2418ad09c7 --- /dev/null +++ b/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.c @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2021 NXP + */ +#include +#include +#include +#include +#include "dt_optee.h" + +int ft_add_optee_overlay(void *fdt, struct bd_info *bd) +{ + int ret = 0; + + /* + * No BL32_BASE passed means no TEE running, so no + * need to add optee node in dts + */ + if (!rom_pointer[0]) { + debug("No BL32_BASE passed means no TEE running\n"); + return ret; + } + + if (rom_pointer[2]) { + debug("OP-TEE: applying overlay on 0x%lx\n", rom_pointer[2]); + ret = fdt_check_header((void *)rom_pointer[2]); + if (ret == 0) { + /* Copy the fdt overlay to next 1M and use copied overlay */ + memcpy((void *)(rom_pointer[2] + SZ_1M), (void *)rom_pointer[2], + fdt_totalsize((void *)rom_pointer[2])); + ret = fdt_overlay_apply_verbose(fdt, (void *)(rom_pointer[2] + SZ_1M)); + if (ret == 0) { + debug("Overlay applied with success"); + fdt_pack(fdt); + } + } + } + return ret; +} diff --git a/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.h b/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.h new file mode 100644 index 0000000000..d1ff25d531 --- /dev/null +++ b/arch/arm/cpu/armv8/fsl-layerscape/dt_optee.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ +#ifndef __DT_OPTEE_H__ +#define __DT_OPTEE_H__ + +extern unsigned long rom_pointer[]; +int ft_add_optee_overlay(void *fdt, struct bd_info *bd); +#endif diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index f1624ff30a..0824c62264 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -31,6 +31,7 @@ #endif #include #include +#include "dt_optee.h" int fdt_fixup_phy_connection(void *blob, int offset, phy_interface_t phyc) { @@ -698,3 +699,14 @@ void ft_cpu_setup(void *blob, struct bd_info *bd) fdt_fixup_ecam(blob); #endif } + +#ifdef CONFIG_OF_SYSTEM_SETUP +int ft_system_setup(void *blob, struct bd_info *bd) +{ +#ifdef CONFIG_OF_LIBFDT_OVERLAY + return ft_add_optee_overlay(blob, bd); +#else + return 0; +#endif +} +#endif diff --git a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel_init.S b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel_init.S new file mode 100644 index 0000000000..1d6a2d85fa --- /dev/null +++ b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel_init.S @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2021 NXP + */ + +#include + +.align 8 +.global rom_pointer +rom_pointer: + .space 32 + +/* + * Routine: save_boot_params (called after reset from start.S) + */ + +.global save_boot_params +save_boot_params: + /* The firmware provided FDT address can be found in r2/x0 */ + adr x0, rom_pointer + stp x1, x2, [x0], #16 + stp x3, x4, [x0], #16 + + ldr x1, =save_boot_params_ret + br x1 -- 2.17.1