From patchwork Wed Dec 6 08:15:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845052 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="loKTYS0/"; 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 3ysBLW0qy4z9s82 for ; Wed, 6 Dec 2017 19:17:39 +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=PYUkrnWtMeecN9JRrN90lB28Ob6HpQ50y2Bwk1m/2s0=; b=loKTYS0/UKZXP1 j9vnsDeH1nPldBHS+U+XzzF7udBdoAG4jP9XqNTbihjLBuY6mPvpZyqY9KtxryfaFsz8VSjlWxxsm 922jPLCE5R+U9a8xNT5Tti1uT9ykSdUEq/mHIP2tTOTGl1n26knP4fv3iBG/8eJ/4sPtk+SwvUu0O B20XAyxt+0SPojy7wRKXcXh7kTkpcdMsCPLWwsVykU+ot9UhXx7ppIEJ52eDDBto8JUkPyTvmFR5k 4XM21xQs57+2h5fwHi81DsbWXsH2MgUBH2XcLb8ZlAYMYAowKXuZCfWjP6J1//PhL9+9Ww39gdztS sfwALvgRz9ZVV83W+x9g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUtZ-0001jZ-1g; Wed, 06 Dec 2017 08:17:33 +0000 Received: from mail-sn1nam02on0041.outbound.protection.outlook.com ([104.47.36.41] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUsi-0001KI-A3 for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:42 +0000 Received: from BN3PR03CA0095.namprd03.prod.outlook.com (10.174.66.13) by CY1PR03MB2363.namprd03.prod.outlook.com (10.166.207.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:18 +0000 Received: from BN1AFFO11FD013.protection.gbl (2a01:111:f400:7c10::150) by BN3PR03CA0095.outlook.office365.com (2603:10b6:400:4::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:18 +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 BN1AFFO11FD013.mail.protection.outlook.com (10.58.52.73) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:18 +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 vB68GBbe009213; Wed, 6 Dec 2017 01:16:14 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 01/10] mtd: spi-nor: Add support of 1-2-2, 1-4-4 IO READ protocols Date: Wed, 6 Dec 2017 13:45:32 +0530 Message-ID: <1512548141-3319-2-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217788307570; (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)(376002)(39380400002)(39860400002)(346002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(377424004)(16586007)(316002)(54906003)(2351001)(305945005)(6916009)(33646002)(8676002)(39060400002)(81166006)(47776003)(8936002)(50226002)(36756003)(104016004)(85426001)(50466002)(48376002)(8656006)(2906002)(81156014)(4326008)(97736004)(53936002)(86362001)(230783001)(77096006)(5660300001)(68736007)(51416003)(2950100002)(356003)(6666003)(498600001)(76176011)(106466001)(105606002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2363; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD013; 1:9tGWj70zjBQuSEqL1hqNUMGiAu7vIhdm76pP9eZgbZO2y1UW0uhgfUukx9jL5HlEPZOo9aojavvEDhBaXD64ZwDz2e1o6yWQQCU0I3LmUt5EdZhlpaNTf6q12MtIZPIY MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 93bf64a1-c2fc-429c-ed82-08d53c81a0ae X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:CY1PR03MB2363; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2363; 3:k5aXZB7JnoM6xAUq1nms1x6sHBn+fP0EU2+F2hDJS1RkKHIA3W6sFDoIBTbj7fkzoaY+hzElMLYkCnWINPrOJpBnfs48IOyNSMB3UsjaMtM1+yuWqhKTdtWdNGzxD5u63vbEfNN/36eUXNJwOBOeGtqt8Q6zrAgocL2r/iFJ7nxgDGyEfoZUKzhFbIM6rsfn7BpXpwQmvMUvivTixf0jLc49qu+mrzaixWnOFUPBe6B0cbibkAzl65mrMGLNHnaPkbc5jjVrZQdBliF5LzfuZOqyGo8EHe9CAtVRgaVC5WvgNdqrlmYnSpU9twVFKCglTbM0COFFu1OhXBc6qFv1NKERae6W/6AJOdasLuJN8GU=; 25:IBsgSqtp7dOZ5QRVrj3NcDNQoZ6KZqrXuUHeAk9ZXh3lK5OIm1/Xe29ozqqa2/5mSi1v8lQc4RpVw+qZJ4bXC4wnOJtQJdkla+1JDUd8fsybEAMbcuSGKRR+dZBIgYuRZzkWKz1mcXFOwD6JLtlsHA8j+VNmMOCzDpYv+kAQowLZttvm3jzhFId6Z0QY3xUChWgKqz6fXEIvkIeq2A8DLOyQU2wYt+VAddy6J/+fA349AFi/IUV1q8R5MJO4X5q5dCxsUh8s/pE6VR5Kbhf4VLrceEaLDkiq6BbsQTax+BrgKUTW48qbrGCb7j6aW7KODjiKEqZCjNLaUoQEhsdXpg== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR03MB2363: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2363; 31:lj5qB3si2jEBfnSAaKIgC/0fu3XYyf3byHo4eiQPt/8f/BvNx5oiCeILOAcppIGIIsGUUWQVo/Hxneew5gAaRyOhoByTW83FUzWNE+GASGdCz1qROoH1PGRr/OhBrCxWKB8tvgdhng90d97tSg+r3BY1mcCal22AbY2NEmhYUblDjdkHyU3e0FcTIceCHZ4r6Gc7Zbb1DAiYRyZoBx86zcl84ciilvaTgl3T49tE3IU=; 4:ttiXUDQCVx/OtYdqCcAA6C9++jICyTLvO8e6iQnCEZ0OS7nwe1nRxf4xJya3OfQtv7mHFvFV8gX3WQn+BBhlEuhppbb+epQ+Fzl/9/vwLP7XIzOIGlMNWf4bnjE0p/SgR5mdzccPNVKbHjXc6Hu7N6myhVAnjwFCbkI5VWoZRJSe/RSWa7IWUG2xIovvrW+1fx8e7Dulk0rCJbzt/5MX6uDQXdMUivbGAFIwnt5GJmECjvQq0t5UJkXDDvVoM/V5Hi89Kg+TPKWU6soeqVRbjMMGGESAIDbTVOA4MYAen4tB7vShsuyCfexeF5R33adx X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231022)(93006095)(93001095)(6055026)(6096035)(20161123556025)(20161123561025)(20161123563025)(20161123559100)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123565025)(201708071742011); SRVR:CY1PR03MB2363; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CY1PR03MB2363; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB2363; 23:DzmrUzWHYiEIA/JzaEsGUQv6UPh71/bir8uRYTOTC?= unwhFsqqj5WGOPV5ax9q+yftlehD+gXyGjpDXaoCkMju3Fc3WkFSLKMASlLXDt70SVmNJDiWCqOsg4nxbdLfriKq6RFPRhTCE2K+o98iRJRkOlz2VLIAtNhAm9m8YaWY1BN12lRk+cP80R6u1KO+7Gw5X8zr+RD5cAxbbG9bmqO1NtspKRgU7ohbymyJa3JTUnC+INAAMKuMcRPQDpEU4rcXFXtOohFXJqauG3s/LR53GodxNO3BISNTkJ6oxSXpzmvB0QRF/CSIpoca7tfzIuRkZaIY0t02rMccmc2EqfE/huVm6nylhvG0/jCPqPLYKe+CwhDYYZURdB/l0Jzz9m2kGb0fGukIHkxiznyV/sXH+pN3KCSuYHxrQI+drI1mkYctGFk6v1yHKXYxhhwGb1komrwv6IQ8NfSM1Ab969jSSjBE/4QAvNR72fB4lI0A3tzpMt+NYpVAme7PfxsG6+yB341wgt5fUowmOk93rvKRQ+5s8NLC8qdzjupjrAqh8B0wkwZLJGbKgEsv+rjOwCWmn3TUbP54Mq1BPoU4Ud0xCeAhgGmBpms0m4jRVz3Z7+2FSNPEza2ehX1S8cIGigDmJUzHamxxqNarpTE+9/lB+l5QvbGpr8Esk882QkU+9LA/kxjwqtd2FZytd8Ic+pMHjKxt9HGCL6xQi4wQoTIjBFL+MmH+z5q2hhD3AjWMnXVHAs+PmOGmso0MkoeD8tCyWk9fqIiRDIbVHKcJn4HAFgDtPl4m47JBWpNDE2cutu59ngKOgkblkKKJxfVc5ATi/uFqejFDOi/41lcmA2dylONe95FlWcCRB1PssIRDALTmNFV8WRMw4bJlY7NiN/QEu8kS1Loi7/cc1uONJyTL8N/G+9za5DtFengPxkcVB3uaQA7Arq7tvU77qRj2ubdYtdU3BA+EdyjZQ58HhOLoJnx6N0SMev86QbhPFDGuKm0IyN5AbZY3BagdBR5kUgcDSsDY3iybMW5f6xCsBbEoQbsv1JepB4220U8ktCbZX9RN4L8v71qItJTk1MZQcHkBEV1XPcC6v3MaMPagaZRDZJmPFBLlNaLDfCqUwidleyTp+J/JRFmUf4RTdZr7kiwQfx5QbVXi/Sgf2ylq/HOYw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2363; 6:R4ShhsIvIzTYxVj7JyKSrkXcQkIDJJMM2v+kBlU5S/H/Por4mz3VFPJ07ecB+GGCShfyOJDT+84xTJ384W6ozyCW93WXD/q739aGXh1CIPlHcum6wTVNlRuiOYqcE+KpRhQAxZ8B93/gr4yHi2+t8tTzYj7Ma0OTfIDtmLsvCO4uPA90JyZpPHiKm4MYhrSjdg7rNAZYcId9C6wiCdUSD6wPk/wmB5zAUnITvbWUO3AShii+d7IzDBHf9nPDZt+J/u2i1jvSsYKf80NnJ7MLTry8ZFI4lyrOwAJPaJaahOiMm9cqQ5ydXXnluiYsGNV8yhTDIXkzSN7FFOQ8701XGdUXJfRrTGtHa8+cA0bc1u0=; 5:RAdP5ZKm/q04L5OjCD8mDDRyH009RImFX9/I3CzJBwRCOCWqliOVHAaVH1WmigfPKyPnBf5p4TYGxdlxYuCQ/2QyyFBZJNa09sk3kbR2wqKx9aksACogrEfSSuWT5vYgOf1A4V54c2IQVk0AYOPIxrkr/GCEvGzR41Y3Yan8SI0=; 24:ohmngu/lQ/YmxI/oGnoejTyX/AaaGPhTnG+k7C6ghNUi/AVw58PLVxfUYHAlRIg4c8AWrQhLbLUbCJJKGglQctvBlxJ6UgOerByvaU1LbQA=; 7:EyKOD4z9dNAB12XF3+Y8MOZV5zDksXdJgJUUxRmK+Q5EBmchKfKesl9WPBgOrOx1hWbO5as/Cy3PsI9VutPdLxWAjluQBIjWn3i/LuNALQrFEg1KPZfNA+jDI+ViNQyATHWnCM2TecNQRzKx0cJurYdYNHCMUHjiumyK5NgySAbytjhfjKwIoxrwHm6PluyuBOQ48FOPJugPoIcwqpSjgvUUJmv8zF94xaWsRySb9ukXs5jB2liN7YTY2gpC4X9k SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:18.5343 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93bf64a1-c2fc-429c-ed82-08d53c81a0ae 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: CY1PR03MB2363 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001640_484705_11B1D87D X-CRM114-Status: GOOD ( 12.88 ) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.36.41 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [104.47.36.41 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 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, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org IO READ protocols transfers both address and data on multiple data bits. 1-2-2(DUAL IO), 1-4-4(QUAD IO) transfer address on 2 data bits or 4 bits per rising edge of SCK respectively. This patch update spi_nor_flash_parameter->spi_nor_read_command array based on DUAL or QUAD IO flag enabled in flash_info for a flash. Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 19c00072..7d3b52f 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -61,7 +61,7 @@ struct flash_info { u16 page_size; u16 addr_width; - u16 flags; + u32 flags; #define SECT_4K BIT(0) /* SPINOR_OP_BE_4K works uniformly */ #define SPI_NOR_NO_ERASE BIT(1) /* No erase command needed */ #define SST_WRITE BIT(2) /* use SST byte programming */ @@ -89,6 +89,8 @@ struct flash_info { #define NO_CHIP_ERASE BIT(12) /* Chip does not support chip erase */ #define SPI_NOR_SKIP_SFDP BIT(13) /* Skip parsing of SFDP tables */ #define USE_CLSR BIT(14) /* use CLSR command */ +#define SPI_NOR_DUAL_IO_READ BIT(15) /* Flash supports Dual IO Read */ +#define SPI_NOR_QUAD_IO_READ BIT(16) /* Flash supports Quad IO Read */ }; #define JEDEC_MFR(info) ((info)->id[0]) @@ -2399,6 +2401,13 @@ static int spi_nor_init_params(struct spi_nor *nor, SNOR_PROTO_1_1_2); } + if (info->flags & SPI_NOR_DUAL_IO_READ) { + params->hwcaps.mask |= SNOR_HWCAPS_READ_1_2_2; + spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_2_2], + 0, 8, SPINOR_OP_READ_1_2_2, + SNOR_PROTO_1_2_2); + } + if (info->flags & SPI_NOR_QUAD_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_4; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_4], @@ -2406,6 +2415,14 @@ static int spi_nor_init_params(struct spi_nor *nor, SNOR_PROTO_1_1_4); } + if (info->flags & SPI_NOR_QUAD_IO_READ) { + params->hwcaps.mask |= SNOR_HWCAPS_READ_1_4_4; + spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_4_4], + 0, 10, SPINOR_OP_READ_1_4_4, + SNOR_PROTO_1_4_4); + } + + /* Page Program settings. */ params->hwcaps.mask |= SNOR_HWCAPS_PP; spi_nor_set_pp_settings(¶ms->page_programs[SNOR_CMD_PP], @@ -2432,7 +2449,8 @@ static int spi_nor_init_params(struct spi_nor *nor, /* Override the parameters with data read from SFDP tables. */ nor->addr_width = 0; nor->mtd.erasesize = 0; - if ((info->flags & (SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ)) && + if ((info->flags & (SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | + SPI_NOR_DUAL_IO_READ | SPI_NOR_QUAD_IO_READ)) && !(info->flags & SPI_NOR_SKIP_SFDP)) { struct spi_nor_flash_parameter sfdp_params; From patchwork Wed Dec 6 08:15:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845053 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="XKp8dGES"; 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 3ysBLs5phpz9s82 for ; Wed, 6 Dec 2017 19:17:57 +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=dzdAdUDHkgKMeEz3f7Iz+/vvWi3Qzxu6OMQeZIxTYj0=; b=XKp8dGESBg6dXx nQm99+9q0P9sYjeVnzpFm/kZwr025hbxeZxVisCC9BVaUXTVxn8rNzo8jHoIh7CVM55puh6RCcnhy MpF8eV8VnS7ycWtX6ULuhAtpLU5+1jXN9sDu44KtkEjBTS8sYEP9mpXaq3yttN/v9+mDQ8g0ZI1YQ oJMNe02xIYQweIkAfCARGp3nXW+680IDEfhmD+48c89YDNtLUo44m8bInzVFHv1cisD+6umJbTkgT SFE8QTxb0jrOfwjSqRbHAQYF8LjiDVHzk++zmtWyVtqqTRWJ1ns8Y1cS0Qjl66+HzAo+Hkp5YgPLw 0cRpJFrPe/UdoX0urFPA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUto-00022g-4M; Wed, 06 Dec 2017 08:17:48 +0000 Received: from mail-cys01nam02on0053.outbound.protection.outlook.com ([104.47.37.53] helo=NAM02-CY1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUsl-0001KJ-6r for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:44 +0000 Received: from BN6PR03CA0083.namprd03.prod.outlook.com (10.164.122.149) by CY4PR03MB2696.namprd03.prod.outlook.com (10.173.43.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:21 +0000 Received: from BN1BFFO11FD022.protection.gbl (2a01:111:f400:7c10::1:146) by BN6PR03CA0083.outlook.office365.com (2603:10b6:405:6f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:21 +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 BN1BFFO11FD022.mail.protection.outlook.com (10.58.144.85) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:21 +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 vB68GBbf009213; Wed, 6 Dec 2017 01:16:18 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 02/10] mtd: spi-nor: Use the highest supported READ protocol Date: Wed, 6 Dec 2017 13:45:33 +0530 Message-ID: <1512548141-3319-3-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217822604368; (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)(39860400002)(39380400002)(376002)(346002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(76176011)(85426001)(51416003)(104016004)(316002)(36756003)(54906003)(6666003)(2906002)(6916009)(2950100002)(498600001)(4326008)(77096006)(5660300001)(33646002)(356003)(305945005)(106466001)(105606002)(48376002)(2351001)(50466002)(50226002)(39060400002)(8936002)(53936002)(68736007)(16586007)(47776003)(8656006)(81166006)(97736004)(81156014)(86362001)(8676002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB2696; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD022; 1:p7xoDOLo76mXKKV7oqVmhaUfaOvKefcGy4KH1EQQa/rxIFb23pACeQH2va1AoLhM7Uzv6OK01P4FC0MAjNbmZwIvW7PYs0EZogrxiNfoD+XIjWmVRiSIksrGDqGPBFtQ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d83a6bcf-b5fb-4f40-4148-08d53c81a2ba X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603286); SRVR:CY4PR03MB2696; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2696; 3:UmMYODgz2LJiJ3pCZIsOJ7cxZ8j2v9FYHnhx1bSwXEqH3u0bshXlTwMeCxooAQWFOtmqA4UTWREst3s5POlXaACv6fuB/S4Q0G1vID8XkA+mGluBXslhwIsqlOy7YKOaeFv4gIGT+i4F+v+JhYO3nWS4MbXaucE8pFleRHKM8lEk7nqGaSWquVG3CXQL++N5dgBmjugTvOVyvxU6Jcgf6R9wGO2XD/KgYhk0KdvwDvMUhq1apCZT9pbkPl3ETnQNE5/95L/tM+3eSD6Ckp4O5YdHszTpNI8Gh7X5mk9FUHiLhw3VSiI6ux0OZoXkrYOm0LKDnTF2lr8C5SFhSHWDs6Ddt1941x3k8aQJra4huFE=; 25:q+TZf8VgprNlM1IQfwjJcCXmzH/Kz0c3VJj0cWcpOLdC0VE+TKq4mdR0fgc26EMZ++fv+538nktM7G0pLQzaoLPwpZiw3DpJdZKMjZPouGZUUmCmxz1iRsDA2Mrli5wed6v9YwE/HRpZCfAt+g2z85oPFuy3gSNjRVNw4XeecvLxB5bgMpTzBFmCAFADxCmEhBJMDOI8UIvrm5hGQSTuuzkioIJtZXUSDSVoa1spEU3CMGU+YA9gDNAiZBPwampp0nSBV/zMdC8G9JQgINeZd/jE8lSofJW3raMgD9t5zIVyRZPCtXvOmv5Cpgc5PalWGQndSCv5aB8Ypru6lnjttA== X-MS-TrafficTypeDiagnostic: CY4PR03MB2696: X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2696; 31:LClSNKLyqs/bMOLEvfLVTB8jLI3DkTpqx45TR3HsjEe8SrbwAyHioDqkY6mIBEGKgaff2X8pAnN4Q3hBdn6AKvS7BEydis6qTSfLJY/b91qU0Zc+2mTmPb77K5ANq8Ma0H2P/kqNuJ25cvyIy1rP4BMO97GlFQAC8MxLlKeyJQT59sKO8OhyhJw+Jysd5yLuNzJ2FxJ1ie4g5QIbj+LpbA6G1nwXdy0WnGcGLx8Y9FE=; 4:EKQYsdopnvzMvCt6XGHGxpxORROYczeT6QWzO2nykwFOW2sEgL2cqPbjntoP5MMg0Xpt9VDdewImYpu7wT9Zas8g7RnP1TePifSgUIfdFlwy7cG5S8q1kovmmdVW/NVfc6TEiZ2huvq+clVDadn7t5PheXAOKWvIwYvvuVfjfcp7IZKaQwMRdPEVPAhfyPaAWC3h+B34xj1p7gVqJwxjMq7zYjywnigGtjKIiptUehjTpFKJl7nUc2FydPpqBV8icGAmn1Dkt/kSNYUKMcVls4i1XtJ8NdDBfBCi/idXwL5uYhhgAP6kX4WlmAZqqybg 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)(93006095)(93001095)(3231022)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123563025)(20161123559100)(20161123565025)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(201708071742011); SRVR:CY4PR03MB2696; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CY4PR03MB2696; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB2696; 23:oKleV0+Vw783R5eR+2OrbWvLyeUrLMfHtoL5dXCOt?= 12vGS2lKKDrvxAlp/2MtsdS/Z+4hIzwKXi1ei9Ihb8gmGnYqF+K+IP2GqI9oLtegltZW6SlUDmX8uer1GU7kAy7SN1k7CN9UinrEGvM4CUIzDK3+gEq2eOfnbc4lLaA4XcXBNTKvrFRYznvIe42m73Je1u5Vhj/neuTvNcYc0pwmdeVmQG3sVdj9x0O7Akasw0+9Fa4Wb1E2VpmDmGTGtS3hlm39T8rN3jW67QzQBCQFRAZ4o0vmMYBd89T9FVQBthvIapOSYYy8hHI9nXfE61Jc8LMl4QjnTvcYE6BPcGcb47d9P3O7ePwS9MgO4bYxuTdGD/DMAWxIyh9eOtTIZO0u73+a0iZ3df6yUA8FJ8wsDvDu2f18ZPKY2zBOnVEdi3ydJBNR6P0pYoVYznfyldWQHIrkYmm2D/Autv3pRpcA58MKsC0+e0Y76b06BSNmeqKZSy9v8p/KuTofqhKOwYTWAxq2j2vXbCi2fe+vQlRAqKCc2QW/yMEOfdxegEFOb7Wp/kGgN5OTYdVs1a0evsMNLzWP8lPD/0VhtDAOZXou5l+PYyGOUZspBXD+3pmwXt3R4Nv9ngw7qjfrkAKM1dJ72zRDIvudT67OghALJnwjjihj0Xq2z8uJfJrSjIHlfcnnYqw7vTM2APFIuciSLXCjMpCJqzxWa9XRzPVJcSI+6qav88plHBHyTkUnlYNU7HW5xev9DuO8QyFS/Vw4medyph+wBDdg58Z9spyDOriYGIKx2QZtPwUb88clkQXJOtUiyfnRPWpyFhsgUloTQgq3Yj/m6wtaS5F4qQF7u6ZEIGwx4zPk4hN3GWAnEgNP4y4JJhn52o0CN6AsV/LNNLvrtXBmsxbIXXr5AwEQxo0u40/ZowCPE4Nh09DdF9fmaQy5wZi74V0Sqmx0Pw/si4gQ2Y2eKHbbvga/JZkxbQPU3s+vZ6HVqlUTsW6RMlUnsZ9AqrDZG5E/F1sQ86oUK1CnuljcMLw6hGcMBX3mTKT1zJknar8KVddbcHJ6IFcQGkskkfxF27DygxVzGW5J85RMX1NE9y3/t2flcsuVUCzhOS6cooNqfitS+UKplZUHM4= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2696; 6:BvklayqZpMBIkSXgGM4+YAG0Wunq9FI2ye9jDbYvgEhlcn/QMwBXqHB7q0yUZdkR0cq0PzP6r9lTSu00FJn/Xl/H2CAvXjWEWdBnKf223Vqzzq8bOTF+pzRSIMIhqjUDhK3iI/VhFRPYfUnwCVawgBve4ovk9/+Qr7s6zw6oiGr718NaE1w16r9nmbR+70z6HxntxIYYwm+9yd0nSTY7lhBhVB6NpcKDP3g/5TTU8ek/ej5O1RLpRQLdYtsd8U0WLW1YOzeRK4dhBmk4+fcfDlKQfyiIorzyn5sWYyjE6laBkDxPRihrJDuydUOBp+JIPtHtobvQZc71nIkNp4xQkTfivYdyZmA2GHANM50eSvE=; 5:ugVf+1Yv1CxvHY12KWsYXSpTrdJBLdwEcX092hS0+oK0hl7zmNXiaq0d84We3QnKh9qsxhs93UT91Yd35H5GT755OEmPYRmWVjcuILxSJ+q39k8QaettDuUaFJPIK+lcX0bhKv82ZcTLMz+JxRb3qCK+MlysX938Cmjr1TPI7xw=; 24:sabc5L0rsoApXkam76LXbW6d7sKeGrynjs1ds5/uGMa53orODY2xoqh8gB6exSn09kXs/pI+VJBcBauQbpab7IXlQ/jfs2CKx+vsXzcp1uw=; 7:Jg+dPIt+zdRTC1/Sbi3XlkGZHtMyQS1OOBdXt4ODG3fPvtmhkmGj2SKPHtBjGRpTH33r18LigYae3vXY+AOyv06vre7h9Z3sE55HIhhwBjzHoseLBw/CZ5WWT21182sDH3DwGfEVTXwnh3xKWBJgf4ah0XZggYRpgyaydWlfTUsdJ5xveh323ChXON/mjTtt5B53n0l4lQunyI9lwSzNfHTzi/skuL7UAqOn10vtOLZT7qPtMbSKCHCJ7Q8JyaO7 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:21.9640 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d83a6bcf-b5fb-4f40-4148-08d53c81a2ba 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: CY4PR03MB2696 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001643_331453_36085D4D X-CRM114-Status: GOOD ( 11.25 ) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.37.53 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.37.53 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org HWCAP read capabilities defines higher bit position as the higher priority. i.e. use Octo SPI protocols first, then Quad SPI protocols before Dual SPI protocols, Fast Read and lastly (Slow) Read. Currently implementation chose the last set bit i.e. slowest read. This patch select the highest available read capability. Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 7d3b52f..01898e1 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -2521,7 +2521,7 @@ static int spi_nor_select_read(struct spi_nor *nor, const struct spi_nor_flash_parameter *params, u32 shared_hwcaps) { - int cmd, best_match = fls(shared_hwcaps & SNOR_HWCAPS_READ_MASK) - 1; + int cmd, best_match = ffs(shared_hwcaps & SNOR_HWCAPS_READ_MASK) - 1; const struct spi_nor_read_command *read; if (best_match < 0) From patchwork Wed Dec 6 08:15:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845054 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="NUeK4dBg"; 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 3ysBMG4DZNz9s82 for ; Wed, 6 Dec 2017 19:18:18 +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=wJBQdLdWJs9AqkcvP8Xg/Rj08Hun4Uzz56DtcwTWWEM=; b=NUeK4dBgu1WLnk vogSP5QwBeiZ89bd7s7FhWFr/pO6S+grVd92VI300pxYz5s3OqznXDZQUHRNavWjW6KtjN1QNDY8w Zn/uJHzIMCzo2STOTng0QaCPH15Ky1MGgRyg9vd4y6faUxJ6PPdB3CkQR3JvEtl5kCqnyxIFhR24L bFFFpOI/I0M0W5GxIQt1BQZN7vA4oue49XMXBw2MaSNAzb1U1pH8+IC0yDgDwdPYQqPe0CiXOp3Lr ln1XPC9PSqbXSLgXqN/O9x4PmgemWC1wRcxM7wAAKzEBUJTwq/NdPwxyziCtdYP9mQIYBRZVb8hp2 esGquSdetepTeUJ6I3Jg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUu8-0002Jl-FX; Wed, 06 Dec 2017 08:18:08 +0000 Received: from mail-co1nam03on0057.outbound.protection.outlook.com ([104.47.40.57] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUso-0001KP-Ut for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:48 +0000 Received: from BLUPR0301CA0027.namprd03.prod.outlook.com (10.162.113.165) by BN6PR03MB2690.namprd03.prod.outlook.com (10.173.144.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:24 +0000 Received: from BL2FFO11FD035.protection.gbl (2a01:111:f400:7c09::155) by BLUPR0301CA0027.outlook.office365.com (2a01:111:e400:5259::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.282.5 via Frontend Transport; Wed, 6 Dec 2017 08:16: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 BL2FFO11FD035.mail.protection.outlook.com (10.173.161.131) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:24 +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 vB68GBbg009213; Wed, 6 Dec 2017 01:16:21 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 03/10] mtd: spi-nor: Configure read latency for read commands Date: Wed, 6 Dec 2017 13:45:34 +0530 Message-ID: <1512548141-3319-4-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217843009556; (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)(346002)(39860400002)(39380400002)(376002)(2980300002)(1109001)(1110001)(339900001)(43544003)(189003)(199004)(356003)(106466001)(33646002)(16586007)(8656006)(316002)(105606002)(68736007)(5660300001)(305945005)(53936002)(81166006)(81156014)(2906002)(8676002)(54906003)(50226002)(85426001)(47776003)(6916009)(2950100002)(2351001)(8936002)(6666003)(86362001)(50466002)(104016004)(48376002)(51416003)(39060400002)(76176011)(498600001)(97736004)(36756003)(4326008)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2690; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD035; 1:2RSmtDn2aQ+KguYCpLwbUsQQijkCC4K5UWL6AFcQBvwwjy+Fg0Us8LHSVIo9XanSQBLWPLTWDr435e+nGj2HdJI1WDtCDr7L6YUJr9mpqwrax4gGTeFirzBHGwzeSV2U MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f02935d6-edfe-498a-46b3-08d53c81a402 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603286); SRVR:BN6PR03MB2690; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2690; 3:Z2dOZGVfxSLnAyRI3LEGyRfoZZ7QrSK07tmUbWYSqNzK6fj674ZqRHKi/EEYH5sT/xP5Q7WWjT+TiGz92uNoIQGjHVPib7+YTQSKceFW+HBpO+U5CTj2UVVkrOXNBDs06HK+bCEi83Mz44YGvvMHv5u0FPakqbOKue4o1C+RkNzVpsozNATfyXTH6Yh05h5XZNGiVIPKf0I4zoAnR31DxTqWGtOR63qGNQjgRgFV2jnuiauRg4i3Tg5LZ5WbrKpVh16WUnr3l6piAy94Jl9rOBXJD1Yx11y6M6KefllnC+2CdjYQtq4x7xEUOunsGviady6IjgqYc6MnFOp3Bl+1TjLC2cQQHugOVfFA8/fURD8=; 25:3/40G72cYzn6O5WRKo8jOofH8lkIApcBDs6xdRGkeZKsmVFidvwx8AbKYKdWM3ZzX2QYGh3egMgtbZwm0N9xW+C/AYgz89fYxbRPo7s4R7W7mWD2SHgznVx+MCBpJt88cTGkt+xF2FIFCfA7Mg7TOh953BJwdmJTdDXM8yWqsrlkvnCc2HeS08vxbbgfErmc6w6+XoiE0StnzkB2s3E/0OVWQAiph910Xp5Wh5vl9Sh+V4Dwu09FFFghj+3Ez1143iH7shJLByrwTTtYtwdEswDgEz4FxFp6jMzwsXz+Rr2kbSbLC7yGjQh3rMadpXw8nDF3XK33vmi2UX+CdASZjg== X-MS-TrafficTypeDiagnostic: BN6PR03MB2690: X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2690; 31:/G4NlMq5gcw6y2tJBxfNRN6A8j78q8PPy6Nqi1xB9hBcMho80TXzKGvEBOrDHnY56BrsP3QOeR23YUiFM3L+/RmPkkcGsEARWFIcgc/7sFE1YxRbx+XSfgEJOuqGbG/gofIOvJXa0awkpp8HsQfH7Sc4jXQeyqp9NWzSRh2Ldlc5AKBJzydRHizmQI5lut6WfcICSHgTHKsuexH880QYgailLRb8ddOP/RiTZPWG8RA=; 4:x+sT1dfd5YChssRQGL7kCFfIpg4GTn6vqDM/a2ckEoHdLmvAZD3aS9L9lr0BF06g5LkaVDcGUOteLTddb8FmHNUNkPJWXQFvS3vVHEHvDOfjenG96nbyIsSsALJvpRZVm6zv9ZqYfDgc7Li/NB1X/+9T9cd7kG99Jbo4ktqlq+OciwKzvVHi/YQFu2az+SwgiAdJHbXuuqrWuBGu7081yG8X1U26PFg9/mS0cDw9uqVkv4mC+KZ9uXiSF8nqpGz/ZXAI08rq1696DvCw1ze54FceAzRI8sXIKlftni71BU84GwKH319hIGKhgFmAPh2L 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)(3231022)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123559100)(20161123556025)(20161123565025)(20161123561025)(201708071742011); SRVR:BN6PR03MB2690; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN6PR03MB2690; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2690; 23:S7EVCUatObEBEqhsM+7RVroNiqMrZBRwnsqt+Gg7H?= 1qcQv581FH6gsSVPL9pSFLvJHtCRUEbAJRMC81hDGLMuJI2T/npyooFgUmBa8gEftEGC+TQJW5nDi3X5bRKwWznanov9vZT9tiTgmRUZPcO5rKFEh+MQVNK9vB+hbeyjePG950fKUtRKk1l6asKg/D5p5cVsWwVUYPUJaTx5B4yqYQ/V6vjdHiCcoghf6PwBJj0T1UAXFP1J++7xhJnnAusjpYAmw9m1u8FjzI+hFlnePjWQaLDvXe2z7ja2cdR6AYnYOMAZ1Ud4QJcX6OjcDYOzTpohfjcoJykf8mjxSrR4Og19kSQHW6XMJazPAlWzbmJuyJf6/mNIjoOgx/yKAqMz61mdRXnOmjHsl0ToM4F39QijWGsCpejC4JjUWzjsqsMAq7LreT8kszsKTMQTfcXkyu5zx9F2W3MKqWCJCZx4uuMjYMJXdGoA6H3eK6qa88oXj3dHWCBJwO4tmTiNPmMMUvLrO/jYl5l8CysQsDL+5ELs0+hCtnQEKFH4gI3uudwashTU+ZuznaoQmKfkAIbZjkdoy3w39du6502mb/D6b1hmQAU6Q9MJvyB5K7ca8khTV8qPI3ef/MwboJt7Cpx9d9a7eVgKoB7oNUldGv4hp+YQzJRsFVgOgnM7EKGYTfGdjx5vq7ql408BxjQ2JUtxXyIa04YmAmzJ/dYuObo0pmjc1nNTgpxF6Ur15d6SimPSEd92w8+92s5atRFh5ocrPoGmzaEhzvjr83ddFTfKonj9Jr9Sb+61HLux8JKYj5nkVXyWrDP5I0owAIjYk7XAIaCdnFuHdGUMillClerLvE5RTyB0tzXb2cMswZ/3TjpPlt2oLJtIMDKLPEHQ2mwMLjp/ckfJ2uQbN9+xf/70lmLHYpmBkY3azd9ZjqRZzdkuPB5SWo6SNxuqGMqmkJldieXpyVkCaijkeqM0//+luNKRhLYAAVIZU3MOarxfM1z+bEICj0qVg1ktzapYsf6gwrHZzXWqhLUamZnjL4a2bjnL4ONdLQv7hyKdZ7K9i5T/RtkcRDeT89YtO9NdtzVIWSFjuNRjBtk2Ap3UnmSK+LM9Db9QVZ2glbRg6xexidZ60aI7tG3QRzy/bMRSDuG X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2690; 6:5GgqsfM6z2X8BNBTv1B4N3R4RH33u9nS802oWucyb/g71ObTy6ZQ+wp1nuLmoTnJOCPcaBe4ejLwwq6KaVy3m5wUpJ3CrUXUyNE4Ni2WuAjKF5sRTZgWiyh8AzpK+yq2Il9V66ETcvRFyjyRKG45Z/F6nhLgfArHfqD9yEYwYcMpqdljKrxgyXBVxQ3YmgcSYEed54DeJho2qYLyxNq3w/BjGnWcymKVyvGNB1GWfkz9+JkdFQsiLpH7TBdhO2S5keERGPB/SLdINzH4xRkO5CPr1eH/Mr8MZLipk5de8TbkNecdnx50iPxUxGWkT/7yGRKlZkqT0Kf/5H7K/C3blgAYtc5OuhPhJ7KV20hYyYE=; 5:OVEwix/pJXcGo6itAM8RQ3D3OG8kkpujQG261FqRCpK5iHoWXMekgGe/uOgOKCxrCoP/CEUnspGP3aPlNjZ7hVNgJzbFtsd7T9nenDh/kZ9lUSpwTmFcvxWe8bV0VQRscL9FxP3pxPvx8Ob5nJBBXEeZWQwAe/9w73XSGw49qUI=; 24:LvdsE33Pr6BFzqT2zGXqfhognDaQZzWZYcqAjhQZCe6yFACkw9CCYvT1k2fCNv9m1mpxW+L0o0al2fQgxCvGc2vwgl33kJ919bFXHFIThEc=; 7:NSzM7waGtaLwE7fktjLSrQpck9Inb7LRcdUsb8ayEsF8mWLWtrl3/lr14hZx2CSmopv+muj8DNwLEOnGQM+QD7jnS+1qttYbZSkzeCeVeGEnus2k1q0U1nQ7BlAoF0qAl4QbTGRD6EzwEVesl4EM6BvU3tQI4leA5gWKT+6pn3TGuj8ZUa1xQlfDzuNtdMt02hdaytxelSU2kZHYvptVHazlPF9U8tZRC/Vw2MQy4wCib8Psa4LS9rZfAq3M4hI9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:24.1293 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f02935d6-edfe-498a-46b3-08d53c81a402 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: BN6PR03MB2690 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001647_160964_2786CD2E X-CRM114-Status: GOOD ( 15.69 ) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.40.57 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [104.47.40.57 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 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, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org All read commands have read latency (dummy cycle). It defines a period between the end of address or mode and the beginning of read data returning to the host. Flashes have default read latency. This default read latency may not match with the selected latency. So, selected latency needs to be programmed in flash via volatile configuration register. Considering flashes have different types of configuration registers/bits depending upon vendor/family. This patch provides a way define function pointer per flash vendor to configure volatile configuration register. function pointer has flash_info parameter to take care of difference within the family of a vendor. Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 01898e1..7d94874 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1695,6 +1695,9 @@ struct spi_nor_read_command { u8 num_wait_states; u8 opcode; enum spi_nor_protocol proto; + + int (*dummy_config)(struct spi_nor *nor, u8 num_wait_states, + const struct flash_info *info); }; struct spi_nor_pp_command { @@ -1760,12 +1763,19 @@ spi_nor_set_read_settings(struct spi_nor_read_command *read, u8 num_mode_clocks, u8 num_wait_states, u8 opcode, - enum spi_nor_protocol proto) + enum spi_nor_protocol proto, + const struct flash_info *info) { read->num_mode_clocks = num_mode_clocks; read->num_wait_states = num_wait_states; read->opcode = opcode; read->proto = proto; + + switch (JEDEC_MFR(info)) { + default: + read->dummy_config = NULL; + break; + } } static void @@ -2385,41 +2395,41 @@ static int spi_nor_init_params(struct spi_nor *nor, params->hwcaps.mask |= SNOR_HWCAPS_READ; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ], 0, 0, SPINOR_OP_READ, - SNOR_PROTO_1_1_1); + SNOR_PROTO_1_1_1, info); if (!(info->flags & SPI_NOR_NO_FR)) { params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_FAST], 0, 8, SPINOR_OP_READ_FAST, - SNOR_PROTO_1_1_1); + SNOR_PROTO_1_1_1, info); } if (info->flags & SPI_NOR_DUAL_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_2; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_2], 0, 8, SPINOR_OP_READ_1_1_2, - SNOR_PROTO_1_1_2); + SNOR_PROTO_1_1_2, info); } if (info->flags & SPI_NOR_DUAL_IO_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_2_2; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_2_2], 0, 8, SPINOR_OP_READ_1_2_2, - SNOR_PROTO_1_2_2); + SNOR_PROTO_1_2_2, info); } if (info->flags & SPI_NOR_QUAD_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_4; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_4], 0, 8, SPINOR_OP_READ_1_1_4, - SNOR_PROTO_1_1_4); + SNOR_PROTO_1_1_4, info); } if (info->flags & SPI_NOR_QUAD_IO_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_4_4; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_4_4], 0, 10, SPINOR_OP_READ_1_4_4, - SNOR_PROTO_1_4_4); + SNOR_PROTO_1_4_4, info); } @@ -2519,7 +2529,8 @@ static int spi_nor_hwcaps_pp2cmd(u32 hwcaps) static int spi_nor_select_read(struct spi_nor *nor, const struct spi_nor_flash_parameter *params, - u32 shared_hwcaps) + u32 shared_hwcaps, + const struct flash_info *info) { int cmd, best_match = ffs(shared_hwcaps & SNOR_HWCAPS_READ_MASK) - 1; const struct spi_nor_read_command *read; @@ -2535,6 +2546,10 @@ static int spi_nor_select_read(struct spi_nor *nor, nor->read_opcode = read->opcode; nor->read_proto = read->proto; + if (read->dummy_config && + !read->dummy_config(nor, read->num_wait_states, info)) + return -EINVAL; + /* * In the spi-nor framework, we don't need to make the difference * between mode clock cycles and wait state clock cycles. @@ -2546,6 +2561,7 @@ static int spi_nor_select_read(struct spi_nor *nor, * into the so called dummy clock cycles. */ nor->read_dummy = read->num_mode_clocks + read->num_wait_states; + return 0; } @@ -2622,7 +2638,7 @@ static int spi_nor_setup(struct spi_nor *nor, const struct flash_info *info, } /* Select the (Fast) Read command. */ - err = spi_nor_select_read(nor, params, shared_mask); + err = spi_nor_select_read(nor, params, shared_mask, info); if (err) { dev_err(nor->dev, "can't select read settings supported by both the SPI controller and memory.\n"); From patchwork Wed Dec 6 08:15:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845055 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="CY0Gx1vp"; 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 3ysBMY2Gw2z9s82 for ; Wed, 6 Dec 2017 19:18:33 +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=NPPy4IjNX8iiJfP+Qm42V3xbkqEzHUqF/HDw6h9jWa8=; b=CY0Gx1vpADBQLH 73z/Knl0cxVTvxhbUN6LfZXVtBa3pT2ZoRzr5sxao142+SjVM9W46DWE47M1QVMNGCBQPYPgV8yDt lJBzj8QAvz3bzw9PZPgclqDSUx+f7Y5swQkz0vVm80w7pj2f6tGD5KOJ+ZrF1f4pEd+9MLIig027L e0/b+W1kRo4V0EHLnWXTLBTgAWt890e7zxMHSa2WzKOPcqeDVK08ZwlxxGPXkBhEZvfXUkSP2KWyO +or0ZNMIEoCYHPIpQTfsv0H0CMFT4oGKE7PC5xOVBfcffEkEJQfZIYZUGbIKSP9iOAyX8YGFLjQyR 1jUBLjGaxgrGFjPnd9Zw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUuO-0002Zb-U3; Wed, 06 Dec 2017 08:18:24 +0000 Received: from mail-co1nam03on0612.outbound.protection.outlook.com ([2a01:111:f400:fe48::612] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUss-0001KT-Ve for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:52 +0000 Received: from MWHPR03CA0017.namprd03.prod.outlook.com (10.175.133.155) by CY1PR03MB2364.namprd03.prod.outlook.com (10.166.207.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:29 +0000 Received: from BN1BFFO11FD019.protection.gbl (2a01:111:f400:7c10::1:190) 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.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:28 +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 BN1BFFO11FD019.mail.protection.outlook.com (10.58.144.82) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:28 +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 vB68GBbh009213; Wed, 6 Dec 2017 01:16:25 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 04/10] mtd: spi-nor: Configure read latency for micron flashes Date: Wed, 6 Dec 2017 13:45:35 +0530 Message-ID: <1512548141-3319-5-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217889668040; (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)(39860400002)(39380400002)(376002)(346002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(76176011)(53936002)(8676002)(97736004)(81166006)(81156014)(5660300001)(4326008)(39060400002)(8656006)(305945005)(356003)(2906002)(50466002)(48376002)(47776003)(6666003)(105606002)(6916009)(54906003)(2950100002)(106466001)(68736007)(316002)(77096006)(8936002)(16586007)(50226002)(33646002)(51416003)(36756003)(86362001)(2351001)(104016004)(575784001)(85426001)(498600001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2364; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD019; 1:SNJt2ggos0tBuAnQyVnGcqP7h62ybArkMYf4txwbqEwA8Vg8Ie4lO6Y3GlNa5HIhUSh1IyDu4ra9bGaVi2uSuzqjTbgHUSPAdwMUs8alCb6XT6I0X/jbi8U8r8IcZkgh MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 24169b8c-86b1-4f7a-9bc8-08d53c81a6cc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:CY1PR03MB2364; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2364; 3:5GL8innxO//Nrq3WuQJ0Syzk/Siuwjei8STxu+z+GWXqX8I6VZyp9gv4Sv4EOmUfVusgl33eJ7gz883ecFgNNmqG2EvsUVmttnYeS4RfeB4uKJDW2yyIox7VaOHFDbrYfX6KonKL9ujcxTq02yDJ421hoZZ9W44GlT7GIZdm0iFn8vWUHm3iGimeCH+ImkNr5gXZBbEbqJSibiFeYaIdBWFqGUSC5flRiaLcI8VJ1sddcVaE/+I78VTW+4z+khHPjCvqPqQ4f1h2CGXWvE3ErpPLRiPGR9lcEvcvwEGsPceCX20Qurz+TVVEwLc+/9FS0IalS2lpGcFI7WBFq9EK266GiWQa+4Ht01NdW0ZsdmU=; 25:GIzfiivgmJ4TLLg8siIciaeKwQWmY/w0ma/DA87Ftb2a2FhK3MsaJBBjkqg3EFjvYsOv5lQvsx/mfsMnLDjabKZweO+/0tLDXdvsUb21GHkncPGmPqFwTjKMWMtH+vKsrdekrD7LH3q10tkMKiLHQDEHsSjPAFmUV1Pll1PTtKuQZR3hevuusn1UH+yLHOeWXDxuxfdpRBbgPrQJ3qqaG6LjNtKjVwf9Nhr0qpO6GNBv8Cbl4eIWC4ksprmRCcpiYCFVU1da7P9n/4Nv1Lg1vIkl3UOS5XhIYf3x3wbfTbRbaDoKLfjBnk2cQBbvzntsIcyMzZY4tasooY+M2qOshg== X-MS-TrafficTypeDiagnostic: CY1PR03MB2364: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2364; 31:GHSjs0a/CLTXnysFCUaePqienQeAW1Nwy3LZj+8YDA2C8GX/zjIdhcmRQ3fq/7NynBtJOjlTsFT+WCOwx75ffszzda1clBONT/ke+VvV8v67yPHSRgVjqfx3vnZTfwX7WgW02yk0cZc49eKF+v+7LsGezTrSXoEuQ8N5xFLaPT37MOKOOA/m7wwvDlA2BY76lLbahb09wbe2gTUCqPpyrcjQWVNfk7pVUGxg++mwj+U=; 4:FtrtHf07N6aqXqYMxgz9MjvqnPa//EU7ZwZUhpLYV+Td+ryOUoRgiwCTsmav2VXCfq5kbYBBOq/C3FK1C0H3cABtSiViZjEVHmmQeQlFGR0Url7GZtskxLd//kuvUU0+U1uxEKOGPMOQOT4VwPdEGEG6vWerrsCVfA2RcokxeqFUOSsifRcp8Xc+asOS8RDGkpo1NvDKUx/b8YvAJ+zwCKI2xE6Rry5xHrjB+/uj0jpGcagfnSbBQh7znYJelRhKP2mm/2pzlXHeN8RK7j8E8YW+Oy+v8Cl47sawCkgI//cZkPpjtoW8VK0G1j3lOOc5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231022)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123563025)(20161123559100)(20161123556025)(20161123561025)(20161123565025)(201708071742011); SRVR:CY1PR03MB2364; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CY1PR03MB2364; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB2364; 23:+3k5Bn7KlGDVSiOFUQxvb7UbQHzCklxHAUobsc0Uj?= OIADT2TbUyURy6BcZEjtWjUxllESZ/OEMX4Nc3faChpAqKfDLGp05k7fH32MMK1x4wwcrPfCjgMroCmXHVGuSZMbLTZHLQ2NjElTPjwBkxpkyglMzZKReuKjvtNHR38ycz1WRAn9Q2Tz2YOe87rIO8h4BuspK48czl5Z3S3Wd8o0rdHUYNjvmzykhNtf96psWrNIBjQ8wGPu2lYwucAyJPmZa6omEeMzxGbGkTE6r2eXnOxlfSm0QQGl3bKSoBr+pkqzaSK7KDaJmBNSp5+dP53cjm8AHZGlP4/NZAlDfZHP0emb8pdICc7I70lrEdo/8IlQbUBxHBciGYpDJag0t1u0fr+9YUDV9OIYbNWK+BuBcrNlqT8T8pfC/EjLpoLxfTxy4+ve1F4dEl02C2+/VNeurTmU1CsvXqzzbMb45JQuPebVZc4UAmNpxeDeWBqlnmc681caVZ5UB4i6zUy67VizGJAtzTLLAa/YytnMOoyYY7CMqfG7A6FUcG9w+qZzGbo9VHmPkT5tlSparDBfq11Lb57OkUxJR5WK5MITVaMcNqT92aCk83ZIypd/vaW+zuJdv48RB1DiHJKnoDbt+gSPyy1IsU2CnwVVcGWvkuGCqg6dHAtFxJIgbQVJihW7v6LD/uQ2Qk47fdgqrKcGcarDF5a9DDyJdxid5Y5iLPk/nEGTXi4LRuP9jUlWrPZ17a2ZbDeyLHmv+Ggfyik/Q6r5m+eZJscg2voB4kNaHBfqdargUJKJib585q4PBofjr9NzRgc7sD2HrkOKmp7wvAZtus/VkK+DIg9ljrkvJbgw1+4/9PV89RaEhkQGZgeB7pmF8MJ+fG9avYGqT278LAjrYFfbw5NYm4NuBtnccIPiohcJalidqdxVSPWGAn1Fzav/XJZGzUp9oJmDLkZ2BWk2FZVoYk2s6bhM66GzsqWyB8lUptKPslFBjizQ6XouOaouaOBCafS0UkugParumr+u0cbtMtYJT1A3PqZGRAJOPE0Jy11GpNa6ZS/U3N3iP4cezfqPbxZd5OpSiSRSOzyg0EKdFNNsxJSPL73JQ6ZMWiQBPccDQjNxGRtCLBLi4Z/5RKY6Gm+oKO+1yvNRfVk X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2364; 6:8fUHul3yjiiI9bPsUpnzSARk0RHnGJLpO6CB4G9CfNDSmcpGgyYb6rzAMSmyWrU40qp/1rU0hcUWHchp90v4GmMQqUPvg6bgsD6TS9IopGJHdrDP73N4i6ODfPZszIcyq0CXrVkLwN8wNXihmaicYhsliBCFr7gjACq2sKztjVTF0qNEkKgLMMBH3Ect9MgynJd+RvI4G4t6gyIQFxcrRhAtYBZqAfMF5YwmcRDY6NbhhHrfxoNKk17Od2Bo3w/WKF3NMgah+/eORF92SstubwVq4liwFFymvIxOdwVEqHi3ykWcJM0vpZSBOzz1ABk7Lq+jEltS7+cWJmziuQczKStXeqFv1BoO8lU/LjzVVRc=; 5:HF0JTM3vj0EKkEfcO2r4NXPcKHK0bD/K0U/WPD0Voci8aKUnxFISSRcSfgnQhFu3C3Y8cPyqBYQFNbuKnW0Xq2FGJ6Y5h2REIuiwT6nUp6CVWa5p/1Y3Yax8AwE+uXoSXohiXkzh9KDdVRhlK2SXnLg39GvP18e173JwMa+9InE=; 24:mbq06ltvzNjBuV1wvzatVFozAKSY8Ah/7bkTn5tL7/Co0dYQhtWTXzeiuQsUVLgmV3Vgd3eQjdBwmtbUIFcZo53XxXlUOkeiQsuZOmXX7cQ=; 7:ZGXOunn5IiLHbtpgphoi8G4f+HRuhomYr/7WDfHe8YnRPkcJwRCVVIgMfa8eiCSwi2607zrN/7R59ioT6tuR54oulvkMCkCJRoefy5n1qYmsXHDVKm9uFNe8CkM+CEXlCKdrNCjdK3JV7zhKYgtmsygVI3fbjISHHhqfRc3RWS9QSkeDVtgF/L1T2aGOGiXDrboX68eYiPfpu7K51v5Y3t5UY2mp8FWr4Kjfpl7ZyifOlIwSO1rscrwjWNslERNO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:28.7796 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 24169b8c-86b1-4f7a-9bc8-08d53c81a6cc 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: CY1PR03MB2364 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001651_102939_6909E5D4 X-CRM114-Status: GOOD ( 12.23 ) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a01:111:f400:fe48:0:0:0:612 listed in] [list.dnswl.org] 0.0 T_SPF_PERMERROR SPF: test of record failed (permerror) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Volatile Configuration Register[4:7] defines Number of read latency i.e. dummy clock cycles. This patch program volatile configuration register using READ VOLATILE CONFIGURATION REGISTER(85h) and WRITE VOLATILE CONFIGURATION REGISTER(81h) command Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 29 +++++++++++++++++++++++++++++ include/linux/mtd/spi-nor.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 7d94874..dd1a771 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1638,6 +1638,31 @@ static int sr2_bit7_quad_enable(struct spi_nor *nor) return 0; } +static int micron_dummy_config(struct spi_nor *nor, u8 num_wait_states, + const struct flash_info *info) +{ + int ret; + u8 val; + + ret = nor->read_reg(nor, SPINOR_OP_RD_VCR, &val, 1); + if (ret < 0) { + dev_err(nor->dev, "error %d reading CR\n", ret); + return ret; + } + + val &= 0x0F; + val |= num_wait_states << 4; + + ret = nor->write_reg(nor, SPINOR_OP_WD_VCR, &val, 1); + if (ret < 0) { + dev_err(nor->dev, + "error while writing configuration register\n"); + return -EINVAL; + } + + return 0; +} + static int spi_nor_check(struct spi_nor *nor) { if (!nor->dev || !nor->read || !nor->write || @@ -1772,6 +1797,10 @@ spi_nor_set_read_settings(struct spi_nor_read_command *read, read->proto = proto; switch (JEDEC_MFR(info)) { + case SNOR_MFR_MICRON: + read->dummy_config = micron_dummy_config; + break; + default: read->dummy_config = NULL; break; diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index 1f0a7fc..6c62aff 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h @@ -110,6 +110,8 @@ /* Used for Micron flashes only. */ #define SPINOR_OP_RD_EVCR 0x65 /* Read EVCR register */ #define SPINOR_OP_WD_EVCR 0x61 /* Write EVCR register */ +#define SPINOR_OP_RD_VCR 0x85 /* Read VCR register */ +#define SPINOR_OP_WD_VCR 0x81 /* Write VCR register */ /* Status Register bits. */ #define SR_WIP BIT(0) /* Write in progress */ From patchwork Wed Dec 6 08:15:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845056 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="rRdf6bY/"; 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 3ysBMx6Hc1z9sNV for ; Wed, 6 Dec 2017 19:18:53 +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=wMCHZytM4t0dh21ibqGe/Hpjv10dCnFbVkXDOTrZWYk=; b=rRdf6bY/6wRzd4 sFO71gxWBz8Rei8Ic+IPqDoSVSt+pwFisBooOB0T9DF7c/Tz1VBbfMuR6jbTjbPBs9phKJjZRSHqn 4XabH/0cYS0YtF9yIKM47P7kivsE/0aj6K40ITVK5MzpPEqGuPlhUdg/pEUBWMDVH7YoU2GRmcEHi Xf7of2B2zyYMXMsWdbHUDTaCCkfJVi86oJL3Y8Dk2FJwW8fgEKe6dD732c09XKAEdRHICIITXS9mQ oVCPwREPPYF0GxPa3ct7aTJ+M668WWpaGLD4+5LODlib2Vyg/7ZPUCfP4NDdaqifnZn0gBpc2a8yy DdFHpLTywmjRDrgPZkrg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUuf-0002oF-Jp; Wed, 06 Dec 2017 08:18:41 +0000 Received: from mail-by2nam03on0067.outbound.protection.outlook.com ([104.47.42.67] helo=NAM03-BY2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUsv-0001Kg-LC for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:55 +0000 Received: from MWHPR03CA0046.namprd03.prod.outlook.com (10.174.173.163) by CO2PR03MB2360.namprd03.prod.outlook.com (10.166.93.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:31 +0000 Received: from BY2FFO11OLC002.protection.gbl (2a01:111:f400:7c0c::119) by MWHPR03CA0046.outlook.office365.com (2603:10b6:301:3b::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.282.5 via Frontend Transport; Wed, 6 Dec 2017 08:16:31 +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 BY2FFO11OLC002.mail.protection.outlook.com (10.1.15.178) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:32 +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 vB68GBbi009213; Wed, 6 Dec 2017 01:16:28 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 05/10] Documentation: binding: Update fsl-quadspi binding Date: Wed, 6 Dec 2017 13:45:36 +0530 Message-ID: <1512548141-3319-6-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217923136107; (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)(346002)(376002)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(68736007)(48376002)(50466002)(5660300001)(36756003)(97736004)(33646002)(8936002)(81166006)(81156014)(8676002)(50226002)(51416003)(76176011)(16586007)(316002)(53936002)(6666003)(2950100002)(2906002)(54906003)(77096006)(6916009)(86362001)(39060400002)(47776003)(105606002)(104016004)(106466001)(356003)(305945005)(498600001)(2351001)(4326008)(85426001)(8656006); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2360; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11OLC002; 1:lYELfZhI6P7+pvJ/lByVaBq7b64HT/2KPm2xV8u6FA7nhI5vBoAqCbAzmZX5aLQUAxh8R/h7689yiEVYJyGtyzxFdgxd8WpQKBy+7YyfM7DLmwW2W0nYugqHjP3TLkdO MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d81749d7-f920-4203-e90b-08d53c81a8c8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603286); SRVR:CO2PR03MB2360; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 3:geaqsRxTnoD5MxxXZgltiBRB9K42pOAdYsrKvkPAtgP7eylZVkbTRwnI8knGQKRPodZ2tz1Cdxu2SK/AEqtdCAWAcqDuxdDtlfKN2GsMfuEkjyWC8jVMTrjiWo0R7J6aWLXubykW0yWPlBaF7ZK8rra2LVlscXoVqB0+Ta+wsblccsyqwdRSVxWGfDgoIE9fzIWaPR5ZjljftLGbWXdhadEV5K6TM4q+FFSzNzhVMog8kSYUm98Aywr5b8UxBWXDy4/uaIwE9KJKURg2fAxbcTMWhc0bnDY3PNW7jGh3XNvzPJMaI7uq+UX2dh9omND0ff3pVe6CFGO2vKX1iuZDyrzpS8DHX2vX25nR/nis+hw=; 25:BSuNZkCKtzBLOA0HHIZM5S76mguwcm7ojjhD6hfUV3WpPcbyNn8JfSA+FoGxuXeyRc5cvv6GeOPtqU/QwOBJyDrPn2DjdFWR15xoqlFsO1orSNeO7s7wXgSEBx9Kiq+ML49fTwc6dXrDFJfocFdg7gEPm/XH5jspz28FkAFBqLnEHoFqtDygcrrHPUc7IBveef6uEhyY+z46l7Ayaf1S0LhftdHMEmGodbs6WlDYycEWH3nj18+r2/wSZ1s9NB6COvPBf7BP0Y0Lst4ttqlqQaJX6FYMMb8nXJXAwO8d69f4sRo/pl5m6a/vIYDaWXHg16LcdysJTq3EkT2+HXiSpA== X-MS-TrafficTypeDiagnostic: CO2PR03MB2360: X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 31:ZDZKChOCuOxjpl5KCBUGbZIiO1LUN7OPQTX7CY9xGJhnxtSc/IoEQT5Tnx/oqFdmUB3BdFFWoLUMURgy5PKZ1IJvy82BlqvdhfxO7xUqL8Vl0+fjZFvfFiTwkfsTgiS+IvMkYBDas4CpieslH2ySAYz+BltYOQNcMP3MZqL46dxje4qiRChuH3PRrPW7Lt6s3qzlLfLyoGNxDAVZnU/J7drbsbdI/bZKECgtBqpbtwY=; 4:8cMe9GjeK2MtDm6fHyi62ss6VqAF0S+l0Vuvh6iFxq//hWnYjm/snypJIMZO+0LV0b0sqTOrO5LUJ4EsYwFoDKxRkStmnKnteQCJuT5cqOYB7XxKLG34WyPQZnCEMxHEUjp5IsmOCZVKdLdKGiRKPtN4fIVZ55TrlvJRmi48ZhmUXZGqoytripaEIN3GpHBPMwIkF+C60dgOae/RRR2a0Dd+AKBtNLEZgGA8DKs2J2y47V2kQvcSw21B70vqVPG7uhg98bLvMHcwzb4AFt6kClEmwqVYN0e5QG2i7SQEHaFJt0MQL43rdenQaeCABo7n 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)(93006095)(93001095)(3002001)(10201501046)(3231022)(6055026)(6096035)(20161123565025)(20161123559100)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123561025)(20161123556025)(20161123563025)(201708071742011); SRVR:CO2PR03MB2360; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CO2PR03MB2360; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2360; 23:qVrCkWCWtelXNSUb5ccfCZ+NibEJgl8KfSlSSg7i3?= WGwcw2JT8pUzFdtFBTfAfQa8z7XyDpGFeJ6OUFlCibdukTuBUVWjlDCyXtyiPrOonj/w3UjW9gcOdx9cJfimzNdUBJS+sO/vrBwnyWQAzxYGnqZ2tEb3+0BXbfGwdx/U+7I8J/msHb5vawO+1v2F3UpNvZ4fDZolHEo78N+V1/TQJHuNoxkUAxGKIny/vHakhx5RgfBThyKRAqIyj9iFvMfw+Q1EyI4cHIXqT21KGHnffloisC4zmuu4DqKA2nS6jeAZJ60AKHQ1v8BYbmh0qciswU70IrCg4vPQUEHMweSsLibmcy9nIQCT90EULdRw6vqeAhRNIIPuSWs668+2SRKb/5aPodHGIkzHWQO/WvKvWXSVxliUlXHS2K6U7RYwmi0RANW9OBLjMKwJoKnxaYYTluuBX8mu1xbgn6fecpVTs0D153Hx6OsMir8AkQNfna0zPgtVdEXYkB1XC403Ex5QRB0Dv2iKrUpYxIk0UWvSPNTn0HLyg5j6qzj6ltUWK8Ju0Pisoxr1kx6CdLbnMhkW/4J7+dVBaHNjwJz5zl4IU6PX6k+M5goEasIMPMfNJ30e35kM0TN1l19NoOn3S2hCo3HAHeyGAmANTbuiXK2RG9ctDEqLEPMV3q05pN5NOPSupY/82hsWYXIQ5kpo1bDBSAe76AfbsxktlSyW2OgRfQGWEEmWcOCksDdkEfhJdna96ovTYc3gE2O8AzhFcNrTN5BEwKkTg3+t+6OA1G38A1ic1XvI/C7fX+9xu01yI0Ai9sFNzIVMqXqEPzcazMXwcdG7ZGdbFJFW/a4kv7MWf5EdzydtKr/wpC1AuzVMsQw+XaaVBFe97peIGfa5u/boUBPY3gfC00IIG4BKSz2CKjwog3clhxBVvVpc9D/Ap0x8WtiCdlEPC/zVtcM5UYUUXHvzYXnFLycdNA3KsC1GECH7wGUmiRltSQqMnjdeXOZ3V+j63VN0lTj0//1Sj/ta/HtSaLiZhz79i7aHuF1MlJv5MTBz5oMAWmfXVpz05bWSwBtT0KFmdBhs38i/BXxnOJfViEQG/jNe2CFAtFSr5vn/kbVAlCamM7XVg7uJgk= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 6:4G4Gp4zVmmmmi60f0z6qg5ZzbxO05AhNH6d7+9ezGSiLOgV7EJdHC2ns4isErr4E0okRX/xVHIem6gKOpSwwxRLQUPRfQlYHYt4jsFa63gOMP+FqQKO1rxjJUtyTDcEfyRoJ4Vfr3K6RAEta+fIewEGzkAt4CsaSV/+YwwM74jk6ykWKVUzeT/JniuZiFaDUpRyNt1OxP650p2yzq/PklN1IDhstGdeMTcBqI0AW14SNMaLNDNzBD89rN2WoWSeM8iVwZnlprjaddGm9Oo6aDHmPNJiRVR+GI7kltLgtrc7w7ZqZnrkgkUi3hC3ngqYrG4axa3AtKGinEbSKByb/Wvywtedh0HxB64+13LpFfWY=; 5:n5HwTEk0Ot5n+kRCrFVUxfUUT6PvCIeDBBE2oTveBvKg0Er15lycnTf/RWCk96jtzUtAU3L1m64/Q5S4oqKNz9iqgB+OsYJhwCDr9A31ew5DpLosQuGN6AblrIAWmt4sy0TSH9udoG+a4V9w6tg8Av78+wZ/Jdr7rBzeuZULpNM=; 24:ezY7tuWIHBwSkK1i4/7cdgoW4F7bF4zlfif8tu23uDV3yntXtcKDnrXOvcCH8SCjWOK5OK2ZpuuonFmUKPNaZHnKoKH5CFIjjrVyzd6VM+w=; 7:m7oMaXu8uKvZYx7aOOW86VwT5U5+n6VwKduD/cgea9mznI+N/plrbB2izaQpC5JIVlEpnmPUbdA/sNcZ5iSxAVFHflzn+BTmT+j8c0xKSRDpC8PhwpRdLkAznyblanF5OT1dK998K1ZeYJjQJegfBlAtwDIBMG1OpKUOc2AwmZ8dS7kT1loKfmXBADlfCLf6n9J+EoVnuI/QPsmcWKwd3+LaixTgoXNSLsd7uUGlJKsHPACVterVb5STczLA1es6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:32.1108 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d81749d7-f920-4203-e90b-08d53c81a8c8 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: CO2PR03MB2360 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001653_720712_6D0C6D76 X-CRM114-Status: UNSURE ( 8.60 ) X-CRM114-Notice: Please train this message. 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.42.67 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.42.67 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org QuadSPI controller supports Single, dual, quad modes of operation. Mode is controlled via either RCW or the on-board connection to flash. spi-tx-bus-width, spi-rx-bus-width binding added to define mode of operation. Definition of these binding are standard as defined in Documentation/devicetree/bindings/spi/spi-bus.txt. Signed-off-by: Prabhakar Kushwaha --- Documentation/devicetree/bindings/mtd/fsl-quadspi.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt index c34aa6f..13a903e 100644 --- a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt +++ b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt @@ -23,6 +23,10 @@ Optional properties: bus, you should enable this property. (Please check the board's schematic.) - big-endian : That means the IP register is big endian + - spi-tx-bus-width - Definition as per + Documentation/devicetree/bindings/spi/spi-bus.txt + - spi-rx-bus-width - Definition as per + Documentation/devicetree/bindings/spi/spi-bus.txt Example: From patchwork Wed Dec 6 08:15:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845058 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="VWMfwoFE"; 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 3ysBNZ1lfBz9s82 for ; Wed, 6 Dec 2017 19:19:26 +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=QX1MS9cG2tCa+rjIN7MyldolWYUzad+cW/Di4fhCvII=; b=VWMfwoFE0dNJnf rfRUfGfdMOMhxo1t08d+Q6NBlUuXRQ1FFzuoCEe16OsAHxx/ZuEBZxTbKS29QiXOKGE+cgMuJF0Xe bb4XLJ+bQzn4PucPt7cvGoOTzlON1iyHIRLh4iBjH3ZV8bDsTxuIiWpf9CMtU4p+B2w1WDsFpitN8 +e6Bz1LFkstmmpQITwfhQUEQYo9iPCwXV9LLDubcedptogUMn7soj5l7cbBmoev+3x4Z0LFLw+78W crcd6CEuJFzYxjPqY1eTYPy0j19nw7pvskg9fvZv0wplvcihRwNySL4LHE7bVspxjbzPXxSCaFQlv 6rnyi8ktpPKdhTNIxLmQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUvF-0003Lu-NG; Wed, 06 Dec 2017 08:19:17 +0000 Received: from mail-bl2nam02on0066.outbound.protection.outlook.com ([104.47.38.66] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUsz-0001Km-R2 for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:59 +0000 Received: from BN6PR03CA0021.namprd03.prod.outlook.com (10.168.230.159) by DM5PR03MB2700.namprd03.prod.outlook.com (10.168.197.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:35 +0000 Received: from BN1AFFO11FD046.protection.gbl (2a01:111:f400:7c10::132) by BN6PR03CA0021.outlook.office365.com (2603:10b6:404:23::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:34 +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 BN1AFFO11FD046.mail.protection.outlook.com (10.58.53.61) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:36 +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 vB68GBbj009213; Wed, 6 Dec 2017 01:16:31 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 06/10] mtd: spi-nor: Update hwcap based on mode of fsl-quadspi Date: Wed, 6 Dec 2017 13:45:37 +0530 Message-ID: <1512548141-3319-7-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217965722367; (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)(39860400002)(346002)(376002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(76176011)(85426001)(498600001)(6916009)(305945005)(356003)(5660300001)(2950100002)(104016004)(2906002)(33646002)(2351001)(105606002)(106466001)(316002)(16586007)(50226002)(68736007)(81166006)(81156014)(4326008)(8676002)(8936002)(97736004)(15650500001)(50466002)(86362001)(8656006)(47776003)(48376002)(51416003)(77096006)(53936002)(39060400002)(54906003)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2700; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD046; 1:KNLK3pN1LjW3IBikdIiU7aYuVIEBuz0x28550FLdsUjA9G8+tHw6zVrR/+hRIzzshGRw+wgNq8QTJ8bJPK53h2vr/CnuuRWUcC+qBMroAyTjjAWx3e0Wi3gUyunWsozW MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e86f8f0-8f41-4328-b99f-08d53c81ab52 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:DM5PR03MB2700; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 3:Pq1ASIByWMrtLRHraudOr3S2TVYvT/KhDZEzGoyM6wXAGZsjpCPbQuwa1zoMDUXJGlm8KuPfBiPW3n1GawirfTvCM5OJ5ijpmzHpM3xw/jLELB/sf+5dc6lBV0SOREj0aThvh8lXaZM1JIAntmQWVe3vvBEosRN0x25MrAuPNIYjtQHyA4Oc3p4o60Uc8y47vfsWA2yDtTv2VZh6dvQ0vRc3gle8kAIPhes1V1VzNiPWt2ehxFMsgNipaSNgsD8gtPoKT/RVO7sHi+9FcBtUcs8PIjXb6dxBws1ege/ihyV/6h3+T9OQuYiUmdM3vq0CICyWRduOip4cgF4D7O0wV3TfxTdnhkA9k7MWERZgFD4=; 25:ncR5AeN+L4ksVznm70xs/t2P1AUY6n2ODNLTxApmKlRUgqtr3HU+It4TGRMMbXrUIAIlU59x2qcqYNlS6cqZ7nEhOAZnM+BcF6jcSRvsFeQ1s/GAc4mAHABejzDGM4CbzDaLrToUlVm/qHTNuicCTHoLDSrV+46Jm5Hrmxq8CyFL/mE2JPuI0EDGSYgQUeg5BnrKe+MRXyr2UUNp1jtVV2SQXBYqmUqFkW+R6xsemLUGca8XB+54b7dNOpN+m179hqfW36wnDWWfpFsjAevUpmcBPcxRS8VpmjCTSRAUfCON80i12HG+9Dai9fvXAfOFKVhoXcONMARiV2rY7znICw== X-MS-TrafficTypeDiagnostic: DM5PR03MB2700: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 31:vlWSD5ybVAx60KtXlbjOASOyDQWG6micGaa3aC5aSxAFU/Qw++RPgJvfdkdjHJpORJpWqLkVfJRjfYN4tU657NxUb/HOKW+I4gkQ1ixphNqJuLHyLrb6YtKYI2V1i9R5eOFTRoDPa1gw8wj/wG/mWxzeAlh3QIkR7D80tp7mtpXozFC1+rvzg3oaO4J3VMaEuuccT8Dg2ORGxgtVpnOjNa/OiygkQbpCd9Ktd/N3KdA=; 4:5IMKyWgI+MCkLe3IUFJcD5UvCQjhIH6A9b0IY+s1qknmL1DgWe1YW76BFDAqeNRPM9ePfC5JbRLEu4Jza3M5lKnbCC1fYDkxPdB/Mb423vP4Aq3n1kXaDv9IgbYGnjWBMN92u9ZI0ixaZxorqRiqv0uRikQKTCvSudNNa5J5fPGwhNcj3ZTacwUyljgohEkrTfm/HJPgQfcYwuiDZZb4zrTLwEMs5wdRuuGe2B5XIA3T0byJ/jS5oDBr8py7SLBNwFOhmywKdel9rGs+HvmlNyFEeCagG1Fhx81dF18SEiLNUgPY0aKINFRhGhwhhfEe 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)(93006095)(93001095)(3231022)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123556025)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123561025)(20161123559100)(201708071742011); SRVR:DM5PR03MB2700; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:DM5PR03MB2700; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2700; 23:YxvTPIMY9J/hZTCTF2bORhQrv1xNNdi0r+2M3twh0?= CNFExQcmTTzg3Ij2bnRbK+F7cwGqvebPtETFyeQ3ZjJu/WR8j3SKzaZs52ebEVCJ17Ys1rAhxbkNTzF1V9ugxqNZfoh5ib4Enu+quhzNcO61eR1JBsASLgH/f6vRruhC2o8WJ57L9PkGDW4A134k5qpBjyWc51+EW7ZcG0fTb9MetymCeo/EgKhScaZv/Y0kJwomGPnrtNzAJKyl1RyU5K6V2jwwD0I2DlED6bS4jxMIaByfCtCpiBbAifxgjWKeGkJYdTsdoOYeh+mMdqB/KJGO2Y4dKSW7tgkhrjxtsT3DwNDa329aTxhCW20YeuNml1w7uYRr4U9YcIz54GzBy8ub8PoD5royVViImXtSKaUASV5SG8Mz8BSHG7KkNe6mKYwhNusCwChAftNLbYPUnrn2g2pk8pSlw5BGCmR2Ex3uhf6UqhNAdJ/weI2TfuH/AEJVRWNzM3JNlHI6Hl9uGeEoVsmdGYB/z/jt0VcfPgZjNICZSdDOeCPY7YCRAnwWmoNwvHHxIYykGskPKeUbcu3VRc5nqjvUCBw4g+CPy8PB/clD6Cz7TDNLNKv+bDxDqppo5fVsm0W8smU1mXQ2c4VvxdtwvCrQ5QWmZUmYs9CNWFl8KyfGavc6iAGMOQ6sfzXvUgvoMNR1Ga1SgOCPqyo+7A51tO5Vw1pSn6vq/2SDc3UkdSXJWvA7W02Z60ejHaJtv4ZHG06iOqqk3AHFEHVNa2HEVI2ZoKvBiT/s1N4OGDNvuXHenMbSl1vP0kHUyeFqBPFKBaDpRd+iNSV+TQvZmmnqgG9VYXIHkLAM3LcCKFl+dpPxW7d0V40uoPtRhyk7FEomvfCLFC17duiyXbJAbGGa52SSIZlGEIAHhtkYuMQxpkp+W5xDfQWHJpw6zASYgJX9uv0Z/FzCCA2Uey08o1a7vZHi02k2hgFeMxkKpJoJJR6Qa0MMOP/A/+wWiWNBsb21raCyJBONDJasRcSxiNjRRZPFbguXja3TNTNWoTobR446n8OWQJGuVD0bdrEhsshuOYYC7cQEBmjXJAHsVL8meBlF3LBVXWQxMLliQxQ4BMoWJ9naSPrCigEqfM= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 6:w9HCCpcBuEc2OlojR0AJ/nmh5K2BGjauynurWsAFaGMYKBKI+SR+2EXIc8RnRrZ5JtGeD6/XUAiOf2fvwOnVTQtoM8aFLvpQ2PlxNzDV8BpNpYzcWDfFDYZEXlypRl+CNbjrC9L9X5ZiD4CroHDj0LQeodPZWWoB/0aAZaVplXbrQ2qiUzq7nd4Fhd2p1UNFEbww45TZbKMQYk8YVY2BrPHHzAUihqFToWKhIcjXshei7dCUiOB6IfEyEjM9/F/HhF+fmn8CmPCxhLv18vxAvooH8nhMKC2g2+TXNDFZNCumJUDQH1JZd5vg5V3GUNOFeNNe0Ah879ZOfpn4C4AxPgNIOsjt06eXOEkX1yccrMo=; 5:BSbdayVfGR8JHdvaIE/Pu8PpxKQXkGuxM2zJIwXer7mOMBPPRXJ5muz5qX3ylhArJg28pxQStij87KxVIxfHJBwOiGEAvQ6CpDDU5G9bDKEfXVR2mDnFuvoPMi7GPXApa06lVZCratHasjStdiN2sjKszEFux5QiENMPk+JaBYo=; 24:23COI+JRSgAqebHR64dYAVXV1puP4TgC/jXZa8FuRDb05i5sNNko/ZiN62JOekvFVyF3AQfYaZYv50J+hJZyKeNsIbLmqwEtLcHqY5P5NW0=; 7:uFTfuZDhSX+yeUmNG7o8EqYLU/E4aMU5BKVuv+MkpTgLV6NCqxuhRP4sl96LcwvTGDckvyLvv/eL8IK9XzY+9s4hFH4KbQPKh4qE0dRI/ZimXSmBFkAKfGX7Bz36DTQjqhgFXEV/FRfqUCJFhaazFO69kvcmfsijPBFlKCIS8nydE0pyDyYfDmU+m3dNTGAiTiqieNve9erbHEPqMlKuqid16dR+2dOJB8R42sfmA/jDSnerB0eV4AQ2FvYx+zni SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:36.3850 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e86f8f0-8f41-4328-b99f-08d53c81ab52 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: DM5PR03MB2700 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001658_060880_48658B4C X-CRM114-Status: GOOD ( 13.31 ) 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_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.38.66 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.38.66 listed in wl.mailspike.net] 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, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org FSL QuadSPI controller supports Single, dual, quad modes of operation. Mode information is available via "spi-tx-bus-width" and "spi-rx-bus-width" nodes of device tree. Update read hwcap capability by reading "spi-rx-bus-width". 1_1_1 (SNOR_HWCAPS_PP) is selected as default write hwcap capability (PP). Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/fsl-quadspi.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index f17d224..5477d78 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -957,9 +957,8 @@ static void fsl_qspi_unprep(struct spi_nor *nor, enum spi_nor_ops ops) static int fsl_qspi_probe(struct platform_device *pdev) { - const struct spi_nor_hwcaps hwcaps = { - .mask = SNOR_HWCAPS_READ_1_1_4 | - SNOR_HWCAPS_PP, + struct spi_nor_hwcaps hwcaps = { + .mask = SNOR_HWCAPS_PP, }; struct device_node *np = pdev->dev.of_node; struct device *dev = &pdev->dev; @@ -967,7 +966,7 @@ static int fsl_qspi_probe(struct platform_device *pdev) struct resource *res; struct spi_nor *nor; struct mtd_info *mtd; - int ret, i = 0; + int ret, i = 0, value; q = devm_kzalloc(dev, sizeof(*q), GFP_KERNEL); if (!q) @@ -1015,6 +1014,28 @@ static int fsl_qspi_probe(struct platform_device *pdev) goto clk_failed; } + if (!of_property_read_u32(np, "spi-rx-bus-width", &value)) { + switch (value) { + case 1: + hwcaps.mask |= SNOR_HWCAPS_READ | SNOR_HWCAPS_READ_FAST; + break; + case 2: + hwcaps.mask |= SNOR_HWCAPS_READ_1_1_2 | + SNOR_HWCAPS_READ_1_2_2 | SNOR_HWCAPS_READ_2_2_2; + break; + case 4: + hwcaps.mask |= SNOR_HWCAPS_READ_1_1_4 | + SNOR_HWCAPS_READ_1_4_4 | SNOR_HWCAPS_READ_4_4_4; + break; + default: + dev_err(dev, + "spi-rx-bus-width %d not supported\n", + value); + break; + } + } else + hwcaps.mask |= SNOR_HWCAPS_READ_1_1_4; + /* find the irq */ ret = platform_get_irq(pdev, 0); if (ret < 0) { From patchwork Wed Dec 6 08:15:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845060 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="ctKzZkXP"; 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 3ysBPN45V7z9sNV for ; Wed, 6 Dec 2017 19:20:08 +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=pTLl80BocdEOp3W/75fIoLz2lKamjpBvdNSINomZWX8=; b=ctKzZkXPQLopKs N31ZWP4VB7X/cxMzoyYwiX8jnXmQsuefVExvo6U+7A4lk+VeVt+vFBxezKN3MEdbVOednqxcn4at+ H5uaH7QrBjyyVDIxYl/kE5/65mttKmLw2xZRF2aArUn+piczmM7eu5Gb4SOsFroxYpFu63zr3FOzu 9p1GfD44iIGHAcBpViiIzU9JKTARD9X1BaN89mYt7uC4N4TT21YGueSKnOazFLT1rEXfpdFWJJX1t v5N0lGOqMaidhoDhF7aDm/vyEtte0JXK0W6Rdsln1fyOVMoLVbwWb45CywVWDqdJPscW22Ylb6S17 JuPrdJ1AITfaN25vyKjw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUvr-0003zj-GW; Wed, 06 Dec 2017 08:19:55 +0000 Received: from mail-bl2nam02on0045.outbound.protection.outlook.com ([104.47.38.45] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUt2-0001Ko-RK for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:17:02 +0000 Received: from CY4PR03CA0106.namprd03.prod.outlook.com (10.171.242.175) by MWHPR03MB2702.namprd03.prod.outlook.com (10.168.207.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Wed, 6 Dec 2017 08:16:37 +0000 Received: from BN1AFFO11FD021.protection.gbl (2a01:111:f400:7c10::193) by CY4PR03CA0106.outlook.office365.com (2603:10b6:910:4d::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.282.5 via Frontend Transport; Wed, 6 Dec 2017 08:16:37 +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 BN1AFFO11FD021.mail.protection.outlook.com (10.58.52.81) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:37 +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 vB68GBbk009213; Wed, 6 Dec 2017 01:16:34 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 07/10] mtd: spi-nor: Add support of read/write any reg commands Date: Wed, 6 Dec 2017 13:45:38 +0530 Message-ID: <1512548141-3319-8-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570217979359916; (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)(376002)(39380400002)(346002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(104016004)(106466001)(8656006)(47776003)(2950100002)(305945005)(97736004)(36756003)(85426001)(2906002)(2351001)(39060400002)(33646002)(4326008)(105606002)(53936002)(6916009)(5660300001)(16586007)(86362001)(498600001)(316002)(68736007)(54906003)(51416003)(8676002)(81156014)(81166006)(356003)(48376002)(77096006)(76176011)(50226002)(8936002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2702; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD021; 1:b1QV6p2ZOv/Sh4XKL8OTAJYR0rPJJ0CCM5+H1Z3g78hOdFg1skrUCb44V/W/wU8wxNfMqBSIZFnFbCrQOnTrVc7cfsKrMTr9mT3HkErNuT2iyaGZPhsnNw5H8+hX2hTm MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7a5aaea6-9a80-4fa3-d14d-08d53c81ac22 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:MWHPR03MB2702; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 3:YdsLj2sjOLVLfSwplQR8GNtpnpXo8/81/rJGmSUr1q4V1is1REIesvlAzILJkVVjsl1BnplWOw1rm0A/GNZd43wmQzQ1uu1+BiW+f/kM01A6iLzlfFv0Co+9nvGRW8YDaERMH/HVFmBB4v3O4usWffsIaIUUNTsy/MCNRHV486f2VgL7EgDpdUSz6A5yOTGzklX6zJRqPMYm06jNGoG39W6KHwU1eV+YR1f6JGK//iciSOL4dq9Qr7Cq2M1bmW0b11mXqHu/vehhcN4+XJV+qT3tBwX8t+jRJmziTJQOXevN0J250IuDoxA2hrJqRQvFkB3cLFZcxvbeM09biD034LHTce+Wqar2dqxZi2HXvng=; 25:WwkgrPrWvMe+c0VaB7BRomB0OY7r3iJDBNuVhVnqyQ1uBlsnckM3zLLMVN4MdyJHA3imnbCP+C+jTN0Wc/dSU+T8f+7QJwt4xbMQY03I7LJQL/UvRSNOeIasEnJYDy454ZNiqqVWgb+SgNUAlD+tjoNJEw8Ik7D1Oh/4hzvK2DkHuKco81WHww7f5rzW4HRBXTx5u9rWFLTNdzwOX3HvorRMBqDD6ywgvNSwspJx1UbibJJdvBjDX3qcTaQ4b6D3w7xl6EA4hOln+i8mkO2fZfi5OKGF6TRz30R1l2vYjMwwPh2WC4yZ95VXeZ8BH2HGGmfBMo8/tUIVIZxyX8FeZg== X-MS-TrafficTypeDiagnostic: MWHPR03MB2702: X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 31:fb8e3q03uprrXv6CeKvoP+jlmy92bcQqtzAre/KkTKQoSh+uURlW7gwNE421zHcAURe6h6gkGo7zuqpIdHBplG4av+SlJ5NVMwSKQbEfrNek63aGOEw5ITzCdKflyxuH85aE+YPSBBMRJxEt+2t+SAAnadxNgTNDB3qFYnoaT8su4jQW9bBZ3jtYqw1cwRrtIr/WYT2VibVcfZ4cVSn8pxhueQqoYgbiHYmQrf87OkU=; 4:ri8fiCecGTj9Z2yCxU5/+886eLYVb9ntT/hWwTIBDWCpCY6nVX72ykkvNrVLDS5lACciDekpGNTmIev8IYM6MYMo5Ee0tJbaQ2bXu1MW0pN9sO3dCpblq5vCJKuXseC4w1gbZ8yBqpP3ZVxXwRSSVvak3xSH4nzSGpSoKw1jIsZyfwB+5Wevb67cBbYhvtxwU3baRdqvC8paGt6tD2pngjDfV3mvWxa++1E3mxwDlJGxz/O+COaqjeDtR36H5E27zHvvdaSZWLPNvQKRRaGCHPpuqZVTbI43dBwp3/yM/D1IROMhmNhFQcql/w2is5El X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231022)(6055026)(6096035)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123556025)(20161123561025)(20161123559100)(201708071742011); SRVR:MWHPR03MB2702; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:MWHPR03MB2702; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2702; 23:iitCE7Udeiv/8e5s4JasJd/NWsaKLhnWusmPUZ/k5?= TwidDnr/QHjHkPB/YaPrGWiQOXX0v7J3b3sli2l6Bug1ORXTUjVnzWLJLOk0g0kCnU3Qx4rk1euZtTsnaq17/mXOKBrZwA20VNpBJLpk0NwKOvf/Kt5Mt1rfuaHpdEWhBaE/vYLBCkDV378IqdI85kAIw3BN1VoRztr6m1+uR/wGPVzhdo2xlCcWoXet/k9/KCaCCX4QDQdjcJyPQx5zNrKVejevQachwvOlr0if1Ia17ajkAxjRdim45z+eSS4lttaKUauU+M/ECXdACoB3UAgjQs/va8FscgvyhR5+Lsh3fi7aocFofxw/ZKxkdZkHz/uppgP1OJOxbyIO1/tgn7QpwMxAhdpCa/ym7U5oodqmRoYxewdckWhtMDRN/Qri0jwxsXAOrJrhyegPIRIrj+yRN6R4hC7sc+9mlbs4Rnd5/mCJ1kalcJU/aefbkgS6PORo8cCgK8BVKE6aQ3OBuRmNm/VXQGi2yg+4AUuaOBLa/8bC1VNrGCrKoVZTHf3WyHrIhK2UE9c2LhCV2iTZAeykE5n6yvHMMj9GZOc7UlCDGRGPn70gjJF1+NrdgQ+ZYvGuDCywupXyfSPWDtHAemDsFBDSLaVZkaN4TYJ24pdc+R5i9kMPowkgMdjXTQAd64TwXPcYDhTpJUMjauZkIuPiXWp26IBdxmQt3veFKNEf08lKkx2aYB6N3Gj48LkeFH1RZP4W/tdCHu5mXxNt0/+Hc7gXb57OfRR1wRU8XBYwBKj/Pm9jUNe+al0lsYDTYoO63uctUPtbAM5GBz+TnPcPIzsC7eH4cSEfVbS7C0Zj/+x9i9keIqL99FJ7izP6u17Kmxj42/JkPSL0f8RK7ELplM8+jwHGITISiSRkcZSzaVDZrorPICz79U7lzadRsDoHR7yYZZ7Rl6oeBf+MRhn7g6PqPw7D5Ax7vaXz3hp2fTyvVhYJdN+zBLSMYxcsQMxtOVEgrewzk2YeHzB6veHPOVOn4BdvF4KIXS4JfSMsMp5juUF6qyp8aDQncMuZmESAuWHQa0AUyJbr3ds62xbauEsBIeembCFiU/5slq8ng== X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2702; 6:CUQgaB2qa60S8OyOLVlwXZaSjtR0Gr5KDsmZDWw+aJ69KMy+Jxm+g9kz8qPdLa9LYD3M+k/nt9nBiKnQ3o0RN/LB+sOckATFdg07O0rgMDxRxVJDUS57w6VFbM1H+hP5HkejJ7W0V2W+T+eByNZaptLzgxq63uGZ/p8WOTlwwYezxSWWqBMMF0A4ujOcXBop1d8KJqKfn+CUIrmSls+1+4vSHuJYlPfHy4hwO24qmJp3nbW6oKHuJ5ZsNFRfO5FGsS0uYNh97tEXEoh7sgxsyN/Q1aet6Ry7lzQIOl6Yu5aoiW0XwOlpohhihkbn+iOR6lH8nfW73NiIA38Fh8ph2AvWGS3vQ/TAUyY5YPZGNAk=; 5:kjUPJvqYVCnJtjB5JGx7FT8GIihiE0qzyvFyGogu23XooqLHLPk4kCBT+LmIuwbEa4bHEMGmRmpsI/j+jbnRndheXLlDhqkfEKppVAvxc7fqe1irzBokqwg90wvUpAyY9IzNORE+Fqhm30KjHSBlqNQlQIe5KBYiW1Pmj5wKyuM=; 24:8ocOyj7QPRRtj6KEHOSDui2cIxzKj9wovHjsofLV7iXg4wdkGDWu15/qmTE5jdej9gBIFUBsjJkhFgf3tOsf4ZHxYfnPOe00puJAakW/dMQ=; 7:/UkDhLTnhNjj3E2Dhsco3NftQ2UjEwpBpmCtBnxEZl4zhAegNKlBdQc251rU8/IqFE6OOuEbQoIM+u+iTfbNIEbjBk+9DsbQttiXOupAUK212gS5x8bAciMoI30RCKZAyz2Ng9R/CvaAQdgT4QIRruoPmfQ7vN7XAGNL2pdIPx34f2Voe+wupBI5ozNHwyQMDiz6SDVzMCJO70U5p+oJxS+YJizrbWt1TPwas/XcZxIoLte+nZPTS8L3ZyWExJx2 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:37.7487 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7a5aaea6-9a80-4fa3-d14d-08d53c81ac22 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: MWHPR03MB2702 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001701_107864_F763FC92 X-CRM114-Status: UNSURE ( 9.48 ) X-CRM114-Notice: Please train this message. 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.38.45 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.38.45 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Spansion flash provide support of Read Any Register and Write Any Register commands. These commands provides a way to read or write all device registers - non-volatile and volatile. These commands require special signature and handing from underlying flash controller. Signed-off-by: Prabhakar Kushwaha --- include/linux/mtd/spi-nor.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index 6c62aff..b6dfa25 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h @@ -256,6 +256,8 @@ enum spi_nor_option_flags { * read/write/erase/lock/unlock operations * @read_reg: [DRIVER-SPECIFIC] read out the register * @write_reg: [DRIVER-SPECIFIC] write data to the register + * @read_anyreg: [DRIVER-SPECIFIC] read out from any register + * @write_anyreg [DRIVER-SPECIFIC] write data to any register * @read: [DRIVER-SPECIFIC] read data from the SPI NOR * @write: [DRIVER-SPECIFIC] write data to the SPI NOR * @erase: [DRIVER-SPECIFIC] erase a sector of the SPI NOR @@ -288,6 +290,10 @@ struct spi_nor { void (*unprepare)(struct spi_nor *nor, enum spi_nor_ops ops); int (*read_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len); int (*write_reg)(struct spi_nor *nor, u8 opcode, u8 *buf, int len); + int (*read_anyreg)(struct spi_nor *nor, u8 opcode, u32 offset, + u8 *buf, int len); + int (*write_anyreg)(struct spi_nor *nor, u8 opcode, u32 offset, + u8 *buf, int len); ssize_t (*read)(struct spi_nor *nor, loff_t from, size_t len, u_char *read_buf); From patchwork Wed Dec 6 08:15:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845061 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="i/8zMYLh"; 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 3ysBPk6f3zz9s82 for ; Wed, 6 Dec 2017 19:20:26 +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=IothGJTuBkYwHT9eT0o/ivDH/Ms6xv8MYs2MlB8Num4=; b=i/8zMYLhJ2ni0m wkVlplkvv/9O42icED2dDGGzSMhQAZqRkv0qnCnZNtDpcyGDCw3yerXykK/1UV/s6UDZO21w30tSS t9sFhYyJcnZ61/KdgwHHZ3TfqsjzrLyy/3bdRnoDCGw8G8y3reSFemWWJHEaDYnsScWGrXm4mYMXl pb7aehF+UCBSh+Q2XmLP4TclFHDNXnKC/vwW4efnoTd9fQZgetT4Ri8bW+jjAI452E/wgYn8JmgJd jY4db13cWlG5iajcj76wV8dYa5SmgdR40y1rkv5SoGtrBVK9Y7XUF5ccQdu/tUPpUXF+bC/RA4x/9 hCE7QPBE41+XV4hUBKdg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUw9-0004tc-Jx; Wed, 06 Dec 2017 08:20:13 +0000 Received: from mail-sn1nam02on0071.outbound.protection.outlook.com ([104.47.36.71] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUt6-0001Ll-1j for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:17:06 +0000 Received: from MWHPR03CA0013.namprd03.prod.outlook.com (2603:10b6:300:117::23) by SN2PR03MB2368.namprd03.prod.outlook.com (2603:10b6:804:e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Wed, 6 Dec 2017 08:16:41 +0000 Received: from BN1AFFO11FD033.protection.gbl (2a01:111:f400:7c10::194) by MWHPR03CA0013.outlook.office365.com (2603:10b6:300:117::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:41 +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 BN1AFFO11FD033.mail.protection.outlook.com (10.58.52.246) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:40 +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 vB68GBbl009213; Wed, 6 Dec 2017 01:16:37 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 08/10] mtd: spi-nor: Add support of SPANSION S25FS-S flash Date: Wed, 6 Dec 2017 13:45:39 +0530 Message-ID: <1512548141-3319-9-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570218005429718; (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)(39380400002)(39860400002)(376002)(346002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(76176011)(97736004)(53936002)(105606002)(47776003)(50226002)(4326008)(77096006)(39060400002)(2950100002)(356003)(6916009)(305945005)(8656006)(8676002)(81156014)(81166006)(106466001)(2351001)(68736007)(498600001)(33646002)(2906002)(5660300001)(85426001)(48376002)(86362001)(104016004)(36756003)(51416003)(54906003)(16586007)(316002)(8936002)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2368; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD033; 1:g1zwFRRzfZFlT30vVEAl4GOYcmvKso5gXUkRg2dW8DQkfNyIq0UVGtrkbWOiQpIt0wa3KIwRLA8XifammtXOtYQ3DG08nM/pN/BKhaFh4zpZnWXHPpWPZ5NahqW/3duF MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4cdb6324-1501-4a00-f2ce-08d53c81ad9f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:SN2PR03MB2368; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2368; 3:xRh9Ycp7bMDkiwIzsCx8KZc8CB0w5YFZuD2wABAlB3bO5Lmzf6VUuc1HRPZaivVWOLXaXHbxBIvY+IV10r2b7ftYCLdRdAcaaO3qdbKrtjF6/bJo/DOG4qQ3ib+3naOJCNekUZim0ccscutT+W6r4rEJhg8gpVYBwbvtuxY1qv4YWZhmyeM9FJckbmw/IxFmsCbuDJBQvXuQmD5X+fyp97cHbMUFIy0frDq22wEa6MSC44Ow7s71/CYA2UwGzS3H1QQV4WiWfxZiQGMHk0PUSJCH3yUQo4VwjTWn9xUlzBXpnKtVrSQSU6aCHY3p86CU9cesn8T/THnFZnDJ7RZj4rLI9QcuYIPdYOfGadRMJuI=; 25:TiIJSIG110L8kHHNGd1PfDVjMa78UKD49+ySwEnaaspOzire8iPF5CV3B2JE7adAGTm3zxVfhpTgqAf+CnBDp2arjPSO4d8hGQ4wfGFLvEZEvDzjH3ddWkCj7A8bHAJxxXoOz0KEl62RTM+xW1pl2olhr9VDT2r5BIAWNSxVYTYc8LaiTyXal22J0FYKewC4zoGxjcYqDxNDwvwAVhAU3jBk1T/EAoD9ldWNNCCYnlsN9wRDIbyMminfReJoXrEjpLac4e+0/KeTYI6E1h5GouQLKT5VldNNOIxhxRH8vLfupUz98HibHE40KbzIWkrbMWfKHtjp39U2PTksSJ8Uvg== X-MS-TrafficTypeDiagnostic: SN2PR03MB2368: X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2368; 31:huvFHyzcrO7XJ+jBIROS3HNzkcsVV5smAAI9vhgjskcbchjEzkb4wN6xw6EWavX2dzcRXPeISttvdc7fbxg5XuuRepaFpOH/WG3R48ZsadEv/o5VSHjCCGGa4UeXWAG6W3YXh2BEvV2ADNMZXHSLBnIUHxz8d646gHU+VB/Nu1MUsaAu1mxlMp4lKzXdzC9lfwHQP80kJhNuz3HzSodS2F+9ToUHAklTkFb1hkDTWGA=; 4:r2Saq1wcgIL624TtnHfgO7VBYReVhiueYLDadTA2V7N20rEIbfwA4Q2TiTDEVNtKnm/Tkq4C6iUZjv7/nJvQ28ByyXi+YtdI6RamWfNQhDKLpU/X9e6DQtE5BgzzFb9lfPvGB6vocM11l61bX0rz9MswRa1XE2Ee0wPnhw9GOJnNpr0HL3sA9pQv7DylNzXcuMzbttSKr5l//njVb+bb0xpElsg1gyYyoZ5HGKY9feKlUS9RFRy3k9YMvTmL1wS3OTaKVCjtzT1kdAJononeAWQoZsOVxC/spn6KcxvYKcwk8HMal43WWieKJsje8Mc+ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231022)(6055026)(6096035)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123556025)(20161123561025)(20161123559100)(201708071742011); SRVR:SN2PR03MB2368; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:SN2PR03MB2368; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR03MB2368; 23:mdC7UJ9DVbLRM+e7OJ2e3m+QVeKDIn1fC3IvSBbAr?= sd+utBwnwj/cktLkcclJwoCHhLWpTfqroyapTKXfWxsPEsI58edQH0xLirI4uPoAWlF++QGx4FvYjby37xZDiJG5D1SVDL+C5jsI4nRWfr4ibvZ/tkiTQyK8Ugc+3WnLmeOsIOQ8KZigJdNL+oUJmzNowOjaqLLzIMT6mjUjBwtJlOjUFjT6AFHp28FaxAB1nM1repHGu8M6fChogrLxxNBgWM3HgGcb432Yj6h+d9tOTcLZ0G1AvBtpnj5JWN1redgtvTD7JfUYO66haj1hvYyAq/VEUPD2B3xH0jrLHfX1DK6i6k1gXC6eyOQlbkV0q7TO0hMxd/uTbn7FlW8Z107COFYNwYSGMqKJ0FpVU5L7c1jkPvcUBnRja14JnhZxx4o9F73ZoSZ/ne8RAsYY5VynqTHd3lvuNcIiQi/flI+RH2zDhxbTooTS7ciDamolBPG1olxPi0ST3p/gTYwQEwrG1EsLpx42V5ype8/hG2F/qTBmmlev6kQNdWzesbUQGfdqH3aDfLqW6j1lWFlybuoa9E5Y+bM+v5poLmamPM0igBtpWh+UoWSKBJRNLPIzpgPmRt2TLJ4eIR790U18I6V3xWUD6vLPd8+as8GHt6ZDEQLlqtqk9D6vuRIZ0amd2mMeLdiz7V/vlI63Rp+h/pKg4gOm/PhQJC+1MDRUneakeYQgXNHFMGIz8Xma+KBtKbDvYQ8tMgXEH2TuxkLdZaNkfJSs8yblR7zHaSMNlCJKpioqyTZNX1hDydFLUR2ty1bj9XvRf+ziKGjj1Z6Lnu2R67sG33pY5QYuo9kFaA66bmkznw69L1eKiFGwzklTsc8mPmmAeTepPY5jVQ7lGMqNAUngLBfHiZJxH9Lll0lHVHO2GOcnmwIlTpyQndVMlRM+PaDNDACfeUrpyjmentVvfK28FYXwZdWQGzyfflgH/dP0KVt2izgSGTtm/uT2FIFVx1MZoXRYbGKXkqRI0N5om+wVdbsHInQFeL3kx4/TruQD1anT/+BWxzDQjOVuXsLXNZ08sp2pS1g8qChYgfQj1TSmYaP14gRkgTbVUjE2g== X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2368; 6:8VHJnTYoPsmBXLR+wq8VB6HmRkDRXbsAc/PMI3BBCwPz+Bd126PmcxpU3s48m1x+fh6RDp1YeqaHnimsfx5zKvyB8AMbHF+i31osBsRlYwd8gh+DITutxbba8JwuuibmygumKHK7/id9J80g2vQJeV5PIXLLsLUHon3QmbnOvuz+E7VZeSjVtKeRNQ4EwT8tW+xCqKDSHh5CAV8Gw1W2giYTeMkOa2NxCYrheeMdu0Xy5QLd3gMi1l/NXGc3JT7xeMsDctYTJVA1vpNBjNBDHSf28JFLzB2JFDCkofS1R8DT039b1bqXwQwj5JB+vWbPIgpMFgD2+oAmGlGhJV/UzNgjmUkmoE6G4jnQerREqfE=; 5:pUudtvgf1T/vvDU4DPu9njjIrpPj7dbcBBF4Y9TnyKmIFX5MYFLAHZlQUNJlTTLNC8bYbonK0LpoxU4yi6oI6gXQYV/sVBwH2kO7aoxYqsckqFB8jOsPZsFk3Ie1f9LvIa4mXpDOJvNaIVIDwKCzGRCJZ3assQ0raZgwx47Sp10=; 24:wzd9Acp/gEIol4uePGU/dfUkP66/IwPJFThNncqjSPKSiBWY4trip2yH/iqQpkJxRy96QG8GLn8O1T00ooyJjmFN1PAIolWxjlKRuY4juZo=; 7:4yfPFWvWxz+ub0XTW8CmG/fDFD6JT45yk72tJmInR3JiL5nmeyK7wLvlrbnrWQ93YEztJvW7dSeeh5LTVXXWODJvfBQ8i0ub1MeUrCBgQrRJ12ml1FKqWCSvFu12Y9h5TpYD+e6yKPtdwlJY9tJRmHyGSmAEkXMVXLODef12D94irKJJlV3EEjfvSPthHCBvxMGOcoduRxZNV6EPSRIDPIwjRoRUyuHpb8nbZkSDjWvTScxsxU5dWi0fJaBB+u27 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:40.2465 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4cdb6324-1501-4a00-f2ce-08d53c81ad9f 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: SN2PR03MB2368 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001704_208587_5B0368AB X-CRM114-Status: GOOD ( 16.95 ) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.36.71 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org S25FS512S is a 512 Mbit, 1.8 V Serial Peripheral Interface with Multi-I/O Flash. It provide support of read (Fast, Dual I/O, Quad I/O, DDR Quad I/O), program and erase(hybrid, uniform sector). Read commands require latency cycles which are configured via volatile configurations register 2 (CR2V). Dual I/O and Quad I/O read require mode cycles. This patch add support SPANSION S25FS-S flash family and update required structure, registers. Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 68 ++++++++++++++++++++++++++++++++++++++----- include/linux/mtd/spi-nor.h | 10 +++++++ 2 files changed, 71 insertions(+), 7 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index dd1a771..58c37f6f 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -93,7 +93,8 @@ struct flash_info { #define SPI_NOR_QUAD_IO_READ BIT(16) /* Flash supports Quad IO Read */ }; -#define JEDEC_MFR(info) ((info)->id[0]) +#define JEDEC_MFR(info) ((info)->id[0]) +#define JEDEC_EXT_ID(info) ((info)->id[5]) static const struct flash_info *spi_nor_match_id(const char *name); @@ -1056,6 +1057,7 @@ static const struct flash_info spi_nor_ids[] = { */ { "s25sl032p", INFO(0x010215, 0x4d00, 64 * 1024, 64, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "s25sl064p", INFO(0x010216, 0x4d00, 64 * 1024, 128, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fs512s", INFO6(0x010220, 0x4d0081, 256 * 1024, 256, SPI_NOR_DUAL_IO_READ | SPI_NOR_QUAD_IO_READ) }, { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, USE_CLSR) }, { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) }, { "s25fl512s", INFO(0x010220, 0x4d00, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) }, @@ -1663,6 +1665,33 @@ static int micron_dummy_config(struct spi_nor *nor, u8 num_wait_states, return 0; } +static int spansion_dummy_config(struct spi_nor *nor, u8 num_wait_states, + const struct flash_info *info) +{ + int ret; + u8 val; + + if (JEDEC_EXT_ID(info) == SPINOR_S25FS_FAMILY_ID) { + ret = nor->read_anyreg(nor, SPINOR_OP_RDAR, SPANSION_CR2V_OFF, + &val, 1); + if (ret < 0) { + dev_err(nor->dev, "error %d reading CR2V\n", ret); + return ret; + } + val &= 0xF0; + val |= num_wait_states; + + ret = nor->write_anyreg(nor, SPINOR_OP_WRAR, SPANSION_CR2V_OFF, + &val, 1); + if (ret < 0) { + dev_err(nor->dev, "error %d writing CR2V\n", ret); + return ret; + } + } + + return 0; +} + static int spi_nor_check(struct spi_nor *nor) { if (!nor->dev || !nor->read || !nor->write || @@ -1801,6 +1830,10 @@ spi_nor_set_read_settings(struct spi_nor_read_command *read, read->dummy_config = micron_dummy_config; break; + case SNOR_MFR_SPANSION: + read->dummy_config = spansion_dummy_config; + break; + default: read->dummy_config = NULL; break; @@ -2413,6 +2446,8 @@ static int spi_nor_init_params(struct spi_nor *nor, const struct flash_info *info, struct spi_nor_flash_parameter *params) { + u8 mode = 0; + /* Set legacy flash parameters as default. */ memset(params, 0, sizeof(*params)); @@ -2423,41 +2458,60 @@ static int spi_nor_init_params(struct spi_nor *nor, /* (Fast) Read settings. */ params->hwcaps.mask |= SNOR_HWCAPS_READ; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ], - 0, 0, SPINOR_OP_READ, + mode, 0, SPINOR_OP_READ, SNOR_PROTO_1_1_1, info); if (!(info->flags & SPI_NOR_NO_FR)) { params->hwcaps.mask |= SNOR_HWCAPS_READ_FAST; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_FAST], - 0, 8, SPINOR_OP_READ_FAST, + mode, 8, SPINOR_OP_READ_FAST, SNOR_PROTO_1_1_1, info); } if (info->flags & SPI_NOR_DUAL_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_2; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_2], - 0, 8, SPINOR_OP_READ_1_1_2, + mode, 8, SPINOR_OP_READ_1_1_2, SNOR_PROTO_1_1_2, info); } if (info->flags & SPI_NOR_DUAL_IO_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_2_2; + + switch (JEDEC_EXT_ID(info)) { + case SPINOR_S25FS_FAMILY_ID: + mode = 4; + break; + default: + mode = 0; + break; + } spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_2_2], - 0, 8, SPINOR_OP_READ_1_2_2, + mode, 8, SPINOR_OP_READ_1_2_2, SNOR_PROTO_1_2_2, info); } if (info->flags & SPI_NOR_QUAD_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_1_4; spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_1_4], - 0, 8, SPINOR_OP_READ_1_1_4, + mode, 8, SPINOR_OP_READ_1_1_4, SNOR_PROTO_1_1_4, info); } if (info->flags & SPI_NOR_QUAD_IO_READ) { params->hwcaps.mask |= SNOR_HWCAPS_READ_1_4_4; + + switch (JEDEC_EXT_ID(info)) { + case SPINOR_S25FS_FAMILY_ID: + mode = 2; + break; + default: + mode = 0; + break; + } + spi_nor_set_read_settings(¶ms->reads[SNOR_CMD_READ_1_4_4], - 0, 10, SPINOR_OP_READ_1_4_4, + mode, 10, SPINOR_OP_READ_1_4_4, SNOR_PROTO_1_4_4, info); } diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index b6dfa25..9ff96cb 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h @@ -29,6 +29,8 @@ #define SNOR_MFR_SST CFI_MFR_SST #define SNOR_MFR_WINBOND 0xef /* Also used by some Spansion */ +#define SPINOR_S25FS_FAMILY_ID 0x81 + /* * Note on opcode nomenclature: some opcodes have a format like * SPINOR_OP_FUNCTION{4,}_x_y_z. The numbers x, y, and z stand for the number @@ -106,6 +108,14 @@ /* Used for Spansion flashes only. */ #define SPINOR_OP_BRWR 0x17 /* Bank register write */ #define SPINOR_OP_CLSR 0x30 /* Clear status register 1 */ +#define SPINOR_OP_RDAR 0x65 /* Read any register */ +#define SPINOR_OP_WRAR 0x71 /* Write any register */ +#define SPANSION_SR1V_OFF 0x00800000 /* SR1V offset */ +#define SPANSION_SR2V_OFF 0x00800001 /* SR2V offset */ +#define SPANSION_CR1V_OFF 0x00800002 /* CR1V offset */ +#define SPANSION_CR2V_OFF 0x00800003 /* CR2V offset */ +#define SPANSION_CR3V_OFF 0x00800004 /* CR3V offset */ + /* Used for Micron flashes only. */ #define SPINOR_OP_RD_EVCR 0x65 /* Read EVCR register */ From patchwork Wed Dec 6 08:15:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845057 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="N3TSlHEV"; 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 3ysBNG72Gtz9s82 for ; Wed, 6 Dec 2017 19:19:10 +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=ey8psXGJFtdT3lDnJPLiK5W2Se7sL0T8mTOUN8ClvNE=; b=N3TSlHEV15lZws 8MT+kTQkX7Z+ShHVGunvmge7GwDFNnIt1gyiiWlQgkK7nmpd6W4MClhGUF4mCefQUA+Meor2eA4aD hUtUaBext9iKlbnCbdtlZ9JMmy7wtc+9bIAQA0lwwg/miEjxK4M5SG2HAWOv2F5MNIGClj3Gwa/WQ 9YviiT3TTNGaLmkD1xIDpK83mAyD6bqcMRZhBi2ob5VKuldKUmOP89KLAYCxCInbOvEHPwZPV9Ewf NzuMF10qcI17xdl2XFzy0OqJRrYk6SOIOXDlxmIdM1PokXYzeMVIcdyx8ZefPWQRkZ9XcHCQvDM8L n+4BHQAR77HsQrBLgARg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUuy-00034o-2i; Wed, 06 Dec 2017 08:19:00 +0000 Received: from mail-by2nam03on0067.outbound.protection.outlook.com ([104.47.42.67] helo=NAM03-BY2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUsx-0001Kg-Ht for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:16:57 +0000 Received: from BN6PR03CA0082.namprd03.prod.outlook.com (10.164.122.148) by CO2PR03MB2360.namprd03.prod.outlook.com (10.166.93.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:45 +0000 Received: from BN1BFFO11FD047.protection.gbl (2a01:111:f400:7c10::1:143) by BN6PR03CA0082.outlook.office365.com (2603:10b6:405:6f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.302.9 via Frontend Transport; Wed, 6 Dec 2017 08:16:44 +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 BN1BFFO11FD047.mail.protection.outlook.com (10.58.145.2) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:43 +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 vB68GBbm009213; Wed, 6 Dec 2017 01:16:40 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 09/10] mtd: spi-nor: Disable hybrid mode for SPANSION S25FS-S family Date: Wed, 6 Dec 2017 13:45:40 +0530 Message-ID: <1512548141-3319-10-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570218036030056; (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)(346002)(376002)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189003)(199004)(68736007)(48376002)(50466002)(5660300001)(36756003)(97736004)(33646002)(8936002)(81166006)(81156014)(8676002)(50226002)(51416003)(76176011)(16586007)(316002)(53936002)(2950100002)(2906002)(54906003)(77096006)(6916009)(86362001)(39060400002)(47776003)(105606002)(104016004)(106466001)(356003)(305945005)(498600001)(2351001)(4326008)(85426001)(8656006); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2360; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD047; 1:HP8GI2oo5A2oghW5eqcYyFVZRcP97NNv26Mhb1C48S4d5YBS3jO3V/8FQF4fejs1CXIfScZznq7C5NK1KasZRveC8DaiktYBaivQ0AyZxdIeAoRfldJd/TRj+JpavVrY MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bcdb1e9c-c1c1-42b1-e000-08d53c81af72 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603286); SRVR:CO2PR03MB2360; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 3:+C8bNfAwX4rAG/yniSVtlnuwBlfigk7Kyauk2/CgD54SSiV60kIw/+soYXh+pc5H+VMV7Y6L9zuM6M9mibXpQ45zXGg9sG9b4ytekSajm8NGbgBtDVFPbE3edDwzR6AjFtyyBrwq79uPYT+MUJ3siiDfXCCRK1DVebb0aytz2LiuYLmLSi50AhHVFzpgSEZuDm7PYEBscYXAHzqCgYCngZaMhgSb9KHyGZbG+D7WA3zalheAt7MF2Z16FgfoLW8a1X17/QQ/XFB/41vcll/SXUxMDfBs3dGVbObgFTSPxxmZEk+6P7rlozPYFNFNZVjYE7HibsUbUDdAN/qjrWKDe73zKk240ql5yRzjqejSSwY=; 25:bMM6P19RxMJJjLHWoocYTaAV6QYHz3ee6vMJAc93mQNrvQ4X9iGjb+H9Q1HmegTY//vA3apIXKhgtThE6wTDlDWu9YTxVaFlTHVvY2uXDmzkau3zNP1KOXGoUgkCNpBiH9UPApF3ElRtF2uqp0fKQFSZCmih5F6g0aEdK4qiMwe3eUlu8Fu4V0Pzy1e+j9LgVFhQGmn+FE97eTWSEK6HLFvyEgUmuCEL2Dpo3gmqklIl+yynEGOIdLOOVf0FCdcIRxE3ieDPRfL9JiHQTVyM8apjew4lna0Y2sZoXq+AM/HWu0KOIYOFe6VjNKABy8mGJzZI6d6DFCLqyNEugeyB6g== X-MS-TrafficTypeDiagnostic: CO2PR03MB2360: X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 31:x+jgCW1c3HWx+HFHWSHja1GObD97OWHbA1ZCiNzGX89PKs2s3eyRftXNYY25pLrByXXt9zpMH1Aw5C6r/6Dm7EtQ64GarNOlI3BQg2kEbBUBzQQBNx7Kdg/zLiEuNVACMIcJwHdHI9tk6pEYs3DQJan2DKF09hMfMRjCVSPEhO9cxZ/2TQDPoc/6kEq5fXYtUKDL1U6d/WaegLSPeUQcDOcKPTAt25xaVwtB7o3xgPM=; 4:v2rOfWScvy92BleS0HGcjOfU1yEqqYyEGbXJiFo9iAVRAKdOBTsbPQ00fjbQu8vBu/KJSMr3cpiHV1E95m47BEyMyA75Teuhv649ULiVwNGiABgkUWPAF4w7JPmt1i8HhvWUyL4f2NZsNa7rzyDu2MKAmVptMnvwGFSw40fiZEaKyqKbLVnbMoClkQDxrRW0KBaO7PYvI12Irkdehg2rM2lmei6qZFiCQ4TuRIsCXm14TZFOkEMyVu93LwMW0CgFOBqJBJwacBEivtfi/qAW1RbrwdR0B9iUqnpx3eDz24XFeXZa2NjPhax6dA0PiNpU 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)(93006095)(93001095)(3002001)(10201501046)(3231022)(6055026)(6096035)(20161123565025)(20161123559100)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123561025)(20161123556025)(20161123563025)(201708071742011); SRVR:CO2PR03MB2360; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CO2PR03MB2360; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2360; 23:aIut9H42NzLj9w7LD1WHR/ZOHDxabL3CKSdtr45I4?= YIpB1PLYH56SYR+mYPT5AxPXgX+PAoO3yf8Q7dPfc6sCkH/X5bD4nIUssR57PAJC4fE8q0FE9G9K6sm0SbNiMdfMrxrsShIA73ezzMgWX/1ZBbBoEpUrscfolfMTUeNsOcTn9dZvL5QJqK8IVrdJQjAK2hcZkVBT+wiNi2Tfg9SjGc1/PgqbZ+OREy7+jgE5kEDjDxuR5tb2LKXwY6ytJBl5Iv3YP8h1/4SaPeuRXH32pNR2uLjsHSVLH8FlTB33jtoFHG7ssCWI1aEHOISmv9XfwC7qgURExvASnesDupewDNs16RIm/YDJIIzMrzOEH8otCA7gLPvUmJEB0dRsYMCfQ3APng2CCFQzDyR+D6S9DvW+YAfFB40QUmdCezxGVWXBitPZoJ/Q4qV5al6xObwBdHpa1vqOkxuCRmdCWN+mqmcNFbAe+prDuK6suq/3ThIRddT8ZXIIp0T9J9Cl9lhwlSRa8qWbeTgN1mTCpRBXcXGobySAf58+8aY2VnGMJ5iZUh8jo6RGo6W+tTEXbdXnyyQmj4FKjYLeSdH2gKagsz/cgGcUJ/vJ8dP08anFg62AWIger+z4HeXgQ5zlkRmFN4JYGXHBrwVohUUgDUNYaeRQx7SKinkmefu9hVi3Lv4adR8EysZHfCi0s3fjRpdGHY0tsJC20DHv/Or/hDFQLVamTfyG8xo4EEhmh9jQk2sFh6XKj4HiCVcx53Z8V345MNkhJ64DUrP0hRfOVLn6Cbgp5PTrgh7+Y5MrIEMmwb6QWBD/lYzoEvN4pZFQsLILOCQ6k2cl90b+JXj/dPsg2dEJdlO2Y7haX7ZVn3oWIEATgmFhVHojy8e1OKK/UuDj6ipeQRo/xSIoRj3eRHCgZ4spZBz1DGkfH7iQcqkl4r/xDf58eBByqzY62N89s2ueH5WX7B3cSFNlK5ZjElXjpMC4y4qX2xSqnw5b/7Fv+szTWbhiTN4L04l2iE/ublT931N9CKUXL6gUfJRAbsrg2wQ5DPMxpRuIp0ZbgRRLhlL9hQ7kcBXVq7Uko3Xe8MaHDpckfw2Xd5Dz/xTpE8QbQ== X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2360; 6:gcYntSmezETKu9VSjew8H+9yFxuhT0RThmChVCMnftfcxE4NbnpB1V3SETiGMs7CHHE0JhgRs2YN8G1Y54aJwWqvbjezGyd2hnyQbOquOz1p+DDxW52gwaLiN/uKIyjqF1F+RTmqdDUz0EywdRdRYQ10idpuNPwJ2elLGLRVUsc5sIuH5O1XcC6TgZYFK452g8miusUszfdgjkksjzLSR49CXlcsNZsipgFWYg6fjM8fsDAtkFias6uB9CWV3J11IwB2PfX4CjN/dgZzBxsil79X8vFwegZI9ShoXFzZBgQJupw4cCNg0qcUDz3pElmZw2/NRtb6YYpCFO77SokfhWwR7rHr7OP+SQF3uRDQ8Ew=; 5:bWLdV8UKiryr4rCnJqym70FgN3tVYt/0uDmZyMr1Eg4gcePCkpey38L9x2rjFAv2VTNc1xmj2A3X7NdmDUkU726wXezqPjJK55A0VREz2pNMcIFtXY0onU0oDiQ70aUZZY+fL8QqWWeJXldTcyH8h1/kWgaDRit9NPA00bN+bGI=; 24:WMrml/fP+Cvjkskxu/JEfp5v7ZPJon963QF5G/3Toybc6LLfbC9N4BwZLz/LBw99t0W5FBIQWXEela8qRPjdrxfRu/0JS3HO/qiEzynr4vk=; 7:vQTy8xyu8xkoI3XH33sDSoV1NSTcRemyz274Pm2WuWxT2QVvS4p7LqINkidnwTBtja7iB7sW/miMdfgZH9reBH3Lbr7X/pZpllck4/sIJ8WQfVSfediMgZTSElbo1ROHGpO6vMWgwj2RK+AgKNXFru6TGoyR+0A2GKn+jG7kQq4ZLhHc1jVchP6K+nWeAKmp/ozPouSSlc2BxK5wdCAIK4PCOIQblDTR4RaT8M20Pc3v3cwdeCjPlovaGKl4AGsc SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:43.2910 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bcdb1e9c-c1c1-42b1-e000-08d53c81af72 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: CO2PR03MB2360 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001655_624732_825E1F25 X-CRM114-Status: GOOD ( 17.29 ) 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 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.42.67 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.42.67 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Rajat Srivastava , Prabhakar Kushwaha , dedekind1@gmail.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The S25FS-S family physical sectors may be configured as a hybrid combination of eight 4-kB parameter sectors at the top or bottom of the address space with all but one of the remaining sectors being uniform size. The default status of the flash is the hybrid architecture. The parameter sectors and the uniform sectors have different erase commands. This patch disables the hybrid sector architecture which makes the flash have uniform sector size and uniform erase command. Signed-off-by: Rajat Srivastava Signed-off-by: Prabhakar Kushwaha --- drivers/mtd/spi-nor/spi-nor.c | 49 +++++++++++++++++++++++++++++++++++++++++++ include/linux/mtd/spi-nor.h | 1 + 2 files changed, 50 insertions(+) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 58c37f6f..ca2ae44 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1692,6 +1692,33 @@ static int spansion_dummy_config(struct spi_nor *nor, u8 num_wait_states, return 0; } +static int spansion_s25fs_disable_hybrid_mode(struct spi_nor *nor) +{ + u8 cr3v = 0x0; + int ret = 0x0; + + ret = nor->read_anyreg(nor, SPINOR_OP_RDAR, SPANSION_CR3V_OFF, + &cr3v, 1); + if (ret < 0) { + dev_err(nor->dev, "error %d reading CR3V\n", ret); + return ret; + } + + /* CR3V bit3: 4-KB Erase */ + if (cr3v & SPANSION_CR3V_4KB_ERASE_DISABLE) + return 0; + + cr3v |= SPANSION_CR3V_4KB_ERASE_DISABLE; + ret = nor->write_anyreg(nor, SPINOR_OP_RDAR, SPANSION_CR3V_OFF, + &cr3v, 1); + if (ret < 0) { + dev_err(nor->dev, "error %d writing CR3V\n", ret); + return ret; + } + + return 0; +} + static int spi_nor_check(struct spi_nor *nor) { if (!nor->dev || !nor->read || !nor->write || @@ -2939,6 +2966,28 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, return ret; } + /* + * The S25FS-S family physical sectors may be configured as a + * hybrid combination of eight 4-kB parameter sectors + * at the top or bottom of the address space with all + * but one of the remaining sectors being uniform size. + * The Parameter Sector Erase commands (20h or 21h) must + * be used to erase the 4-kB parameter sectors individually. + * The Sector (uniform sector) Erase commands (D8h or DCh) + * must be used to erase any of the remaining + * sectors, including the portion of highest or lowest address + * sector that is not overlaid by the parameter sectors. + * The uniform sector erase command has no effect on parameter sectors. + * The following code removes the 4-kB parameter sectors from the + * address map i.e. it disables the hybrid mode so that all sectors are + * uniform size. + */ + if (JEDEC_EXT_ID(info) == SPINOR_S25FS_FAMILY_ID) { + ret = spansion_s25fs_disable_hybrid_mode(nor); + if (ret) + return ret; + } + dev_info(dev, "%s (%lld Kbytes)\n", info->name, (long long)mtd->size >> 10); diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h index 9ff96cb..6c34e00 100644 --- a/include/linux/mtd/spi-nor.h +++ b/include/linux/mtd/spi-nor.h @@ -115,6 +115,7 @@ #define SPANSION_CR1V_OFF 0x00800002 /* CR1V offset */ #define SPANSION_CR2V_OFF 0x00800003 /* CR2V offset */ #define SPANSION_CR3V_OFF 0x00800004 /* CR3V offset */ +#define SPANSION_CR3V_4KB_ERASE_DISABLE 0x8 /* Used for Micron flashes only. */ From patchwork Wed Dec 6 08:15:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar Kushwaha X-Patchwork-Id: 845059 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="ljCXqA8p"; 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 3ysBNv49MBz9s82 for ; Wed, 6 Dec 2017 19:19:43 +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=HXIhe+myYdnD8d+4qSCwU2tGCkvO0oZbhvo9+yCYmX4=; b=ljCXqA8pyImLSi aqt+DhSUIa8YekvP27V1cTodLsL7YSNcjHQREZ8FiwZNSoO3VVb/SjXCXChUDZijpPVoRTIeRC6Tz qiS00nPAJnJclVXdPmNhJLonDSdm3ukWsorJ+xgo7nJBmLrDwbjrdURlmfHlu1Mq8LxKqkjMcXZmV QJL8Ste34fvpki0uPHXAR6V3fSxJJYDM0yrV8kazy2zgfQzPjSsWWDGw0HhQ1Rhy7WT9gczNOvlXk Jrd32dc9rNXvYCnuVW29S+pZ+y7V50n4YSHVQ0xtyVFVO5qLsOdYWuRUOaAEHYZhZIANWJn3fI6Rg wCq0fUzJ9k+9sBFNlP6g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1eMUvW-0003dG-Ja; Wed, 06 Dec 2017 08:19:34 +0000 Received: from mail-bl2nam02on0066.outbound.protection.outlook.com ([104.47.38.66] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1eMUt2-0001Km-0d for linux-mtd@lists.infradead.org; Wed, 06 Dec 2017 08:17:01 +0000 Received: from CY1PR03CA0039.namprd03.prod.outlook.com (10.174.128.49) by DM5PR03MB2700.namprd03.prod.outlook.com (10.168.197.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 08:16:48 +0000 Received: from BN1BFFO11FD029.protection.gbl (2a01:111:f400:7c10::1:106) by CY1PR03CA0039.outlook.office365.com (2603:10b6:600::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.282.5 via Frontend Transport; Wed, 6 Dec 2017 08:16:47 +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 BN1BFFO11FD029.mail.protection.outlook.com (10.58.144.92) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.239.4 via Frontend Transport; Wed, 6 Dec 2017 08:16:47 +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 vB68GBbn009213; Wed, 6 Dec 2017 01:16:44 -0700 From: Prabhakar Kushwaha To: Subject: [RFC 10/10] mtd: spi-nor: Implement anyreg functions for fsl-quadspi Date: Wed, 6 Dec 2017 13:45:41 +0530 Message-ID: <1512548141-3319-11-git-send-email-prabhakar.kushwaha@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> References: <1512548141-3319-1-git-send-email-prabhakar.kushwaha@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131570218080613359; (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)(39860400002)(346002)(376002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199004)(189003)(76176011)(85426001)(498600001)(6666003)(6916009)(305945005)(356003)(5660300001)(2950100002)(104016004)(2906002)(33646002)(2351001)(105606002)(106466001)(316002)(16586007)(50226002)(68736007)(81166006)(81156014)(4326008)(8676002)(8936002)(97736004)(50466002)(86362001)(8656006)(47776003)(48376002)(51416003)(77096006)(53936002)(39060400002)(54906003)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2700; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD029; 1:UpIQvcvoqbQmgwnjdWnoIZ0v1OfiV2ghTAvLTNUfESGYcZsJKeSa4q/dDP+181sPTsgZWZDhOhMFOff+bDXE7QulhhePEUr9I5bEYLBP7yOs1udh86bMR33h1NdgGc+3 MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4d76d939-e68c-4ae1-d290-08d53c81b22b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603286); SRVR:DM5PR03MB2700; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 3:Oo67uVeA2zzjPrcU3QWG3FZ1YWEIv6fnCGQr01Z0HyXRjTDge7o9H6PJgNPrkr34tIr+y9x/B4dGtail+F6RnFwcfgDSmClz5WsJwgosLZddQtTmmf2mEjkxdSUMluYABe77zk8f4KZV/bmHPW8r7w/MzfK7NwSTAck4QXTV3NuKWc2Fog7wsw1IbCPJSYK04/k34RaG6PgrpfAbWrSbi9PWs5vLCMmZS4JID6PwWKjPyTfpdgjvY9BbzlpxU7gIEV6HztBhjXeYltTBYRm17pAia89rQojBIbPvnJTiMcFL1Z/CVc+E4OAo/IlKFfBOPD+L0UZfojuIRsxpr6U44c4EVjByFmqJlCcIHi5E4dI=; 25:yXYFAuddosqIWe7oRBwRxNalJD6TmIbNANcsqAdgBVkzmi5oNpmPSIEn0SVfVQ0PvTIfyX5OIkmF1xQ4YAEmFgF880eiD7RNIl0LbbdK/Uh/C/1zHGeKjNf0s7oEOx9Pf/c4Fio/5AkH4KxN3Dgh8Ho7owwMKsqbybIukYoJgvHklnFWMv+QqtW4lY8YunmnE15Q0dLnHCiE+a/7LMJmzEXu2MzvNUv0aZZzJoKODQJJGy4jvHcT8gwkCMGEwaumd8i9HwckIAiY212JR8MZ++QEsg4v8mBhP5WSNk2izaUsTC7Keisuw4OmSBhfKI6VNKsbq3uWyXbhMmz3sBTlEg== X-MS-TrafficTypeDiagnostic: DM5PR03MB2700: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 31:ytXHXD8eyrFOQ5QsZ/wImSAI0aKrqiLKT8v+wj+BHzrZHPa1kv/x78s2oyr1qEj6wXEYTti4QydJ+tOfcRbH+of+We7TPmkM9OqenP0mhYSMHbrmisSbMaqLlVChJnx0qqmXLdYPu5Zdo0hktff6QlSk662S/WCdq8oBufgq1LbQfQ2ztHNvgIpjcWF9+0rPkon59jih8dVMNMhQBB2/J7HfeQoKy6HxvgrHKPo3NO4=; 4:Tl7AqG2z3mp6LZHnxy21gLlBBTFGoxBpMfPoieLkoDpWSp9G0Frr8LiJPF+vqTahgSFZquWtq5kTupkkCN/MosWyQFYXugj/AWTXQK+4bo0fcS+DWWYtAawuG6S4O+exN4/v4Px+FLJri0fiYTXmw2Qv6Y+pNX4S/xN7uNZRdH4Xjy5ZUfqvy3HKCuteHam5OG+qiJQbTH7KO85ENDxKq66zWYaU6Z/YjQnOiBkl31fKlUUGNLSmvvr/AB1cTzrjqjnomTvnFxJWF/WnplGkj1AqrYuSCbBa0OJQM6J1ho2kFJ2oUfpp7lDy/ZotrRD5 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)(93006095)(93001095)(3231022)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123556025)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123561025)(20161123559100)(201708071742011); SRVR:DM5PR03MB2700; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:DM5PR03MB2700; X-Forefront-PRVS: 05134F8B4F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2700; 23:C5UNKSnQTNx0oNIcBTPm6E3DHp3gu+ib5nw888tKk?= Jy2H/Ym4I+Vvs4YqHyqO90I5+KjyV47gcDqDQT8sL71kpnLQLB2bob4GEszrGTvXBoYrI8gyH+FEHEWA00qDg6/LIy385Ec4LE3QTEyeoMelk+orrvaxwNQWcd1hF4cw0JakpRFL7Tr2uYevKGwXzaaj9myqZjmgDfqRL+UwpzE9uro8Lk7SspHEAQVQGZxNtO+nxcDTYPJJ0hGkQNcAZghHgcth9SCNS2qWC1W2AA37zUOPeGY+rx+yVw7BNuuDHbGRRmgQQ9FRp4qcs2e3Cw8NudvN/j0XbcgyMXrymAh/4iY7HH79DOw2KKcUHPyubwefKpB2amJrTSYjwZgOR1FoX5uGSJFIXxCmo5z6EnrDE/bwgCl3FAMGEcOMl5VrK/2j7aDQvUP4kySWvbLcK6ynQfTL0cywcE1sm4rxbi4vq3/BTIu+1kp2bSqSL1bVeQjlqiRteYd08ea6QjbiHRvgPFr8jotkv6OkNF7GvmpfgvVn8a6FbVtwmV9ae3pwGwn+18QkOO8Iw0KgG442EkzNgRaIOZnHDymlLzPKb5OxgvPUwZONwGiE6hHtp06iJPt51GKeBwwH5ocm5xrAGyNiBm6aoExhuIc3Wp4dIJ36Fv5Tll6XMXOJJ8cGu/p7TBsywUEtpRLcR4dtnKiTvrba0rYg+p1qmE81Sz0yse+9dVkOWsJV+HhtDqQGCFwqnQVDUb253lUpWLkbnXb5VxuVV4QSDKAMHfO187DJWNIdpzGMdkb0U+Efu1vA9LeaY64dMqISrK87j4eSr9iCXbk2dORFFGHP/zV5ZofXgnrvn/kUo5eFaG6+HdEuxW4pu1+GmEY7KipXV1maIHsu+0wuQyV9k8Lmbhf3Zt1PE2Ltap0cxyCI52sCR1iZWH9OjzNsbgipNBgBK//HPBVNlhrFhpxFahJYTpxGjmgnzRnBtD+l9i7iBTHr5Xl2d+seqsr8h1JFSKNhvgyFwrfoRCGuPGuS3GxI5EnHF3mUbTS1+pkyj4C83eabklTE02k+ZwGpBJQhx/dGWqe1kDt0wb+jFOCcAlQ34+3PJiGWBvu7kjbIRMTIW1fJEv2Y8trVa8= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2700; 6:PMMYwGROZqFYXqtcLo0H6gPFM3OlDSUXJuLqFcLUkQhzC1wDskXi3Vj4zWhaNDvlCQxOV4Dbrx8OE9pKQTh5VrjNr18lR/YIAlk9mwMxTTOrvIo3ggG1XAViyyzJPUDxC1fCnLKX71qm+hTe3GH7CPNi+FiETXDgujWo/5XfzHRfChUWWu83KME0ulgj98Kwt01HeGQtYM91JSmGEAkxHqcqhu7aGc0N/8kes7cMIo20VG9T/9X9AcMqSRFumKf4YZfPsQqdgTFhTBPqHDQne6jPZPvpJxqH6mUt0fA+MjDHPqEjcXESTaTA+aMzQpnK72fqsZYtmVRJ2l6xBO7i6OgBv5VQe4xAd8Ay8HGJ+SQ=; 5:kj03SSz9nQJcoXhhGx+zhCsOeGK4ZK4WGHQeyiVSgCebdaGY7LT4MfUd5CAWiY/GllvCewICZc4fiEMn31axqhT8QM7rVau1Beiw6s9vfcqcW3NXnMr7a9f4GnAhAXttk/uIRnsuDyixtjeZ6KlqyswxSUuT6+ouTxrSObw0mYE=; 24:By++T0vl5qZYfANIKnoZ+1vmw5XhSxazm48kNI1goRguKGSbn239c/fpzFu4/HY97Bpo9xVAhuG5ghnjzGDLKPt1YZSG3VgpJTJzIe1XKpk=; 7:TWfQXj1myC/Wj6w/dO0D5HvLedr5RFFTlbwS4hb0k0mhlXG63D4OoZvCuysiqpYqpH2CmvETTP7GBfiguwNgMUe1AKHSjmQvIPYDjh93iTv0fioVV9PaFPbvqba1g3VFBlBbAQ57G94iebexCJ3PQNt6IDsNQv7WZ9k6C0KabLAiY8odkdKYzlbppeVLIGqmf9i33aaL+XvfemX5OlVk6cayS3foV2uxNyK+9pgkA7ErSAwoBhTzUWWKu4h8hvLm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 08:16:47.8585 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4d76d939-e68c-4ae1-d290-08d53c81b22b 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: DM5PR03MB2700 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171206_001700_170797_8DF09D21 X-CRM114-Status: GOOD ( 11.21 ) 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 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.47.38.66 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.38.66 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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: boris.brezillon@free-electrons.com, computersforpeace@gmail.com, Prabhakar Kushwaha , dedekind1@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 5477d78..5164eab 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -854,6 +854,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) { @@ -1075,6 +1091,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;