| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |
| Date: Thu, 21 Jan 2021 10:44:53 +0100 |
| Subject: [PATCH] mtd: rawnand: brcmnand: disable WP on BCM4908 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| BCM4908 contains NAND controller version 0x0701 (v7.1). It means that |
| NAND_WP should be available. |
| |
| For some reason setting #WP on doesn't result in clearing NAND_STATUS_WP |
| status bit: |
| [ 1.077857] bcm63138_nand ff801800.nand: timeout on status poll (expected c0000040 got c00000c0) |
| [ 1.086832] bcm63138_nand ff801800.nand: nand #WP expected on |
| |
| For now try working without touching #WP. |
| |
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> |
| --- |
| |
| --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c |
| +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c |
| @@ -38,7 +38,11 @@ |
| * 1: NAND_WP is set by default, cleared for erase/write operations |
| * 2: NAND_WP is always cleared |
| */ |
| +#if IS_ENABLED(CONFIG_ARCH_BCM4908) |
| +static int wp_on = 0; |
| +#else |
| static int wp_on = 1; |
| +#endif |
| module_param(wp_on, int, 0444); |
| |
| /*********************************************************************** |