Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754238AbbG0TSn (ORCPT ); Mon, 27 Jul 2015 15:18:43 -0400 Received: from mail-by2on0063.outbound.protection.outlook.com ([207.46.100.63]:28672 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754096AbbG0TSk (ORCPT ); Mon, 27 Jul 2015 15:18:40 -0400 X-Greylist: delayed 896 seconds by postgrey-1.27 at vger.kernel.org; Mon, 27 Jul 2015 15:18:40 EDT Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; arm.com; dkim=none (message not signed) header.d=none; Authentication-Results: pengutronix.de; dkim=none (message not signed) header.d=none; From: To: CC: , , , , , , , , , Dinh Nguyen Subject: [PATCH 3/4] reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property Date: Mon, 27 Jul 2015 13:57:23 -0500 Message-ID: <1438023444-11881-4-git-send-email-dinguyen@opensource.altera.com> X-Mailer: git-send-email 2.4.5 In-Reply-To: <1438023444-11881-1-git-send-email-dinguyen@opensource.altera.com> References: <1438023444-11881-1-git-send-email-dinguyen@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: SN1PR15CA0042.namprd15.prod.outlook.com (25.163.200.52) To CY1PR03MB1376.namprd03.prod.outlook.com (25.163.16.30) X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1376;2:In8RBUyojcBwRg0X0DIPNvhIHNQd8+SPGYzTDRC93wIYwKsIJ0r8moQM+FUynikN+FV81xKXxUtiGG7/2dxh6qhiXFr0dcVe91U8M3VGeHQgKdyKK8LA93gPb7HbDPmautcj5RS1ZEf+zypGLVbbmhVUH6NAa36e8R2IxknS5xU=;3:m+XZ0DcVA5MjT687GQxEwdUGWWGTsXAAfoBN1xJqEkku7HYDUsC4fE+Vo0BbXMtgM3BXxb10Os7HBnuRV2y5AQ4Aj8Tc9zw9+sQtg3WqIfKB0rwEpuA/9Oe6lJh+TbGBml5JTEjhaPJ0GApM6woQxA==;25:FXQvcnHK0k8bto0dphNyRifaiGFGLloiKLAWj5XgMWsAxUeiKhdyoR0sNEdLvcCNaQqw3/O7wZcKkVWZ14DlKlkEVRguIZP6qkpZONoYYBXBSRJN1H9+jDuNKw7kg0pxZTegb0P6vN4UImOafFalpjZmY/tf/OMhXRPfmqqQAx7zVA11gNaJZi/4Iq2S9tUzwB9ZZ49i73jDPnkuehyjF0JkZfAWgc8ykSTI2UH5K1OMZtDh1b1009SsohWsZOh/0p7k6JlQDo6wp2w6BEEv0g==;20:AGjbPW5YzuQES+LBxPSX+quRl52rnqp3SwE1ZxA+8K/RJlzwVY7iXuk+zpvFAY08Nr36Pw6Lj2bGM2U9mh08ii1munWlRNdb65nv4/5TeU4ToIGIEE+xv0oSnU0JMK0R4xm9DhupsA/QRE8nLO12LHbhv4dOShIir2Pz0ukTD0s= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1376;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1501; CY1PR03MB1376: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR03MB1376;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1376;BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:CY1PR03MB1501;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1501; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1376;4:2HdWQbNDBxMlWg+o3VYaETRADxUXBilh2L887vFp/qynw61GtSUP/GXkX4OBMpM6CR3Cp3a1FFQkW7Dm0TAo2V3cbJevqJ8noJPEtmktvSzIge4796UJqRiv+PHVdqGGXIDSa/fKSIGcp34zWhLKBGNVIiJkJWUmH+/dIhdOJF+ftxcWSUrLDHAQ1Cw3IS1eEsTMIWAsGPin7Sq/u83vTNjCr7eXCs2TM8xg5trvqOtMAQwDV6tZqZygavBgpAnmcygrTpIG10TTnY+o+73o0kLoZZqUWx+26IPe7M8OHcc= X-Forefront-PRVS: 0650714AAA X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(6009001)(87976001)(77096005)(66066001)(5003940100001)(42186005)(33646002)(47776003)(92566002)(19580395003)(2351001)(229853001)(189998001)(76176999)(48376002)(50986999)(101416001)(40100003)(110136002)(19580405001)(5001960100002)(122386002)(86362001)(64706001)(2950100001)(107886002)(86152002)(53416004)(5001920100001)(46102003)(50226001)(50466002)(62966003)(77156002)(142933001)(4001430100001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1376;H:linux-builds1.altera.com;FPR:;SPF:None;MLV:nov;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;CY1PR03MB1376;23://L3suapDPixYI6aAGfY6zNYqt8ifMSGgNJBFXFwT?= =?us-ascii?Q?aKsIhLvoX98ZxjGy+d2SeKDKCpK5X/Sdqe0+9um2nHhI/RLirRrTiNn+ep5Q?= =?us-ascii?Q?rdJkyhdzV1KSZoVS3FHllY8j8qiHlntqYU3XyBKpcbA0a7MRx7HYwUHZqsoz?= =?us-ascii?Q?Yul5bJNG4zcKCgdKr/w91+/26H2zA2iKx/I7Zpm1s/+wmnuG3luPQ7Uz70Ay?= =?us-ascii?Q?eHzAaO77qWJqZhWLgkjJXh5Pl+iotP9zpuBTiFidZka90sT/PlUXgqU+d5Ti?= =?us-ascii?Q?5/BriFWSksC9pScRiPdeLoq1N5oPM1+icRk5lYGgwBEGDn7Xw8YpLjnVYBqB?= =?us-ascii?Q?X21D21QUfRYuGCLijecq2iMjqS58C0N1iO0JELM4jDz7m2FNjmHuxQvsrwdx?= =?us-ascii?Q?1MhXEtLS51BcApzIqhoeoyu600qLqOPS/9yh10w6Akbe0eznhWGj9XpgkjbO?= =?us-ascii?Q?iWaJIUw/+tLFHk5dgsHfh/AS3KyaC2i0ZKsADhooq6VQ7114mWUGwKSwrtcy?= =?us-ascii?Q?l54zHlRECIXt8Jjml2yIPq9gAayypOhyLLtcHVNaMo5VugfPcrGKT1a+P43W?= =?us-ascii?Q?X2dXOWDRpASUeTzgtAQ3Jw3RV6mT+Qvq7A0pvkD43wjEXzeaCdy0MYu7sOlR?= =?us-ascii?Q?MCqFdLY3S6a49RyDc8RsvycVKaASTAB4jLFkbyrh8lZ1WJ4fewwrKK5pljbw?= =?us-ascii?Q?G1whv84n46Wy7b9vzvoJ7L1hDnZkNMyjJX3008zABW9ANdkyVi4e4aZGdzRS?= =?us-ascii?Q?6UCKwTdSFFzQkIkedAAzvk4o42VJLbwe9xMnmhrtS6Hh7Cj738rePn1eDy/j?= =?us-ascii?Q?xQXB9fuXui4m7gW8YgsSUrO4I7EsUJdWchOwao9X2+4qmCAYhG+EXghBSJWe?= =?us-ascii?Q?7j/8d/Y9Ijtl5iWcRw3L8fPSHZoppI519InuLK5oVa8e/9Hi2QSaKF1tD2Dc?= =?us-ascii?Q?NlOU2hCiDAqxnswQX4k5OjGAJpPmmKkVD29/safhHNn1+m76dif6anSlSj2k?= =?us-ascii?Q?sg=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1376;5:5jseVAPaaX4epLMDq9G8wujCwGcsIbPlboEIovpsgzIK2tYRfWvt4wINXEYi0v8uBu1VQX/UCHRr+FMcwu37fbf2glkcIbvsFi3ShUyETcxDdSQdaAHritQdtMJaM3yuj9WqQGsawxQyiUsC+Lw0VQ==;24:MeD34ONpDvAR3yLzUE14x4fhIDMbfab0UYUyc/y/+IDuxdHLwwImhR0TAQkefYj4rjBSgCc/D91boMD11kBgt2zM6eErARXB045G7VNk3rQ=;20:JspCOxS3vVivoYJf/KduNlSFqAUNr8lriYORP7de5B8U+22hgbNx6jBM5lomyxCM/utp1YD4WxG06jry/Skck7G7ggCmVXnVdMcsWdxgxENKjk+XWh0BJb8dbLpvv+OI06EsUxEZV78c1SqMu5tnNyM6L4iA7n8p6OY3yUAbqGE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1376 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BY2FFO11FD040.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD040;1:Zm2AKgqoC2Z5CuD/9dVaqyIhvqtX/KS9JYfe9YuGiaAZz8LIT3DsfE9Z0RaemJt2JVW5kjU+6BYk/79PrM8D57O6M8n+BJJjBSYvpgq79Y4Q2Ub80PnzE4XrVu6SCWyAv7CH4ob6u5c4EgGuYdtltwQtMLha3vq7ENkCqB9XqjPtbF2hPVNV9mlpclZpkcK/MsNj8y4Xyg4Olt8dI8Ohips4HA6L2Q3QK/2Bz3s00e62olghCGc8DZvB4C5DQ2Ae3gTRiBA7V++GXyHaSCW35Ic3A9gJTp0NpL2R9FseqMQd8iDIXmq/bhfg5VVHi3v3 X-Forefront-Antispam-Report: CIP:66.35.236.227;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(339900001)(189002)(199003)(53416004)(46102003)(6806004)(87936001)(86362001)(19580395003)(86152002)(19580405001)(85426001)(47776003)(50986999)(64706001)(48376002)(66066001)(50466002)(76176999)(2950100001)(16796002)(50226001)(107886002)(77096005)(5001960100002)(2351001)(229853001)(5001920100001)(110136002)(62966003)(77156002)(106466001)(33646002)(122386002)(5003940100001)(105606002)(40100003)(189998001)(92566002)(7099028)(142933001)(4001430100001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1501;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;MLV:nov;MX:1;A:0;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1501;2:5TZIQWk6uo/ciSfDdimwFtztkdsC/xLn8A/YanC32hYc/rTBgEhLjf6ZPDZqgE5igjjM4FletHjQdHkqkYa9ENbxksQWRnZg+J9+6K8Fy9cx5Vavf58Cjb3WlW9PRr0ulwzs0GxQsOnziWxpxo/u2tZ2VOje6+nODNwsvVauEhI=;3:VbGFNuh/6rMFj5ZoeHaWu1+fom23NUnSUATaYw6coVxiuErtqD+0Nq8pxaUR8UcXTpPIZ3m/NQRASK1jVmuK7uL1JGPvgWoqoeJ6pgLZ/rpLowMImnjekOmZ0HV/3RjpHjUSVRHMdSVRkbVyDVdlWqgxZY9GwCaEYhCnrlg+WANLFXCXkJ7ORVQC0IfEXfo6zxQsJksb6ihsD+X4YL8u9m6xE1NDsa/xsYJ8me1PzTM=;25:z+8tbZejaFJ5nbm7EtsGnROBHho7/wb40ILnnsVHKGHv8roruFLBDpJCnvIneS9QXDS6P2srjIG6J2NWMnQ+rVBEvUWIseVgakFjMY3JRbNsYQm6hROO7fx2UVPXXNidgGgHUYYUleno4DzOcny6O+0KZqxQ3cFMZy9N9NyJ+9MdJSVgbXXAS0Yaxeh13KAtDP0EkesRLDvp7lBZZPYcZ/ro5XQa780LbAJcownJ0jJ3s8s1VL4FCLsMUz7O++TYV4Ofi2GlZkzPLQu2gBZ3Iw==;20:PJmBqL1ZKHZbpqgneSTV1EVEaJNLX/SsDxbuWnWHjQicZAr6mL+Ax8qlkkTFnhPKiuYyjNEZvh3NZgNin6becqCRI4vQB3II+yome3uySZudWZKOKz47+oyptfSR5hiAz+67S/RRTXQPbOdRIDzWp6KH5495yRNWEaqbYEN//6c= CY1PR03MB1501: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1501;4:AG2KV3JRwS1eJbxVRhEm7En2ECi8kEOpROztCyPMRullGCvlwO0A73oF0EThRaFUV7ZqzJiQ1AAONUDf77m9QIQSTEsNhSKFePAmSLikNxtg8uOp3+c8otg3sjdmdTgL4WuJpBJLbavEQ5h400CRWPUI+6ad2WALYb0delIm/Evk50xe6W6r1gstxHlx87ZqVMZFIR7VYJsoFuqUqCU2yhAKqQU+l8FquAL84UuQc6UVUMDOl4IDp3t5NWyoN3+HYtpuw/uh+6dwPD/ZyP897rWoEmvO/0+rrMeu1mzO2Jk= X-Forefront-PRVS: 0650714AAA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB1501;23:P61FwjL9WX6jhVPHdux7RL3HNcAhtInZ3xCV1mDbS?= =?us-ascii?Q?tkilrbNsx4fu53yizvRnx0tLv3+Augjf8kkc2tkgmGmXj2e4hXgvUqGsRTLQ?= =?us-ascii?Q?7HdnSJHFf4gTJ5r21z5y4Pb+BXPnqemJwvZREq4Gu0nEwoyXkhHvc5XcZX4+?= =?us-ascii?Q?3+VAaUiztWqYwtssjbaIwq4J2JBuw9rfd/Y791ikAj5mjqKKsDcU2SDmpWEW?= =?us-ascii?Q?9iHYo+Q0M5N1G/c0EApPyOP8DlQ3jNC3PEljUvg12u0TFr0j2t+ey1xWT01o?= =?us-ascii?Q?RN6Ym2i/c/Bj4hOzOHSw7gv9qKhgiQoTpYzClUzKN7gu/YSTmCj43w7IIPKO?= =?us-ascii?Q?BG6XibPzsYLH9h+d9SWrVoany1qoVm0z54+3FVqzQGoYyBsIAzTYXzsH8X8/?= =?us-ascii?Q?/gli5LewbQaO5OQv5xa+qW/hEo0GwZsDEZ4NrVgOjZWdwc+XK9gz+JaoO8eV?= =?us-ascii?Q?aCdGmWWKMPjaT+KwdrPEo9Rjd2rq1qAbM4NOlUWDQnXS2VrmUuDe9saVYJkQ?= =?us-ascii?Q?4iZsOtbRg/y78ZvmC59jg4xNeo0956ie5EOZXz78bXs4PWjL8dUhpIFkvO2+?= =?us-ascii?Q?wH5tNnf6sPhVFZwQ1IooKBNsXbfZPjvZ87qDg+C89lW52Wr2VzgNvdUKEu9v?= =?us-ascii?Q?qa8vJf79EVngqGn/L0n1n8DsvegmMQQ24GNqIUUOTOjWJeDDtzmL+Z7kWUOy?= =?us-ascii?Q?JO3fcpzCnhhSOmEy9VMVtqjtzvP8qJ4Hrlm+po8cOxoHT/MpdrXuDkDcMPIm?= =?us-ascii?Q?MbLs/zdjTl+iGdw0tRxpyLxOY8xP4/lHwfov6fAH+BKGzEhEca+VoA9CdNwN?= =?us-ascii?Q?5n8MGhm4KMtBn7xmR1/bl5G4RWlwX1Q/q7ovcylMXKG0kivqBOD531mwplbI?= =?us-ascii?Q?B1qNQoMLHciEYI8bk8oik1DyZ7IwZ7XiKyIST9WZ252W8CqB1iOAl6mWZBua?= =?us-ascii?Q?YiH79xoHNlnFBc6YpBBXVUsh9h413+x5z57XTqv2kyCiAOTcg3VNjoATAVci?= =?us-ascii?Q?Cqq3mOLAH0Mgku76EE7aWpX15P/eQUPc/5HSSNOx2wL86R/8l/seuwE6hjXi?= =?us-ascii?Q?87G5xZthfu9iWpueF10AtvWypdKnFtPIUs2ngo6PmjvFdeLGD6IwnGEnkI/F?= =?us-ascii?Q?M/fw8A3fPbL/xqxWOz9m8MDBY3jYN/A?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB1501;5:QOTMFJ9bEkWoejhA/WRhUlwlTcF3WOnDfwo6TYgu51/vFD+zeLVrq62TPrUFdsEWXHeWQW5HgXrFKDk1nIg18HqVZKiCS8ELFGVFOWVDnpP2DPaRz8/kun21rrNdrtblyJJ11L0+HW9iyKA0ebbGag==;24:U5BU4fYUT3YTSjNKcs4J9hVyhC851OL4zr42Jwe6vk722wPC/PKExS3VCey3DE+I5Pa9Qofh+D7KhYMgbNvxyVnO/zmzW2LLV1mOE16xOh8=;20:h4N7HS3PVBJlfoPj9HRoqaD6QvNsecw1lJ+otqH0vujQzVITQky3EFNAGjThgHpwpFT+wQ9qxjh1in3zAA1ePsO5f8GOYdnc8jC2P7orBJ/YglQZ5+uivDiqd76NxYkGWSOpRqzie4MKDKXKzeITRFLbSJa9gMx8oyEMpm8Pvho= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2015 19:03:42.5171 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.227];Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1501 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3128 Lines: 89 From: Dinh Nguyen In order for the Arria10 to be able to re-use the reset driver for SoCFPGA Cyclone5/Arria5, we need to read the 'altr,modrst-offset' property from the device tree entry. The 'altr,modrst-offset' property is the first register into the reset manager that is used for bringing peripherals out of reset. Signed-off-by: Dinh Nguyen --- drivers/reset/reset-socfpga.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/reset/reset-socfpga.c b/drivers/reset/reset-socfpga.c index 0a8def3..9074d41 100644 --- a/drivers/reset/reset-socfpga.c +++ b/drivers/reset/reset-socfpga.c @@ -24,11 +24,11 @@ #include #define NR_BANKS 4 -#define OFFSET_MODRST 0x10 struct socfpga_reset_data { spinlock_t lock; void __iomem *membase; + u32 modrst_offset; struct reset_controller_dev rcdev; }; @@ -45,8 +45,8 @@ static int socfpga_reset_assert(struct reset_controller_dev *rcdev, spin_lock_irqsave(&data->lock, flags); - reg = readl(data->membase + OFFSET_MODRST + (bank * NR_BANKS)); - writel(reg | BIT(offset), data->membase + OFFSET_MODRST + + reg = readl(data->membase + data->modrst_offset + (bank * NR_BANKS)); + writel(reg | BIT(offset), data->membase + data->modrst_offset + (bank * NR_BANKS)); spin_unlock_irqrestore(&data->lock, flags); @@ -67,8 +67,8 @@ static int socfpga_reset_deassert(struct reset_controller_dev *rcdev, spin_lock_irqsave(&data->lock, flags); - reg = readl(data->membase + OFFSET_MODRST + (bank * NR_BANKS)); - writel(reg & ~BIT(offset), data->membase + OFFSET_MODRST + + reg = readl(data->membase + data->modrst_offset + (bank * NR_BANKS)); + writel(reg & ~BIT(offset), data->membase + data->modrst_offset + (bank * NR_BANKS)); spin_unlock_irqrestore(&data->lock, flags); @@ -85,7 +85,7 @@ static int socfpga_reset_status(struct reset_controller_dev *rcdev, int offset = id % BITS_PER_LONG; u32 reg; - reg = readl(data->membase + OFFSET_MODRST + (bank * NR_BANKS)); + reg = readl(data->membase + data->modrst_offset + (bank * NR_BANKS)); return !(reg & BIT(offset)); } @@ -100,6 +100,8 @@ static int socfpga_reset_probe(struct platform_device *pdev) { struct socfpga_reset_data *data; struct resource *res; + struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; /* * The binding was mainlined without the required property. @@ -120,6 +122,11 @@ static int socfpga_reset_probe(struct platform_device *pdev) if (IS_ERR(data->membase)) return PTR_ERR(data->membase); + if (of_property_read_u32(np, "altr,modrst-offset", &data->modrst_offset)) { + dev_err(dev, "no altr,modrst-offset specified in device tree\n"); + return -ENODEV; + } + spin_lock_init(&data->lock); data->rcdev.owner = THIS_MODULE; -- 2.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/