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 BC4E3C433EF for ; Wed, 17 Nov 2021 06:24:22 +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 DF80E6124B for ; Wed, 17 Nov 2021 06:24:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org DF80E6124B 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 520AE82F9A; Wed, 17 Nov 2021 07:24:19 +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="ZZMTNCtR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 51FE582FF2; Wed, 17 Nov 2021 07:24:17 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2060c.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::60c]) (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 1C88782A59 for ; Wed, 17 Nov 2021 07:24:14 +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=iAQvn8cX5LCAilo6iPf3I+Ux5H3r1mpb39EByORcSZFIYK0+rpDHci5ywITSNjHlBf5SfBd8ERd7MW7fHGeZPVCH9kRCRptzo86NFonHkr8xgg0J04EINMcdvDvgkD5AM2Ac+vp5RGRLEIJ6jrJRAyAvDLqKUADz1fYFILRCeTxs0DeMMxHNbs6RKVY9JCXRy1Y7X7trlR/XW6XDTAUqsS625TIKIuWI8MTGHbuYDTvxKIzQl3ClFzQO4sQLvfiOoxh6i5gqKlSTNvswiRqgJpvUdW8kKGWuB1vHDZXk/75Amh9DwnK70AyeHSXDU+LGCUxf530+pgGQUC3Z1O5m4g== 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=DYeyaiTrH6yAtkc9Y2KpW0b0V4GfC+L2116sbr5KhBcDgxlA90yPBJITLTNq6u5eh+WeM7cYt6d1z7c4h4R3WM7mr6OXU6nPOWLhTSnHlCjT4+37sq9KocLweKhL43qeiJWVS1YyG9+mBxCYI7iF6Wti6pp66QPQPp4OFAP/e59NUnaPOUIuKCmB5tH4dgVwtwn0Dl4SU36cFnZQVFTrrT/r04iVS5BpfPWAMozt/8KglWpvTI6wiF0t2k408WPXBYN8jKFuNnzFNNryCoXb/pTq+aLpGA5Q+4R0/Z7UXNZrfXFU+1TwYsvRaA6Mu+NsoK3Fr6HLK1g0RF8DgzNABg== 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=ZZMTNCtRlqZoc1firp+6G4/ZYpFTcLoD/g4vk7rRbxowuyPI7frOOl5MyQQ8izZhdo2k5NCSnN9x+z1BuAXgTlaGN4WGqKQ45uZcGSwsi5Q0QT38CoeaomMzxVRGOoh5lMyQsWL2/vcaUh50DRQWoMH9ZexaNeYwmLJmwLdjUUw= 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 DB8PR04MB6940.eurprd04.prod.outlook.com (2603:10a6:10:11a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26; Wed, 17 Nov 2021 06:24:12 +0000 Received: from DB7PR04MB5322.eurprd04.prod.outlook.com ([fe80::e999:10b2:a3ad:be09]) by DB7PR04MB5322.eurprd04.prod.outlook.com ([fe80::e999:10b2:a3ad:be09%7]) with mapi id 15.20.4713.021; Wed, 17 Nov 2021 06:24:12 +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: Wed, 17 Nov 2021 11:53:46 +0530 Message-Id: <20211117062347.24517-1-sahil.malhotra@oss.nxp.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-ClientProxiedBy: SG2PR04CA0185.apcprd04.prod.outlook.com (2603:1096:4:14::23) 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 SG2PR04CA0185.apcprd04.prod.outlook.com (2603:1096:4:14::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19 via Frontend Transport; Wed, 17 Nov 2021 06:24:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa1ce851-e6fb-4f1f-9853-08d9a992defb X-MS-TrafficTypeDiagnostic: DB8PR04MB6940: 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: 70oarzHY292ddiEKxgLNT3YkTmW8Bl3iYw87iP7Bv9tY1lJh0ctwXHv/3LrR/l0Qw4yEh7sVegFFHIb1OXhJU0oql2SKFp5ZKN5aTkY4LXH5pLdZNp65cFhBi34E/yPTZg3wM6dhDHUf7X2HcZ0riwDBV0Sy+4lhvoTs3P6g/HhdAjwUXwypoby0lq2ag+qyZMApfc5sagseNpcKEwZsi8www1MuRJZJaJ+GX2nug7RCZEtfsT34D+M1WAT0twqhBIEMJ02S7nAFPJM4L2TBdwi+IPwV6S1uCt874OAQx0Z7OnGkH/doR6i9h1dL8nwC4LJ/fyqX5VzAR7nANq3lPiEXxzRoI7W/5lj94djW9FtS8agO2D3p/LdFfQztqg62TMxP6bdlcu7fR/0md9K8vq+rpIbbh/isg2fA7dHTV7CxF5UzZHDG4jzvK4KiqYX0JUHmdxOpvpUubHkZ9JjFQXMl+4e9aVjX2F3tHF1Bcp1j8DT349xFMlQEJSbup4dAGthXwqFojNfuzeEQpFyWs2v35BMMtHOsGBTQO+++L8HAi4BH19rRb4y5e2wkjvM2dW7yyCu+8w5pvw5RkNMk6VWDEm/A+LHO4hKy/Wj6xZoZmwpkxcu8UwfUbOlKIvqsoisHGZOlEmO+Y4B5b6aIdaCgNq/8Fe8R15L1JtadP6Lb1k/EFLkTARkcE97wyLSIZQiWIDMWlYvYXt18xXociIfIqLV9BK4fBmWmsDRRlno= 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)(2616005)(956004)(86362001)(316002)(55236004)(6506007)(508600001)(44832011)(6486002)(2906002)(38100700002)(66556008)(4326008)(6512007)(66476007)(66946007)(38350700002)(6666004)(26005)(8936002)(52116002)(186003)(5660300002)(8676002)(1006002)(1076003)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lxlOkWbske+zfnKdcHkyNwaCbBOcFiZCJYJPNKZfQ+7aqzjq9bjpavzxg2F6?= =?us-ascii?Q?HmMfCYwwgQ/1NqPzncWRimzXa4OuunRy02x4rSdAxQx0GE6wkso5K7YLT6uw?= =?us-ascii?Q?vj0kLUReLBy6zEbAiLdJ5S9c/RRiRdx5yAWo5GSb7dxblTrB6vn+DPQmW7Rx?= =?us-ascii?Q?UMZx66OmHvRdH9/4bTsfZ6j+Fbiqi+1EnK2hhbuWL0hD484moJyv3LkC2pi6?= =?us-ascii?Q?fp7USm6PvCCsFO1qKQXIITSBOiztQ33iAS9NyKkSKrQXowQTgH6gNr9OwvMO?= =?us-ascii?Q?0dyZ2JQ+ZLJQt/dNYnREHp3qIdlyVfCxoyP1gmrskfM1VDtVqvL/DdlsF8Gf?= =?us-ascii?Q?iTeXKn0qy84jDabn8U2G4KNdPPwLGKB2rPWfJOIt6CPvYhidwHb0aaXza98u?= =?us-ascii?Q?WJU7UtxmiNgtVOoArqY3VMO6iOn1v+QMOC88drdyvsh1+TLbWobBlL8JmjkM?= =?us-ascii?Q?TJYtJVbvXP4FogOionO9+6kpyejyS90xJb86e/8cMsp3TCC/4secpvOlAoyf?= =?us-ascii?Q?cuAVgDKgBleAY1QSuvKmEa4rRKtlbGi0jXIFuYt2ghnqamEM3pM0H2phQvb2?= =?us-ascii?Q?CKZrVGH73NZVZNiNgqm1Z4G2PHFsbVH0ekVqkW6GbxOJ0vM+G2aim8/dJXG+?= =?us-ascii?Q?kpsewxRT3PkAWV/vgxkVMyo6KEcx7iMGStehQqGcFo6KY4siP151aM1A8EU5?= =?us-ascii?Q?XZ+C+qQkkQWT8goOz9oAuh1PT9pM7JMSfviy1rbgZuUPRxV5qtPBKfMLmr2r?= =?us-ascii?Q?De4oKsj1QdpL0I0pDLTEIbq8OCGAmZZtw5Xw4xTja+4v5Nr/2XOtvUScl9F0?= =?us-ascii?Q?duKXVrHgrkH+D4gFNz3/bxeUngb4ApDkwPBHnRe+99GQuxagpVdMonQuaJbG?= =?us-ascii?Q?oRBfbxK27L9W+8r5BClwskM2ZkeRupNWQoR4vyUrKcDxOHkq8bPdtE4gIvvz?= =?us-ascii?Q?Yd1cwjtn83kYUHSdLMmSsBR9bnOZcVjvSS5lXD6d9BfccfArVSaNhkoJCzcc?= =?us-ascii?Q?bLBWNXyvPKZBZU56cP1nfOvlNj0V+1z1tf+4WsUZRO3FSvRkKbU1oIBZZXPN?= =?us-ascii?Q?jkKpk1/bF2DpWo0qRQObsU2SEXMr0ny/58CSYOGt2CuoGw89rtEVl8zUc/yF?= =?us-ascii?Q?MHRyS9ofrQaZ+9wdftKMnwV5cD/+iUZoMsXoIG33m/2Z78sDDtyN+snslyf6?= =?us-ascii?Q?QTV+z3qnROIAMm2lG93EYldc5SLpkTAuf8beerxKC8UYA4KOfJ/rKscECxty?= =?us-ascii?Q?55Yee3TePUxXijTatpYzo1+JFyVPMOkhj9qNDrzkWkFgwEF1d/vaB3hUeyBq?= =?us-ascii?Q?qDiuUBmSDLCYSLNjXkmU6HZ/bMnPQzSegHSpGc4qVBjDTuau9IThJpZCKz9H?= =?us-ascii?Q?echm4k6myVBYc1tCEAxG5lZKMTdYpW2Vl9Wj/YcPsjaVCNaOs9iYq4W6rkHu?= =?us-ascii?Q?CrIQHl9msGfj2C97pL7j/uIsgspSwLsRGjSJqdNe6iJohLW3m8CmUrFPx8Hp?= =?us-ascii?Q?xYNBTRdL4gxCl6oQwedqma+UnteS9oiOXeLMYl4Dcp7yDE0EjoASVO0pvkCf?= =?us-ascii?Q?zGgcd3L88YaM6H0o7JFv+vn3db/hPxm7sq2TrfwPawaN434KbSOUemEdTFX1?= =?us-ascii?Q?cLXf0vt0NDII01AiR11L+x8=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa1ce851-e6fb-4f1f-9853-08d9a992defb X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5322.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2021 06:24:12.3364 (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: tMP8bPVf40k9+oyUpy/uh45LwHVAZHSDZHpLGFesFhzpOXRTtUpLeesKdMuUuETz7E3kW/6ra+AF4+D72uMSpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6940 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