From patchwork Wed Jan 10 03:05:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 857896 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="KgFqFMbb"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zGYxX6Yhcz9s7n for ; Wed, 10 Jan 2018 14:13:36 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 79160C2212E; Wed, 10 Jan 2018 03:11:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 70C2EC2206C; Wed, 10 Jan 2018 03:07:29 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B2EA7C22093; Wed, 10 Jan 2018 03:06:41 +0000 (UTC) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50056.outbound.protection.outlook.com [40.107.5.56]) by lists.denx.de (Postfix) with ESMTPS id D8754C22044 for ; Wed, 10 Jan 2018 03:06:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Nr5GKG2t7H7f5CfTkpaUPleGMe/2gfYBnC1QE1CO+PY=; b=KgFqFMbbObI7iI2sg85aqe4xtpg2C0ONeHZa4c1SFcx9AD9QoO9ZfrjToJugIKUEk3B3a2n/aNFdI+8KW8bq3/yPKu6Rc3TVJNogZS9uWF1VHPMd4QGkOa90OlVvOOKlydEcYE5JKnq6dO0nQYOaqxUWlZUPD0cFOYE0QWI7l8w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from linux-u7w5.ap.freescale.net.net (92.121.68.129) by VI1PR04MB3231.eurprd04.prod.outlook.com (2603:10a6:802:6::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Wed, 10 Jan 2018 03:06:32 +0000 From: Peng Fan To: sbabic@denx.de, fabio.estevam@nxp.com Date: Wed, 10 Jan 2018 11:05:38 +0800 Message-Id: <20180110030603.27864-8-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180110030603.27864-1-peng.fan@nxp.com> References: <20180110030603.27864-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK2PR04CA0069.apcprd04.prod.outlook.com (2603:1096:202:15::13) To VI1PR04MB3231.eurprd04.prod.outlook.com (2603:10a6:802:6::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 3139d0f1-d73d-4f7f-c720-08d557d7281a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR04MB3231; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 3:kJVCG2te6qf+il5iUCYEGImPTmbnG24bCOezgBQwY7oMAa2Y4Eymw0+sRlYfPM4KOLVzUg04wOI+4jvmnNLKk37I9jPAMtXbblEQidoBRWn4UlZUUtxKA46lh/fqSg9r7GW3ciH/C4wGHDTZ3jMFH4JzJeAiQCjAEYLPpyBTg1rsCsqb8uf9dCisN/g/dasJ7zjsgCmBjuaIplr31PS2ResXmzBOLV1guRSO2fr1wcuXErTWtCK26F6gYjdi5bNX; 25:AfNO5p8LyCsMKmiQ5mpoOr8LAm0D8aSNdCLQnYfCADiV6Uhw78gfRLvOHMSSgI0hClfRqWZMsjGvf+BMEIyh+Q9IxijQlZUGbBozUTq8VQukpTQIg165M3cgTlIyUW4UtVxNZhe0BXm6GZLSVKOIxDO9OzIpLTYwAqh52AIHemeuDV8JMu5HBiGhjEZ7xT2pxIntxKlqOJcynpnZp67damlPZ2WgFcU2qQXOWSN3qZX4DZNlqEnRS+MXviCab66GP2gYdUDnGj9qbna8wUQfNESJpotZunyQ9I1UvdbCqfv7IhG06rmfuCK9O7R+BDlZp4EVW19re/Mf9M8a92SsEQ==; 31:WKK6gXCoANMmcQzbN+CTKZ/cXSwWdGmZtZ2YmcPnraMpKYA6Xd9B503HdG1LCH6DTtnLNeJcsHBZ+bm08GsMzG4wT2+42hgmvJmgOh+PdfL3vq9I9qxcvy7NCef2l/LeJEU8Dr9rssoGSuQrzjLj3e1QTqBNZWj+R57lZdLCRaq+3kh4RpM1cQS6exhxOx2QsSLxU4SYgPTOxekYoypCx9NkNnO0HUUISs9A3Hb8z0Y= X-MS-TrafficTypeDiagnostic: VI1PR04MB3231: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 20:nVHcTkjiaDDsxBEus4iKHt696bfRRSFI0MfQEQ6EVFMdO7KXxbzDP3OySHZLLwuaXNrgMzLbtNjWHXVnjNu0VPL/puRk+jrRQIcB0oc6nqV9zHAZoF9moFRS4jDW4eSkJu5NF1zfHJe80fXOd8qldpYlaPJg4xEUDxh3DMg2OPJNRrsOPzCngO1c4sf/11qIOUZlAUPicQdfF6g41ha4Pf6hwtiPQ6YmhL0G0YmNzksXIqkFh9Zj240Ul/lKeQx9d8uuwOEzfxnS0pdNhidU3K+ywb1kBPQ5R9648aT8XpjlcJ+zHiLlo4CzQd8UBgtqMa8F06f71aQMjUb/Hj/92d1RR5DIaViKreKfqxbSYiRbpIN9TZXTEpqU4oDTwyE6D0E4k/LEKsL6NJNwLuR9VItKVGd0KVnHtW2JzEbU9anPdw2WtqTs+PgT7vOMkDR/FldTdb1gB06dAGFxWC7FhuMHkYAxLouK/AP0a+7aZZtkXh4RHko3zCAhBLYOrkHd; 4:wbmsPB1sRUgz2KeN9cqGWtw9n/IE4rEF0pwns7VcxZsgCtl+loSz8idooL0FVkAxTIFPIa38u8E3mj7xw9jpYAe61oA63XkciFoedyDQCX70eZXebwBr+ZRUxfhVb1QHBHlPBQ2i6/+ZEaZW/KZv2e8RKLfpbWi1JJhE0dfiGMC2GvR4BsXrFpUnIdTUAFlz2Z594vnTVqUwIm4CHoS9N240TkT7VE66BMddn2/RSJ6AKenFm2y9d3QrUyc/fBDF7/fDXaTgLA8U8GRFfix2H4AvLiNjh75XjbozCK2hoHxlEljINUAqEAqNzpD+HCK/DzeyhuJHRsQkS6GsL5aHkU5G9JmrE6gpFtqRKQNxhbM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(944501075)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041268)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:VI1PR04MB3231; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR04MB3231; X-Forefront-PRVS: 0548586081 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(39380400002)(376002)(346002)(39860400002)(189003)(199004)(51416003)(16526018)(5660300001)(3846002)(2950100002)(7736002)(48376002)(36756003)(53936002)(305945005)(16586007)(1076002)(6486002)(478600001)(966005)(39060400002)(6116002)(52116002)(76176011)(316002)(6636002)(50466002)(6506007)(386003)(50226002)(86362001)(97736004)(25786009)(575784001)(8936002)(105586002)(4326008)(8676002)(68736007)(6512007)(81166006)(81156014)(6306002)(106356001)(2906002)(66066001)(47776003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3231; H:linux-u7w5.ap.freescale.net.net; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB3231; 23:orMHT+1RvDbqWEmoFDftp+gZYJVBFJz5OBVS7j69s?= 7//KYhmdi+7PaJC/zmfCaRQhXhhZp64Q/X8Zm5mM1GEYqrMi5bDAApyMCoMlCDy4UTdTH3/aolUm3oF/G3vhmGBqsr4lG+Ufylp3IKqefUKmN8hyMFG0GgSatpZK0uwdScRvyP5tpSbSzqbxF8xlboi/8ePdHWcR4cQSSo4nUD5hOW53Cn0zAwnUBUOymVzAitLtvOYWDgdanIvR25bxu/asNlNium2GvMacdQTA0xsiyr2QNiH6S+Nn8TSUAjCnXNSAkrbzLu8NipnTPwenEC8jrI1m08HayVCAhdy6JoYClHW56kJ5sUeUQcY6j5uPuKDgAOoa8tSu3efSB8ycLXJXzk2u42omB8wflNdKGEztn85DvUExJek9D0Bi1Qz7TXIDCBXj88Qn/sooIwFeA9MRXYlerESlOO+Ch6pjZAR0YNlIYo5CF4oqj08BpyUYn87Hj+fDfvy3TJXH3VTKDOOzrIULs5MxHfikKndLhnG1wAvCj8kMfqKfnbgsHyLqpp5Z4/Xo8Eev70lR1l5TaKGv6yRiuVYI0XXG9nmR08Z623yMPM+4CrXHJA0ScT8+7bsS810DNWG2wzGlwgi2TCFpBumhkJPzI6fZQ8jk4jKPN6QsTWQkwryh3ZNqLWXJRSCFmAWInuJw2ZJ86CHvNu0IAWEgs427LRXktdWgZlOw9tpAduJTiKESIIk8zv57sN5wIh4UMjG9VPmJDZNNYG8oqjrxAtYjwSFw8fqNdroDHHcjplQkeD8KAN3oOEgjk35J+rOXftL1mAw7MVCwG0559dB/TGmg/EhyJYOhMb3549QrXCAorRF14ylo6J8QbcZc4O5vc8OzVH7swjtMA8b/aNdMnpV4Lz1ru+XKvCv5Q/SqQKiyEIfOUc6zufVLRSZHjJ+LOhBIA86AazO3RGBq5ts5j5hlA/+bwreWFJEEdM9Em+A7WdeFf6WTEJ6/gVHmCI46SZXkaVXhyIPpG7Lglc/p4PQMerGqQGshFdvmGsbfBCm29kFsBWD4Pw8XZp/L475curlM3EIDcf9egeuLEInITXpEstTSXJkOOvT/VCjQLBVQfuSCgfFZtKOy+UicKAfvsZ29HsgM/Pzp4OlJyanHcoBxgvlG17oJARdAA== X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 6:3dIyVeSxFeC/YBeHVqmDELA2mel2IfFHoODZSY1Kh+2nJvCSSYFtSRC/VhjYdruZGYhrtR+a7zK+9SR1M7s5eoA6qBoC8ilC68ltzfAshTNFq4bucEKGEBYV8vxDHTeI2E6W/PCWXLSAeTB99fQOPfFP7z169KLuDEdFRXisQYtIR7ROmclfdD7kqFVJmM/1JGVlLNW1X9SxyXwdPiamxAD+DoasCTy27Q4f87H+JS37osr1ycqoUoQvomNlEy2Qf0eRugSSv8GnUaDKp05RBEu2HxKAxMejHdFgNAFwSe8oG6G8Hdek8HKPp1v+MW/STz0EDr0dTyN6uqr5vvqJSPGzds1D5oNFL5e/SxY5CY4=; 5:5urYFOCUEE3h/nTvYLHbK9wH0ht6zygqZkAqUhXTCXJyTZ6aPp5Q2nxSNljy+W2g+0AkumcQ8NU4GXAIjV0m8CTdvnVyMvgOn5jp4I2kNtOHeVUsMPXBD83WhAmPDMaQ55nuQIkGeweSSiF+Ynkc8P3hB4oyumk0YPfz1TT6Pyw=; 24:Rq4IJYx3/J8vCBdZs7WXx9Abl/uCrd/3KagrxgYAdqsU1Ok9qk2nSf+dHJfWM+SBpTap1OqKxxCrJgg4CyWZpq7d3KMcKviAXvek2Wy6cQI=; 7:sjnsjlrEKPL6hSCgXPGhxCEZbPaITtwvjcaQbf6+YkS09mqPTkDhpgmbL/JVC9KxFaWmth3pA9cGHpR+cjBPnDa44zwHmfGA6tdm7GH981GGJgMftS3eBWjNF1XJLvnu6Xq8m3iCKr6VJvda2/D3KIRWmtAF37WeypgRoTgHo3i76JB6G+ajd5Fuk0Nn7sz/FJqbALTbs7eF5h/Al1gtCMdhvPLX7GKnXNVSw7/cxBSdVss97IpYec0xEgJLdhDv SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2018 03:06:32.1163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3139d0f1-d73d-4f7f-c720-08d557d7281a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3231 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V4 07/32] imx: add sip function X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 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" Add SiP (Silicon Provider) services function to issue SMC call to Arm Trusted Firmware. More SiP information could be found in https://github.com/ARM-software/arm-trusted-firmware/blob/master/ docs/arm-sip-service.rst Signed-off-by: Peng Fan Reviewed-by: Fabio Estevam Cc: Stefano Babic --- arch/arm/include/asm/mach-imx/sys_proto.h | 3 +++ arch/arm/mach-imx/Makefile | 2 ++ arch/arm/mach-imx/sip.c | 23 +++++++++++++++++++++++ include/imx_sip.h | 14 ++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 arch/arm/mach-imx/sip.c create mode 100644 include/imx_sip.h diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index d518e03809..c53e5400a1 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -126,4 +126,7 @@ void lcdif_power_down(void); int mxs_reset_block(struct mxs_register_32 *reg); int mxs_wait_mask_set(struct mxs_register_32 *reg, u32 mask, u32 timeout); int mxs_wait_mask_clr(struct mxs_register_32 *reg, u32 mask, u32 timeout); + +unsigned long call_imx_sip(unsigned long id, unsigned long reg0, + unsigned long reg1, unsigned long reg2); #endif diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index cf39d08bdd..63db0e15c4 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -124,6 +124,8 @@ spl/u-boot-nand-spl.imx: SPL FORCE targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx) +obj-$(CONFIG_ARM64) += sip.o + obj-$(CONFIG_MX5) += mx5/ obj-$(CONFIG_MX6) += mx6/ obj-$(CONFIG_MX7) += mx7/ diff --git a/arch/arm/mach-imx/sip.c b/arch/arm/mach-imx/sip.c new file mode 100644 index 0000000000..b724330d35 --- /dev/null +++ b/arch/arm/mach-imx/sip.c @@ -0,0 +1,23 @@ +/* + * Copyright 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +unsigned long call_imx_sip(unsigned long id, unsigned long reg0, + unsigned long reg1, unsigned long reg2) +{ + struct pt_regs regs; + + regs.regs[0] = id; + regs.regs[1] = reg0; + regs.regs[2] = reg1; + regs.regs[3] = reg2; + + smc_call(®s); + + return regs.regs[0]; +} diff --git a/include/imx_sip.h b/include/imx_sip.h new file mode 100644 index 0000000000..48ab878749 --- /dev/null +++ b/include/imx_sip.h @@ -0,0 +1,14 @@ +/* + * Copyright 2017 NXP + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _IMX_SIP_H__ +#define _IMX_SIP_H_ + +#define IMX_SIP_SRC 0xC2000005 +#define IMX_SIP_SRC_M4_START 0x00 +#define IMX_SIP_SRC_M4_STARTED 0x01 + +#endif