public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* mtd: nand: fix GET/SET_FEATURES address on 16-bit devices
@ 2014-03-21 22:05 David Mosberger
  2014-03-22  0:20 ` Brian Norris
  2014-03-26  6:33 ` Brian Norris
  0 siblings, 2 replies; 3+ messages in thread
From: David Mosberger @ 2014-03-21 22:05 UTC (permalink / raw)
  To: linux-mtd; +Cc: David Mosberger

linux-next almost works out of the box for us except that GET_FEATURES
and SET_FEATURES also need byte-addressing.  With the attached patch,
our board boots fine (save for on-die ECC patch, which I'll submit
separately).  The only oddity is that the devices is reported as being
SLC, when it's most definitely not:

nand: 512MiB, SLC, page size: 2048, OOB size: 64

   --david



GET_FEATURES and SET_FEATURES also need byte-addressing on 16-bit devices.

Signed-off-by: David Mosberger <davidm@egauge.net>

diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 0747fef..29a23bb 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -925,7 +929,16 @@ static inline bool nand_is_slc(struct nand_chip *chip)
  */
 static inline int nand_opcode_8bits(unsigned int command)
 {
-	return command == NAND_CMD_READID || command == NAND_CMD_PARAM;
+	switch (command) {
+	case NAND_CMD_READID:
+	case NAND_CMD_PARAM:
+	case NAND_CMD_GET_FEATURES:
+	case NAND_CMD_SET_FEATURES:
+		return 1;
+	default:
+		break;
+	}
+	return 0;
 }
 
 /* return the supported JEDEC features. */

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-03-26  6:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-21 22:05 mtd: nand: fix GET/SET_FEATURES address on 16-bit devices David Mosberger
2014-03-22  0:20 ` Brian Norris
2014-03-26  6:33 ` Brian Norris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox