From patchwork Wed Jan 10 05:20:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 857945 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="GsoltN5b"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zGcqv5c13z9s7n for ; Wed, 10 Jan 2018 16:23:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 34AE7C2216B; Wed, 10 Jan 2018 05:22:37 +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=-1.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,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 45EA4C220BD; Wed, 10 Jan 2018 05:21:47 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 66FB6C22089; Wed, 10 Jan 2018 05:21:23 +0000 (UTC) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30051.outbound.protection.outlook.com [40.107.3.51]) by lists.denx.de (Postfix) with ESMTPS id 1E1D5C220CC for ; Wed, 10 Jan 2018 05:21:20 +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=GsoltN5bLZUIhrqnFAHZ9Y2yrP3LSAtdpG9a1D74o6bo3ixZOXihr0bbo0rgKD8c9s/Qcravyu5m4mKmAIN4K7XfBKMLQ3f3a+k7QGHxsY2jP7WTNn0RnQLgwkJHzftnOko4afDGopQzuzOTcq9ymVJK0RVNkX7MIb52xZOsq44= 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 DB6PR04MB3221.eurprd04.prod.outlook.com (2603:10a6:6:6::17) 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 05:21:16 +0000 From: Peng Fan To: sbabic@denx.de, fabio.estevam@nxp.com Date: Wed, 10 Jan 2018 13:20:23 +0800 Message-Id: <20180110052048.4425-7-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180110052048.4425-1-peng.fan@nxp.com> References: <20180110052048.4425-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK2PR02CA0219.apcprd02.prod.outlook.com (2603:1096:201:20::31) To DB6PR04MB3221.eurprd04.prod.outlook.com (2603:10a6:6:6::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6b18d9fb-b6d0-4e2d-2809-08d557e9faf5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR04MB3221; X-Microsoft-Exchange-Diagnostics: 1; DB6PR04MB3221; 3:fRkgmzoO+rpDeeENQcvVBn9fxcEMrmcUO6EXQ4ff2bvuOBpbZhZU6tI1g5GHVYIURVPdiv3T7Kl3v3EdDebNZazy7lmYExjRgsvgl6l4AyXPpRljNSDmnbd3gB37qPz5+nc6Rc76EY8tG5EVSk94Veg4ZYkaIiswgoySrGho//qZAORm9QlmOSnsY82CwnvBCEarYz1J9lmtI9Htpqq/nYZ1MaeeLioYuYcoWhTPQodpayhjcrgq3tWG4SIY835p; 25:5Ckp8kj+1ncIwueP06UxeP2em+WQscn4Ke6s1r9fkdqhyE2Oi7m0bE0MOmC2hdglQmfVNjcHxwfO8RKlgbZz6NylwK2taXMp+MKoTx949UvOxXJ4P3ChvwOp1FmDTn71wuyicyrZo3s5C9hEQ1D6CpPMZB8V7NQdSV2BHze6zhrPARHZp9Q6b4Bsm9U6x4Xh9R0KPpF5xB4g3fila7Zmq0xauDo7EwIOHMkflv/eXzG68C+hoW1F3AtGs/8mjJbdK2Cy0EJyZXQVoPyNyoaaQ1+zC/MF6wZzGLEQ1syJ8ee+i/1m5fbBnjvis5wIvz/SuLLBKA974sA1uEjDDhvlBQ==; 31:ln5NxB//eEMJNrvTQwarjjEt1lPWLU2+Vo1NOn4f0KYMbRSX96tNLTzSziL9zL43Lk/DICD2345WgamYcYjguVtpNC2MXrv0fN3Q9WK7TPbuT1d0hNFTCHryEbGi69Y85pEKr+7y4uMJunoswX9q9bJbOKGdEPgvB3Pe+p8uH3goE5IHRUvB0czYe/ZsZJfl4YA+8D3cJVz9fdlB6faVcu8tIMfZx6oqOtOzWbvgOmA= X-MS-TrafficTypeDiagnostic: DB6PR04MB3221: X-Microsoft-Exchange-Diagnostics: 1; DB6PR04MB3221; 20:2jhFIDMySQzL6cBe9IqQ3II3F+0C9GXstddkKZPTKGrBu+sn4OwTotOwSKLfleKLVHbTl2nYRWRC+hOQ7QdpWiZxO1TgiAVfQ/oVLRlmOe1cPf9vHD3q6Uvb7WFdFnPzne+oVGfqo+nLQZGfYMScakjrcIcADTU2cA9foVsoeQIkhrgNVqkvGTkQptiWOIHvFEMYcEDIGBsLgGEZY/Jdwd6vwx7q1VbyR9LUJnZgy4JDMOHXCEqbPeuODVJ172jc++WF90fWQ4uPrm9+BUflEJxa3ch8O3k3SNtT2v+AUcr+2q+tFPpKFbiHmyEfUaYTy12F+O4VqOD0w2AbhPbqcRExN95wHhYLarfZCROnQ99Eve1otkNmhNRlICzVdKvhY/UCxoQ460lhqtkr0rIl0Vm7hAK4Uc80gcKLzh6pLFfdKPygx296188BXBkKwyXgr0GSmE0pJUbHDucVMlK53Igwx5VmQpDxS2a54r8vWKifN7W7N07U34Usb4FJT5Ur; 4:pH9fkrsyRGWvO3KZzfQq95WfJwBtRls2ym6VfxjOWTbtHUu/LIg/bI4kNpT/JxqD1N+sHd4NmqoDlsUvA/0Ch298FAobN0xzVm41K7ON7Dc3pnkzv/qOHqwPX16qZf+hp0LGcBsLrA5CZTVPWXNf5aR5e3OAfhBkGzWRVtq+4L0m5rxs+m6jKeZAM+rJEu+XWnWEiB2lSdHbdMFQJUTWGgiksmXsYloUYE9+J5XuqPt7Qa1IbvHMe3wETVx9vcyXmLbfZYOcr0dj8iLMPAPKGxVDEzKAVfeFWnM9S2jeMpkB2qbpnkuW2Zl5YOixGpcBVbu7THGTGjqIpB8f/+4hUHKngXdUfHttT2DHxObhsDw= 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)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231023)(944501075)(6055026)(6041268)(20161123562045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011); SRVR:DB6PR04MB3221; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DB6PR04MB3221; X-Forefront-PRVS: 0548586081 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(376002)(346002)(39860400002)(366004)(39380400002)(199004)(189003)(6486002)(386003)(16586007)(68736007)(6506007)(6636002)(575784001)(86362001)(6666003)(2950100002)(1076002)(81166006)(16526018)(6512007)(6116002)(8936002)(3846002)(6306002)(97736004)(5660300001)(50226002)(47776003)(4326008)(53936002)(50466002)(48376002)(66066001)(81156014)(36756003)(25786009)(966005)(39060400002)(106356001)(478600001)(2906002)(51416003)(76176011)(305945005)(8676002)(7736002)(52116002)(105586002)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR04MB3221; H:linux-u7w5.ap.freescale.net.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; DB6PR04MB3221; 23:XXaOEQnKlQ95slNVC8ky4ePetif0Sjpk+jXPr2x0Q?= w/gr4uXfltNcJqDykMz9PzG1nElvseQv3ScwQalFeIGqLKAglJBxK06KX128QvFF9SCMq5z1nGdo+VXsEyvAj9MNp8A4ZluUhIng8UBW6UgfwquWJgs9Dl44BLsA5eAmXUVVSz+yHER5hUMx8/V6+N+Z235mGHvuYYj2SKAumBTssiCnzTOky7wcNErt5kNuoeXrCzsK/xI26Wgyy3etHLnUotzuwY+PeaHpWpDM9AY42vCmO1j8ynEeOe8+RoW3IHkvkVAECrJe0VuYNKRzuVfuyvuOKvpSr11wjuALJudcYxVn2QDE/+UPSeC0tGqapkoQFZ/7x6RCPj49qGGyH1Uzw5EF/2ZYdCGHkhIrGHdzNHIVfEUSdZokN7Jecg/yuQ17C2M0MIQfTa1CmLms/mOZNKvZRJXQGaLFIiduYhXQX0H7/v0qCbwpgSfNPJps9pjZL0Vxy8X7h2Gw57ECt9rBeAguaZJzqf8UwhRHbyOWRbziI8/Jdm0iekbyu6F9Kx+t+0HI/qUZGeM/Y7XJhFBqTz1esSsHp5Zdpxii3FlfqB8cKV4oGHr6gufVCNsdw8xTBUDMHJVSPo7jAE7o7ofWGTBa1DHgJvw6SLx9HVkeuCO2o7exeHqJIWaGNWUZaqFeOLsgpeA+LkcbHPkoPziG4XXQispMeXtC83dYDxSgrvS6vzgsPaQGVMNXPMvddcbkYi/875E2/FBIpGXaay8xjL9M4EShBgSWbQXs07sL5dgXUn8MfXEyZmzD0unvQZa2Muhj2FaPwo/nUGE9IMbzOzHtKhU54amR5rs1BoxQ8qu8cFje3Cr5SEk+6zT1yuZT4TGs4zNbue7vZ9wB4tCIgQ0x+ss+yTjD8dMMBDUJX1ac8rHZr8Z6e6okV4DF75mqGO63DY4j/dbsRKtUHRLjhNEj9x+XSugJ1UIyASMu+46bmQvBnmGu4hjrAOokK55lYfYdK4Qo76h5dV97lgwQAw6VRVLINd7DESZJReUgZShkENCPA+dW7SgiUv3bcXAHefOUSTDovn2O+2bkhLXV+FFEva24brblcoL/yVNCgGYjw87Jpm9bLBiTU83lU/Oyanl+SgeF5cCF0leXqN/B6rQnVQZrBQDPWBUHNKdpxPouLBRuUdPyuNOk+8eHu4= X-Microsoft-Exchange-Diagnostics: 1; DB6PR04MB3221; 6:R/56CctY7Ga6GYPiEloI5yPhPZJ4bCt1zJL5pPc7hRnKpeH4Vu29YBkzmAKKxvgT3IPuhdqYrQBs3gbgPpToRuF3J55nvaYcmRu19oZbtRciV4oeA3Alv7HA3UPgBN1IKYavGTZrvqBiJjvSYZ54l3iDrTtg8e1EurGfIRtoQsPKkDJkF4EEtiKG+3580+tsMETwlb7k9EiqWrLj+upu4To27thiaX+l+koTyCFP1HZnxfXeFRqaSK5t8GJXGjyVq4ZGL2PV+1GDpnq2jc0NfRk9V4RU7vum4/vfvYH1O1HUtN9CIaIgNCjc4dFyYQxfAjcBYLmy+Bdnx+YIQ8XFnRMwGBDoS/TTxeYcV0mhocE=; 5:ldQwtWKyDU0bPJoZqfsxcgGSfqLRBwux+DB2lEhK9mhjQiJb6QjXBhuaf+e/ex+hYU4vF4UqDNEYC6m4zlRTfXRbGd+PFftydOg06whlKU+DahJkXfvWE3ekKqvp1y5HE/Zzxc8deQj6xZR/kWXwuM+ayI8FN3LgUPkXYqc43vY=; 24:tKe4/K0g64zEmvOLK9vHP3AMpqS1x1BiFfb7uKlBpYAbOz5Fl3jyoNfO4a+SH/G+BbKEtwUXataO6hLkCpbQJrsIbPlBWJpdoDSb9F0yhrA=; 7:S1N00yk9jICZSSQ6X/nCZurZm6CzMVvYJwK+WztgWGmcTfTyxYjUblxQpHuCPf6cN0FVFqNSJvvQWNLXnKNzUGiP6pLGIFqNUzPlPOCAv3PW1v/toKmgLvLeaXIscff61sw1Te5o6FZBCAW9/GMVQRR+tl29yoG5U029yDTxcqLcqxhTfb3Ouf++PC9leRbMRgBK3p74EIBFFsOeiQ/8tEZ1AQg5QsDXMG9tW3ZZCAqtvr9DH2qk7LVaFn86FRUc SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2018 05:21:16.9191 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b18d9fb-b6d0-4e2d-2809-08d557e9faf5 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR04MB3221 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V5 06/31] 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