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 77217C433EF for ; Tue, 16 Nov 2021 12:59:12 +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 EA2B761163 for ; Tue, 16 Nov 2021 12:59:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org EA2B761163 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 7B822838C8; Tue, 16 Nov 2021 13:58:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=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=nxp.com header.i=@nxp.com header.b="bt6KAtMQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id F1FA981197; Tue, 16 Nov 2021 09:35:17 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on060d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::60d]) (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 D5E418358D for ; Tue, 16 Nov 2021 09:35:07 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sahil.malhotra@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hbrzcwwlBtmQ6V0uehPo7euZZRRRxj8XUwX+QzK3OyhKMWRCld45FNPGM0Ums/MWAbFo03IFTqAxuXiGf1J2wyfCg9uHnpGHvScq0Wcpg6bXcxt+dUd4M03TSPNA1R98HkstbS9IHUhegJ7a+QpE49eClQvHv4/vP6bETQ88xLZxQlBm1AcvBjCPaxefdg1rs73zb2g2sjdgcd3zB/3hYrHVZqmheZ0xbuGs4akE4WlEgB9u9M2n/57DzAsdR/n8PyIzmHHa/ytfOfiXOy9kGWIVd/tFwJG9xin99f/RZffuZF6nBus1jzTgBK5pz81ewaAOcKmRVORPIszbuSjcyg== 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=Nwo1+s4foqGPdEqpqHVC6xBXdY5TDXEa0S1/QMCFiAQ=; b=A/4vgjH5dLrUkpNu+HfC8YP4ZJsVnUXQ0vBO1bLnGs2GvQLMqM0Uj3t7GC7QmfeeDjIOxB5r/68fyZ/Yn8cRDdhz2iDdZRBgo6JvThTKThmaumYuqF5Tue7CKu+bl2R3J42lC+Zs6AAT7wO04q5LDzeCdEIlP/DWHOxtvSivj7IGvaZ9Hn08TVArE+EIsUc8AAJEVrGDHuberGBjY1fKWQDQyNlNOpEmyysD58e35vFUO/M6/jVzmeRuE0ZVfWqihb+jcYOW9bNxSznjvn+erD1HSFxJe7RTYkfE7IArPYJ/7R9dHKboOSTX2Sh81+nD5twbuWEMiwi08fL2Qf2GXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nwo1+s4foqGPdEqpqHVC6xBXdY5TDXEa0S1/QMCFiAQ=; b=bt6KAtMQwXDIxn0w51CLfF77ItIZ6SOuseM1dAD3Pc0Ag+UajeQu5pvlLWpexgPAX3njvLBsZBF1gjbGbn+ebiRteCASlxPAbuMcAP0J0dbmeO/vjsRvr35kM33jW5AFuna+R4mq8KlmuUkJzM+XUqvoveq+yfIjjq7fh5Lc23k= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DB7PR04MB5322.eurprd04.prod.outlook.com (2603:10a6:10:1f::15) by DB6PR0402MB2887.eurprd04.prod.outlook.com (2603:10a6:4:98::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27; Tue, 16 Nov 2021 08:35:06 +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 08:35:06 +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 14:04:44 +0530 Message-Id: <20211116083445.6561-1-sahil.malhotra@nxp.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-ClientProxiedBy: SG3P274CA0014.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::26) To DB7PR04MB5322.eurprd04.prod.outlook.com (2603:10a6:10:1f::15) MIME-Version: 1.0 Received: from lsv03303.swis.in-blr01.nxp.com (14.142.151.118) by SG3P274CA0014.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19 via Frontend Transport; Tue, 16 Nov 2021 08:35:04 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 66ede8d9-d721-44b7-0702-08d9a8dbfde7 X-MS-TrafficTypeDiagnostic: DB6PR0402MB2887: 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: A20QETzNNCOfst6NArNG0Q0XhS68zrXl9Z4bl9bWDPMZMP8rZbnoWbV1nR32ty20CBL7SLX5dAjqUxonYCqEjp3uQ4hC3SY3Io1GNbUQeTi6uSo7n4C0dmkTYL8+pUK99jjGIEonn+7SGB8SuBTbtUAAM67NXDFrqku6Z/TQBN98fLxjyYThMw61aHEys/1ibVVqr52t7raU2r9rEcwlvAL35PqkctnEkE41+EhC1uD7OCgNuzJ2owGdOfPwAlowA36WCoit/e6G8XtDNGLucYFoutKWlBI+22JszTa1X1egAZphR0C5bp22PXIsTn5fBL5KMXT41p4NMsfRg6nsStA9+gniewhNuNMHi4Inf8+KjucZ4jOBLSC0xVllSMe00TlZFs2Cdajx3wdt6rtrjkDR8sw8Fhc2xfDJxHi4Tewto6NmkxaTrqQkJ3A6pY1OecVrAu+lKuQBrVKxOrG1I0jKEboT9fILOaZSfVgCpOJwFvGBg6ex0yRu/agVfgaHlQczhEQeGXM8gZvj5VP5JhyAyW6Scf+u9+8/8mIUb92aIF+l4LbhJBzGiaFz+dMdHa0GkCbIZOxquO0qsjJgjylxZfxOt/cksV/+eRSuD3/BahiXh1SsgHmvSDDIPnr9jmN+efan0xjhq2XIYyD+Yh0CUtCb0LQuNdOI2WcK2oSawo882wfkSk7CGTHupA+/skGwCuJWnMmIQJ3yRNQuF0yPdNcNIyTSkeyg3z+gtXc= 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)(38100700002)(316002)(38350700002)(956004)(2616005)(86362001)(6636002)(1006002)(5660300002)(52116002)(4326008)(7696005)(2906002)(55236004)(8676002)(44832011)(36756003)(186003)(508600001)(26005)(1076003)(6666004)(66946007)(66476007)(66556008)(6486002)(8936002)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8FMB1kx6gmJMVwwp9UZrvWtOZWjFAqJJG8r3q4HXtzxDqXNkky2P7lWdAiTb?= =?us-ascii?Q?vne+vG0RbE2qRtXvzeT/vIcFSD2SPauCOd1F6evZeRF2YVy9B+rFSKwU+ZZ8?= =?us-ascii?Q?mI51To2yBljYTmSBD2lhbxk/6MA13iVEMI3tZv3S2hhftrCpepccRIlXR1rH?= =?us-ascii?Q?Z6TLwjL7gU2LGtm7kM2pBUGb7xoNIilRG9Ur9LZRqGmDYGP8lKwDWRqFE15h?= =?us-ascii?Q?aMBaGfgdmzfW7wsX9Pzz5KJo+lF3tJSJa42bMGpAP9pCz4szBmu17q5IgHGV?= =?us-ascii?Q?tDn8AJbig2Pk3EWW9N6QCEo2DSbtPmRDrqol712Sw8RSBKNUbpzDaj4pZSsy?= =?us-ascii?Q?4VZUN1Qt6W80fjCav4A8BbiYq1zc7J8i/XmXuJxQD3LB3+AQkCBSnj70acbD?= =?us-ascii?Q?ttVK8czEAhtauLySxNPKXIHVVBY1Xu3xBYtapuLn6j/cWqPpfcnPShbpUKf2?= =?us-ascii?Q?B0QF/g8+rKBI33OMw/WqPQ6n9Dihmc+kWJsmuFcAFmHfGt3CYypSs/ORjJqs?= =?us-ascii?Q?m9GsiE5sDRz3fuK4ETeF8WE8G7j34Sv15dZbOhsin6XseLVq9jDZCvAvY2+6?= =?us-ascii?Q?3IawY3t41MEuyWWy4r+VSvEmZTHZXk2iQU3ws6VfwrlwdwLJks/q62KjJtVJ?= =?us-ascii?Q?l3Y0RTkaKBN+ejStUOBWoF/lSPfsN8oH7rjZjUnWoReClBjMVCPJspHYArwi?= =?us-ascii?Q?Zoc1b27MH9uxRst1HT16soVWCbc9ygBzG0U/Gc5qad7m4y6HOlOqxW+AUorK?= =?us-ascii?Q?VzPNykKMuVANkqolrHW+4GjOEAseIwZLLlBCIPAjp/ANBh6WthoRQ1j9OXIq?= =?us-ascii?Q?WG/FoKr+QMV7Zcb0PHdv8b/2GZ66f824Wvi53kJb5SGVTs9dlbXZsReOWmEW?= =?us-ascii?Q?k3LHONH/P6YbIjguiB3G2byO/blrKgNLjKwiOuFmDWvE8kRI53PoSnvnx9HK?= =?us-ascii?Q?mhM9axzU8YF1aAjahfk3gygbz39iH5X4hg12qO/zcUF3BwPTttUPUzNxNOFN?= =?us-ascii?Q?zFufuRpCC3Fsb+zyzaEUxC1X40jgPdavv3+Sm1Ln8T+MHyWNNZ1QMYLP5gAb?= =?us-ascii?Q?RCZ/1krF7Lafn7prCydPU3STOTeUi69VuG/kuJBdPp5S2l9dxbWnQSE1UbBv?= =?us-ascii?Q?wMW7xCWCAcHRWpbRbvmFwt/qanZcJncQjL0pT7pFBXLyE4c/OvIo2MERsMXX?= =?us-ascii?Q?ALF3isvDddQKuzUCGft+s4ZYdnb3Ekm0SqMLJUIdcjmVvjFMWDccm0YMMk6D?= =?us-ascii?Q?BJNgp9mTCLNuNxtvhYyNbuq3P7yXXxWihAMqtv6UOEXZP9tqNXABaA6qDFbJ?= =?us-ascii?Q?Z+/L2IA0LZALCb9xj4TkZnWGI4GlDUje8Kc1u6NElNWkNW3a+jGen5pUc2sv?= =?us-ascii?Q?fOdbOmrNJkh+BZcL1AUorng8JJxW4C1mycEpNHzsj7kO5ZUKjGJt3djcimL7?= =?us-ascii?Q?5xCUAIzr9xpp6OGtxxHElGLpL8sfpn1A5wbDCQGwJvT/3M/Rox+PT8Bqt7rI?= =?us-ascii?Q?iskrMXbmAPAIdJOEw1hNep2jWZHKAuEnuQK0KLR8Tr0r+uIOkGxy48yEa6EU?= =?us-ascii?Q?iQXgJznJAOzyKMo3MtN7GFZYch0cb/Z7Bd/vvMopD5zE15rdbXD41CCXyNMS?= =?us-ascii?Q?csYntmYUyHY8dUoa0tIDoRo=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66ede8d9-d721-44b7-0702-08d9a8dbfde7 X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5322.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2021 08:35:06.2645 (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: kAHXbMwFnWGDwv1A75oH0hJ7N0dJhivs2WAYY7p93FXhoUZdToF4rg4dVkQcGCQ6ElltMyyE40FQQQw1IOl7PQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2887 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 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