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 05C68C433EF for ; Tue, 16 Nov 2021 12:57:11 +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 0C57261A89 for ; Tue, 16 Nov 2021 12:57:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0C57261A89 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 8CCB383871; Tue, 16 Nov 2021 13:56:53 +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="DYDo8fQF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4919C83742; Tue, 16 Nov 2021 07:38:10 +0100 (CET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on0602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::602]) (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 4E2468366A for ; Tue, 16 Nov 2021 07:38:06 +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=hQNoZojvPz4W3tlhKbKzukxQXvv1+8cB8lnGOa5SolBI4P7kNNAyUrpLgOpePx5J6Ruv3wxyITDlXzNwOfuoXMkbzxGKQjvRr/fMcTVrsn+2Glydc7jFIvYwkI7TmBhbysTWk6MkquVHXXuw26/TZzalliCMaRKlaO6R82z/ZbmQOpFhByaeBIakH2zxgjjLFUyJCwY1AfCuxSTREavZrFCQfG/jztEz1Qj+8CqO1d/JKYWX8AtPOuKWrClQjMbsh6abb6nIWFf9py4zfSYXcG8Lk2mAMNXhWETpNMHLBWmESWirM/AH+jskFleerir3r+YotaZL6UDnRzoSsZcWkw== 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=oKxgoxG1MajmHrHxknLjGXW2Ik+e7WJNro+g6FJzkaG24oQ0kPAozkPddt+r7sFx7jSskChHULuZRo57t/jcR2LASK1WYu0uhjyRb4nfXbdkOB6b9of49M5fBx+vEViaxX9S//xSGE/zso6AyXfVeNCHw26rQenRNifvrSUuksjee4WSY5nYi3Twmyue3NMHS5n/T7R9SnvBb7mDpKYj8rfnG0ckiCZupOz5/rUYJwUt2hRQTs0Ne/KEjswV6J1mQyw9+5QUss7mqSudYudv+BWYDQk5BbPdIq5oc2C11og6HgjCtdEZgPgcjZ/TXOtGMvX3awttr8QP/mLYQkq64Q== 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=DYDo8fQFHwQ/kwKz516ML9KVGUP0pGgKBI+dtBC6GcJMwvOHdAnqiUtJA4AuLjSDuMsg4TQeKjFE33OsxyLUXsfTCwQ687dQyJ+ZWG9DxCzPAja7YGGLnKLlliT+k0MaauMtIVPIb68g+0hQGC4GOrpapYgaIQKDSnca8FBtLgI= 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 DB6PR04MB3063.eurprd04.prod.outlook.com (2603:10a6:6:5::28) 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 06:38:04 +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:38:04 +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, sahil.malhotra@nxp.com Subject: [PATCH 1/2] fsl-layerscape: add dtb overlay feature Date: Tue, 16 Nov 2021 12:07:42 +0530 Message-Id: <20211116063743.5281-1-sahil.malhotra@oss.nxp.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-ClientProxiedBy: SG3P274CA0001.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::13) 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 SG3P274CA0001.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::13) 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 06:38:02 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 612b93cc-e584-4604-3033-08d9a8cba4a7 X-MS-TrafficTypeDiagnostic: DB6PR04MB3063: 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: zVX0FEb8wSSXbqqySeCLk3ox09zjbHTEplYGbaMlp/HtWwZIe9ahhdv8iMkSWjEiAC1kgp//YK4HNvBdyYczacgocQzxVgLzeWEuLiJSnFYpffeTVXgYYmkJRy9Pny5boGNx5a3YJ4jvtP5OklCt1ux8BOznkAe7DDAQSFmqFMB2O7O//rAdtlnS9vmNKcuH33ao2ufcIN6dEOTMwEjn7zBj9ZQZeocgmAEe2PFFbCgxqvMa0EJnk6xLNT2vqkL2HOhXGa3xqQPzJBq71Cx+b67zHAsMjvDjoE+PyLnzgD+VE1sxgGfJ1kvsFaeoVHvfiNLkz36UphE1BmhsGPQJZDxn0LXIIUZgNSKx4LSuo+P1lHCt9/QIf0jZqnuygUzLYhROJbFnkHr2KjHvTzHoYYWq+dKOk1MUjHi393af1TPKiNUxp1MxGQCDKue0cMwO2Ep+nIbYCC+GOwCoFiRVYHN840UbBTKg4ETse14SWZV2vfG8qTuessNEK+Eg9JuV+uTEbJ9BmJ03gM9wPk49K73swem3QVtVOo5Xf/rnUgmlkDqUv2texmG2b+Rqwt4XUC9HizNj3UcW6xVlJR8FpD/Cg4iTBjBCnUfDH2uOd+AS8ExIRvvPmX95fAua0hVZrZohjMzdHotHL9d948dttPIiIe9S51WDjt3EcIhJkuWqAfBYLM6z6dDtOHSkFm62iQr7MgOQz1SnWJgX0lIuqIG+Kerg8t1dcr8ddkJ+cIo= 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)(508600001)(1076003)(8936002)(6666004)(52116002)(66556008)(1006002)(66476007)(5660300002)(66946007)(6506007)(2906002)(86362001)(6486002)(55236004)(6512007)(2616005)(956004)(26005)(316002)(186003)(8676002)(44832011)(38350700002)(38100700002)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?EnZgt/1YlT0FfGLolojbm60IPyrzT1o2lYbY7hKYDXfu/lDZN5SkG3XKMkvr?= =?us-ascii?Q?nex33TXJnqhaXQBy2ofDzxIJkO6Qwp0JlM1uTMWWUAXZ1FcRvGYya8eyXbvU?= =?us-ascii?Q?z7Q5S31VkaKY0MP49XAolXlgFuWAPEqdM/S4GoU6SWzXHDCJrMSd2HlrssWo?= =?us-ascii?Q?CFn3ons2F9D7YQTx5l1jwYCs+XiGHOjvLQCKEf7BQHoOq+vjL0r/Mx4Z9Hx7?= =?us-ascii?Q?MZZpw01CH0szJgnqRcPzNt5kBzDj3X/i0GApmmgg1UKbPwMJ2D5M8XDWto4o?= =?us-ascii?Q?PEM9Z7/Z0yIOmLudJ95mXIkqApz3itvf90OOZ2OXk97GbRkjnhab5f7buO0v?= =?us-ascii?Q?4KozihKUjYkjgTmRPK0FnS0u5O6G5InAwdCmodU9BuiWuFLo03X8w4NkzKj5?= =?us-ascii?Q?IGIEKLEHUD/yV1I4I0fQnDUDYX5bvecNzbXK+zpEIWSEqaE60BfDShi1qKDy?= =?us-ascii?Q?lM6Ot/Oc7NNp99d3BhcTlh36niRluKUoXZfqZYPmk6wSJTYxXGObHdqLAbYG?= =?us-ascii?Q?qIoROiUjmuU3b+c1Vl1dHxghcHbEDM0zxUC8gniuUJPbu8qnwwch+YL2YFEu?= =?us-ascii?Q?eJ+yBqS4lM7uiPOjjBgFL8pT6kXHR4mSuthXdRT9uJYZqKwN/CZPpAD4hTBr?= =?us-ascii?Q?Qn2FI9IRJ3v/9LKV8vLeS31FA16VXhNy05Ea8eHagyqf2v2Gi3c8uztdcio7?= =?us-ascii?Q?nv1qlVCI7nKlh7csQvCbyF8Ngt4ozLwm6vOvG6Atl6S+BtMzelTA8I4jIljR?= =?us-ascii?Q?PRrCcclXDfIhJt1MR+0yv/5Di/w2zwFydun8o35+4rgYtqrPLHwsOdLD2npI?= =?us-ascii?Q?0nD7KS93DxQR/Ci+P2mD7GEXQV1kli46WrbDdtMQghjQzvubhUgOhEPdKo67?= =?us-ascii?Q?x+YzyCz6/zCn4XsNTSesc6/bJ3HiucIgkV9emlIVbSz6iwRJnsGHf0jrGNui?= =?us-ascii?Q?d+NArRF4mHXamcNrCNkwcGP3fNvckxlVv0LOM8759znbvA8FmiibFQ344UZl?= =?us-ascii?Q?Np9YkdqLM2A6zDS5N1S9st8sLsZIMqIJh1Dq4YbMAQHvyBtKQayFfLWm73hv?= =?us-ascii?Q?lSavgOLWY5T3QxFNr5J5YE9JklseQi40PTbv+IjXrbbfmAypGOf4KZtdqL6Q?= =?us-ascii?Q?Y4TooDZTAzEvbNF5I+iBn00AeoU9hnpHpNAIpS5D7srF6Yz0z1U7VFLXgog6?= =?us-ascii?Q?FwDJ+57czmWcEqvF42wYQG30XbmKKroXuroYPaJVXL43uQdXQlk0QpDCUoJH?= =?us-ascii?Q?ix5ZKr2DX0c06wVcTFPctX3E3Adk+pKIQ5A0Pd+MnI3l0f8OR53iEuZu1byV?= =?us-ascii?Q?s2kIMlg5QcmLbIOnXI1T3GwzjHuwkCL5bCkR1d9Hn4K5KzgoNU88WfSlnJh5?= =?us-ascii?Q?JHO5FhBCboL0iXzJZNMGQhJPBYRzb5d2g50qcn4+cWMR3TKcaPioguZGlYuj?= =?us-ascii?Q?f4NnOdn6YEywWDhRg4mV3EIsMBzM4KNTHBNLHUIeKFClJHqssx5S3lnjzH/G?= =?us-ascii?Q?X4yxa4TWwKyTqeg1jebQc4LI3xCHRUa71sUIqBl6/745XUXu7QivDL1jTTFo?= =?us-ascii?Q?mtUVXHvV1uN/j6VXDDWHR1tm2P9MchcQmZiFxUEax6T7IGTxNjT/ex/JGKQj?= =?us-ascii?Q?c/HrErqxtfKHSyePtj10e5c=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 612b93cc-e584-4604-3033-08d9a8cba4a7 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:38:04.5442 (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: 2sp9Fe67QUaaN8aHn9CIm6GgsdwZNtbNtUX/bHVDvsSMMCidwcjs+e/AundPFpyPrvjlW3NFL7RUDa9lISHmXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR04MB3063 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