libDaisy
Hardware Library for Daisy
Loading...
Searching...
No Matches
flash_IS25LP064A.h File Reference

Go to the source code of this file.

Macros

#define IS25LP064A_H
 
#define IS25LP064A_FLASH_SIZE    0x800000
 
#define IS25LP064A_BLOCK_SIZE   0x10000
 
#define IS25LP064A_SECTOR_SIZE   0x1000
 
#define IS25LP064A_PAGE_SIZE   0x100
 
#define IS25LP064A_DUMMY_CYCLES_READ_QUAD   8
 
#define IS25LP064A_DUMMY_CYCLES_READ   8
 
#define IS25LP064A_DUMMY_CYCLES_READ_DTR   6
 
#define IS25LP064A_DUMMY_CYCLES_READ_QUAD_DTR   6
 
#define IS25LP064A_DIE_ERASE_MAX_TIME   460000
 
#define IS25LP064A_BLOCK_ERASE_MAX_TIME   1000
 
#define IS25LP064A_SECTOR_ERASE_MAX_TIME   400
 
#define ENTER_DEEP_POWER_DOWN   0XB9
 
#define EXIT_DEEP_POWER_DOWN   0XB9
 
#define RESET_ENABLE_CMD   0x66
 
#define RESET_MEMORY_CMD   0x99
 
#define READ_ID_CMD   0xAB
 
#define READ_ID_CMD2   0x9F
 
#define MULTIPLE_IO_READ_ID_CMD   0xAF
 
#define READ_SERIAL_FLASH_DISCO_PARAM_CMD   0x5A
 
#define READ_MANUFACT_AND_ID   0x90
 
#define READ_UNIQUE_ID   0x4B
 
#define NO_OP   0x00
 
#define SECTOR_UNLOCK   0x26
 
#define SECTOR_LOCK   0x24
 
#define INFO_ROW_ERASE_CMD   0x64
 
#define INFO_ROW_PROGRAM_CMD   0x62
 
#define INFO_ROW_READ_CMD   0x68
 
#define READ_CMD   0x03
 
#define FAST_READ_CMD   0x0B
 
#define FAST_READ_DTR_CMD   0x0D
 
#define DUAL_OUT_FAST_READ_CMD   0x3B
 
#define DUAL_INOUT_FAST_READ_CMD   0xBB
 
#define DUAL_INOUT_FAST_READ_DTR_CMD   0xBD
 
#define QUAD_OUT_FAST_READ_CMD   0x6B
 
#define QUAD_INOUT_FAST_READ_CMD   0xEB
 
#define QUAD_INOUT_FAST_READ_DTR_CMD   0xED
 
#define WRITE_ENABLE_CMD   0x06
 
#define WRITE_DISABLE_CMD   0x04
 
#define READ_STATUS_REG_CMD   0x05
 
#define WRITE_STATUS_REG_CMD   0x01
 
#define READ_FUNCTION_REGISTER   0X48
 
#define WRITE_FUNCTION_REGISTER   0x42
 
#define WRITE_READ_PARAM_REG_CMD   0xC0
 
#define PAGE_PROG_CMD   0x02
 
#define QUAD_IN_PAGE_PROG_CMD   0x32
 
#define EXT_QUAD_IN_PAGE_PROG_CMD   0x38
 
#define SECTOR_ERASE_CMD   0xd7
 
#define SECTOR_ERASE_QPI_CMD   0x20
 
#define BLOCK_ERASE_CMD   0xD8
 
#define BLOCK_ERASE_32K_CMD   0x52
 
#define CHIP_ERASE_CMD   0xC7
 
#define EXT_CHIP_ERASE_CMD   0x60
 
#define PROG_ERASE_RESUME_CMD   0x7A
 
#define EXT_PROG_ERASE_RESUME_CMD   0x30
 
#define PROG_ERASE_SUSPEND_CMD   0x75
 
#define EXT_PROG_ERASE_SUSPEND_CMD   0xB0
 
#define ENTER_QUAD_CMD   0x35
 
#define EXIT_QUAD_CMD   0xF5
 
#define IS25LP064A_SR_WIP   ((uint8_t)0x01)
 IS25LP08D Registers

 
#define IS25LP064A_SR_WREN   ((uint8_t)0x02)
 
#define IS25LP064A_SR_SRWREN    ((uint8_t)0x80)
 
#define IS25LP064A_SR_QE   ((uint8_t)0x40)
 
