MTD: [NAND] Fix the sharpsl driver after breakage from a core conversion

The CNE bits are inverted on the device and writeb function is missing a
NOT operation.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
Richard Purdie 2006-07-15 13:05:24 +01:00 committed by David Woodhouse
parent 8b0036eefd
commit 6a5a297cf7

View file

@ -78,7 +78,7 @@ static struct mtd_partition sharpsl_nand_default_partition_info[] = {
/* /*
* hardware specific access to control-lines * hardware specific access to control-lines
* ctrl: * ctrl:
* NAND_CNE: bit 0 -> bit 0 & 4 * NAND_CNE: bit 0 -> ! bit 0 & 4
* NAND_CLE: bit 1 -> bit 1 * NAND_CLE: bit 1 -> bit 1
* NAND_ALE: bit 2 -> bit 2 * NAND_ALE: bit 2 -> bit 2
* *
@ -92,7 +92,10 @@ static void sharpsl_nand_hwcontrol(struct mtd_info *mtd, int cmd,
unsigned char bits = ctrl & 0x07; unsigned char bits = ctrl & 0x07;
bits |= (ctrl & 0x01) << 4; bits |= (ctrl & 0x01) << 4;
writeb((readb(FLASHCTL) & 0x17) | bits, FLASHCTL);
bits ^= 0x11;
writeb((readb(FLASHCTL) & ~0x17) | bits, FLASHCTL);
} }
if (cmd != NAND_CMD_NONE) if (cmd != NAND_CMD_NONE)