|
@@ -138,15 +138,14 @@ static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob)
|
|
|
|
|
|
ctrl->page = page_addr;
|
|
|
|
|
|
- out_be32(&lbc->fbar,
|
|
|
- page_addr >> (chip->phys_erase_shift - chip->page_shift));
|
|
|
-
|
|
|
if (priv->page_size) {
|
|
|
+ out_be32(&lbc->fbar, page_addr >> 6);
|
|
|
out_be32(&lbc->fpar,
|
|
|
((page_addr << FPAR_LP_PI_SHIFT) & FPAR_LP_PI) |
|
|
|
(oob ? FPAR_LP_MS : 0) | column);
|
|
|
buf_num = (page_addr & 1) << 2;
|
|
|
} else {
|
|
|
+ out_be32(&lbc->fbar, page_addr >> 5);
|
|
|
out_be32(&lbc->fpar,
|
|
|
((page_addr << FPAR_SP_PI_SHIFT) & FPAR_SP_PI) |
|
|
|
(oob ? FPAR_SP_MS : 0) | column);
|