mtd: nand: denali: set DEVICES_CONNECTED 1 if not set
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Wed May 10 19:59:10 PDT 2017
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=cc5d8031f8c7b11c325a37118f9aa6133f0b28a0
Commit: cc5d8031f8c7b11c325a37118f9aa6133f0b28a0
Parent: e93c1640e0387ab55b98b4e04600050f2beceac1
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
AuthorDate: Thu Mar 23 05:07:22 2017 +0900
Committer: Boris Brezillon <boris.brezillon at free-electrons.com>
CommitDate: Tue Mar 28 14:19:45 2017 +0200
mtd: nand: denali: set DEVICES_CONNECTED 1 if not set
Currently, the driver expects DEVICE_CONNECTED is automatically set
by the hardware, but this feature is disabled in some cases.
In such cases, it is the software's responsibility to set up the
DEVICES_CONNECTED register.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
---
drivers/mtd/nand/denali.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index e1c45bf..b442a3e 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1417,6 +1417,15 @@ static int denali_multidev_fixup(struct denali_nand_info *denali)
*/
denali->devnum = ioread32(denali->flash_reg + DEVICES_CONNECTED);
+ /*
+ * On some SoCs, DEVICES_CONNECTED is not auto-detected.
+ * For those, DEVICES_CONNECTED is left to 0. Set 1 if it is the case.
+ */
+ if (denali->devnum == 0) {
+ denali->devnum = 1;
+ iowrite32(1, denali->flash_reg + DEVICES_CONNECTED);
+ }
+
if (denali->devnum == 1)
return 0;
More information about the linux-mtd-cvs
mailing list