summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/mips/ingenic_x1000/nand-x1000.c6
-rw-r--r--firmware/target/mips/ingenic_x1000/nand-x1000.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_x1000/nand-x1000.c b/firmware/target/mips/ingenic_x1000/nand-x1000.c
index 286dc3c64b..e22c639b8f 100644
--- a/firmware/target/mips/ingenic_x1000/nand-x1000.c
+++ b/firmware/target/mips/ingenic_x1000/nand-x1000.c
@@ -216,6 +216,12 @@ void nand_close(struct nand_drv* drv)
216 sfc_close(); 216 sfc_close();
217} 217}
218 218
219void nand_enable_otp(struct nand_drv* drv, bool enable)
220{
221 nand_upd_reg(drv, FREG_CFG, FREG_CFG_OTP_ENABLE,
222 enable ? FREG_CFG_OTP_ENABLE : 0);
223}
224
219static uint8_t nand_wait_busy(struct nand_drv* drv) 225static uint8_t nand_wait_busy(struct nand_drv* drv)
220{ 226{
221 uint8_t reg; 227 uint8_t reg;
diff --git a/firmware/target/mips/ingenic_x1000/nand-x1000.h b/firmware/target/mips/ingenic_x1000/nand-x1000.h
index 61e0bbebc9..bc80ecce07 100644
--- a/firmware/target/mips/ingenic_x1000/nand-x1000.h
+++ b/firmware/target/mips/ingenic_x1000/nand-x1000.h
@@ -211,6 +211,9 @@ static inline void nand_unlock(struct nand_drv* drv)
211extern int nand_open(struct nand_drv* drv); 211extern int nand_open(struct nand_drv* drv);
212extern void nand_close(struct nand_drv* drv); 212extern void nand_close(struct nand_drv* drv);
213 213
214/* Enable/disable OTP access. OTP data pages are usually vendor-specific. */
215void nand_enable_otp(struct nand_drv* drv, bool enable);
216
214/* Read / program / erase operations. Buffer needs to be cache-aligned for DMA. 217/* Read / program / erase operations. Buffer needs to be cache-aligned for DMA.
215 * Read and program operate on full page data, ie. including OOB data areas. 218 * Read and program operate on full page data, ie. including OOB data areas.
216 * 219 *