|
@@ -530,12 +530,23 @@ static void send_page_v1(struct mtd_info *mtd, unsigned int ops)
|
|
|
|
|
|
static void send_read_id_v3(struct mxc_nand_host *host)
|
|
|
{
|
|
|
+ struct nand_chip *this = &host->nand;
|
|
|
+
|
|
|
/* Read ID into main buffer */
|
|
|
writel(NFC_ID, NFC_V3_LAUNCH);
|
|
|
|
|
|
wait_op_done(host, true);
|
|
|
|
|
|
memcpy32_fromio(host->data_buf, host->main_area0, 16);
|
|
|
+
|
|
|
+ if (this->options & NAND_BUSWIDTH_16) {
|
|
|
+ /* compress the ID info */
|
|
|
+ host->data_buf[1] = host->data_buf[2];
|
|
|
+ host->data_buf[2] = host->data_buf[4];
|
|
|
+ host->data_buf[3] = host->data_buf[6];
|
|
|
+ host->data_buf[4] = host->data_buf[8];
|
|
|
+ host->data_buf[5] = host->data_buf[10];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* Request the NANDFC to perform a read of the NAND device ID. */
|