|
@@ -575,7 +575,8 @@ static void nand_command(struct mtd_info *mtd, unsigned int command,
|
|
|
/* Serially input address */
|
|
|
if (column != -1) {
|
|
|
/* Adjust columns for 16 bit buswidth */
|
|
|
- if (chip->options & NAND_BUSWIDTH_16)
|
|
|
+ if ((chip->options & NAND_BUSWIDTH_16) &&
|
|
|
+ !nand_opcode_8bits(command))
|
|
|
column >>= 1;
|
|
|
chip->cmd_ctrl(mtd, column, ctrl);
|
|
|
ctrl &= ~NAND_CTRL_CHANGE;
|
|
@@ -668,7 +669,8 @@ static void nand_command_lp(struct mtd_info *mtd, unsigned int command,
|
|
|
/* Serially input address */
|
|
|
if (column != -1) {
|
|
|
/* Adjust columns for 16 bit buswidth */
|
|
|
- if (chip->options & NAND_BUSWIDTH_16)
|
|
|
+ if ((chip->options & NAND_BUSWIDTH_16) &&
|
|
|
+ !nand_opcode_8bits(command))
|
|
|
column >>= 1;
|
|
|
chip->cmd_ctrl(mtd, column, ctrl);
|
|
|
ctrl &= ~NAND_CTRL_CHANGE;
|