[MTD] [NAND] Fix endianess bug in ndfc.c
The writel() call accidentally clears all bits in the NDFC_CCR register (endianess problem). Now __raw_writel() is used instead. Tested on Bamboo with NAND on chip select 0 and chip select 1. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
committed by
David Woodhouse
parent
ddacff1f20
commit
4010db56c8
@@ -56,7 +56,7 @@ static void ndfc_select_chip(struct mtd_info *mtd, int chip)
|
|||||||
ccr |= NDFC_CCR_BS(chip + pchip->chip_offset);
|
ccr |= NDFC_CCR_BS(chip + pchip->chip_offset);
|
||||||
} else
|
} else
|
||||||
ccr |= NDFC_CCR_RESET_CE;
|
ccr |= NDFC_CCR_RESET_CE;
|
||||||
writel(ccr, ndfc->ndfcbase + NDFC_CCR);
|
__raw_writel(ccr, ndfc->ndfcbase + NDFC_CCR);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ndfc_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
|
static void ndfc_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
|
||||||
|
Reference in New Issue
Block a user