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_IS25LP080D.h
Go to the documentation of this file.
1
#ifndef IS25LP080D_H
2
#define IS25LP080D_H
3
#ifdef __cplusplus
4
extern
"C"
5
{
6
#endif
7
8
9
#define IS25LP080D_FLASH_SIZE \
10
0x100000
9
#define IS25LP080D_FLASH_SIZE \
…
11
#define IS25LP080D_BLOCK_SIZE 0x10000
12
#define IS25LP080D_SECTOR_SIZE 0x1000
13
#define IS25LP080D_PAGE_SIZE 0x100
15
#define IS25LP080D_DUMMY_CYCLES_READ_QUAD 8
16
#define IS25LP080D_DUMMY_CYCLES_READ 8
17
#define IS25LP080D_DUMMY_CYCLES_READ_DTR 6
18
#define IS25LP080D_DUMMY_CYCLES_READ_QUAD_DTR 6
21
#define IS25LP080D_DIE_ERASE_MAX_TIME 460000
22
#define IS25LP080D_BLOCK_ERASE_MAX_TIME 1000
23
#define IS25LP080D_SECTOR_ERASE_MAX_TIME 400
33
//register stuff is CRAZY
34
36
#define ENTER_DEEP_POWER_DOWN 0XB9
37
#define EXIT_DEEP_POWER_DOWN 0XB9
40
#define RESET_ENABLE_CMD 0x66
41
#define RESET_MEMORY_CMD 0x99
44
#define READ_ID_CMD 0xAB
45
#define READ_ID_CMD2 0x9F
46
#define MULTIPLE_IO_READ_ID_CMD 0xAF
47
#define READ_SERIAL_FLASH_DISCO_PARAM_CMD 0x5A
48
#define READ_MANUFACT_AND_ID 0x90
49
#define READ_UNIQUE_ID 0x4B
51
#define NO_OP 0x00
53
#define SECTOR_UNLOCK 0x26
54
#define SECTOR_LOCK 0x24
57
#define INFO_ROW_ERASE_CMD 0x64
58
#define INFO_ROW_PROGRAM_CMD 0x62
59
#define INFO_ROW_READ_CMD 0x68
62
#define PAGE_PROG_CMD 0x02
63
64
#define QUAD_IN_PAGE_PROG_CMD 0x32
65
#define EXT_QUAD_IN_PAGE_PROG_CMD 0x38
68
#define READ_CMD 0x03
69
70
#define FAST_READ_CMD 0x0B
71
#define FAST_READ_DTR_CMD 0x0D
73
#define DUAL_OUT_FAST_READ_CMD 0x3B
75
#define DUAL_INOUT_FAST_READ_CMD 0xBB
76
#define DUAL_INOUT_FAST_READ_DTR_CMD 0xBD
78
#define QUAD_OUT_FAST_READ_CMD 0x6B
80
#define QUAD_INOUT_FAST_READ_CMD 0xEB
81
#define QUAD_INOUT_FAST_READ_DTR_CMD 0xED
84
#define WRITE_ENABLE_CMD 0x06
85
#define WRITE_DISABLE_CMD 0x04
88
#define READ_STATUS_REG_CMD 0x05
89
#define WRITE_STATUS_REG_CMD 0x01
91
#define READ_FUNCTION_REGISTER 0X48
92
#define WRITE_FUNCTION_REGISTER 0x42
94
#define READ_READ_PARAM_REG_CMD 0x61
95
#define READ_EXT_READ_PARAM_CMD 0x81
96
#define CLEAR_EXT_READ_PARAM_CMD 0x82
98
#define WRITE_READ_PARAM_REG_CMD 0xC0
99
#define WRITE_NV_READ_PARAM_REG_CMD 0x65
100
#define EXT_WRITE_READ_PARAM_REG_CMD 0x63
102
#define WRITE_EXT_READ_PARAM_REG_CMD 0x83
103
#define WRITE_EXT_NV_READ_PARAM_REG_CMD 0x85
106
#define PAGE_PROG_CMD 0x02
107
108
#define QUAD_IN_FAST_PROG_CMD 0x32
109
#define EXT_QUAD_IN_FAST_PROG_CMD 0x38
112
#define SECTOR_ERASE_CMD 0xd7
113
#define SECTOR_ERASE_QPI_CMD 0x20
115
#define BLOCK_ERASE_CMD 0xD8
116
#define BLOCK_ERASE_32K_CMD 0x52
118
#define CHIP_ERASE_CMD 0xC7
119
#define EXT_CHIP_ERASE_CMD 0x60
121
#define PROG_ERASE_RESUME_CMD 0x7A
122
#define EXT_PROG_ERASE_RESUME_CMD 0x30
124
#define PROG_ERASE_SUSPEND_CMD 0x75
125
#define EXT_PROG_ERASE_SUSPEND_CMD 0xB0
128
#define ENTER_QUAD_CMD 0x35
129
#define EXIT_QUAD_CMD 0xF5
135
#define IS25LP080D_SR_WIP ((uint8_t)0x01)
136
#define IS25LP080D_SR_WREN ((uint8_t)0x02)
137
//#define IS25LP080D_SR_BLOCKPR ((uint8_t)0x5C) /*!< Block protected against program and erase operations */
138
//#define IS25LP080D_SR_PRBOTTOM ((uint8_t)0x20) /*!< Protected memory area defined by BLOCKPR starts from top or bottom */
139
#define IS25LP080D_SR_SRWREN \
140
((uint8_t)0x80)
139
#define IS25LP080D_SR_SRWREN \
…
141
#define IS25LP080D_SR_QE ((uint8_t)0x40)
143
/* Non volatile Configuration Register */
144
#define IS25LP080D_NVCR_NBADDR \
145
((uint16_t)0x0001)
144
#define IS25LP080D_NVCR_NBADDR \
…
146
#define IS25LP080D_NVCR_SEGMENT \
147
((uint16_t)0x0002)
146
#define IS25LP080D_NVCR_SEGMENT \
…
148
#define IS25LP080D_NVCR_DUAL ((uint16_t)0x0004)
149
#define IS25LP080D_NVCR_QUAB ((uint16_t)0x0008)
150
#define IS25LP080D_NVCR_RH ((uint16_t)0x0010)
151
#define IS25LP080D_NVCR_DTRP \
152
((uint16_t)0x0020)
151
#define IS25LP080D_NVCR_DTRP \
…
153
#define IS25LP080D_NVCR_ODS ((uint16_t)0x01C0)
154
#define IS25LP080D_NVCR_XIP \
155
((uint16_t)0x0E00)
154
#define IS25LP080D_NVCR_XIP \
…
156
#define IS25LP080D_NVCR_NB_DUMMY \
157
((uint16_t)0xF000)
159
/* Volatile Configuration Register */
160
#define IS25LP080D_VCR_WRAP ((uint8_t)0x03)
161
#define IS25LP080D_VCR_XIP ((uint8_t)0x08)
162
#define IS25LP080D_VCR_NB_DUMMY \
163
((uint8_t)0xF0)
165
/* Extended Address Register */
166
#define IS25LP080D_EAR_HIGHEST_SE \
167
((uint8_t)0x03)
166
#define IS25LP080D_EAR_HIGHEST_SE \
…
168
#define IS25LP080D_EAR_THIRD_SEG \
169
((uint8_t)0x02)
168
#define IS25LP080D_EAR_THIRD_SEG \
…
170
#define IS25LP080D_EAR_SECOND_SEG \
171
((uint8_t)0x01)
170
#define IS25LP080D_EAR_SECOND_SEG \
…
172
#define IS25LP080D_EAR_LOWEST_SEG \
173
((uint8_t)0x00)
175
/* Enhanced Volatile Configuration Register */
176
#define IS25LP080D_EVCR_ODS ((uint8_t)0x07)
177
#define IS25LP080D_EVCR_RH ((uint8_t)0x10)
178
#define IS25LP080D_EVCR_DTRP \
179
((uint8_t)0x20)
178
#define IS25LP080D_EVCR_DTRP \
…
180
#define IS25LP080D_EVCR_DUAL ((uint8_t)0x40)
181
#define IS25LP080D_EVCR_QUAD ((uint8_t)0x80)
183
/* Flag Status Register */
184
#define IS25LP080D_FSR_NBADDR \
185
((uint8_t)0x01)
184
#define IS25LP080D_FSR_NBADDR \
…
186
#define IS25LP080D_FSR_PRERR ((uint8_t)0x02)
187
#define IS25LP080D_FSR_PGSUS ((uint8_t)0x04)
188
#define IS25LP080D_FSR_PGERR ((uint8_t)0x10)
189
#define IS25LP080D_FSR_ERERR ((uint8_t)0x20)
190
#define IS25LP080D_FSR_ERSUS ((uint8_t)0x40)
191
#define IS25LP080D_FSR_READY \
192
((uint8_t)0x80)
195
#ifdef __cplusplus
196
}
197
#endif
198
#endif
191
#define IS25LP080D_FSR_READY \
…
172
#define IS25LP080D_EAR_LOWEST_SEG \
…
162
#define IS25LP080D_VCR_NB_DUMMY \
…
156
#define IS25LP080D_NVCR_NB_DUMMY \
…
src
dev
flash_IS25LP080D.h