From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932079AbcBALi7 (ORCPT ); Mon, 1 Feb 2016 06:38:59 -0500 Received: from mail-bn1bon0140.outbound.protection.outlook.com ([157.56.111.140]:47760 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753661AbcBALiz (ORCPT ); Mon, 1 Feb 2016 06:38:55 -0500 Authentication-Results: spf=permerror (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=freescale.com; From: Yunhui Cui To: , , CC: , , , Subject: [PATCH v2 4/4] mtd:spi_nor: Disable Micron flash HW protection Date: Mon, 1 Feb 2016 19:30:08 +0800 Message-ID: <1454326208-4533-4-git-send-email-B56489@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1454326208-4533-1-git-send-email-B56489@freescale.com> References: <1454326208-4533-1-git-send-email-B56489@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD021;1:VFXWo9pLZpEw3mwUfvScfTfu4zJh41eDDnNsOmeR+AKz4zcCgSBUOdWRuQTTb/ewP5i1Bj5vTAfmXlKpxB2Oli8MxkRsLmt+SzSaCkPGm1g7cRkbzkqcqFmZM3BAb4Thm1w4AeZFY4NG4x/iIC3Ebdp1wSpKudzdYhKqQ8xF5dti+hpCLluYHIW7n+vuFMv+lJiV/E2XM9h/0MRS4tOzBSKhKQ0gWf2WTL9Dp+KDVTmlc1wu+xPenb/wCU/V2KIwDs7TWh6f1XsGxiTBHtktFcChqqJfGgNgGgVaI84HEJ9h/8oY3ULzESGCO4laYXbKZMFW+ExpK++0xz0F2bW3riZ0cjmaOJwaiTwrPD0gtpg4uRGM28NYthVjd/NoN4CDJGjH9BI6czCpdujwR0EmAOGJhGLP7ZfHqG9Pslm3sowB0TN5XbbSisOKiwnVhO/2 X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(448002)(189002)(199003)(76176999)(50986999)(87936001)(4001450100002)(2201001)(3470700001)(1220700001)(106466001)(1096002)(229853001)(50466002)(2906002)(586003)(86362001)(575784001)(4326007)(36756003)(92566002)(11100500001)(5008740100001)(104016004)(6806005)(48376002)(5001770100001)(85326001)(47776003)(97736004)(5003940100001)(81156007)(77096005)(2950100001)(50226001)(189998001)(5001960100002)(19580395003)(19580405001)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR03MB072;H:tx30smr01.am.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: f37a49d2-6001-4be4-33b9-08d32afc42e1 X-Microsoft-Exchange-Diagnostics: 1;BN1PR03MB072;2:BlP3dWHP3w+vS24MOjkbiPpgjOxVixnKZ1t5fQiYWDCWVBkBN5ia7eN06Si8dju/8WFEDlD/GbdwO7p0iGrc1yZDh2Zmqane1oBYwCAl6e7kkbL5ERkRwPQAD/sQRBlQQLfmOVihWO9nN5pK5ELA/zveeT+Sw9qj4V6oboJQWMYEkwrxkzH1CTSgcld1T4a1;3:B6WxKQHh42WoU2AByasA22tLd9bmW5hUIOfk1guam+0g7cvkpKj4akStOC6fNHOHNh2pmrCURJyl4lrezwcLfw2/RlOm3qfNNh1xdWL0gXaazAyd51mb1HXB2pzTnqtuUUqXNSprAQoFIQUABOkpGbjaID0c00jSRR+7zFys2cAD6VqcG54Og8MarzuVWUwlTjkYzr7xw+6zgmoCN3iz9ScS5Z+L+rWjs9x038nqzi0=;25:k1WHjauQKzi8HUtkONwp9GiOT32ei4xw/OHQ0pS/C5He3qduE6Am/K68KxqKV2SoeRjU4nLGGUcAn5bUCBNX2sxgBwgi/gxy5hLezYUwKBX0uJVjtkrSzq0hyceQKuFB05En2z/X+1afi/LoCVixWZbp7kCG7Ndc8+b4A/CjqPUtzA5y4a6qRhY6NcmLlmm/22mvvMu50sV/ATlwzRjm2ktxL2J5Yf0er5MEdcH1EXDe9e99VGxNLMPZzj+eJAaf X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR03MB072; X-Microsoft-Exchange-Diagnostics: 1;BN1PR03MB072;20:xRWOJsgtEZ1bl6SdyCIE2TS9yM/k97rFBcRGGlYxDXF3VJiGBQQ0aNJwnZSeP99e9MYnR9oR/CQL1XCPsvChniYfQKoII5yLt2xLitecEYyt7jRQ5dLatY4Txpnwxc6NCfpuUlgD3lmRx2W4Q7n6x58EvYXLEZg3dL2DyzNwRej5yKnIsPtKg+kR9SpXfSOolJU9W1ZuzHPs1AF9kHQP87kMvcqjiKVc1w4+W0i4ibtgqBGzxOpk6lxj8DWXRy1WgpbUAYFIDhmraDNM/BSm9lBH8Zo1wTgWmc3Z7SFCY3/pNMA0cZNddt49gY3B7lZXqWjgWsEFQP9w64Ckw93mSvjI+PEAoAP1msmZITsdXJnudsXVIhmNYUar0CfSjyflK2LdLIqZE53G1JfyIHlAi58s1R42no4KdN/2RxJBnc5f5WJnF16YGFZCVutWKA7A;4:d1J2t08OdpS3O896b4X03I8AS+7EWgVVBOVt0SUoywio8uN/qhK/eCGywpB8x/ODe1qd+Fw4MaCNcFO0H78wxZ/ly2tMqBDANyJRjUx3NoJ2l+jMgcg85dYZJ00xD2tmuGG63Jy9tXuPygwDwHcBGbOcImJbw1+2vAK8nYoMd77I3pESsDyPTNuLmT+uHtPgEUwJsqMqrSWphcwnN/CYHokRa+o0Z63NrZ6lsH4fuMde2b6e/ImP8U6j8zZsJnS51G2u60fGc7jDMITIJoWSVMtg+gqXqF1z3o5QXQ1GV8Gx9YbkIZlQB5pcfjwQqy4pRXVNTod4N6RnYt9nQHkTW7VKo4boVIkKq1t0o+vbOoNplSzSWR+VZv6sAtciu6At7SwajcJkL6yaIZUId/fpGlesM5+MQumnqB0MLE1xfsICv/zVzauNiQgThzSYt1WkH5VVBpjYcseJUaO/3Op9/u955ADQaaLH0iwANP+S/VtS52XHb51aL80suJOegNvf X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(13024025)(13023025)(13015025)(13017025)(13018025)(8121501046)(3002001)(10201501046);SRVR:BN1PR03MB072;BCL:0;PCL:0;RULEID:;SRVR:BN1PR03MB072; X-Forefront-PRVS: 0839D067E7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN1PR03MB072;23:rQnAYBAa1MQVT+LFvxew3A29s6bwKStWmelHsBnq2W?= =?us-ascii?Q?IZGJjxRCj+2tRvp8t0uDrUtS0zIaA6t2vO3tEZB9mzKiFYOd8dXt4e5e6/z0?= =?us-ascii?Q?0d/rpMNFgY2zTToVIapuXK4CZ1d6Y4CWCFIGCPHFkkKNUFn/YfUKhYO8oylx?= =?us-ascii?Q?f2j2QL0X+UehcCnA5iEUb7YdUWoP5sP588tU3ZL35erI1YtEB3U7U52kBv8Y?= =?us-ascii?Q?ivIYBhd/KduFzy9cOXqGVbdC5fTsbW0yWpPYlnSJ7Tv3XZqWHUKzRmxjsrz2?= =?us-ascii?Q?h12oX3NTikh6e3FUu1X1fKTMqZPLesLfc0bhRB9QEfGWCkEh3SJwQyGeQKI+?= =?us-ascii?Q?3WYCEa5WyyB3RB4mHh2WE1w50XKbbz8lglM5CEHuE+DaIUlUY2klBwOh7FPg?= =?us-ascii?Q?qgmyoNQMqeW1tik44NRmJR9hYntqUO6VuqTLFbeNrxhhOGye7j/20vTGn3Mx?= =?us-ascii?Q?xC7Xp7ce35Wna6q4gEgGgoTvegDEa+7PZcdDQGT/FnnJFuyzaBi2pgdiYq7m?= =?us-ascii?Q?jIai07F8Q//1KUrkaAewnLtrwRReiq4qHvpH/gcoCVY03YlfiNAkFNowUcJk?= =?us-ascii?Q?/pYu5GA35+JCQlFW1GBskpNiB4BYbZOCn6tZE8htifb8mA1GxhemFCya5jVy?= =?us-ascii?Q?Ih6J89XprxzWIFNpX4OcuGukB/1zrmVl9bYKXTlS6FurWd/w2FJ1yaBZeDvn?= =?us-ascii?Q?S6daKfjZmlye2ASrPoVMXYXR0tah0mS/3R0GevqFc3Prxip+Lqimcxs/xqc9?= =?us-ascii?Q?/WOznxRvtU92RlqgXdhCU2BRA5dWrh3D3sGPPwn+6C52+5gsukx5xFyiU4Dq?= =?us-ascii?Q?GjGBb0id2GYY7v//M+oNB66MjLL5CrZQ3Epm6vn8cvR0mD0lAOdbdzyxmrgv?= =?us-ascii?Q?CVhSPgpuecokZgN7k8ew3hZW0LWelzJPwdJ1rtpr6CE0woD84vLOv0b9XzOE?= =?us-ascii?Q?ZQTb5pd90FAh4rXMVRFgSDlG0m3C4L3/ZT85urdiXnEHGbMAGbWdC/bIzO88?= =?us-ascii?Q?+yO1KXD9M7JonfIMMueuwi6tG9q+TzweePi16RdhaWSIDirvfbXNdhGKycNo?= =?us-ascii?Q?yB1fNbKEdWLxDbCkEqWkABwHKlvZKqmjok7NxzGrm5opetNYxL8szTQ0H1//?= =?us-ascii?Q?+njpJE2EU=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN1PR03MB072;5:Ina02Xwk4SHmxBit+oITCwDz/zr6LO8nnqHEY9WPH5SOMgHXnPsgMyzn36ubrfIvybJjfEgxOkKy7dCyoLrSnW4+MR4aJvWHZjd+ED/BbcH7pgD/DZm7hHHh9EkW9B63CSD13DfNkkpJEFiqGpGsRg==;24:BMUPYaSd6gpBmkYPJ3phkt7GrEVhYifO7L6fZAS7pwd3LLUi6kLRMaduWEVHVpM9uTzTHyo1vspxpu+dpzdTT4cxb36IItplbXzRHYKJKR0= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2016 11:38:52.9680 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR03MB072 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org For Micron family ,The status register write enable/disable bit, provides hardware data protection for the device. When the enable/disable bit is set to 1, the status register nonvolatile bits become read-only and the WRITE STATUS REGISTER operation will not execute. Signed-off-by: Yunhui Cui --- drivers/mtd/spi-nor/spi-nor.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index ed0c19c..917f814 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -39,6 +39,7 @@ #define SPI_NOR_MAX_ID_LEN 6 #define SPI_NOR_MAX_ADDR_WIDTH 4 +#define SPI_NOR_MICRON_WRITE_ENABLE 0x7f struct flash_info { char *name; @@ -1238,6 +1239,14 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode) write_sr(nor, 0); } + if (JEDEC_MFR(info) == SNOR_MFR_MICRON) { + ret = read_sr(nor); + ret &= SPI_NOR_MICRON_WRITE_ENABLE; + + write_enable(nor); + write_sr(nor, ret); + } + if (!mtd->name) mtd->name = dev_name(dev); mtd->priv = nor; -- 2.1.0.27.g96db324