From patchwork Thu Apr 14 03:50:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yunhui Cui X-Patchwork-Id: 8831251 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id DF94B9F3A0 for ; Thu, 14 Apr 2016 04:04:12 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1C12F20357 for ; Thu, 14 Apr 2016 04:04:12 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 33F5520361 for ; Thu, 14 Apr 2016 04:04:11 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aqYUA-0002nz-Ga; Thu, 14 Apr 2016 04:02:30 +0000 Received: from mail-bn1on0118.outbound.protection.outlook.com ([157.56.110.118] helo=na01-bn1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aqYSR-0001ZH-D2; Thu, 14 Apr 2016 04:00:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freescale.onmicrosoft.com; s=selector1-freescale-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OW8LaGVJNGG4dk0DjPzRGWkDVDkprXsTSr5ZOwwjCik=; b=V6vl2oF9LrFYg71kcBJ3upAsnZQAToditl18gJ9ZRcicIj8zCN/t5HKl3MhXKjT3z6CeSeeLxdPDvbCG0NgnfYIMz1K8WluQezDzqDBRMmhhIvaoIvSwfAidJFNHu1J/ItlGIBiQM8LWzyPy1ZcsIZozkgD+tEqDgxR8BGTgJPk= Received: from BN3PR0301CA0019.namprd03.prod.outlook.com (10.160.180.157) by BN1PR03MB071.namprd03.prod.outlook.com (10.255.225.155) with Microsoft SMTP Server (TLS) id 15.1.453.26; Thu, 14 Apr 2016 04:00:20 +0000 Received: from BL2FFO11FD021.protection.gbl (2a01:111:f400:7c09::131) by BN3PR0301CA0019.outlook.office365.com (2a01:111:e400:4000::29) with Microsoft SMTP Server (TLS) id 15.1.453.26 via Frontend Transport; Thu, 14 Apr 2016 04:00:20 +0000 Authentication-Results: spf=neutral (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Neutral (protection.outlook.com: 192.88.168.50 is neither permitted nor denied by domain of freescale.com) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD021.mail.protection.outlook.com (10.173.161.100) with Microsoft SMTP Server (TLS) id 15.1.453.6 via Frontend Transport; Thu, 14 Apr 2016 04:00:19 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u3E405d1021179; Wed, 13 Apr 2016 21:00:16 -0700 From: Yunhui Cui To: , , Subject: [PATCH 3/9] mtd: spi-nor: fsl-quadspi: add fast-read mode support Date: Thu, 14 Apr 2016 11:50:49 +0800 Message-ID: <1460605855-6689-4-git-send-email-B56489@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1460605855-6689-1-git-send-email-B56489@freescale.com> References: <1460605855-6689-1-git-send-email-B56489@freescale.com> X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(189002)(199003)(92566002)(48376002)(5008740100001)(36756003)(104016004)(6806005)(76176999)(229853001)(106466001)(50466002)(11100500001)(105586002)(2201001)(189998001)(2906002)(50986999)(1220700001)(1096002)(586003)(19580405001)(19580395003)(4001450100002)(50226001)(5001770100001)(47776003)(87936001)(81166005)(4326007)(5003940100001)(2950100001)(77096005)(86362001)(7059030); DIR:OUT; SFP:1102; SCL:1; SRVR:BN1PR03MB071; H:tx30smr01.am.freescale.net; FPR:; SPF:Neutral; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD021; 1:4zoLLB53hyZmWP5hrPYYjS2/YWHuoHBQisKiTsIzHfMwG6H/Bz/pADO/73PwRrYBhesbt/CPOYwIRww8uqTleD2XoidClBp9nVJt6/JrhCCUvB+Ctaa3V/SccQ2gHrnOguy8HskS2GeCcGGN0q8GFYbzmlDIOZZ0QupZdumaAo9RmPiOEY7wgvN/hsHqSGozdTw6F8nf57SNRE32JenXE52VNFFCkOK6pAg7MOqjAPXOAC0IfW9eeUONVYRGJulpV5kyQtm4e4Ie0kX9I5TGvWZhQtFqkYAS179xu+qLgUgtvP2BIcE11Np9qsr1bg2XvG1f89JzOrFVwtgKfN4hY/iTOnPwzs/omB7R2WYH+o2LdMaoEydo3zDLnwxBKdKTULzy4Cpoq8EHa1iX5tQyZK45FPiJaiYSS6k6kSWRdT2awkPepP4JJJ8AjcnYI8juqYOdnt6GyW3dqwQcwQr0Yo/T07CrsYUtodnTWTtyIFizm7hfv1TfA2YuyM0mVDnQ5wbA2DqrN7cMTjrJCQe6HvX6jUELsuCqi3ff4i804l+HkplFFFr+UTDyX0+Gm0VRP7DmrkfaB6lv42/ktw8b1w== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 758a4a67-1bba-45cc-5c1b-08d364194bbe X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB071; 2:l8cPYDEJlkKsvJ70JfHcGe9LP13WlR1zotXzm+HcOFHrxbJupdgo/hoElsF9ALP82KMYn62yg8SeiaWdF0l8zjWmEFpa0n3GcxZ86xVtpNNPAdCENHxOv5stH3bymJ1FL6xI4kj9UhRO6uq/Rk5zA+1rbEJl51J6ajTj3ayDg3ACUJJE0THwA1aWxETcY43B; 3:gR+F+Y/YWZEslgytwHejTVuH473wNzdd6eGK4LiYiCbh0bWaK3otJ+ezSVZfDkDCZBcIu2GMxYGoslLz9SFcJ2OWN4TI5sbR5Qg2LPJ2zIoH6eqiE+26rhdBZTg/RvEWJY6aiTTsV7vf4PiRZ/Ef86dQTDDyZ5JMEe770A66TzrrOe0pEU/rOKSFIy33Hk3uv+VJhylJYdt+YOnwV7CJJCHkniWec/onJkXZp0jKV5o=; 25:LzZiiQjjfTMz6HoSmuzNB3LDi8abPL4UXF5/3LJ6Bv8uiPqT5AiEC+vA3WZaEdukOMnSFgatBzhRRh5jVgmgILGgVCYlrMgOBD2QI1v53wg1B5lNL/r72drAMjqaONMI1XHvaF3nbjT2J5um6Kdka6wZ5106LDjtGPb8I1CIEeo04RnnLgznppgtJQdYJ2PRriYiwzgdLfrZvJ5atv1GCspsDzehzql1cpsq7hLq/YgxC8aPkf4H+y3NuUN921ime4dkOh4mrTHLFkb/8/hDlfANn5OYnJQxX9JFPeaCYeDCEm9JjAcBXjg4xJhlotGnleOTxPIh2K2gXhP4r8GjfA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR03MB071; X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB071; 20:usAlGSw+X1/bOF9acWUdZIyB5i75dANKkxBRMSJ4Fg+YccCcnEe9Fu5WpiI7JmBt6689uRNE+zdf74P0mevojZEH1uhYDOIPPeR/0i56GBEH6AE1HRKcyLZal7M3tvwrqiIth8ARkxHNKSzS9C52+jBXx3EOexaGLTkGYm2sq7NhZtZONZzTZXnAqhJEKyC9UjdMjFSC7rwhU70Vy9XJX5PJgdR8/U/8OUAasndbPBXGCe8mw2xIvJetVnQR9uV80TBc0NtxcqRxVkcGpvX60Q34L9e6Rdw/s8TWZehWMCHUyT62yoXE+WWzmhRW89Vt7raIq431v0Zq+xhdpOVy6aI1pm2zFyDR7N/evoV8HgFthS+sWmPV5VPyzqrJb4bWqUlkhoaRIZ4rXN2ZZ/YNl/G2cLTJhWgFsopTU02w6lfhLuUpl3OZqINmgmrVVlyR; 4:QVHFFT2YNmelvPA7lBw7TrI0PMD3lDK6phffG0XAVld2nt8R4RVf59wVUz12PltRDkc6wqKcIIox2j0cGE/Z7abj5qfgmJuJJ88K01VmNmMX9UfuS66+mxvJPYJ03Cx/bQ2OixDSwb50EYZaFpHSmMhKTyIhUItZK5AWe0wVC7GHXV+SoR65CBUDqv9ziBrjFVGigIr7amd1CXEzfTLe6fbl4PKOWhTIK73aJ934Ob7hXCsY9yxXPIgxVl0KXCib659sktJp/oD5SQ4C8Ep6w9LG5JSJCvgP84r++oPt+JEFKWBoaFSjwAOf9Dj4LnOKHyOaxzjnsdqhFcfiEAdfS6G70VNwk32ekK5EBjxMi4KnBbczPqjOClnutL73SPE25TMNO8XuofntgOYPKWAbt3o19YHa0ylAzoEmJkFXdKmyeN+5BufXxuCTViPAsNCo7IlSrLXiveqzIV+ExJkS+bA2CIjU1HfggNCHxTOcIuw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(8121501046)(13024025)(5005006)(13018025)(13017025)(13015025)(10201501046)(3002001)(6055026); SRVR:BN1PR03MB071; BCL:0; PCL:0; RULEID:; SRVR:BN1PR03MB071; X-Forefront-PRVS: 0912297777 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR03MB071; 23:dmaz4t8quEN2xHZMSGM8o3zOP3BLku7XxR8JGqYf5M?= =?us-ascii?Q?I9OqChoCFbtKeMra3hJz96OmpzJjA/DEleYVnicF7U4gNGnRVilBXuT1dDh9?= =?us-ascii?Q?smHFwkTrBGVxeyGG5l57golFJA3KmdUExTXcngV5CWXkWKlg68qUC1LROJjt?= =?us-ascii?Q?zMFcsGXLOGqTS2FIW3jry+n2pjMmItRyrLM1t6Z3v4nfGG7tkWzjvwKi/Twi?= =?us-ascii?Q?NyeFFmy2/AeVuffkAj7rCLoDYV/96PnHw29JcDLRSU3Jb7buR8Q+E5K4O3t7?= =?us-ascii?Q?41H2xcDmwSq5/GH2wuTNFqKpso6LYjIFRt1RhAUsgNfQmWIGhnOWG2omRrka?= =?us-ascii?Q?gxW8OrNIIKdFMBZd7AKoh2Zq6xwGvLmuT/FtAo68uIBHFX68X04dduSyEfEE?= =?us-ascii?Q?vrUeifgZ/8aB2C33VVXVHbUBOr5mUgAJ23+D6lqF3B8IMK8E40QovMzjIgva?= =?us-ascii?Q?OpZ0btJHItCF80tJq+8fiOIB6cCiPrJ4el3eeLxp/xftnUkrF/hxgd4JKbAr?= =?us-ascii?Q?fnZKPBG/rF/n4OElZh4J2Gke7svDUFntgS3qpa54PCVbeZK0UakWZdJvHUib?= =?us-ascii?Q?nQZssSqoBeDNIHRiIV+dkY/JERT5CIw3Fg67S7rK0WyhR0p3H3hfuPQLoUe1?= =?us-ascii?Q?P+zA9iOeYbbVlx1NXyS4HyeFH4kgFg6rt5ij1JsB02lOWN6kHXttZl1eTZmq?= =?us-ascii?Q?6t48pVoLjZrAMa4kUHPiHuwkbdOM5i4QTddJ2V+BuKdRZHH+ljhjEeJGykf8?= =?us-ascii?Q?+oZEb+R/36Qg1jPtDlQlWgEIZ9ktwk/WAdZfV9bUPuZ32IRt1dC+4YOkoGpj?= =?us-ascii?Q?kYLixegJjH3T9HlOB3IBFJFqx3ryWJPkrRTXeJDTaNu0rF59jPl5nRUJJIh4?= =?us-ascii?Q?t+X506ru9mtsif0USyWrrdAUZ41/unCfVCafiuIetCh0h0XRBpFK7faq6+k6?= =?us-ascii?Q?a/yiB2Sn9qy4PhaIgBM8IbsLTRsifNRN6kS3OyDkizWDObbguByqxVGgpx8S?= =?us-ascii?Q?NmrA1qxSiG0JxvMYUIkwsh?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB071; 5:3vmv6PEyo1bMQvDAPFeqa51MQ5aZVTmihMPdxWPH8WPMEvo9x9W54Zg5h/p4NFw3RB2bIgrbb6uLwMO1wbcjl7Yooo9hM8LtGi/xhIdKTdSozCu8ZzSBVtfJuLaq3uBg8OCPV8uAlpqPqVLzgrIYqQ==; 24:qzRZ8KXVEXGgCjo92L/CzTpR7j50teNzvy3/JuBamsLscJN3cKlDEJ/vGNy5kEc8AtOvvzOgEkHIwXuva8aWxYy6gojcGsUT3b5yQWCiTfI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2016 04:00:19.5382 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR03MB071 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160413_210043_776622_A3C438D6 X-CRM114-Status: GOOD ( 12.48 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yunhui Cui , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, yao.yuan@nxp.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.1 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Yunhui Cui The qspi driver add generic fast-read mode for different flash venders. There are some different board flash work on different mode, such fast-read, quad-mode. Signed-off-by: Yunhui Cui --- drivers/mtd/spi-nor/fsl-quadspi.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 9861290..09adaa4 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -389,11 +389,21 @@ static void fsl_qspi_init_lut(struct fsl_qspi *q) /* Read */ lut_base = SEQID_READ * 4; - qspi_writel(q, LUT0(CMD, PAD1, read_op) | LUT1(ADDR, PAD1, addrlen), - base + QUADSPI_LUT(lut_base)); - qspi_writel(q, LUT0(DUMMY, PAD1, read_dm) | - LUT1(FSL_READ, PAD4, rxfifo), - base + QUADSPI_LUT(lut_base + 1)); + if (nor->flash_read == SPI_NOR_FAST) { + qspi_writel(q, LUT0(CMD, PAD1, read_op) | + LUT1(ADDR, PAD1, addrlen), + base + QUADSPI_LUT(lut_base)); + qspi_writel(q, LUT0(DUMMY, PAD1, read_dm) | + LUT1(FSL_READ, PAD1, rxfifo), + base + QUADSPI_LUT(lut_base + 1)); + } else if (nor->flash_read == SPI_NOR_QUAD) { + qspi_writel(q, LUT0(CMD, PAD1, read_op) | + LUT1(ADDR, PAD1, addrlen), + base + QUADSPI_LUT(lut_base)); + qspi_writel(q, LUT0(DUMMY, PAD1, read_dm) | + LUT1(FSL_READ, PAD4, rxfifo), + base + QUADSPI_LUT(lut_base + 1)); + } /* Write enable */ lut_base = SEQID_WREN * 4; @@ -468,6 +478,7 @@ static int fsl_qspi_get_seqid(struct fsl_qspi *q, u8 cmd) { switch (cmd) { case SPINOR_OP_READ_1_1_4: + case SPINOR_OP_READ_FAST: return SEQID_READ; case SPINOR_OP_WREN: return SEQID_WREN;