#define IS25LP064A_NVCR_NBADDR    ((uint16_t)0x0001)
 
#define IS25LP064A_NVCR_SEGMENT    ((uint16_t)0x0002)
 
#define IS25LP064A_NVCR_DUAL   ((uint16_t)0x0004)
 
#define IS25LP064A_NVCR_QUAB   ((uint16_t)0x0008)
 
#define IS25LP064A_NVCR_RH   ((uint16_t)0x0010)
 
#define IS25LP064A_NVCR_DTRP    ((uint16_t)0x0020)
 
#define IS25LP064A_NVCR_ODS   ((uint16_t)0x01C0)
 
#define IS25LP064A_NVCR_XIP    ((uint16_t)0x0E00)
 
#define IS25LP064A_NVCR_NB_DUMMY    ((uint16_t)0xF000)
 
#define IS25LP064A_VCR_WRAP   ((uint8_t)0x03)
 
#define IS25LP064A_VCR_XIP   ((uint8_t)0x08)
 
#define IS25LP064A_VCR_NB_DUMMY    ((uint8_t)0xF0)
 
#define IS25LP064A_EAR_HIGHEST_SE    ((uint8_t)0x03)
 
#define IS25LP064A_EAR_THIRD_SEG    ((uint8_t)0x02)
 
#define IS25LP064A_EAR_SECOND_SEG    ((uint8_t)0x01)
 
#define IS25LP064A_EAR_LOWEST_SEG    ((uint8_t)0x00)
 
#define IS25LP064A_EVCR_ODS   ((uint8_t)0x07)
 
#define IS25LP064A_EVCR_RH   ((uint8_t)0x10)
 
#define IS25LP064A_EVCR_DTRP    ((uint8_t)0x20)
 
#define IS25LP064A_EVCR_DUAL   ((uint8_t)0x40)
 
#define IS25LP064A_EVCR_QUAD   ((uint8_t)0x80)
 
#define IS25LP064A_FSR_NBADDR    ((uint8_t)0x01)
 
#define IS25LP064A_FSR_PRERR   ((uint8_t)0x02)
 
#define IS25LP064A_FSR_PGSUS   ((uint8_t)0x04)
 
#define IS25LP064A_FSR_PGERR   ((uint8_t)0x10)
 
#define IS25LP064A_FSR_ERERR   ((uint8_t)0x20)
 
#define IS25LP064A_FSR_ERSUS   ((uint8_t)0x40)
 
#define IS25LP064A_FSR_READY    ((uint8_t)0x80)
 

Macro Definition Documentation

◆ IS25LP064A_BLOCK_ERASE_MAX_TIME

#define IS25LP064A_BLOCK_ERASE_MAX_TIME   1000

&

◆ IS25LP064A_BLOCK_SIZE

#define IS25LP064A_BLOCK_SIZE   0x10000

2 * 1024 sectors of 64KBytes

◆ IS25LP064A_DIE_ERASE_MAX_TIME

#define IS25LP064A_DIE_ERASE_MAX_TIME   460000

&

◆ IS25LP064A_DUMMY_CYCLES_READ

#define IS25LP064A_DUMMY_CYCLES_READ   8

&

◆ IS25LP064A_DUMMY_CYCLES_READ_DTR

#define IS25LP064A_DUMMY_CYCLES_READ_DTR   6

&

◆ IS25LP064A_DUMMY_CYCLES_READ_QUAD

#define IS25LP064A_DUMMY_CYCLES_READ_QUAD   8

&

◆ IS25LP064A_DUMMY_CYCLES_READ_QUAD_DTR

#define IS25LP064A_DUMMY_CYCLES_READ_QUAD_DTR   6

&

◆ IS25LP064A_FLASH_SIZE

#define IS25LP064A_FLASH_SIZE    0x800000

2 * 8 MBits => 1 * 1MBytes => 1MBytes

◆ IS25LP064A_H

#define IS25LP064A_H

&

◆ IS25LP064A_PAGE_SIZE

#define IS25LP064A_PAGE_SIZE   0x100

2 * 262144 pages of 256 bytes

◆ IS25LP064A_SECTOR_ERASE_MAX_TIME

#define IS25LP064A_SECTOR_ERASE_MAX_TIME   400

&

◆ IS25LP064A_SECTOR_SIZE

#define IS25LP064A_SECTOR_SIZE   0x1000

2 * 16384 subsectors of 4kBytes