From 748e4f3d702def1a4bff191e0cf93b6a05340f01 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:41:34 +0000
Subject: [PATCH] add gpio led uart
---
kernel/drivers/mtd/nand/spi/core.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/kernel/drivers/mtd/nand/spi/core.c b/kernel/drivers/mtd/nand/spi/core.c
index bd18e6d..f0ba92a 100644
--- a/kernel/drivers/mtd/nand/spi/core.c
+++ b/kernel/drivers/mtd/nand/spi/core.c
@@ -527,7 +527,7 @@
const struct nand_page_io_req *req,
bool ecc_enabled)
{
- u8 status;
+ u8 status = 0;
int ret;
ret = spinand_load_page_op(spinand, req);
@@ -535,6 +535,13 @@
return ret;
ret = spinand_wait(spinand, &status);
+ /*
+ * When there is data outside of OIP in the status, the status data is
+ * inaccurate and needs to be reconfirmed
+ */
+ if (spinand->id.data[0] == 0x01 && status && !ret)
+ ret = spinand_wait(spinand, &status);
+
if (ret < 0)
return ret;
@@ -866,6 +873,7 @@
&skyhigh_spinand_manufacturer,
&toshiba_spinand_manufacturer,
&unim_spinand_manufacturer,
+ &unim_zl_spinand_manufacturer,
&winbond_spinand_manufacturer,
&xincun_spinand_manufacturer,
&xtx_spinand_manufacturer,
@@ -1111,6 +1119,13 @@
if (ret)
return ret;
+ /* HWP_EN must be enabled first before block unlock region is set */
+ if (spinand->id.data[0] == 0x01) {
+ ret = spinand_lock_block(spinand, HWP_EN);
+ if (ret)
+ return ret;
+ }
+
ret = spinand_lock_block(spinand, BL_ALL_UNLOCKED);
if (ret)
return ret;
--
Gitblit v1.6.2