Message ID | 1490213273-8571-24-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | cc5d8031f8c7b11c325a37118f9aa6133f0b28a0 |
Headers | show |
Series | None | expand |
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c index abf8997..3da0a0e 100644 --- a/drivers/mtd/nand/denali.c +++ b/drivers/mtd/nand/denali.c @@ -1472,6 +1472,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;
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@socionext.com> --- Changes in v2: None drivers/mtd/nand/denali.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.7.4