From patchwork Fri Oct 26 12:24:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nava kishore Manne X-Patchwork-Id: 10655753 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 59C8A15A7 for ; Thu, 25 Oct 2018 12:26:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 442292B821 for ; Thu, 25 Oct 2018 12:26:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 33E722B826; Thu, 25 Oct 2018 12:26:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DATE_IN_FUTURE_12_24,DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,UPPERCASE_50_75 autolearn=no version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7BAD32B821 for ; Thu, 25 Oct 2018 12:26:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2lK+zgfOFKO9csO92i/CNXXI/t/Lk0IabjmSzMBaBD0=; b=sdZJKYUZY9CRgk NYB2EF82zReur2i5kiLGdAfB/wBH0MDEMqGW37QZDH6xx6nX3TBLfQv6an9yAexPvtxVasjApAtRn 6wxmWWKhHxlAUJbL185VJyZpjPuuSHKS0i1Rebb0J129FoA0KJ/LjksXUcsOJ9hSa/QaKr5xsVWBe AmCSAGdOCsy/FBWWrVNWv1HtfTERgPE7sbVFjvoWMd3+gD6Qkde/TTd3e11HIxQ0u7d/hRk4qfEZv ZmPbspuOUv83WLEihhaFJhmo7lZ5p9upWA239bk7TcjCxEUJbJnINS1UG3EU1h7eDd+SndwdDpItq BQXMtZuuRfK3ti8PhXYQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFeiV-0000s7-V4; Thu, 25 Oct 2018 12:26:23 +0000 Received: from mail-by2nam01on0055.outbound.protection.outlook.com ([104.47.34.55] helo=NAM01-BY2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFeiR-0000pq-OT for linux-arm-kernel@lists.infradead.org; Thu, 25 Oct 2018 12:26:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t5uIp3TA12a6Rxf+bgFP0x5VnAjwua2yCit9SQRfDQM=; b=pQZLBn3VmJSj39HwcKtHU0MdAOCuUEcyRLy9TwLz42CRYL1zaW00Y3SNxMx+7JHZ0SJLfgpthoLZq/HIZa9Sv1no+FFQ05TTPWVG9IYbGInM5vnqsqNhk+Nluo8zqo+P51Xam1HfqKou50bFYrbOFhBQBqrAsa+Nr944edFFYIg= Received: from MWHPR0201CA0019.namprd02.prod.outlook.com (2603:10b6:301:74::32) by MWHPR0201MB3514.namprd02.prod.outlook.com (2603:10b6:301:77::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.30; Thu, 25 Oct 2018 12:26:07 +0000 Received: from BL2NAM02FT019.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::207) by MWHPR0201CA0019.outlook.office365.com (2603:10b6:301:74::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.18 via Frontend Transport; Thu, 25 Oct 2018 12:26:06 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT019.mail.protection.outlook.com (10.152.77.166) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1273.13 via Frontend Transport; Thu, 25 Oct 2018 12:26:06 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:40860 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1gFeiD-0000Oh-PX; Thu, 25 Oct 2018 05:26:05 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gFei8-00057l-Lk; Thu, 25 Oct 2018 05:26:00 -0700 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w9PCPrmo021496; Thu, 25 Oct 2018 05:25:53 -0700 Received: from [172.23.37.118] (helo=xhdnavam40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gFei0-0004vY-Tl; Thu, 25 Oct 2018 05:25:53 -0700 From: Nava kishore Manne To: , , , , , , , , , , Subject: [PATCH v2 1/3] firmware: xilinx: Add reset API's Date: Fri, 26 Oct 2018 17:54:22 +0530 Message-ID: <20181026122424.30831-2-nava.manne@xilinx.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181026122424.30831-1-nava.manne@xilinx.com> References: <20181026122424.30831-1-nava.manne@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(346002)(136003)(376002)(396003)(39860400002)(2980300002)(438002)(189003)(199004)(1076002)(5660300001)(8936002)(36756003)(50226002)(106466001)(8676002)(63266004)(47776003)(81156014)(316002)(2906002)(76176011)(51416003)(7696005)(2616005)(476003)(110136005)(9786002)(486006)(106002)(26005)(77096007)(126002)(446003)(478600001)(426003)(16586007)(81166006)(11346002)(186003)(336012)(14444005)(305945005)(6666004)(356004)(48376002)(2201001)(50466002)(39060400002)(36386004)(921003)(107986001)(1121003)(83996005)(2101003)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR0201MB3514; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; LANG:en; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT019; 1:SI0Oepq2HHGRz3xqJSPsntNFbQvlSmFVlrzhR+W+8wiPCYzmrkofyUW1VRFpbz8ayZndpVqiOYGC8sIoDAChJwfB+yPbQbmwOoI8pdyYBzeG4k5Om9yiPkpsKBqtXYST MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70d4f992-07fe-45ca-8456-08d63a750988 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4608076)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060); SRVR:MWHPR0201MB3514; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0201MB3514; 3:kpJaElSvvnelXzNXHH/+OiMGmFxOBXBZMV3jGVceMSYz7C7m1Ybsns4A0cfpVRtYtIGx7eZ+jZviqxhGpuFNGwMS2MlbrtPv3QXVtiWcWR5Z+/pCMhfxObE9I+9FHMKQ8VK9YIFfJOAT0aqaxbR10ov/0jXgx+yNJmtH+ZrQh5a13pTgo/Se2O/9CKICGm7+YfBDeb5paGskHiyfTlpYzi8W06+Ump4XlI77cKGPxPdlOThlU5GkC1Pc3aef3CEv5Me7zb5hSXvVyLMz9qeXCMDlM9LUX8jM2MyGDyZNPpsSNAZM5Oxn2qcEUkc/d+1UvDBjHu33Jkme2K0tSCTFeetpb5cQe4jybR5ir0vubys=; 25:MV+hB40AgEjEz+BhgFynErwBdq4aUMZgXSJ1+BEjCulHN0lGkpU2eTOx8UUT87PLNgXFAUmt7skdc7VJXvCFt6cstnB1E49jLYHZD1c+6+ZKlzSMf6HCt2iizZtP1JwxfFHpI11Mykng3dTCgfdYJlajyu7lYf2Kld6g1VfIyMv7NGtkY+aa2t+T1GnpqA+Taeil/ImRR3XPZFxKulUY4mlnhNrcJuA5hdFdu1JD+OhCpiMF/uVKdGJQu3B1KvDbLGqRbNhh2VOToYKoGJbl3BWJRA161TwBsaB0VcMp2NvUhCZgKRYn+4L0xO9c1iJZTkyp196c/pWqXHXw0A+rkQ== X-MS-TrafficTypeDiagnostic: MWHPR0201MB3514: X-Microsoft-Exchange-Diagnostics: 1; MWHPR0201MB3514; 31:xApJ5kF+5Rpha8UKBOl7DEuUYQn2D5c1BJJR6tyMKYcWqz1eJewXTtWBrlMJSBwhNHAq1cT2Z2RR8l3DhpwOS4bkKnD/AI2LDudNUu2BDtzeXxtM2XdzHuzkqwcPdxiBx/Q37gtYROf4Uw8i4EL5ENPEx1ZQ5Yk8xhCO25nqGXwj9XJXWepxNv7mRFyrZi9yw8H+7NFNCxIF7z39sNRvmpO36O2KORLs98syL6FgO8c=; 20:S9MKyPPfS9pXsE42lB3pLDx/uAkuvOxmeKFErVZedA1aR+Xn/HlseXDbsIGjRl5Ww4Bm8tnOVbsHVRrUygHVQWPOU5MEWoLfBSX5LJ5dT0LKrsiTvwHQBtY7Qz6WVtsIdYf44aMhrkpHLkXzFUx174C42+sSqPFQxC77YMJN+iAtmE8MPn9n5kdyt7WVgMrJbT+HLhUAtr3qOFgHZP37i4cHb0TP6hjjB/XYZE6rUSbEQz8MYUNmxm43TsW2+U/puTYJUq2ws+Df4qFBvpRegiY9Zl98cLb4vsYEvLW9HaZZeFH5+2up1OicU7CYT17HE8kWGoxiPYWAgdJtfMGG3lRRsLT47SsnrBTKlPtcqIHywihJez9DZgUubfV+Lx2QmdYQVfSnn1kRlrCPWN+npKps5wVY3pkIuwjC2QEizNaG9L83c7Fo/JIoXLr2VzaXW1H031f/s62Z0Zq82Atd641CJzKXnWuvRC9YhTi7llBvkgb7cxHoDhQf5XI3zB4v X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93004095)(3002001)(3231355)(944501410)(52105095)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:MWHPR0201MB3514; BCL:0; PCL:0; RULEID:; SRVR:MWHPR0201MB3514; X-Microsoft-Exchange-Diagnostics: 1; MWHPR0201MB3514; 4:j56g67xwu2GcHllGrmttGPg+8e/8zqrdeczcvOI9T0TtzeJvyvKEuxFGZ1nl6zyvIRB/gXgRUzVlW3eIaCzovShp9EGuSCYPvU09nRkXh0iQ8NFnRPU5akrKh6Ey4RG9MFD2KLrrJxq2n3/tqamEx1nWE1dIjVq+t8HelGEyUAFciA9Dh+6FzQx5bzjCUNzMN1uZnmfW/5l3x4Nwnd0HdUwW2+z1H7knjy6jC4hYfom3rYDTi+luvgxAONYxdDPoMX3eDslcRwpE5zfj7g0XNbsKFaXl2SuAUSyyckqb3BMRzF7CTfBLZkGD6Eykl3OB X-Forefront-PRVS: 083691450C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR0201MB3514; 23:OBLi1/qOyvBqeHa3Iz1f2ThaehoLFY+PtqjpeGs?= X9MQkHWmfpT2A3LOS8HoBgg3uFN+CVQBuX4DADeS0YI5YxBe6eg2F7vy8pKtVBvXYkE9aLgpgbUMPn7c14+V9Y8LjPh+yNAaYjCVU1IyzQ0/iszXVvUJsm/LkvfIvp2t4+T3vv5j4k3HGsIgvMrBPZpXQOFaEKYx4PSToa61xSjb3InzVJyXCvtXTVtTwjX8QrDF1L18myJ7Y53Br0mI8VWVa2kBRAhth30CY8QBLGTyzyuxl06oK1dTeGcnfAINswo6Nzkx4yNm9ILuUTfLsSyBM+p4M2RYs4WNihe1i4Dw8yR3UDVI48BdKzn0otY9xPiM5KBS8Ke8+z4Er8O+jcbuke9IzbvbTXe7Zvu6sATvhkqdwlsk1e2jduX7nH1xk98s5HlMzPx5ar4p938rVSF/09KwHnAWdTL/bl7zqUMlPzIBQ7KMQe1KPq6ROMKjxsFapQj/3UxFTlKkIs6VuITOF2ZT3JEtAXz6M74SRtFExZOpburOGVCWsG9QIAXLImrelgU56u1U1TcrX89kHPKXUynKr5GXf2RSGV9snMjuDzS7h6xqtlxqIwotkdW3kcesOzIoR6KPBIYqaprGl4BKhbHxC+g9dZGjJuxzLEYcEopQkayEicPjnrSgIz8Ne/MDaUTQWcf9jsc9M20nx+1ZEGrT0BTIT+kHydNU3NACZvsh3lFTDOazIaKJBatsgvSBGPWioc4zUKDjG3lN4mcDXjFBESTPGi3W5mrpFcAVFVX9iZwUQmaZTtWUXKyDSCJRy7urhRBYn05mflyEgJzsbtc3Ht6B86C3M/XetABMRDE3GpQq6VAezjRET2eonEkyn78b+4oLiiAYvlhdVEcjwBqt6p8WAfvJk03utXeJsNGTOOdslRaRw0AJUdO/IZ++yDekgKWPKRi1LpFzndn2oxQZPT5OR0QSoeaVdecbHekPT4uhfqzAkBwdeyHM9mfG+VTvuBQ559lMSBULNtIeDMlEk1kJUDEzYWKkGliLaPIXj4A0Hz12aTpbvpxgxD+5PHQbyiK/7bnDFZKB80IEXxr09X7h/0mIB1khABj8e4pJrKGtYolRKRK1qgAXJEzVF9HKz+cUAfz9rhJTqwDN7W1um3lUX7NoZ8ObUdZH8I2dvzh3d7ZfEPKcGViKTHsdbekLlSy6WrzwT31C2RNZ6ORLAOCcpLmB+NBG1ss8GEA== X-Microsoft-Antispam-Message-Info: o4UfXXvKDTnMqFvDmsNn752bvE9uMs4a+0Va7AOM+yTGOLUPzmhac0dJXRIPjiH7nlAlegYBbipVT6m69XDMDf+ovKVW6h6qrKP65PhkjBfoYcBc8xswvo0FlViq0sK4BWjYB4At3E6le3MrHy//eUj2q1G4/EZXh+Oi7dkOgktsJMtbyuLgrVsb838IJsTqVfcUpPIMA/RZt2Knb0QkZ/x9e+bsLji+QWyxRGe7rBmuEsyLb5e56hqCyGbkCd3TBIFanDbGUTYjAaTd4lUuVkPDSexqOD1ydU6pqTA7A+qTfaq36qWDCpKOM8tugQp9nrFeM3Jvc2lPsfb4P1hh1Q8o8mGQu2isIMys4wu4+94= X-Microsoft-Exchange-Diagnostics: 1; MWHPR0201MB3514; 6:AauwBtbttoNyUj/QzKFci25mn7hB2ll/rXU8c7vg3F1gw8px5/B2MR2elKV5Fv1LpaJsmugfdzWafpVJMEYqUQ4jcbaQNI2/SdYCLDOgNSPjWGrqjsKt+rX2HzM7b4L/TCZlkXWtKcHH3uECE7bO5ZtDgJOgcR+lRzDM05czSSkcsU5WxwXYnYy64bcNqO9Nsscta9jujTu6itYetHx2Hu8QEg9uDBAl5Q/g7YlzZov8dsTV/dODpzqRlKKSCNGCizQ0gQQ4wpGGzgOnksu1gkTTaK/XjwXIl25D7lgTFkSAnalLzDOS2BnJA7FG8Q60ln+ppm/GiUaK0BokKhdvHIUKRUN305RZbS0onuvA+Dj/HdXgtzHXPNxJdjxkPGgw2gkJ+eTq5dS1wf+Rqszyd7ixZWdaow9LQJYqflT+A3aM0UG+mphzdcfXO0FGU9hV7pwkL19cGt2tlse1qxG/AA==; 5:guO0wsUtfr/AmDYWHdyimycCXUbGbRVVWKo8AY44o/6X2atA5ECUklhvpBHjgHIQYXe77G96JZmL8mcpKle/fRRFODoUgpFJMDjbVbL2pdfdQdWxXZEld/DgexEOz8RJrsyDc6MEHZNil8NV4pvIkMvM98io/XDNgLU/2KvDLPg=; 7:O3xOBCMr2XXnVz9OwWPTewSN2ZclZdl3jpXadcMxcUJsP9eMv2agFq3oDD6gT7fKIe5QXaqCGgXi7gTNnFBgtQOnWKt+x6Y/40BgcR3vY7muHVt4aFYmQYImwjrdF1jSQ2ZuNoKBhsJ3j+RsTP5FvMGAu46qnsxZvF9otMkWVlceN5q1yL+/chb/qVqvLo3tpooeAdROR7Uok1WyJBlpaEwOzHSJKSOIgDITzyFAG2IuuxEbSSK/fzjC/boKiUzx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2018 12:26:06.2530 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 70d4f992-07fe-45ca-8456-08d63a750988 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0201MB3514 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181025_052619_812136_2572E1EB X-CRM114-Status: UNSURE ( 9.98 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP This Patch Adds reset API's to support release, assert and status functionalities by using firmware interface. Signed-off-by: Nava kishore Manne --- Changes for v2: -None. Changes for v1: -None. Changes for RFC-V3: -None. Changes for RFC-V2: -New patch. drivers/firmware/xilinx/zynqmp.c | 40 +++++++++++ include/linux/firmware/xlnx-zynqmp.h | 136 +++++++++++++++++++++++++++++++++++ 2 files changed, 176 insertions(+) diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c index 84b3fd2..cd13b06 100644 --- a/drivers/firmware/xilinx/zynqmp.c +++ b/drivers/firmware/xilinx/zynqmp.c @@ -428,6 +428,44 @@ static int zynqmp_pm_clock_getparent(u32 clock_id, u32 *parent_id) return ret; } +/** + * zynqmp_pm_reset_assert - Request setting of reset (1 - assert, 0 - release) + * @reset: Reset to be configured + * @assert_flag: Flag stating should reset be asserted (1) or + * released (0) + * + * Return: Returns status, either success or error+reason + */ +static int zynqmp_pm_reset_assert(const enum zynqmp_pm_reset reset, + const enum zynqmp_pm_reset_action assert_flag) +{ + return zynqmp_pm_invoke_fn(PM_RESET_ASSERT, reset, assert_flag, + 0, 0, NULL); +} + +/** + * zynqmp_pm_reset_get_status - Get status of the reset + * @reset: Reset whose status should be returned + * @status: Returned status + * + * Return: Returns status, either success or error+reason + */ +static int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, + u32 *status) +{ + u32 ret_payload[PAYLOAD_ARG_CNT]; + int ret; + + if (!status) + return -EINVAL; + + ret = zynqmp_pm_invoke_fn(PM_RESET_GET_STATUS, reset, 0, + 0, 0, ret_payload); + *status = ret_payload[1]; + + return ret; +} + static const struct zynqmp_eemi_ops eemi_ops = { .get_api_version = zynqmp_pm_get_api_version, .query_data = zynqmp_pm_query_data, @@ -440,6 +478,8 @@ static const struct zynqmp_eemi_ops eemi_ops = { .clock_getrate = zynqmp_pm_clock_getrate, .clock_setparent = zynqmp_pm_clock_setparent, .clock_getparent = zynqmp_pm_clock_getparent, + .reset_assert = zynqmp_pm_reset_assert, + .reset_get_status = zynqmp_pm_reset_get_status, }; /** diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index 015e130..29d83ca 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -34,6 +34,8 @@ enum pm_api_id { PM_GET_API_VERSION = 1, + PM_RESET_ASSERT = 17, + PM_RESET_GET_STATUS, PM_QUERY_DATA = 35, PM_CLOCK_ENABLE, PM_CLOCK_DISABLE, @@ -73,6 +75,137 @@ enum pm_query_id { PM_QID_CLOCK_GET_ATTRIBUTES, }; +enum zynqmp_pm_reset_action { + PM_RESET_ACTION_RELEASE, + PM_RESET_ACTION_ASSERT, + PM_RESET_ACTION_PULSE, +}; + +enum zynqmp_pm_reset { + ZYNQMP_PM_RESET_START = 999, + ZYNQMP_PM_RESET_PCIE_CFG, + ZYNQMP_PM_RESET_PCIE_BRIDGE, + ZYNQMP_PM_RESET_PCIE_CTRL, + ZYNQMP_PM_RESET_DP, + ZYNQMP_PM_RESET_SWDT_CRF, + ZYNQMP_PM_RESET_AFI_FM5, + ZYNQMP_PM_RESET_AFI_FM4, + ZYNQMP_PM_RESET_AFI_FM3, + ZYNQMP_PM_RESET_AFI_FM2, + ZYNQMP_PM_RESET_AFI_FM1, + ZYNQMP_PM_RESET_AFI_FM0, + ZYNQMP_PM_RESET_GDMA, + ZYNQMP_PM_RESET_GPU_PP1, + ZYNQMP_PM_RESET_GPU_PP0, + ZYNQMP_PM_RESET_GPU, + ZYNQMP_PM_RESET_GT, + ZYNQMP_PM_RESET_SATA, + ZYNQMP_PM_RESET_ACPU3_PWRON, + ZYNQMP_PM_RESET_ACPU2_PWRON, + ZYNQMP_PM_RESET_ACPU1_PWRON, + ZYNQMP_PM_RESET_ACPU0_PWRON, + ZYNQMP_PM_RESET_APU_L2, + ZYNQMP_PM_RESET_ACPU3, + ZYNQMP_PM_RESET_ACPU2, + ZYNQMP_PM_RESET_ACPU1, + ZYNQMP_PM_RESET_ACPU0, + ZYNQMP_PM_RESET_DDR, + ZYNQMP_PM_RESET_APM_FPD, + ZYNQMP_PM_RESET_SOFT, + ZYNQMP_PM_RESET_GEM0, + ZYNQMP_PM_RESET_GEM1, + ZYNQMP_PM_RESET_GEM2, + ZYNQMP_PM_RESET_GEM3, + ZYNQMP_PM_RESET_QSPI, + ZYNQMP_PM_RESET_UART0, + ZYNQMP_PM_RESET_UART1, + ZYNQMP_PM_RESET_SPI0, + ZYNQMP_PM_RESET_SPI1, + ZYNQMP_PM_RESET_SDIO0, + ZYNQMP_PM_RESET_SDIO1, + ZYNQMP_PM_RESET_CAN0, + ZYNQMP_PM_RESET_CAN1, + ZYNQMP_PM_RESET_I2C0, + ZYNQMP_PM_RESET_I2C1, + ZYNQMP_PM_RESET_TTC0, + ZYNQMP_PM_RESET_TTC1, + ZYNQMP_PM_RESET_TTC2, + ZYNQMP_PM_RESET_TTC3, + ZYNQMP_PM_RESET_SWDT_CRL, + ZYNQMP_PM_RESET_NAND, + ZYNQMP_PM_RESET_ADMA, + ZYNQMP_PM_RESET_GPIO, + ZYNQMP_PM_RESET_IOU_CC, + ZYNQMP_PM_RESET_TIMESTAMP, + ZYNQMP_PM_RESET_RPU_R50, + ZYNQMP_PM_RESET_RPU_R51, + ZYNQMP_PM_RESET_RPU_AMBA, + ZYNQMP_PM_RESET_OCM, + ZYNQMP_PM_RESET_RPU_PGE, + ZYNQMP_PM_RESET_USB0_CORERESET, + ZYNQMP_PM_RESET_USB1_CORERESET, + ZYNQMP_PM_RESET_USB0_HIBERRESET, + ZYNQMP_PM_RESET_USB1_HIBERRESET, + ZYNQMP_PM_RESET_USB0_APB, + ZYNQMP_PM_RESET_USB1_APB, + ZYNQMP_PM_RESET_IPI, + ZYNQMP_PM_RESET_APM_LPD, + ZYNQMP_PM_RESET_RTC, + ZYNQMP_PM_RESET_SYSMON, + ZYNQMP_PM_RESET_AFI_FM6, + ZYNQMP_PM_RESET_LPD_SWDT, + ZYNQMP_PM_RESET_FPD, + ZYNQMP_PM_RESET_RPU_DBG1, + ZYNQMP_PM_RESET_RPU_DBG0, + ZYNQMP_PM_RESET_DBG_LPD, + ZYNQMP_PM_RESET_DBG_FPD, + ZYNQMP_PM_RESET_APLL, + ZYNQMP_PM_RESET_DPLL, + ZYNQMP_PM_RESET_VPLL, + ZYNQMP_PM_RESET_IOPLL, + ZYNQMP_PM_RESET_RPLL, + ZYNQMP_PM_RESET_GPO3_PL_0, + ZYNQMP_PM_RESET_GPO3_PL_1, + ZYNQMP_PM_RESET_GPO3_PL_2, + ZYNQMP_PM_RESET_GPO3_PL_3, + ZYNQMP_PM_RESET_GPO3_PL_4, + ZYNQMP_PM_RESET_GPO3_PL_5, + ZYNQMP_PM_RESET_GPO3_PL_6, + ZYNQMP_PM_RESET_GPO3_PL_7, + ZYNQMP_PM_RESET_GPO3_PL_8, + ZYNQMP_PM_RESET_GPO3_PL_9, + ZYNQMP_PM_RESET_GPO3_PL_10, + ZYNQMP_PM_RESET_GPO3_PL_11, + ZYNQMP_PM_RESET_GPO3_PL_12, + ZYNQMP_PM_RESET_GPO3_PL_13, + ZYNQMP_PM_RESET_GPO3_PL_14, + ZYNQMP_PM_RESET_GPO3_PL_15, + ZYNQMP_PM_RESET_GPO3_PL_16, + ZYNQMP_PM_RESET_GPO3_PL_17, + ZYNQMP_PM_RESET_GPO3_PL_18, + ZYNQMP_PM_RESET_GPO3_PL_19, + ZNQMP_PM_RESET_GPO3_PL_20, + ZYNQMP_PM_RESET_GPO3_PL_21, + ZYNQMP_PM_RESET_GPO3_PL_22, + ZYNQMP_PM_RESET_GPO3_PL_23, + ZYNQMP_PM_RESET_GPO3_PL_24, + ZYNQMP_PM_RESET_GPO3_PL_25, + ZYNQMP_PM_RESET_GPO3_PL_26, + ZYNQMP_PM_RESET_GPO3_PL_27, + ZYNQMP_PM_RESET_GPO3_PL_28, + ZYNQMP_PM_RESET_GPO3_PL_29, + ZYNQMP_PM_RESET_GPO3_PL_30, + ZYNQMP_PM_RESET_GPO3_PL_31, + ZYNQMP_PM_RESET_RPU_LS, + ZYNQMP_PM_RESET_PS_ONLY, + ZYNQMP_PM_RESET_PL, + ZYNQMP_PM_RESET_PS_PL0, + ZYNQMP_PM_RESET_PS_PL1, + ZYNQMP_PM_RESET_PS_PL2, + ZYNQMP_PM_RESET_PS_PL3, + ZYNQMP_PM_RESET_END +}; + /** * struct zynqmp_pm_query_data - PM query data * @qid: query ID @@ -99,6 +232,9 @@ struct zynqmp_eemi_ops { int (*clock_getrate)(u32 clock_id, u64 *rate); int (*clock_setparent)(u32 clock_id, u32 parent_id); int (*clock_getparent)(u32 clock_id, u32 *parent_id); + int (*reset_assert)(const enum zynqmp_pm_reset reset, + const enum zynqmp_pm_reset_action assert_flag); + int (*reset_get_status)(const enum zynqmp_pm_reset reset, u32 *status); }; #if IS_REACHABLE(CONFIG_ARCH_ZYNQMP) From patchwork Fri Oct 26 12:24:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nava kishore Manne X-Patchwork-Id: 10655755 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F02E413A4 for ; Thu, 25 Oct 2018 12:27:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DB0C72B821 for ; Thu, 25 Oct 2018 12:27:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CD9FC2B826; Thu, 25 Oct 2018 12:27:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DATE_IN_FUTURE_12_24,DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 34B9B2B821 for ; Thu, 25 Oct 2018 12:27:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=R0v9JdZZGE+x1aKEXO/ckxO1+3BUoaSud1M/WxOf4hk=; b=NZOIaqD/nyhrCZ 9NxgiY6ybYOcnm0tM7PH0jPWOZn0lUPG3k48EEudWb2bo6JI9da1AlhzckNeYMXRckUB1N1yIeBuF GYqGOoh/GDqt+H+iRxBDYLK664LeRdzwCmACBtJNLA6qiKKGraGEnpj6CIWECPdWHyACDHo7qclcH tdZVXUaF9eJnqkJt/fluftA9VJMEpGGgb0ncQ+MIh4j7k2Q4cBgGWlSJVT/sjLrw+2cS3HLrNWxAC W4sXQgEiE7nr+eckj0IM0vhLDsUTFw635ZP0+2em91FS7Sa1xuZaG2lVi9jzjCOKlcc9OrZ5okl/P X7Xz9pdo+Fwhfr5AROKg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFej5-0001B2-5F; Thu, 25 Oct 2018 12:26:59 +0000 Received: from mail-co1nam03on0044.outbound.protection.outlook.com ([104.47.40.44] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFeiR-0000ps-W8 for linux-arm-kernel@lists.infradead.org; Thu, 25 Oct 2018 12:26:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jw8gAFzjyZUfQ7ttHyn3sX5wOYy+HzdyMfQqSqCzNyw=; b=CS/9aMftZCeR5lBK37Hx4w7ZmSbcurHyS72SXMDZn6eHvE18WUGU2rUmcTgOqPQaWTA8TPs+GO6XiMLoHU/1Bxcc4sk+GAB2UJwI1UCFbmEpBUdBew3jJkUrnSbJkQrb3tpSM2BHGi5yPgLpAt7E6P3hHrUfAx06kvjqrR6T4k0= Received: from MWHPR0201CA0024.namprd02.prod.outlook.com (2603:10b6:301:74::37) by BYAPR02MB4453.namprd02.prod.outlook.com (2603:10b6:a03:57::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.19; Thu, 25 Oct 2018 12:26:07 +0000 Received: from SN1NAM02FT011.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::209) by MWHPR0201CA0024.outlook.office365.com (2603:10b6:301:74::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1273.19 via Frontend Transport; Thu, 25 Oct 2018 12:26:07 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT011.mail.protection.outlook.com (10.152.72.82) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1273.13 via Frontend Transport; Thu, 25 Oct 2018 12:26:06 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1gFeiD-0004dL-R1; Thu, 25 Oct 2018 05:26:05 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gFei8-00057l-NE; Thu, 25 Oct 2018 05:26:00 -0700 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w9PCPx6q021632; Thu, 25 Oct 2018 05:25:59 -0700 Received: from [172.23.37.118] (helo=xhdnavam40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gFei6-0004vY-Qy; Thu, 25 Oct 2018 05:25:59 -0700 From: Nava kishore Manne To: , , , , , , , , , , Subject: [PATCH v2 2/3] dt-bindings: reset: Add bindings for ZynqMP reset driver Date: Fri, 26 Oct 2018 17:54:23 +0530 Message-ID: <20181026122424.30831-3-nava.manne@xilinx.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181026122424.30831-1-nava.manne@xilinx.com> References: <20181026122424.30831-1-nava.manne@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(346002)(136003)(39860400002)(396003)(2980300002)(438002)(189003)(199004)(426003)(2906002)(106002)(16586007)(5660300001)(316002)(110136005)(48376002)(51416003)(26005)(7696005)(77096007)(50466002)(76176011)(36756003)(47776003)(8936002)(50226002)(39060400002)(63266004)(9786002)(81156014)(81166006)(6666004)(476003)(8676002)(478600001)(11346002)(106466001)(446003)(126002)(356004)(186003)(486006)(1076002)(2616005)(336012)(2201001)(305945005)(36386004)(921003)(107986001)(1121003)(83996005)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR02MB4453; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT011; 1:EXTjZVhV2Tyk1qKmHX8VYd038Nikil3i9oPu7ZNEMfxDxjOSikELPbd9+sUrj+YWfw2WH3+qfTA6T58agb8g4QJ4XG8KEHiHluuLAvb3e5YciLumVLj+H67CAeY3F7SJ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a5ed227f-f24d-43a3-cfe5-08d63a750994 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4608076)(2017052603328)(7153060); SRVR:BYAPR02MB4453; X-Microsoft-Exchange-Diagnostics: 1; BYAPR02MB4453; 3:Sy82i1TsI0xmuBH3D0FiCXc/ZrDkuwGxZMsBhX+rgjIpFcw/zmTX+kg1mXatpwaZRDUcwkHtKCywVSNj9IUpoIRWyV22vo3ZFYp+LAE7iYhq5WJwZ1wIi7AEVIEkTzxC5bd3Y5+g6+OsvUVJD/PGe6FtWqgCyUlyVJhcuk7CIbi8Bxaq5lVI6v+t4tAGQEXe4v/NEn9fjFw7oNptejw5R91kwll/edsDZ7apFJCD0LwSbcmg0dIhbnYRw+twZrKlll0VkIGv6ESKc+OnDvoAyHXzLXsg+K83Mu8ZSC5xGj5I6ETrrvpn5iUJCAktuv5olRNGV/vitixw5u957fOwmv7qVPjETvl96dGljgR0Yvk=; 25:SBLKtkPMZqHGAPGgHwpFxKWmBlknzYDSS3QRMkGwt3DX3r4XXPl0mXoRhNr7wuWnwQfylROYAYqCvb6JT5pEB/BpdRx8FpfTxjOPKstQXiC5gG6r7QUqHiOOvDXkYDWwKE3J5NYv0A0unNS8s8gmBeLeEbegXeU+t2H4+7amCMA7F5foeEUTOrHBZTKijsU0VMjq78jvrmIY/FIEdcUeXms6j3X5t3Ns5cyUKeQAxrudL6bR6o2mE3bU/zIWwc92qsW4ejwIHyA54XWfHUVhC3JZ/ziJeaptYqK5sLCo9KohNb+X5Q6lRWYQB+INcLmfWeoN1am1f7RU2ai/ekEwfg== X-MS-TrafficTypeDiagnostic: BYAPR02MB4453: X-Microsoft-Exchange-Diagnostics: 1; BYAPR02MB4453; 31:caaVxZZxQRymMD7xAHwl3N4Q8wrNEoGDi+mSka3HaE5xSQCMcf1VoDx+v8JPSSu+zMqYUjVnUnupeYEPvKoVU0RgJY+9mfpid4UggWYZOYwVDnW3YMsYd/U8TxCog2vIWKf1w7ot4YrKQfBM/x66KCrBgtJILfcoeBkfSDSXI3kvQ8M0gX2gGFeqzOhQKVDiVKbpOLcUrHBHx/ieEF4qx6ETHA4ASHsgrUtjFynhmLI=; 20:lp88o85549CsX36EhUNXNBup6wVFZeb7fXYCPHfuvXGjAwmvo+ebT71zfxLWe9al2SBaFax1/Ug6a9LkXxqLDtmymlh8HXtnOQtLrjn2QneRY4oaPm4U89aumVII9cTBQUZITey1gW8oF48uJszEyfxti3EpAASDoBX+vsQHhtZGLifLGYnZOvQbi58q7z7hmDHUs8Iu34z3V8GNKOcQVY3HugGwla9gzS/8k+OYMQU1xtBIUC47y2pcg7waiFFgT1kbXFCV49TJ4/Q4akeR7LOQdHtkLynFxkbYOX23oBzwJ801nEqI4ocs328l8hoIedGrsVcwJxqfjlukJ+XjhrTm1k+13eFsJKoUMZrwUB+/T7+qKG88GiGIeKVsdHfQ3aKddgSOhWUR6K3TX/4nZg+GTUATfuWXWWI6gwG6omdbc2KZWCA3o90YgczObiLd49+9Z288w08gv5rkQuZcnYy5Zz9OR8sDbVeO2Bn4sdwxd8zj7Az5+EV6i2ijynt2 X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592)(17755550239193); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93004095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:BYAPR02MB4453; BCL:0; PCL:0; RULEID:; SRVR:BYAPR02MB4453; X-Microsoft-Exchange-Diagnostics: 1; BYAPR02MB4453; 4:fWDQIn6cfv9fJdngFr3UQovTuC1xvu36FhIljo0IgZs31cLOazElCQM0ptsbf8N3vyyJmzKkz7GNsO5oOQrZYiBKhJImbMaw/jajAeOPqBePfSGkYe7cQ6PP7tOT66wqw2P7BqT+vRhRaBkvh1yRIzgBIr87sbjvq+nF0g6Iebwf+ZEnp09FDbvUuJeoegtLPWA7aiQzDUGThtoFBoQWDVHxIvehWSj+NXH8p5ecam38dbaquPsibrmHozDNPr2fYC3XM8UE80k2O12XxtUXwBIFm/okBkbQElG1ORMPWc7i65DYIEy57Baof86JpieMYDtRRGnFGC5W2P+Hvg5z0wDCXT9ibb74gLjLPwO4pCo= X-Forefront-PRVS: 083691450C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BYAPR02MB4453; 23:ovZWHcz2jofAKDWXfs/ntOMej3g8sr4XmlcF7eWXv?= wktIy+4aSD8BEKarY/L3W1CBaxqtI0MjnKIz9OPIHQVa+3OWXsnJpkI7gOKKEvtRFanXNj+aTR+0ApwVkpRuLltHclviFDrNz/YuGoYyjDjS0l6d4kRqpcwaqaBscXYYxYON9pSMinNpvT+f2BIF1ounDvaxMTZDx2JJKsXtC7PgAbWfw4VSfYb6nFMQ22iGAYsfzxZX3rVVTBmfB1rUSJjmFqSHF5G/3rrc44jqZyUEOxXjgvmoHpks/UCUggdpAE+fkKH82KZUgqM9Sg/RjByyNji0SsF6MBksWYSk2l2ZZcIyukBLWAq3p+Ojl/jHNc6lJlHCWVHAUqchNFBKywrebDGyTL756xLC9qTL648+38YsjSBlmfVZ01CXYIovQxox39vPw3Uy7vuip2GnNEP754YnSzUb06wI/GKZy7BcVmSfv++kPS0Tg/ywOV46j3e8wAnQY3lQAR8QGmRoPBOmK4X7v8G2ERpjbP5dSw5x3UOewEIu0BH5BO7wNbIzwLl6dQ6tqXhOnXyAA3n7ly2MLLH+ErtgVzUvvOeai2d5bCbqEClVigFlasl+tdnGPcya+tAtdmlGMH52f3AXl7+YyI5eNY+Q7Y9xzGtT3ynFyAb9Wd5OIwOyRTOc4ZzswciEmZ7Onz8fwkfkHncYpVVs+bdpSY1lQKrnYmIyovInUXsaRQ8WzRTJ0kJl55LWQhfsJ+Xzn+oTckcGGwe0VtqCvuX+qe0oJA6NYcyVGhqlcNE/ApEnNtonGh5Ln+gTA0dc5/eT2XLDKKB7laYR40X7/yThE3Q0SG5+E0HiCxfavEfr6eJCs8lIp1ceViFnVPEbvAwtkfojo7qoyx0kIUB8xFs2+QQ4om0TSygQtrCcvGFforBaK23o5zzWHHOxXzCrq/hTN3psCXGtHMilKhEDabe0JnttugtyHfypHCIIys+P+zcVSVNcldXhp6ZGnTxexDsiv0H3lNDuCroyieaAMahPvYcqhBnpBpXVf0liF5UqF3UilN/ksMBMb9qiJDstaVUiLRN/ko7Fk+K6koK+CfXtVbjYxlpY0sl5XNJzPTYy/R5f+NffQ1ZDa6uFN6LzpNK+wc5ULeHXI8FMC8VB2zyuM5SRSKV9ttoQd7dCEBFwC8tKKKCm1U4HvoQlz8= X-Microsoft-Antispam-Message-Info: 5SqbsDnNFt5jGR7rc3kF8wMSZcGPMMKoFxxXhgfIYJjH/OYqjzV/GND+kqpX32iroIhVHom36boId9lR21c4JIhVhWoHPrj+NQ/HhmYBGMqDEkep/1uy5jXkJdXknFZ3dKujCQgd5vOEmFuUXNP3Npi5jf/fwTvCq8xgvC3g1gnaBgsne4jakJ4zlBEyiqwq+DFzsANFqPumIdQ3OxuFGPdwELWQQ/B0cmOEUnezP4vt+wgKNCZRGhHeg0CUEzHblYtwQpY7NywBW6G8ruGfFkaOWwJY7hpnc5zCzSngwn3Lf4txS6cnFBxlwHxPqtDVd6+CBb2l3wTrq3yIsvaz64zKRS/F0KlP3qatwheYB3k= X-Microsoft-Exchange-Diagnostics: 1; BYAPR02MB4453; 6:NpQ5F6IHZCObucReT8MciNt6/+JGEMxK0hYh2BNO5ztthsu+iAYpyWO8oABhgpt8cuS+KX2Ls7q1QJmmQoLN74TDzECQikWszG8FCXAs81Y8SpmOHYbsnSEGawoLGKe6qJEwT94bYU41V1kSx25xPAKol9gclxuQXkyFu8O2TK/kS1/EVGCgvLF6u1iMGeK6RPouhF3K4GKsZuL0WKhYC4ZgyalXRvwYB8vnB0Upk6AADyEQ92aCWIQANqZFjcxUeD+HeBG3EUtvNMsTBqdSP8xOBInQ3gD/Yyopr3wyFQ0eofCG4ifDx3wiWfJji98O+FD20l/uxlQAS1/07rxk89hv29RRLekCtQGOmjqX9dsBU/lzgSKZRlv9ji6aAF/qKmcWM9zFFxE7jIx0BUEc/EEe7sqIhOl0TgJiHx2gk4/Leoo9kyV83nFD/4n4rZ8lfEWqYsU2WgncnsK8KgZTWQ==; 5:DPE49wpDQH5QIhrTVL4htYfPXFzUGwwOSQzqax1cxjo885l1+TfC8cCX/DLL33JU1OqlE8+5BAbFov+g63UrEQh63m0r2IvdJT06qxCqAdu9djkPvKShqXSxwiN8D/WtbK9zLhYYMCEuz+8Tmd/ofn8yYTy9oFT/nunmD+4A3wk=; 7:004yV3OSXvTMAj5vb7VQfI/h6S/rEj7kSSjOq3JxDO9zMV93XAY7c016VDcG/cC1kn8zlYzcIbWQStLqNZ+xtT1ev43HnnecrgJEz+PFinE05m8xqnZH/wUx7+uFfqGRZ3oAWsL2Q4rsa25ryEcMfw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2018 12:26:06.2086 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a5ed227f-f24d-43a3-cfe5-08d63a750994 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB4453 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181025_052620_096576_F36F7686 X-CRM114-Status: UNSURE ( 9.73 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Add documentation to describe Xilinx ZynqMP reset driver bindings. Signed-off-by: Nava kishore Manne --- Changes for v2: -None. Changes for v1: -Created a Seperate(New) DT binding file as suggested by Rob. Changes for RFC-V3: -Corrected Commit Msg. Changes for RFC-V2: -Moved reset node as a child to firwmare node. .../bindings/reset/xlnx,zynqmp-reset.txt | 146 +++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt diff --git a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt new file mode 100644 index 0000000..c42b6a2 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt @@ -0,0 +1,146 @@ +-------------------------------------------------------------------------- + = Zynq UltraScale+ MPSoC reset driver binding = +-------------------------------------------------------------------------- +The Zynq UltraScale+ MPSoC has several different resets. + +See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information +about zynqmp resets. + +Please also refer to reset.txt in this directory for common reset +controller binding usage. + +Required Properties: +- compatible: "xlnx,zynqmp-reset" +- #reset-cells: Specifies the number of cells needed to encode reset + line, should be 1 + +Reset outputs: + 0 :PCIE config reset. + 1 :PCIE bridge block level reset (AXI interface). + 2 :PCIE control block level,reset. + 3 :Display Port block level reset (includes DPDMA). + 4 :FPD WDT reset. + 5 :AF_FM5 block level reset. + 6 :AF_FM4 block level reset. + 7 :AF_FM3 block level reset. + 8 :AF_FM2 block level reset. + 9 :AF_FM1 block level reset. + 10 :AF_FM0 block level reset. + 11 :GDMA block level reset. + 12 :Pixel Processor (GPU_PP1) block level reset. + 13 :Pixel Processor (GPU_PP0) block level reset. + 14 :GPU block level reset. + 15 :GT block level reset. + 16 :Sata block level reset. + 17 :ACPU3 power on reset. + 18 :ACPU2 power on reset. + 19 :ACPU1 power on reset. + 20 :ACPU0 power on reset. + 21 :APU L2 reset. + 22 :ACPU3 reset. + 23 :ACPU2 reset. + 24 :ACPU1 reset. + 25 :ACPU0 reset. + 26 :DDR block level reset inside of the DDR Sub System. + 27 :APM block level reset inside of the DDR Sub System. + 28 :soft reset. + 29 :GEM 0 reset. + 30 :GEM 1 reset. + 31 :GEM 2 reset. + 32 :GEM 3 reset. + 33 :qspi reset. + 34 :uart0 reset. + 35 :uart1 reset. + 36 :spi0 reset. + 37 :spi1 reset. + 38 :sdio0 reset. + 39 :sdio1 reset. + 40 :can0 reset. + 41 :can1 reset. + 42 :i2c0 reset. + 43 :i2c1 reset. + 44 :ttc0 reset. + 45 :ttc1 reset. + 46 :ttc2 reset. + 47 :ttc3 reset. + 48 :swdt reset. + 49 :nand reset. + 50 :adma reset. + 51 :gpio reset. + 52 :iou_cc reset. + 53 :timestamp reset. + 54 :rpu_r50 reset. + 55 :rpu r51 reset. + 56 :rpu_amba reset. + 57 :ocm reset. + 58 :rpu_pge reset. + 59 :usb0_core reset. + 60 :usb1_core reset. + 61 :usb0_hiber reset. + 62 :usb1_hiber reset. + 63 :usb0_apb reset. + 64 :usb1_apb reset. + 65 :ipi reset. + 66 :apm reset. + 67 :rtc reset. + 68 :sysmon reset. + 69 :afi_fm6 reset. + 70 :lpd_swdt reset. + 71 :fpd_reset. + 72 :rpu_dbg1 reset. + 73 :rpu_dbg0 reset. + 74 :dbg_lpd reset. + 75 :dbg_fpd reset. + 76 :apll reset. + 77 :dpll reset. + 78 :vpll reset. + 79 :iopll reset. + 80 :rpll reset. + 81 :gpio_pl_0 reset. + 82 :gpio_pl_1 reset. + 83 :gpio_pl_2 reset. + 84 :gpio_pl_3 reset. + 85 :gpio_pl_4 reset. + 86 :gpio_pl_5 reset. + 87 :gpio_pl_6 reset. + 88 :gpio_pl_7 reset. + 89 :gpio_pl_8 reset. + 90 :gpio_pl_9 reset. + 91 :gpio_pl_10 reset. + 92 :gpio_pl_11 reset. + 93 :gpio_pl_12 reset. + 94 :gpio_pl_13 reset. + 95 :gpio_pl_14 reset. + 96 :gpio_pl_15 reset. + 97 :gpio_pl_16 reset. + 98 :gpio_pl_17 reset. + 99 :gpio_pl_18 reset. + 100 :gpio_pl_19 reset. + 101 :gpio_pl_20 reset. + 102 :gpio_pl_21 reset. + 103 :gpio_pl_22 reset. + 104 :gpio_pl_23 reset. + 105 :gpio_pl_24 reset. + 106 :gpio_pl_25 reset. + 107 :gpio_pl_26 reset. + 108 :gpio_pl_27 reset. + 109 :gpio_pl_28 reset. + 110 :gpio_pl_29 reset. + 111 :gpio_pl_30 reset. + 112 :gpio_pl_31 reset. + 113 :rpu_ls reset. + 114 :ps_only reset. + 115 :pl reset. + 116 :ps_pl0 reset + 117 :ps_pl1 reset + 118 :ps_pl2 reset + 119 :ps_pl3 reset + +------- +Example +------- + + reset-controller { + compatible = "xlnx,zynqmp-reset"; + #reset-cells = <1>; + }; From patchwork Fri Oct 26 12:24:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nava kishore Manne X-Patchwork-Id: 10655757 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5922213A4 for ; Thu, 25 Oct 2018 12:28:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4664C2B821 for ; Thu, 25 Oct 2018 12:28:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3A3182B826; Thu, 25 Oct 2018 12:28:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DATE_IN_FUTURE_12_24,DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C64492B821 for ; Thu, 25 Oct 2018 12:28:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CXuFZqhaSSdTMYVmzn0UXt0zJUuxHw174WsBvhnL+f8=; b=Oj0TjSlt/oTiQf t3f5PHb70Ki7c0oB2ObCZwTODYnfasEua7NFieiKPoxegzi/LXG8ggj5oGCZClOe0gjMX1JH5J63c GqQWKVjZnf5K+SQXfo3ztUI1o/978p7MsWAnyIqE4cs1nNxf7r3VEvxV87GX9ix+sYVLMVjKPMXC1 YCe4icW63mqhEyyZ4dDVNmU8SqATAtDEkfRTVRXosen30bl4zAhP4pMnhB3qPd1s/HbJZTLOnbqgk 8jJMSwwep2XnjN8h5tC+fF+jZOzZKNpftmtNXsBgDFmj5jVTyMERTJJI74AGoHXqvz69lMUK1KFU5 8PoXyEclcszBQYHzNLTw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFejx-0001Ud-0q; Thu, 25 Oct 2018 12:27:53 +0000 Received: from mail-sn1nam02on0050.outbound.protection.outlook.com ([104.47.36.50] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gFeib-0000r2-Ie for linux-arm-kernel@lists.infradead.org; Thu, 25 Oct 2018 12:26:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lHVi4ueb5H/YnN56KNk4EJTMiQBEuxoQHoDhprC3Gyk=; b=ENNT1NoxEblsV1urozt+DkuW/N5eoo8z9ZZiebyDZBGtHUgT2D1X3pabUVikGr0STINe8QWmWKRE6kZAuh8KdkrisxTc8lJvTNXPJaqNm8njQ29zY8e8viR2++X0L7vNiQXWiRLc5MUm4ByUHG8yHG1AkxN3AEsGi7uKNOqeDCg= Received: from SN6PR02CA0013.namprd02.prod.outlook.com (2603:10b6:805:a2::26) by BL0PR02MB4452.namprd02.prod.outlook.com (2603:10b6:208:45::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.30; Thu, 25 Oct 2018 12:26:17 +0000 Received: from BL2NAM02FT016.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::201) by SN6PR02CA0013.outlook.office365.com (2603:10b6:805:a2::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.20 via Frontend Transport; Thu, 25 Oct 2018 12:26:17 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BL2NAM02FT016.mail.protection.outlook.com (10.152.77.171) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.1273.13 via Frontend Transport; Thu, 25 Oct 2018 12:26:16 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1gFeiO-0004dW-00; Thu, 25 Oct 2018 05:26:16 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1gFeiI-0005Ch-Sa; Thu, 25 Oct 2018 05:26:10 -0700 Received: from xsj-pvapsmtp01 (xsj-pvapsmtp01.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id w9PCQ61E021752; Thu, 25 Oct 2018 05:26:06 -0700 Received: from [172.23.37.118] (helo=xhdnavam40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1gFeiD-0004vY-Lq; Thu, 25 Oct 2018 05:26:06 -0700 From: Nava kishore Manne To: , , , , , , , , , , Subject: [PATCH v2 3/3] reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller. Date: Fri, 26 Oct 2018 17:54:24 +0530 Message-ID: <20181026122424.30831-4-nava.manne@xilinx.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20181026122424.30831-1-nava.manne@xilinx.com> References: <20181026122424.30831-1-nava.manne@xilinx.com> X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.2.0.1013-23620.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(136003)(39860400002)(376002)(396003)(346002)(2980300002)(438002)(199004)(189003)(106002)(7696005)(26005)(446003)(106466001)(50226002)(186003)(36386004)(2201001)(336012)(126002)(51416003)(11346002)(426003)(76176011)(9786002)(77096007)(81166006)(1076002)(8676002)(486006)(39060400002)(8936002)(5660300001)(2616005)(476003)(16586007)(316002)(2906002)(110136005)(63266004)(81156014)(356004)(36756003)(305945005)(48376002)(47776003)(50466002)(6666004)(478600001)(107986001)(921003)(83996005)(2101003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:BL0PR02MB4452; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; LANG:en; PTR:unknown-60-83.xilinx.com; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT016; 1:Xx6oxRMCce31CzfViQ3O3daLcsq3cZhLB8Q9vAlOd85BSBDZpk9W8Pi1I2F6QvtrxLt+tEkf9eJu/5mKWmk9ztrAQ74gsRhIsTbDwkvDJpsSxW+1e0RnNNUJnc86SVJw MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8457c48c-9f8e-42dd-a7b2-08d63a750fa0 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4608076)(2017052603328)(7153060); SRVR:BL0PR02MB4452; X-Microsoft-Exchange-Diagnostics: 1; BL0PR02MB4452; 3:VIGyg2XEk8+r5c2CBCJ165pHsF+TCSo69L5ksHRfVBvsGxe2O9ox2IdCf3hgzSqTQt7ETaY3nRJYfva5KJnJS/X6pfbWrYX4ejDcrRnxzCsUNxnhC/JXfLqYIlzcOr2wUqdhGN6yDGio6ea6ORq3sOuWiUxFpe0IT0+/rqZgs77IlSeEZydLNVRMNdGYx05oz0IL0Jx7AKtlTMDGQ24Zl3ifXEbNm6gyk/sPr2g9gtTOcfQvqosLxw+bKlGuJ6QWZa/UPXqRByyi+OC8JacBK2auFH53k6Iere0UI6zKTLL8Pq7fIb2/VQ05bTjb++ZHQOytVB4FVvKVSe1eThmkwviuSxoobgVxmTVc3gGmlKA=; 25:l6U0r2iXVXHo+kWOZEW+ICGWpE45DYubL4bPvWgc++V2GL1Nn/XaICEQxmz1NF0rDkKLXdksB6YNn2qvaB/e+8XTwpPwbEcd3p4xH41QGHab7FjzJIrIrXnt2x1gMOuoYBPM2rXU6nY1Gtsza9iFy4AM6pkW/q1NkZQHqt9mlD10+hjTSOBhXj6UKGUfKJYBLypZWqx7iO6Hbyy9rbJajakdPdSvcSZfPu/Cf+Cua+BXoywqb/MwPVdGbxMMalhJ6R1Ve/PVZgKKpgA0M+CgBr3pImNsTAfENXpWJiZuqXu8s+icYWIfYKRZl3eAa7+GB8RrgB5QIfoZkAHFhkzC+Q== X-MS-TrafficTypeDiagnostic: BL0PR02MB4452: X-Microsoft-Exchange-Diagnostics: 1; BL0PR02MB4452; 31:dtNxcjPkZkWMKRaS8lfcxz2BOCZjja8MEpjY6Vz/RBPLl7usovTYiRrS2qD3Txy0WeVJituwfCSlKWZB9kUg1b6jYd2PovIMWrjKj/uhkMGGJi+cqOX6KoJTRx7giQ6hYOyzFcZ3Lbdzh06w354cYrDagGnOAupmy1aVfTlwlcCW/9Cl4WbJvif9KPWEsRBahZ0a3orounVxze0yLOWdQj3hX6tv5K8Yc+4b1EwUbJw=; 20:VqQt8zUCvgGWFTXFoPpbUZOoOk0jpBuabALA9ED8RNIegvg8J/DDnUwfQWFCcLFymyPAC6xCjiI4ITXd4/+JLsqwuR4qAOc4HXqBNfVk+sY0ifJLwY0F+PHJym67K3f397ar9lixm/IjkTNTlbdFyNxrD2ZLy8u6CJaR2ItRpO8ZmfXXvcjgDzBcoIbXE43/HYjlDWhgU2Tj952/aR+EanAscD560kFgb0uCj5B81UF1J+dJDovagIjlsU4qk+Cbpqni+u+ZWjQ+F5C6YqIHuynYsINNnmlMSjxyc1F96ApxtePHeRWf+u6iNqUmwOq7KLYJm+QI3w3i0XQTqGwyoY4dFXHIdWIO/BmG/0xkwxmlI4kToFQzlz46+txq3pOzQZ8biZYwVA+RJqC3Q0SNztHLxInDBOjTilaKr2ClW96ApAqk5SnrwCHIyzvEkNcfp6c+hbsWYszgirgcmgixghXc4oXaDEONxD1A11EW33kWBFbcjPAexhyAHqjuvgXK X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93004095)(3002001)(3231355)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201708071742011)(7699051)(76991095); SRVR:BL0PR02MB4452; BCL:0; PCL:0; RULEID:; SRVR:BL0PR02MB4452; X-Microsoft-Exchange-Diagnostics: 1; BL0PR02MB4452; 4:u5uX2A0LC0batDhPBOI+IPDtbAmYEC72DJ0eajmPovclAVYxgfgwyVyOZ+MiUFHXEcq552GwMvF1W4YmBG58uzjMKer+B1McpvV1DWJmO+GEQIxYjytb3Rm35z3W6UW0e9JVjuQD9ccj8TxtBf1tyR0tV/+xiEp87cwfZRHM+Z1fv18FLzxXN4+OGoGHf/dVnpKbtrPN00Ai13qFFJx27pQwMTtAC4SxKKK8LAu/nbbvghkY35Z7sNVu9iwnHdu5RchsfayV9cwoEYv7vTdeQpHxONSDcx8S1J4hEg3U0/zixydy3pVKHCXcPR5QXTG2 X-Forefront-PRVS: 083691450C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL0PR02MB4452; 23:YtOj6Hzct8dxXrl9rdbdeKmIW5ihqrb5vIzOpUnz+?= U5wOC8dPXktxqHzSn+zpobYFECo0mhFS1XyU3U1j8q2LtEfboQIWlrr3NSpMBK1aKnBihycDVfPATtz6Ts9BZ2Kku8MrFfPZMzeg0MuGSL8uv+rDY+pB5FP4FQ9+kh61jKWOxNyUgjLApHE9aTTc7J5man4QEfHfyUQTmfP0JCxpUBAkPPFvbf6C9h5iOGtckKzNV2VvO8mk2/Wql7MwOninp6KTAdNozt+v2pcbn5wWlM4ekeBF7xgGOSsfd266Ti4YvwoCo46vHTzfyQ9iZRvhvENjCr7cXinq/bUhBX/+JCXq3fBBBMNeu3FB1HVwHqRoo3/gnNyVXjrHxXQbh5BXQJNsQs7BsYVt9mIICwFP6OkxPF7NdBLdNR9dKgxX6UBpH8UCE3lEIe/creECrZhkUukP2PkZQo2yR4wKF5phqS9uiD0TdtHELNqqRsa8XA4+2aRQuDwCWvWJzvYAvJQRgPm1LOqv6fUyLFj2vEaP83EtTbviuAzL1x5HtDmUsUQVw9M06RUccC00KUgUaI+QCjZCqQSyoa95kkAj21UOliDSTD344jXAuM8fwunulnEH1SaUcpHQm3zp6us1dYe2oePNcTGe0hdV8Z3KUeZ6mdy2m2cf/6ifnQPRYBmezk45ChAWCHDpW8kXQ5aWqpA+yrZ32E/+h1D5M+q+aGajSJ2XYtTXCSZqmZGwFbGdBJLTuZSes3PKxuVMghj6Ayhp3T/BMFOTHVC71hCOfHhnCPPNG8avn+n+CGMMIFA+bEpGdmSIDDUc6CcB7lahhKptyPQNJRrNM5gCQ+xlVVETNPj7bI36jR+vKiuU/NPl8GgbNvE5463ZZHlOMLRWTWFRNk1/X7YNRjtV1CYUWsQZ2qWxiocf8Lmb5vyu690HgUPrxaBfBUqzfXF6Dm2xyx5BSRPAt9cKJQfEzo4DjKgWQidqdDQnLItO3Pc2aiIpIcUriNvLBvKrbu2LOEE/5w3SDkNdsbmh0cteorS7sZXmJONyR5wSCZsyfqJpMM4jswCiOAFMkbbGs8l8ZYYfYaqOjP7cCdNro+Q+g3NkJ608xxbghAmKQ5fLG8YAvQ9C53R2C4/AYr5CT2n2XHkCVWSpPexUkS6JIVQFl6pQQ+iKDS7QmIz+t0NHDP9iroveaI= X-Microsoft-Antispam-Message-Info: g+mSNqfV0wEE0EYj+tx4h2A9uXkF78fb9a3F84OA5UDWwbPlEy7Pr7VojvXs0dRH05Ajf27g2yzOX8OOrQWeDvKvUmK1vT7dS5a4esePdeQTK+CDxiZDZVuc33nx9XKi8rh+/qYVA/0EqfCuu44YcGFQsQvoj4h9vVox3xW548S9CRUqQzTNzoI3HkPS/l4b8QMSOYRP/jBlAnoqiNtd43wvh2Puv8Vl3ISbrUCRREtks10WUDoH9iQfRLcUQourvDgONAwIh9y0jsDmww0Cv3fOYxsjhtcoPlXjLmszWMxEccAC6XL8WhN+vDVlPO5GNs0hTZ+OH+v2RczrBlGR1BkrUOSzA4Vb7glikS6Ec5E= X-Microsoft-Exchange-Diagnostics: 1; BL0PR02MB4452; 6:PQ99LGQWixSUvXR2KJjo9l01i6W79jQWdnC0ouKDMS9f9TnAVKRQ35cnotZ1mbCjbp/YV8DDKwpTkwhwlQNr6sdSc28rAwehfAOYE+WmfnvFSUoMcGPf8k3/Xo9xFFLJB0f68ibIKGEXJ4sVEIkne3BY2AIQ6V/4jhA/6uoQX5+yIRVCehC4OzjvhLCJQ9IkXYLd615EdB6rAo2wn3ZIsWrUU3FmzU1Azc6zQpqybZCBsqqNLNoG70/5ZA205c3ABJgGOYRX+/InZx842TX/gVS8U0II7tIKtXO1Qkg3ApR4eG4o5gWN2zlwumZSg2uhwLBOouUfNOLyPpGKyv3AuVxb6tH0g4z5sHnEhdkwY7M8tLalARIa4ccHImC6sVu15ODLuVDDhgSW5wpZmh9ivF39UGNcYEtsVK3ReX1aCxv5a6WyKP5oCMYCF/yEEZ4zheTnQUM6UGr/+pqzotUYqA==; 5:ikD/LiBmXGvYC7BLWAzxSpQeRE27UE+XRiTzYvoQXvkag/E/T6UMHa5BHuhOJPSq8rZnWcq8Wmd7IJgb+VyTiHlbgogo09OeUhJmC3sh0AFPaF32MPjWYEBb9OA4JcuHHyhE31zUdq0Y5TmJbZR7jxTd083ECz6uYrbmqEcl7s0=; 7:fed+57H2v82Bmp1j+kKXYx40t08z/2FPcGqrMqewIdLAIBsHPWj5qFmU7znF8p7WBmqueeLRMiLTkpSsY906UMmJ5eIUETYhIepC14oEowuqzHBl+zIU62rIFHeY9VgngmKItuIvBnP0eOHRJ+ZkzE+oAbCjY0LvljXjmnftnAAV7zzjY1MyGb1qjABgQnztLdy37+e33N2gFSOsJB+gGpLxupB43e5K3XRKTj0cUGTj9tp9mgKIcRo89cY0Wsdd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2018 12:26:16.4619 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8457c48c-9f8e-42dd-a7b2-08d63a750fa0 X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR02MB4452 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181025_052629_696549_B10FFF5E X-CRM114-Status: GOOD ( 13.53 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Add a reset controller driver for Xilinx Zynq UltraScale+ MPSoC. The zynqmp reset-controller has the ability to reset lines connected to different blocks and peripheral in the Soc. Signed-off-by: Nava kishore Manne --- Changes for v2: -Fixed some minor coding issues as suggested by philipp. Changes for v1: -None. Changes for RFC-V3: -None. Changes for RFC-V2: -Moved eemi_ops into a priv struct as suggested by philipp. drivers/reset/Makefile | 1 + drivers/reset/reset-zynqmp.c | 114 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 drivers/reset/reset-zynqmp.c diff --git a/drivers/reset/Makefile b/drivers/reset/Makefile index 4243c38..eb315d1 100644 --- a/drivers/reset/Makefile +++ b/drivers/reset/Makefile @@ -24,4 +24,5 @@ obj-$(CONFIG_RESET_TI_SYSCON) += reset-ti-syscon.o obj-$(CONFIG_RESET_UNIPHIER) += reset-uniphier.o obj-$(CONFIG_RESET_UNIPHIER_USB3) += reset-uniphier-usb3.o obj-$(CONFIG_RESET_ZYNQ) += reset-zynq.o +obj-$(CONFIG_ARCH_ZYNQMP) += reset-zynqmp.o diff --git a/drivers/reset/reset-zynqmp.c b/drivers/reset/reset-zynqmp.c new file mode 100644 index 0000000..cff63d9 --- /dev/null +++ b/drivers/reset/reset-zynqmp.c @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Xilinx, Inc. + * + */ + +#include +#include +#include +#include +#include + +#define ZYNQMP_NR_RESETS (ZYNQMP_PM_RESET_END - ZYNQMP_PM_RESET_START - 2) +#define ZYNQMP_RESET_ID (ZYNQMP_PM_RESET_START + 1) + +struct zynqmp_reset_data { + struct reset_controller_dev rcdev; + const struct zynqmp_eemi_ops *eemi_ops; +}; + +static inline struct zynqmp_reset_data * +to_zynqmp_reset_data(struct reset_controller_dev *rcdev) +{ + return container_of(rcdev, struct zynqmp_reset_data, rcdev); +} + +static int zynqmp_reset_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct zynqmp_reset_data *priv = to_zynqmp_reset_data(rcdev); + + return priv->eemi_ops->reset_assert(ZYNQMP_RESET_ID + id, + PM_RESET_ACTION_ASSERT); +} + +static int zynqmp_reset_deassert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct zynqmp_reset_data *priv = to_zynqmp_reset_data(rcdev); + + return priv->eemi_ops->reset_assert(ZYNQMP_RESET_ID + id, + PM_RESET_ACTION_RELEASE); +} + +static int zynqmp_reset_status(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct zynqmp_reset_data *priv = to_zynqmp_reset_data(rcdev); + int val, err; + + err = priv->eemi_ops->reset_get_status(ZYNQMP_RESET_ID + id, &val); + if (!err) + return err; + + return val; +} + +static int zynqmp_reset_reset(struct reset_controller_dev *rcdev, + unsigned long id) +{ + struct zynqmp_reset_data *priv = to_zynqmp_reset_data(rcdev); + + return priv->eemi_ops->reset_assert(ZYNQMP_RESET_ID + id, + PM_RESET_ACTION_PULSE); +} + +static struct reset_control_ops zynqmp_reset_ops = { + .reset = zynqmp_reset_reset, + .assert = zynqmp_reset_assert, + .deassert = zynqmp_reset_deassert, + .status = zynqmp_reset_status, +}; + +static int zynqmp_reset_probe(struct platform_device *pdev) +{ + struct zynqmp_reset_data *priv; + + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + + platform_set_drvdata(pdev, priv); + + priv->eemi_ops = zynqmp_pm_get_eemi_ops(); + if (!priv->eemi_ops) + return -ENXIO; + + priv->rcdev.ops = &zynqmp_reset_ops; + priv->rcdev.owner = THIS_MODULE; + priv->rcdev.of_node = pdev->dev.of_node; + priv->rcdev.nr_resets = ZYNQMP_NR_RESETS; + + return devm_reset_controller_register(&pdev->dev, &priv->rcdev); +} + +static const struct of_device_id zynqmp_reset_dt_ids[] = { + { .compatible = "xlnx,zynqmp-reset", }, + { /* sentinel */ }, +}; + +static struct platform_driver zynqmp_reset_driver = { + .probe = zynqmp_reset_probe, + .driver = { + .name = KBUILD_MODNAME, + .of_match_table = zynqmp_reset_dt_ids, + }, +}; + +static int __init zynqmp_reset_init(void) +{ + return platform_driver_register(&zynqmp_reset_driver); +} + +arch_initcall(zynqmp_reset_init);