From patchwork Thu Jan 25 07:02:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yogesh Narayan Gaur X-Patchwork-Id: 865768 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="e6N4x95t"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="Ef8OS+LM"; 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 3zRtMC45MLz9t2Q for ; Thu, 25 Jan 2018 18:04:37 +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: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:In-Reply-To:References: List-Owner; bh=xLxlvXQaG+MYJQYQXAVgU/5nv5PhJTl1dzfyniT4M6g=; b=e6N4x95tYJQD1D 7n8S4vAvtkEcNksWqB9/uyxAXqj2JbQ4ZqiVgvqGzWAcEvA7KpHaLVmt/SxbU01DLHyO31TlgQhOk PoR18maqADJeLMf04Ps33LAjLMD450kM3ad7ZHpZU3my1Fw0of/nRza7A8Vp3zmK4RtF309ey4/br iwZGilpPlBJbFrQwbAN1ygBRK+/vqP3YDa+xrH73nT9vOlCHMHgndsZVGGeB4RA3rFA6OlBmcIOI6 Bc+RX5/7qxeisgiDmorsTlKQ5NG5vlzCj8qtwFhs+/8jNJt6W6T9ZOKSuQaO2sYyLVToOm1eoYR1x zSzfGFnnQ8voPplEkKfg==; 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 1eebaF-0003LB-Kn; Thu, 25 Jan 2018 07:04:27 +0000 Received: from mail-eopbgr00071.outbound.protection.outlook.com ([40.107.0.71] helo=EUR02-AM5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1eebaA-0003Jw-Qn for linux-mtd@lists.infradead.org; Thu, 25 Jan 2018 07:04:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=HV9hCyvCoXRxP/mbU0+oW2eSR9rroB1POzzQWHrLhrE=; b=Ef8OS+LM9cTc9/CdJ+Hg4amQ6pGGiv+/VtpFr9RMh2MQLm0diR+5L0p+Z1DzjA1GHpqNE9ZjIQmdbNZfZsaqvOo5BV/k3/S2ULi3nnscIt8ZFJpTdYX1hW75m3oTFzE0GDBMpqrUbRNzu+53+Tc3WfQFsPH9LWElV1b2f4NUHjk= Received: from idcbfarm.ap.freescale.net (192.88.169.1) by DB6PR0402MB2838.eurprd04.prod.outlook.com (10.172.247.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Thu, 25 Jan 2018 07:04:02 +0000 From: Yogesh Gaur To: linux-mtd@lists.infradead.org Subject: [PATCH v4 0/2] mtd: fsl-quadspi: add support to create dynamic LUT entry Date: Thu, 25 Jan 2018 12:32:49 +0530 Message-Id: <1516863771-30974-1-git-send-email-yogeshnarayan.gaur@nxp.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [192.88.169.1] X-ClientProxiedBy: BM1PR01CA0083.INDPRD01.PROD.OUTLOOK.COM (10.174.208.151) To DB6PR0402MB2838.eurprd04.prod.outlook.com (10.172.247.10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 95ff454c-a62e-46d9-bc17-08d563c1d246 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:DB6PR0402MB2838; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2838; 3:c9t8K88/K0Lkm5APbOx166oSX9Q/nhhuaiKTRoYq9m6Tx5+w7bjGkzRnwkrF4hdTfTBxm5mKBVKnqw/QglyzbkeFop6UnGK8Euca1zWKmRpBL7vDlcT/NOWqF51U5HKcycDawIiUPZH2H/e/FYy0FLHn6/dwz+2Je77HHICpyE8FnWaMJGIobV5U2WVuKbsc/plZgRWP7Eh6k8r9hsF8GLUC+GrZUEzE/f687YYikhCKluXTldVeop+KQv7uxFk0; 25:z+AaejJAxMAkDyrCwEEKXgMmZiFuwG48dvdCxYnaBQ9IZWdpAcb+oDqaadWqvK/PrmKmB5WzCXabHobxIcH4wd0amJopYNisFsbKm2OyAlE55CtTf+uMv5SB7LHtoVPij4JvHjq7le++c3oRQlC2f7ohNPQ+VC7mrvxaN0vUYdqEiYpj6HGyg+MrVW+G0EEHlcl51Ofz1KXYxNRK34zY7A4XgX8a3KMMC/W3YpG8DFU1St43vSLOs2cEruyav3CHE6AuEodutRbM/aXfr3A7YVBFcFFyQRy/Sdwjr5rEJRrkR8hxdlO/k9Ou/9mUlkMAOS/2zqVmxRwAbMWCGGSlJQ==; 31:A7g3bKTq/JwuRi83B390t8GjsHQCzXkVE8G+fuj/en7A0OyzgrP8n/DU/QkeqH7RfFLvrIOksziIMtabEW55VNMNNQWxFcZ55RcChooBQc5F9ZHlF0Iklh1bBoe0/BfM8WppWcRSstiF5LmNqWjN50IBoOiREfB5XpHR1xrFfAvDPb+nrn05FtlVmW9YsY69Q+GXpR6iAFIHwxtociebjnh2d4xXdziXyk/i1SuTPKc= X-MS-TrafficTypeDiagnostic: DB6PR0402MB2838: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2838; 20:C6pthXfbshfwfT2umvLOEJy8F2NNc+OAmhhNiz3BQvUvsxFaqByxh+lMxiB0Qzx04x1ww9H7KC8b1i7dvihyYIakV6nFFHLDEsZktj9twx1Ol4MpsHDQ5cYtBx3n9yV/KzUGCotJfHsSM5+LoYtSUPeqH4debZiNAvalQQKf7pDP/K8mPF6INovRvkB4zKnZiF4dt2VtuAcotGwy1GLtSUzPJO2CfFyaZxLdJ+Nt8kEJIpj86Ve+HbKITYSA84sE6g729VT3FPZvkznc/3TqmXXyuH2QeMzwDKRIhspLQOri+fh7Y7kfIQn0bycJEPx3jix3VuX/dxfbsTX76jThnuRAd//jZUT5SXtU4mP5chRayAHSblsIF+S3cNL6szzDeUKRQULpSRgusRbS/c60PZuWxmmI6nUD0r+S2Qxz3I+Fk6bZMKZF7R4mEfamC1+3hYlFe0mZQfpMtMUop7N3fIK1GNraQUXhUFcw/xOXvHOlvp/P7m9qFCcDfRZ3hH6j; 4:KV0enhhhTMuRFrSk4RfQqDqCwmlzrcphFferhoQdSWhIUkhC2LvC9fjNcasmsCDjivrCWNarRFDN8frD44yCaONL3QeupwYItkQFgFkGKzopbLHdLispG0C2vfxu8FGR+YTl2rybMb278s5Sb6AKBtoMu6r9cgJcTuV2WIQ61HvmX5jikk1wBpDfmXgcl66WFYvsCmkJUTe5aepWoLd5fTmSVek1EPBkotvm5YPhydXpsDWFcakNpSq+DKMtbj+rcwKaeybyz7eLxSbh+PffyA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231050)(2400081)(944501161)(6055026)(6041288)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DB6PR0402MB2838; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0402MB2838; X-Forefront-PRVS: 0563F2E8B7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(39860400002)(376002)(346002)(39380400002)(189003)(199004)(36756003)(25786009)(81166006)(6512007)(6486002)(47776003)(478600001)(66066001)(8676002)(8936002)(81156014)(16586007)(48376002)(50466002)(3846002)(6116002)(50226002)(106356001)(2351001)(68736007)(316002)(2361001)(53936002)(86362001)(575784001)(16526018)(4326008)(305945005)(59450400001)(7736002)(6506007)(6666003)(5660300001)(97736004)(386003)(6916009)(6346003)(26005)(2906002)(52116002)(51416003)(105586002)(39060400002)(186003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0402MB2838; H:idcbfarm.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yogeshnarayan.gaur@nxp.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0402MB2838; 23:42tnMdBC9ZGfptkBRb5qbjSdfsarSXW5Yq61iTM?= mC/6PlICCxQglwLr8ZgQwUNIvn3p7H3wvSvQotAZIIG3vq7EpLu/WYRVsPyxTHtIr/WbEWEPdwQY/uhJIALM6vFd50x+5/1oyWFUNYOiHV99OGxRcr+r1FWP6s/GuUj4rKml7wrIXEUbgfQ0EP8JClXE9qbEJwRUdhnIHQVKzXbYJTI49YHy2xN734abQfd/CGgkNtk3kloUDfI7fiKKd66PfnnLTPx1KhjzKbORR19zvreKuPs37lK6XzopNRmxnrKJ0uTrXhHNRpy/rYW+42MMSW5+6b8sAVUQpB9tgfcfAJD+UBVyqWLG7VaZE/T4Ac7gXFDXRcUiQJMOj/af0ZljaIkfPTXXS4S0FSm7UVQTuVBbDAc35pnlUHYYxi/zsd2NcpmR7R2LeI98BaxKN9eUKYOYBIZCIL8wNM1CeZHSaHPsmumTuYPLGiqSHZ0gYii76RtZGId1mgpz0/9IeaNL5CojZXN8e9cWDigyuLPxi5Meh0VfpZhURb5mlz/+e3AL8PMow1iEN6gKJf0D+GRZodlBJpsEuM8cY7M8Nzv5b2BfPB6vJYyepVEwqlfEBZ7qGGX1SMqBqGGFYKhh8aDCLztj67IGYfsYCKwa3kOnZrR/qlX2Qk0Mc6DAIlulPnWGvuUHPXhmRWyTQkiT7bzOiIS/hXR37f59J6mHFWnvvbefxd/NHP1JPnpD7nmN6Ucv3n81wa5JN3DvTz9tQvC1Agn4LfxrXabvEFml6c1x85a3uw+Db4y/Qd8cbTdkQ/VP9/H+epUCVJy2nQUNWXvQ5X9WvOreI7b4RzXr3OwYR7mbejUly0SyBvd7Uz+QcbQNHTD8AGNiqjVaTDQwIpVrpiqzcuyEAUyneXVFfJyRkiXzBoMyyO0u1ut+HD5m69Xy4kknzhbBlQ0jcC9Q7ZXvFvzG7Z9OM7LJ274V3nzOKG6tcpB7BXP5/waRzPhlzdf0bMAZb0oReCvmIe1njsUp5uhpzngBNe5JwuyvS2UUKPSLnAjkTr0ER3xgTV6PQpGPA2dm3IZcl4WzV1h3E1Dvlp8zS8OvVk9x4A+GyrjJckBl6vK2y5h7vBFZIFQiEP9Xejk86Nyfqazus7Vw1XZ8e9bobrWf2nemb9KNLcwpE8MJIlUSTpK9lcXgKmk2Y0lw= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0402MB2838; 6:+olhUDalwzBpkc89rddAKCQYrsCS+pVJJUB5HtTIVYjv/fkyNQycPHbEMy4FDUInbZeSaL8VwcAny778mp/ZN4GcNRe5abMGzTyEcdNkltV4KIBiY9Y80QIodrKD4evfknUbv1ZH8ib273bPmYwISA2La7QFM4mQNy4jlw77goL2hkMwBkvKgGfea3/s3TDIBHFXhnEhtq5mnRZG/lY4cWlwR7l39qG6on1hgkFzlwv0otea5YNOJPZmjhJyOvlRcJCX8sofFoc9iBvvohhULsxkEvzvi2xRtn9KNfaCrMjSSmeMxw7KaeSmkvaCpxPoV/iXdczbvVDjCklJtAYhx2yselUpC+olmCXRaBIkIBY=; 5:dstNtuvvCPZElLfxt7wRTCM78XB7pgXCPyqBKFh1vkTvDYoCxmPgmzP1dihWH5+eh5O6suXDPBeBhgDpyqxBqETr3U39pIi7c6aLC1buCnemzPcdfh48JrXmyE9Wvkq6Bh90sieMM1zKizFT41q6awAUQwhPrQMqyN6z3OZltFQ=; 24:gcV115cM8wTAmrwyCcSpx9DG+GT73GeUsef4+nUzUGbjTeNjQoB+1kLnJCbFrTeSO9CkFGh6IT3juPJbqSlubihgOVMrOGPAWQWyzNNKuaU=; 7:rp9IS8KJ3V4eUtpILV52bWkbSNKelw9kl4GnZ8aJy5c3YulnQd+X+SCVqGc9gyMl69fdr0oCwVeZtOqT146l+OJGypsG/QAFJGfIKaOxIC+hRsQMRFWcmNXe3Qrb5okTf9ZiBXuXm6Fv5FH/bnkHXI9sDp8x4NijLsp9brQx/jQ0y3STb+hkdbwc6Av3FYH9buJnc20sx8ieZlZwpd4jfUKNEQnrcUPt9oAmszpprKQssbi0P+kNz0EObHqqOY7g SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2018 07:04:02.9388 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95ff454c-a62e-46d9-bc17-08d563c1d246 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0402MB2838 X-Spam-Note: CRM114 invocation failed X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [40.107.0.71 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [40.107.0.71 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid 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: boris.brezillon@free-electrons.com, Yogesh Gaur , prabhakar.kushwaha@nxp.com, suresh.gupta@nxp.com, cyrille.pitchen@wedev4u.fr, han.xu@nxp.com, computersforpeace@gmail.com, festevam@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org fsl-quadspi.c driver creates different LUT entries for various cmds like read, write, erase, readid etc. These entries are created statically when driver gets intiliazed. To support various cmds e.g. different read cmds like SPINOR_OP_READ, SPINOR_OP_READ_4B, SPINOR_OP_READ_FAST_4B, SPINOR_OP_READ_FAST, SPINOR_OP_READ_1_1_2, SPINOR_OP_READ_1_2_2 etc driver needs to have different LUT entries for different cmds. FSL QUADSPI controller has 4 chip select and one can use different flashes on all different chip select. We analyzed that the flashes have different parameters for the same command and this is true for NAND devices. Also reg_protocol information, needed for read register, read any register commands, read SFDP register, not available at time of spi_nor_scan. As FSL QUADSPI controller has limitation in number of LUT entries, max 16, thus require to have dynamic LUT creation support. Thus to have support for different flash devices, this patch-set adds support to create LUT entry in run-time based on the exact cmnd requested. Information like cmnd opcode, protocol info, dummy bit info etc required for creating LUT entries parsed from instance of passed 'struct spi_nor'. Also fix initialize sequence of AHB read, move fsl_qspi_init_ahb_read() in fsl_qspi_nor_setup() function. Tested with "S25FS512S" flash and have checked read, write, erase functionality using mtd_debug utility. For read have checked hwcaps as SNOR_HWCAPS_READ_FAST, SNOR_HWCAPS_READ_1_2_2 and SNOR_HWCAPS_READ_1_4_4 i.e. read cmds SPINOR_OP_READ_FAST_4B [0x0c], SPINOR_OP_READ_1_2_2_4B [0xbc] and SPINOR_OP_READ_1_4_4_4B [0xec] Yogesh Gaur (2): mtd: fsl-quadspi: add support to create dynamic LUT entry mtd: fsl-quadspi: fix init AHB read in fsl_qspi_nor_setup() Changes for v4: - Drop patch 'mtd: fsl-quadspi: update hwcaps read capabilities as READ_1_4_4', it would be taken care in next-series. - Added patch for 'fix initialize sequence of AHB read'. Changes for v3: - Add STOP instruction for prepared LUT and remove memset of 4 LUT reg. - Update information in cover letter. Changes for v2: - Swap patch sequences in the series to solve git bissect issue. drivers/mtd/spi-nor/fsl-quadspi.c | 299 ++++++++++++++++++++------------------ 1 file changed, 155 insertions(+), 144 deletions(-)