diff options
| -rw-r--r-- | drivers/mtd/nand/mxc_nand.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 4a696820d6d4..2e3f3fbcd67c 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c | |||
| @@ -274,16 +274,10 @@ static void send_page(struct mtd_info *mtd, unsigned int ops) | |||
| 274 | static void send_read_id(struct mxc_nand_host *host) | 274 | static void send_read_id(struct mxc_nand_host *host) |
| 275 | { | 275 | { |
| 276 | struct nand_chip *this = &host->nand; | 276 | struct nand_chip *this = &host->nand; |
| 277 | uint16_t tmp; | ||
| 278 | 277 | ||
| 279 | /* NANDFC buffer 0 is used for device ID output */ | 278 | /* NANDFC buffer 0 is used for device ID output */ |
| 280 | writew(0x0, host->regs + NFC_BUF_ADDR); | 279 | writew(0x0, host->regs + NFC_BUF_ADDR); |
| 281 | 280 | ||
| 282 | /* Read ID into main buffer */ | ||
| 283 | tmp = readw(host->regs + NFC_CONFIG1); | ||
| 284 | tmp &= ~NFC_SP_EN; | ||
| 285 | writew(tmp, host->regs + NFC_CONFIG1); | ||
| 286 | |||
| 287 | writew(NFC_ID, host->regs + NFC_CONFIG2); | 281 | writew(NFC_ID, host->regs + NFC_CONFIG2); |
| 288 | 282 | ||
| 289 | /* Wait for operation to complete */ | 283 | /* Wait for operation to complete */ |
| @@ -307,7 +301,7 @@ static uint16_t get_dev_status(struct mxc_nand_host *host) | |||
| 307 | { | 301 | { |
| 308 | void __iomem *main_buf = host->main_area1; | 302 | void __iomem *main_buf = host->main_area1; |
| 309 | uint32_t store; | 303 | uint32_t store; |
| 310 | uint16_t ret, tmp; | 304 | uint16_t ret; |
| 311 | /* Issue status request to NAND device */ | 305 | /* Issue status request to NAND device */ |
| 312 | 306 | ||
| 313 | /* store the main area1 first word, later do recovery */ | 307 | /* store the main area1 first word, later do recovery */ |
| @@ -316,11 +310,6 @@ static uint16_t get_dev_status(struct mxc_nand_host *host) | |||
| 316 | * corruption of read/write buffer on status requests. */ | 310 | * corruption of read/write buffer on status requests. */ |
| 317 | writew(1, host->regs + NFC_BUF_ADDR); | 311 | writew(1, host->regs + NFC_BUF_ADDR); |
| 318 | 312 | ||
| 319 | /* Read status into main buffer */ | ||
| 320 | tmp = readw(host->regs + NFC_CONFIG1); | ||
| 321 | tmp &= ~NFC_SP_EN; | ||
| 322 | writew(tmp, host->regs + NFC_CONFIG1); | ||
| 323 | |||
| 324 | writew(NFC_STATUS, host->regs + NFC_CONFIG2); | 313 | writew(NFC_STATUS, host->regs + NFC_CONFIG2); |
| 325 | 314 | ||
| 326 | /* Wait for operation to complete */ | 315 | /* Wait for operation to complete */ |
| @@ -739,8 +728,10 @@ static int __init mxcnd_probe(struct platform_device *pdev) | |||
| 739 | } else | 728 | } else |
| 740 | BUG(); | 729 | BUG(); |
| 741 | 730 | ||
| 731 | /* disable interrupt and spare enable */ | ||
| 742 | tmp = readw(host->regs + NFC_CONFIG1); | 732 | tmp = readw(host->regs + NFC_CONFIG1); |
| 743 | tmp |= NFC_INT_MSK; | 733 | tmp |= NFC_INT_MSK; |
| 734 | tmp &= ~NFC_SP_EN; | ||
| 744 | writew(tmp, host->regs + NFC_CONFIG1); | 735 | writew(tmp, host->regs + NFC_CONFIG1); |
| 745 | 736 | ||
| 746 | init_waitqueue_head(&host->irq_waitq); | 737 | init_waitqueue_head(&host->irq_waitq); |
