@@ -237,6 +237,10 @@ class SPINANDBlockDevice : public mbed::BlockDevice {
237237 */
238238 virtual const char *get_type () const ;
239239
240+ virtual bool is_bad_block (uint16_t blk_idx);
241+
242+ virtual int mark_bad_block (uint16_t blk_idx);
243+
240244private:
241245 /* *******************************/
242246 /* Different Device Csel Mgmt */
@@ -258,6 +262,9 @@ class SPINANDBlockDevice : public mbed::BlockDevice {
258262 // Send Read command to Driver
259263 qspi_status_t _qspi_send_read_command (mbed::qspi_inst_t read_instruction, void *buffer, mbed::bd_addr_t addr, mbed::bd_size_t size);
260264
265+ // Send Continuous Read command to Driver
266+ qspi_status_t _qspi_send_continuous_read_command (mbed::qspi_inst_t read_instruction, void *buffer, mbed::bd_addr_t addr, mbed::bd_size_t size);
267+
261268 // Send Erase Instruction using command_transfer command to Driver
262269 qspi_status_t _qspi_send_erase_command (mbed::qspi_inst_t erase_instruction, mbed::bd_addr_t addr, mbed::bd_size_t size);
263270
@@ -275,6 +282,10 @@ class SPINANDBlockDevice : public mbed::BlockDevice {
275282 // Read OTP ONFI parameters
276283 bool _read_otp_onfi ();
277284
285+ int _read_oob (void *buffer, bd_addr_t addr, bd_size_t size);
286+
287+ int _program_oob (const void *buffer, bd_addr_t addr, bd_size_t size);
288+
278289 // Quad Enable in Security Register
279290 int _set_quad_enable ();
280291
@@ -284,8 +295,15 @@ class SPINANDBlockDevice : public mbed::BlockDevice {
284295 // Configure Write Enable in Status Register
285296 int _set_write_enable ();
286297
298+ int _set_conti_read_enable ();
299+
300+ int _set_conti_read_disable ();
301+
302+ int _conti_read_exit ();
303+
287304 // Wait on status register until write not-in-progress
288305 bool _is_mem_ready ();
306+
289307 void _bch_init (uint8_t ecc_bits);
290308 void _bch_free ();
291309 int _bch_calculate_ecc (unsigned char *buf, unsigned char *code);
@@ -335,6 +353,7 @@ class SPINANDBlockDevice : public mbed::BlockDevice {
335353 uint8_t *_ecc_calc;
336354 uint8_t *_ecc_code;
337355 uint8_t *_page_buf;
356+ uint8_t _continuous_read;
338357
339358 struct nand_bch_control {
340359 struct bch_control *bch;
0 commit comments