libDaisy
Hardware Library for Daisy
Toggle main menu visibility
Introduction
Related Pages
Additional Resources
Electrosmith Website
Daisy Seed Product Page
Daisy Web Programmer
Daisy Seed Datasheet
DaisySP DSP Library Documentation
Daisy Forum
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
a
b
c
d
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
w
Related Symbols
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
u
w
Functions
Variables
Macros
_
a
b
c
d
e
f
i
l
m
n
o
p
q
r
s
t
u
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
flash_IS25LP064A.h
Go to the documentation of this file.
1
#ifndef IS25LP064A_H
2
#define IS25LP064A_H
3
#ifdef __cplusplus
4
extern
"C"
5
{
6
#endif
7
8
9
#define IS25LP064A_FLASH_SIZE \
10
0x800000
9
#define IS25LP064A_FLASH_SIZE \
…
11
#define IS25LP064A_BLOCK_SIZE 0x10000
12
#define IS25LP064A_SECTOR_SIZE 0x1000
13
#define IS25LP064A_PAGE_SIZE 0x100
15
#define IS25LP064A_DUMMY_CYCLES_READ_QUAD 8
16
#define IS25LP064A_DUMMY_CYCLES_READ 8
17
#define IS25LP064A_DUMMY_CYCLES_READ_DTR 6
18
#define IS25LP064A_DUMMY_CYCLES_READ_QUAD_DTR 6
21
#define IS25LP064A_DIE_ERASE_MAX_TIME 460000
22
#define IS25LP064A_BLOCK_ERASE_MAX_TIME 1000
23
#define IS25LP064A_SECTOR_ERASE_MAX_TIME 400
34
#define ENTER_DEEP_POWER_DOWN 0XB9
35
#define EXIT_DEEP_POWER_DOWN 0XB9
38
#define RESET_ENABLE_CMD 0x66
39
#define RESET_MEMORY_CMD 0x99
42
#define READ_ID_CMD 0xAB
43
#define READ_ID_CMD2 0x9F
44
#define MULTIPLE_IO_READ_ID_CMD 0xAF
45
#define READ_SERIAL_FLASH_DISCO_PARAM_CMD 0x5A
46
#define READ_MANUFACT_AND_ID 0x90
47
#define READ_UNIQUE_ID 0x4B
49
#define NO_OP 0x00
51
#define SECTOR_UNLOCK 0x26
52
#define SECTOR_LOCK 0x24
55
#define INFO_ROW_ERASE_CMD 0x64
56
#define INFO_ROW_PROGRAM_CMD 0x62
57
#define INFO_ROW_READ_CMD 0x68
60
#define READ_CMD 0x03
61
62
#define FAST_READ_CMD 0x0B
63
#define FAST_READ_DTR_CMD 0x0D
65
#define DUAL_OUT_FAST_READ_CMD 0x3B
67
#define DUAL_INOUT_FAST_READ_CMD 0xBB
68
#define DUAL_INOUT_FAST_READ_DTR_CMD 0xBD
70
#define QUAD_OUT_FAST_READ_CMD 0x6B
72
#define QUAD_INOUT_FAST_READ_CMD 0xEB
73
#define QUAD_INOUT_FAST_READ_DTR_CMD 0xED
76
#define WRITE_ENABLE_CMD 0x06
77
#define WRITE_DISABLE_CMD 0x04
80
#define READ_STATUS_REG_CMD 0x05
81
#define WRITE_STATUS_REG_CMD 0x01
83
#define READ_FUNCTION_REGISTER 0X48
84
#define WRITE_FUNCTION_REGISTER 0x42
86
#define WRITE_READ_PARAM_REG_CMD 0xC0
89
#define PAGE_PROG_CMD 0x02
90
91
#define QUAD_IN_PAGE_PROG_CMD 0x32
92
#define EXT_QUAD_IN_PAGE_PROG_CMD 0x38
95
#define SECTOR_ERASE_CMD 0xd7
//already defined in 80
96
#define SECTOR_ERASE_QPI_CMD 0x20
98
#define BLOCK_ERASE_CMD 0xD8
99
#define BLOCK_ERASE_32K_CMD 0x52
101
#define CHIP_ERASE_CMD 0xC7
102
#define EXT_CHIP_ERASE_CMD 0x60
104
#define PROG_ERASE_RESUME_CMD 0x7A
105
#define EXT_PROG_ERASE_RESUME_CMD 0x30
107
#define PROG_ERASE_SUSPEND_CMD 0x75
108
#define EXT_PROG_ERASE_SUSPEND_CMD 0xB0
111
#define ENTER_QUAD_CMD 0x35
112
#define EXIT_QUAD_CMD 0xF5
117
/* Status Register */
118
#define IS25LP064A_SR_WIP ((uint8_t)0x01)
119
#define IS25LP064A_SR_WREN ((uint8_t)0x02)
120
//#define IS25LP064A_SR_BLOCKPR ((uint8_t)0x5C) /*!< Block protected against program and erase operations */
121
//#define IS25LP064A_SR_PRBOTTOM ((uint8_t)0x20) /*!< Protected memory area defined by BLOCKPR starts from top or bottom */
122
#define IS25LP064A_SR_SRWREN \
123
((uint8_t)0x80)
122
#define IS25LP064A_SR_SRWREN \
…
124
#define IS25LP064A_SR_QE ((uint8_t)0x40)
126
/* Non volatile Configuration Register */
127
#define IS25LP064A_NVCR_NBADDR \
128
((uint16_t)0x0001)
127
#define IS25LP064A_NVCR_NBADDR \
…
129
#define IS25LP064A_NVCR_SEGMENT \
130
((uint16_t)0x0002)
129
#define IS25LP064A_NVCR_SEGMENT \
…
131
#define IS25LP064A_NVCR_DUAL ((uint16_t)0x0004)
132
#define IS25LP064A_NVCR_QUAB ((uint16_t)0x0008)
133
#define IS25LP064A_NVCR_RH ((uint16_t)0x0010)
134
#define IS25LP064A_NVCR_DTRP \
135
((uint16_t)0x0020)
134
#define IS25LP064A_NVCR_DTRP \
…
136
#define IS25LP064A_NVCR_ODS ((uint16_t)0x01C0)
137
#define IS25LP064A_NVCR_XIP \
138
((uint16_t)0x0E00)
137
#define IS25LP064A_NVCR_XIP \
…
139
#define IS25LP064A_NVCR_NB_DUMMY \
140
((uint16_t)0xF000)
142
/* Volatile Configuration Register */
143
#define IS25LP064A_VCR_WRAP ((uint8_t)0x03)
144
#define IS25LP064A_VCR_XIP ((uint8_t)0x08)
145
#define IS25LP064A_VCR_NB_DUMMY \
146
((uint8_t)0xF0)
148
/* Extended Address Register */
149
#define IS25LP064A_EAR_HIGHEST_SE \
150
((uint8_t)0x03)
149
#define IS25LP064A_EAR_HIGHEST_SE \
…
151
#define IS25LP064A_EAR_THIRD_SEG \
152
((uint8_t)0x02)
151
#define IS25LP064A_EAR_THIRD_SEG \
…
153
#define IS25LP064A_EAR_SECOND_SEG \
154
((uint8_t)0x01)
153
#define IS25LP064A_EAR_SECOND_SEG \
…
155
#define IS25LP064A_EAR_LOWEST_SEG \
156
((uint8_t)0x00)
158
/* Enhanced Volatile Configuration Register */
159
#define IS25LP064A_EVCR_ODS ((uint8_t)0x07)
160
#define IS25LP064A_EVCR_RH ((uint8_t)0x10)
161
#define IS25LP064A_EVCR_DTRP \
162
((uint8_t)0x20)
161
#define IS25LP064A_EVCR_DTRP \
…
163
#define IS25LP064A_EVCR_DUAL ((uint8_t)0x40)
164
#define IS25LP064A_EVCR_QUAD ((uint8_t)0x80)
166
/* Flag Status Register */
167
#define IS25LP064A_FSR_NBADDR \
168
((uint8_t)0x01)
167
#define IS25LP064A_FSR_NBADDR \
…
169
#define IS25LP064A_FSR_PRERR ((uint8_t)0x02)
170
#define IS25LP064A_FSR_PGSUS ((uint8_t)0x04)
171
#define IS25LP064A_FSR_PGERR ((uint8_t)0x10)
172
#define IS25LP064A_FSR_ERERR ((uint8_t)0x20)
173
#define IS25LP064A_FSR_ERSUS ((uint8_t)0x40)
174
#define IS25LP064A_FSR_READY \
175
((uint8_t)0x80)
178
#ifdef __cplusplus
179
}
180
#endif
181
#endif
174
#define IS25LP064A_FSR_READY \
…
155
#define IS25LP064A_EAR_LOWEST_SEG \
…
145
#define IS25LP064A_VCR_NB_DUMMY \
…
139
#define IS25LP064A_NVCR_NB_DUMMY \
…
src
dev
flash_IS25LP064A.h