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 36F81C433EF for ; Tue, 16 Nov 2021 12:57:32 +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 B7D9861C12 for ; Tue, 16 Nov 2021 12:57:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B7D9861C12 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 83A1183837; Tue, 16 Nov 2021 13:57:10 +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="C3xtyVTh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 86BED83752; Tue, 16 Nov 2021 07:47:23 +0100 (CET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on0607.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::607]) (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 0A04D83711 for ; Tue, 16 Nov 2021 07:47:20 +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=b+3zLiRrKouKw9yfFJ/Oi+f3NWCeVw5DGjrLq+LRdc62DAQOKhNb4q3n4MgO2i+RZILPKsl73xwApSYG12yQrd80bNoBsdsb3zYMxBI16FpWLOH7tWYctIO1Q5nODk9sQnHl5Rn+ahIIxQsfhLFR5Q99wnbWq8A4uWln2sGkEXWwqOKoiJ6MChEmMuKSRgHwPGgBpvHzW/Pq9PwuWYt/FMr3tGBUeo7EmTtZyq4t3OjhbHePhiwPw8Lw8JzzgZNldbkoyR+ljHrUIBQkvxNEtZeY8xvrFtRo6sU/YBa9H4W1HnrYHv57927UiJ9M0Ih9q6nnofUA6grfxtX2Acbx0A== 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=h2E4A1ZDHyC4OSl+HcVHOECeaL0JeeEKUKuEgTGQ0nABORWhr2xt5YSmBqAM5aMzS44Mddmt3CGrEFA3MAb4LKLI31q0i4DpTOXWyEmou6syqNIEKPQu8UIC5ic/ZpEEaI8O3wUWB96kQ2K8HYTg8u+wvgQYaf4LcmkHxhw4Jg8jcZ0x/DMxoghVQgFVjQGn3Mc4B3Ne59OxQwpVFV2isiHY/c1Cj9HWiazxbLUkMmc9EEpe2MTK0qea5r9tcIxNS7BShpLzNmH3NIU8sd9PkYraUtkgx9b8Xm5YHwuw9Cb9CgAgowyKiEkjfD/eadgiY01/jV1uwEkfieaqhDY0lw== 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=C3xtyVThPi9y7RbPZKHojhjb5+UrwJ6HMZZVlin8UIAH2TIkTyyT2s2XSu8Gnpj+GvNor//AmrkKgZZ0L2+3lQAydbYbAFiyeMNx1TCbozmK7RkDIJe3jV7tloVJX/0y5f3/fne6f+B9ZfO95lFgfIos8jJXTcKd3CvpRKM46O8= 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 DBBPR04MB6188.eurprd04.prod.outlook.com (2603:10a6:10:c8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26; Tue, 16 Nov 2021 06:47:16 +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 06:47:16 +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 12:16:56 +0530 Message-Id: <20211116064657.5400-1-sahil.malhotra@oss.nxp.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-ClientProxiedBy: SGXP274CA0016.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::28) 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 SGXP274CA0016.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26 via Frontend Transport; Tue, 16 Nov 2021 06:47:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a0108fde-62ed-4389-a0b0-08d9a8cceda7 X-MS-TrafficTypeDiagnostic: DBBPR04MB6188: 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: 5qZj3HaafIB4MpFvTBtVTQw7SOSLVpIeTaIl2/QTZ2+BzGCOihAVSvczJOqzJnQl/jNSw3zruzuOIdJSAV93DTzW9PAz/I2Ldd9wH362cWLZirR/FTOmbdjxt4OovUlBfW++Ur3KDHj24BTr8zBrR6O5iEGuG/wu4RAku6t/tYCoNv8f2+eauQ6Ky+/2UGZyzHEUV7dMYp5tlMU+CUNl7D8Y00eqOTh90q6YG60bBkCrhkuSv+cq8NcmJddd8vbFvuQTtMlesl4G07fqJkg6iU1zsfs1hxfJneJSjsh6HYHK9EYmasGiM10nvvr6mn8deYjd6LlhUZYGkz2Ug56EL9GzvVIfyWqb40Px4tB2jQI5I+E3rznuqzY0FHY7vUm6GfV3UFe1HG61vd+RSWMs8ERpSkmbe3HsJIGyzvdSQrSMFNOqGZUD531tvOYT8UOlPIDzi06MChOgA6y8FmF1W4G4resByzBZoZPKdalQBrG8WhNWZOkY+6XVJZr2O5OaVSZJfoYrFW6cJOHyguVeL+eJmGJsLGNt1oUZ9aI0hytNZ17Tj29ln3j6UmvoE8EO7HtEw5OFhyhScnrL1LHrbwMAGMs3WEjpAXLwmmEDJpFzj2uF3e06rP5whM2NYYCSIEoxYuZkFp2Fq3vw+cIMZkW9YSlW/tk1m6vVNUI5Yo9GlwnCDeXiROAhnt2wjXp8q0Wy/HpDFIkyjLVO/ZZZXHdvvHmjgMEA7CiFbVViQHM= 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)(38350700002)(26005)(186003)(8676002)(66946007)(6512007)(55236004)(8936002)(86362001)(4326008)(1076003)(38100700002)(508600001)(6666004)(1006002)(6486002)(52116002)(44832011)(2616005)(316002)(5660300002)(66556008)(956004)(66476007)(6506007)(2906002)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ET6/+yWUlXrAOCzuhpRirQfiKgf9cAFc4JQlDOu055iY+5tQ38G5WKRmUnl3?= =?us-ascii?Q?esYz/3LCNA1fgdeMNzED56kvRX6nPRNBKevnXqyOKeKxMrZtCousWybXnJA4?= =?us-ascii?Q?js0DFNaJyV2hp/da37AjESIRXK/HScyb+KNUZyj5dwLXUd9/huJbwXYMG9f+?= =?us-ascii?Q?G6Ozi3Nsy0CYRt/KG1ihILD3ItXjKUJjOa1Du8qOg6/+zncgIkIjt7+eTqUE?= =?us-ascii?Q?/UsX0EUUr8wA5Bm6BLHLX6AbEU7Pjqc1aJZ+5osZVndYfVspxV2QCFiGN1aE?= =?us-ascii?Q?k9L7YsChqBeOl0jGGQ23x/4AWv6M7hzL1kf5PHlWavPehFB0FsZ2sD+KvUqw?= =?us-ascii?Q?59VJeBDvBycuZekw887/skWbWMcIzZ4yb3ZLHZa1ZEmF8HVtfqD1uRnGTJth?= =?us-ascii?Q?zRVo/noFsWSbO1/fzT3cwn+EX8mX75hX2iF5Y/hGe88ZPlZMYbb+caRl/p9e?= =?us-ascii?Q?HpPbEoh24E7FLRf0zivzsjZf/aZ/Zr+0kmcD+31Gd7iIJof0itASjsOlIYQy?= =?us-ascii?Q?sTi/SjGkgJdlny8d1D+UtQ6N30Ec1J93hPO0F14Xt2kuY58aZmAe9zp+F5pC?= =?us-ascii?Q?6PxpPmS2wjFUawu3Gw4k7ZGyY7tv8OIujSRWipaZbON2Bw4z+FzblBozryri?= =?us-ascii?Q?fY7hovzT0VDYgIOIHuzQEK4AKHlIFXpEifc9H7x0Ah5rStsIk+geevDPy4ca?= =?us-ascii?Q?0lU0dv04q1ndvFdAp1Tl4mhM6iPimzH3hWIG/AxX611rFmslKoAtv51koCgv?= =?us-ascii?Q?DHIEVyzve3nywWH5NT4YYUnt9F/qPB+Gcq3+QQHi3Pcy8PJBICb3oMmCK8H9?= =?us-ascii?Q?/o4Rx51L2nJsVNpPRcGLwgCZMHaI6JsKOm3J2ryMNjyGBOs3w8hOw1B5Oe9t?= =?us-ascii?Q?RII4QPMDNyb1j6FeTBLVpwxqZFEBAPNtmzx+4NjhMThn3KkRe/Ey9nVEvNay?= =?us-ascii?Q?ceVrC2DS317grMpf48lphPorbWXlqauJ7q3kpm3DvyIkYTSTZoXZQ7KF9cmg?= =?us-ascii?Q?9ZxZGH6zZdshEqy7LV/Fv9dUVlaF4+eaX2pEtNh8DIace7uD4K8KXRtRR8HH?= =?us-ascii?Q?Syu/AThJ4Ka2kgGxS43o0A1sx4KWwbJpIiw7ndqYloTUkLNYdzo/9Dtkvqqi?= =?us-ascii?Q?cGtHNmVjTiFcvKwpgA588EqweoJdEXMNSdLI3sru95myu/zGFDMWGMXy9X2j?= =?us-ascii?Q?65PjX16i6nxQ41MqBF2gIm7Khau/i1o+Md8Oos8jAQXP6vqMZI0cTtQ+As0M?= =?us-ascii?Q?TvU0/rbJOh4A+2vTYt3dLx9sg9dRp+bXbobbz/iLGD8IR/8a/cdq4Iq63loF?= =?us-ascii?Q?1J+ZdchC8R1t2uVp7T6UCKNe4vd2yom6J6KKwD61fAgtImGMFZptmiYYCgv7?= =?us-ascii?Q?p/+x5/sLbLOvBuig6X/ZZvKsfnAao7j1ZYHCQ8Ba34Hn/FVP4OUJQ0Lb/enK?= =?us-ascii?Q?H2v9fd5DggTNyx0qji90wvwp6RBQ53gLh5SqCDxVz2nfHrw9aiYR7qcowD4P?= =?us-ascii?Q?9jsdjkq8don7vCO1inELScLjIic0nXUBVgaM5nVggLqoyEITKpmmGu7fMWyw?= =?us-ascii?Q?wa1uVFW3O1WeF9iNjn0CZDimg7ZU1lMsBTiPaWXLX28x0t7yqOJgAwlz7END?= =?us-ascii?Q?0DS1qdqHVT72vnMG/ga75Gg=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0108fde-62ed-4389-a0b0-08d9a8cceda7 X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB5322.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2021 06:47:16.6484 (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: 0NkjkHDZeA0lSHDb0wQv98GKWLDOpN4uDuzuWSNJUbHTqB65Su1/7jCtvSVSV44DS/k+zP1n+DJDgLgeeF/rpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB6188 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