From patchwork Fri Dec 29 11:53:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 853876 X-Patchwork-Delegate: cyrille.pitchen@atmel.com 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.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YWFi7Fkr"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3z7Q6H1s5jz9s75 for ; Fri, 29 Dec 2017 22:56:23 +1100 (AEDT) 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:Cc: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:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tYldsPWj4J/CsNLUNnKIB2yB6LrqhMkgtWVCJON7HqM=; b=YWFi7FkrYcObol alQ7bt183l4JtwrOyfGB//6fXS9kX7BKNQpHM+E+/MrYeqcSP5BAHIpTVdnZv2LYSU2hQhVHHVb28 n2667ej+yRksgxVtjyWrmYbGZsqtRoJNo7avj3ikJ6XFw1GYwQvzSNY2fCfrzgBf0CjLpoZaa8Jny +L2N/L+cbtl/YR4J2uTPXY5YP/4R3wIdx831mjkduI0q/ilB4UIPDj4Hy7ou1xaFCU3d1vtz8kVF0 COPGOCw2b1PLGDkh+abR8oQHfUllbq23CxMY21tngwk3ff9EmMk8PwC7N2hnpwARAIVUymYQE0L71 tu6gWCRv/lrUZ+SYuthw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1eUtGr-0000c2-97; Fri, 29 Dec 2017 11:56:17 +0000 Received: from mail-bn3nam01on0620.outbound.protection.outlook.com ([2a01:111:f400:fe41::620] helo=NAM01-BN3-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1eUtGD-00008s-39 for linux-mtd@lists.infradead.org; Fri, 29 Dec 2017 11:55:43 +0000 Received: from MWHPR03CA0017.namprd03.prod.outlook.com (10.175.133.155) by BN6SPR00MB046.namprd03.prod.outlook.com (10.174.239.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Fri, 29 Dec 2017 11:55:24 +0000 Received: from BY2FFO11FD027.protection.gbl (2a01:111:f400:7c0c::106) by MWHPR03CA0017.outlook.office365.com (2603:10b6:300:117::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.366.8 via Frontend Transport; Fri, 29 Dec 2017 11:55:24 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD027.mail.protection.outlook.com (10.1.15.216) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Fri, 29 Dec 2017 11:55:02 +0000 Received: from VirtualBox.ap.freescale.net ([10.232.132.175]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vBTBt7oY021419; Fri, 29 Dec 2017 04:55:18 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 2/3] mtd: spi-nor: Implement anyreg functions for fsl-quadspi Date: Fri, 29 Dec 2017 17:23:51 +0530 Message-ID: <1514548432-13302-3-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1514548432-13302-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1514548432-13302-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131590221030723688; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(336005)(7966004)(376002)(346002)(396003)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(6916009)(85426001)(104016004)(6666003)(76176011)(51416003)(2950100002)(5660300001)(97736004)(47776003)(7416002)(356003)(86362001)(8656006)(2906002)(305945005)(59450400001)(50466002)(498600001)(39060400002)(81166006)(53936002)(8936002)(54906003)(81156014)(8676002)(50226002)(68736007)(16586007)(316002)(77096006)(36756003)(48376002)(106466001)(105606002)(2351001)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6SPR00MB046; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD027; 1:IrPma5PEeCGj28VE10Of+0V9l8MQzGPLZErTFQeN3U1CX3oADKSHdUCNO2+meWcHWhv+PRnxUPycdI2cPUg3K3KgVY0lZtEptL7Ki8xAcfATRn7tKm1/6iV336wXF3Ov MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: d6e0f799-4d2c-40f9-9068-08d54eb2feea X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307); SRVR:BN6SPR00MB046; X-Microsoft-Exchange-Diagnostics: 1; BN6SPR00MB046; 3:Spr2KvRFnSWhACRwxggXVuGCI8nz+P9mecq8Rbai/nHS20f6UmYFIlPpjtrfPg3h6M9qZjqSxfH4jJqt6OukMgIRidaRD2AEDHqr98SyzrSuuqhNdoJhmhPPIymG4lK1UTAAt5F7VW45m5z7ALxVoHdTVwDl8QQzPqZDWXS6xkAGJxd5Zuvu0POvrLM8FJ5Q0nWz6FMUG1qq7Tl3aAHn6SoONh5rbNWaKmE6YHXr2953lp5NRF+FwrsjkA/JHDaeXTOQZZDSqJiSSQ7CXQNCYGHCd3gqPKhLwrPHjYIsAci0M40Lx9S8yqMuQHCZP3uxi5IFolRl/obxD2kH9yTpXLMqJKBX7VjHsX52gdphEeo=; 25:GBXQC+4aGacdfMCninUi/bElcOk020L/LxHsUXHViZ5g3z+R+32K4/syPmYFWLMgnJ5HFB3ozV02QicVCtUj/C1odKJOfNvr5Wabeicc59aR1T9O7AZKt9+Z7o3UrT25Twi3XmecXP1sYdPYTxVKMoO+Od5KNuwVrNzzQUaGgJnMPjF4zzpDpzGA7aHNFrsw0WvRzSrJvdh+ABVtKfLx7rUkOc6V2MGvlPWM+YPNeFEUrfSm12q5ikh/eYbxb8Z/curSJbKvzEJrBlkLSYPUikldV2bu8KmRyBm7lg7mhEgSl8heI4O/37Ta4eIQd3gvUWR3iKrXzsCJThsO5aD2lQ== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6SPR00MB046: X-Microsoft-Exchange-Diagnostics: 1; BN6SPR00MB046; 31:4m/2LAz+kLuduiPAE1TY9YCSp/abbpmHDNHHkaNcaT17/HbXF3chCflvK+1nl6HOwhLSUB73dRl9my4OqcVxj33JZOeiEmGt7bp2oxB+0V5ZQBx8dq/UXrMEg14Pd6r0CfaoF36w1WQ9ejssIG53ceQIroiOOu/6be8C2grUnP8LgdrntfmBiAVXDz/v49+ToIwld3/ebuIZXew8ok6M9Ekbb5Ku+HXec7lsFhq++NQ=; 4:hgMFGdgnXhziBMHQOWceGV2vqgE+NJ/PWHQj0CWDcMpRRBuISjvt+nnJhWOvD3JMUev9ZVOt3IX+4WAr1pSaM+onmk4N+jvd5bmLc4ulRbvjR6xkweqRDn/+D6OGy/jYOLR3QVYgNT63+zUZloKW5d1nweq+NG8SHAmvwDM4AUun+c4dKmtigxBUtmt6TdXihvfdXoujqLAu7WVenFa/304c9vvxilUfbWgPMOGplio2UM4QDt7zLmopGRyGCxLj4oKiNybMq60rX4SbkbF5+QZNwoi2tZbAMWPceWasGj8G7rc8mLTrOsjRJr56zjsz X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231023)(944510075)(944921075)(946801075)(946901075)(93006095)(93001095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123556025)(20161123565025)(20161123559100)(20161123561025)(20161123563025)(201708071742011); SRVR:BN6SPR00MB046; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN6SPR00MB046; X-Forefront-PRVS: 0536638EAC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6SPR00MB046; 23:3vWcqctZP79r6z2USMX6YHNwcHJy6nSlAEuuZEbWh?= VBCuGB2xn0SyRgrFdJL9rQyUvt/bwBt28I5VkdzhadZQyHutOvAm2aqbaPuGpcToPeoZbxliSXVfS5Eu2RlfW6S8IdqgtrAh9A6pq2vZdudmmXxiao8GI2aSHDOLY/yk6S2LPWtF16ujPKnaGKMfU0mKYvXSPUV1SimFAaIkKfsmWthelYV1Q4ZtQtDiA5enGc86SDaABwR7q3KsFsW4gTwNrNHJMaRjw0U5WVg3KJC+Z1FpO7czm8qjHz44mlTb+GxpgpaYpi3Ps1+/AsREu4bFRqWUiN0j6bbQjpJHvUnNLEvPEpARvClZRkSkt6rd3jGqgeRI9l40fK4whWfyHYE6Ofo3q3IuNCk3t6aCtuLNNjPgcl4V9qlGOUr1dzbhVinNSVtaxyu0loz/04wagI6NiDxyhXgbwq+5PGFZbA04RJkmBMpIn4a7wbm/scELOUNH3AXbc4MQLhQUaoyKmnQKk/3LDUi4PeQLtEdd03YgKxcEQxdGZwCTMktbHQ3lqqtOIS300TzsgnWF6D7Semomh8X35caS1PuY7rJkJxMj+EazpOdmn4RdFmcsRESp5FDEpRmLnpKD+SKw3B95kty4XUXyC9Yq5T87Bf1j4s2tR/Ffsr0Pj5wS+o/FiFmb8Jv1MDiJsyysedfv7kMJZlKaNxCZFiMLR0CdcNEginKa2CTBKQkcjP0d2aKG3+LKlwovZpwCXXLK5ks76DSulfPjDFFVJGhFA1YZLydgErTvVyPWL00UNWqQS8bfFCfpzRmfkWWW1dr7C0WVJbajM3b3yoWxinJe+B5D6yNXGpBSBqvKRTieCal7ypvZeJENM7nS7YvpEtAaJ7QapVxzRrsZlUhZYmWU8fJkqleB2aR1+xzQySWw6E5DGCYmf2xh5voyoSew/SdDgZ+xDwRMR0rJKpWxODb4u/QVemx9OZAsT6V2maO0XZk8odUVhcHLGSTmRmQkA8K2QwNNnuXGrpItGISU2K9I6vYrtFvNYtOoKKPE87d1xD2DMs49fhwo0BuZG6hFBk64Elmi8djqqe4bHEA9yrZeYArh3QC8L6rEF/Pi/aDyosu8k5mD+PijDwOlpE1xoNeL+cRUvPL/gGfaQ0O5vuUF9p/aUrYr5M9zIAFfVM1ar3QdH0IxzyzcjM= X-Microsoft-Exchange-Diagnostics: 1; BN6SPR00MB046; 6:a68+6/ojhL4VVkFkPqePoPAWoDRwL1pGhfp0nOL0l2XUaLiX463vanVzLFBj6M2YTnK+FOdYZWQ5PZ8W1dn3UY24BbkRL9IQ+zMFeipvz0tAF2Hp8qImHBuRWyb3xUVWPR0N703PkKxjYoIu/PCHHNn+L3oq6BuDDORXleFWB0hSWggXrB3BmviWhFCSbGw/MGKWNfINmdYSY/+rnKEK6myPYvaUzmzF6LAp8Bv35GKYT8EEOpjz/OQHXA7zaAu77h9mECV0YFcu6qSuoNL0rSR1TQ+SxJJDeSXoKf5TmmglR2T48tlnwN5rQv9EuvqMPKrstB+BRUO9nlqQMhx5bbJDq7cJMEhqvBcZAFERrAM=; 5:tz0t9xkX8FrJq+/0aTpgzU/D7Ni/oi4ZNtOeNPxRWE4bq/4+K9twi/NBYnaStYu4oSJ5lfGbIY30soeJO4KxrEYxmtSrY8xDKQ94utmhD1/+IWIk6lwiko8U7kpeTdER41P0GY5rlQtXu3rm3yCChIlggBz4mxpiOlOFgXL8EZ0=; 24:YQy/EcwZil3npHYkG6NryXcjoL/x7eUkPbRXseXOwbNUs/ii5Q72QUkQ8DVoRkja/X9aFO1Dw1ZNbFoi47ZYy1O0oy+pU8eCyfPHkOfO360=; 7:tPJITD4HUtLyo2iSJst+xtK4yOZ8ldB2RIVNzd1mqUXlGEF9JGhFNtsjg6W7NPQRV9f9v6BbOwxAcuILa8TbkLIj5OAGzrDPIJYaSzy+L316ma1WuUnM8iBp/ZQMXR3e0/7NaaKyRLzGu8j9rFheNq9VDC5cHuEo/KJCKzKLlKbHhGdxAqjYxvIUSag1LvM6+HCzWjrbLoG6Epe0t4wQWhXNTAkQdAgl8me1fJ+mQzfDu5jKXs4YYwfLhwt1jt06 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2017 11:55:02.0271 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d6e0f799-4d2c-40f9-9068-08d54eb2feea X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6SPR00MB046 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171229_035537_766584_0C16A810 X-CRM114-Status: GOOD ( 12.24 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: poonam.aggrwal@nxp.com, boris.brezillon@free-electrons.com, yogeshnarayan.gaur@nxp.com, ashish.kumar@nxp.com, marek.vasut@gmail.com, Prabhakar Kushwaha , rajat.srivastava@nxp.com, suresh.gupta@nxp.com, cyrille.pitchen@wedev4u.fr, fabio.estevam@nxp.com, computersforpeace@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Read Any Register and Write Any Register commands provides a way to read or write all device registers - non-volatile and volatile. These commands are followed by a 3- or 4-byte address, followed by a number of latency (dummy) cycles set by volatile configuration registers. Then the selected register contents are returned or written. This patch update quadspi controller driver to implement above behavior. Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/fsl-quadspi.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index a77f114..98bef6a 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -922,6 +922,22 @@ static int fsl_qspi_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len) return ret; } +static int fsl_qspi_read_anyreg(struct spi_nor *nor, u8 opcode, u32 offset, + u8 *buf, int len) +{ + /* TODO: It will be updated during controller changes*/ + + return 0; +} + +static int fsl_qspi_write_anyreg(struct spi_nor *nor, u8 opcode, u32 offset, + u8 *buf, int len) +{ + /* TODO: It will be updated during controller changes*/ + + return 0; +} + static ssize_t fsl_qspi_write(struct spi_nor *nor, loff_t to, size_t len, const u_char *buf) { @@ -1154,6 +1170,8 @@ static int fsl_qspi_probe(struct platform_device *pdev) /* fill the hooks */ nor->read_reg = fsl_qspi_read_reg; nor->write_reg = fsl_qspi_write_reg; + nor->read_anyreg = fsl_qspi_read_anyreg; + nor->write_anyreg = fsl_qspi_write_anyreg; nor->read = fsl_qspi_read; nor->write = fsl_qspi_write; nor->erase = fsl_qspi_erase;