46 #define MAXIMUM_TX_BYTES 500 47 #define MAXIMUM_RX_BYTES 500 48 #define MAXIMUM_BUFFER_SIZE 500 96 #if (PARTNO == RM331x)|| \ 98 #define CMD_MONETA_WRITE_ENABLE 0x06 99 #define CMD_MONETA_WRITE_DISABLE 0x04 100 #define CMD_MONETA_READ_SRB1 0x05 101 #define CMD_MONETA_WRITE_SRB1 0x01 102 #define CMD_MONETA_WRITE_SRB2 0x31 103 #define CMD_MONETA_READ_ARRAY 0x03 104 #define CMD_MONETA_WRITE_ARRAY 0x02 105 #define CMD_MONETA_READ_MID 0x9F 106 #define CMD_MONETA_UDPD_MODE1 0x79 126 #if (PARTNO == AT25XE512C) || \ 127 (PARTNO == AT25XE011) || \ 128 (PARTNO == AT25XE021A) || \ 129 (PARTNO == AT25XE041B) || \ 130 (PARTNO == AT25DN256) || \ 131 (PARTNO == AT25DN512C) || \ 132 (PARTNO == AT25DN011) || \ 133 (PARTNO == AT25DF256) || \ 134 (PARTNO == AT25DF512C) || \ 135 (PARTNO == AT25DF011) || \ 136 (PARTNO == AT25DF021A) || \ 137 (PARTNO == AT25DF041B) || \ 138 (PARTNO == AT25XV021A) || \ 139 (PARTNO == AT25XV041B) || \ 141 #define CMD_FUSION_RESET_CONFIRMATION 0xD0 142 #define CMD_FUSION_READ_ARRAY 0x0B 143 #define CMD_FUSION_READ_ARRAY_LF 0x03 144 #define CMD_FUSION_DUAL_OUTPUT_READ 0x3B 145 #define CMD_FUSION_PAGE_ERASE 0x81 146 #define CMD_FUSION_BLOCK_ERASE_4K 0x20 147 #define CMD_FUSION_BLOCK_ERASE_32K 0x52 148 #define CMD_FUSION_CHIP_ERASE 0x60 149 #define CMD_FUSION_PROGRAM_ARRAY 0x02 150 #define CMD_FUSION_WRITE_ENABLE 0x06 151 #define CMD_FUSION_WRITE_DISABLE 0x04 152 #define CMD_FUSION_PROGRAM_OTP_REGISTER 0x9B 153 #define CMD_FUSION_READ_OTP_REGISTER 0x77 154 #define CMD_FUSION_READ_SR 0x05 155 #define CMD_FUSION_WRITE_SRB1 0x01 156 #define CMD_FUSION_WRITE_SRB2 0x31 157 #define CMD_FUSION_RESET 0xF0 158 #define CMD_FUSION_READ_MID 0x9F 159 #define CMD_FUSION_DEEP_POWER_DOWN 0xB9 160 #define CMD_FUSION_RESUME_FROM_DPD 0xAB 161 #define CMD_FUSION_UDPD_MODE 0x79 163 #if (PARTNO == AT25XE021A) || \ 164 (PARTNO == AT25XE041B) || \ 165 (PARTNO == AT25DF021A) || \ 166 (PARTNO == AT25DF041B) || \ 167 (PARTNO == AT25XV021A) || \ 168 (PARTNO == AT25XV041B) || \ 170 #define CMD_FUSION_SQNTL_PROGRAM_MODE 0xAD 171 #define CMD_FUSION_DUAL_INPUT_PROGRAM 0xA2 172 #define CMD_FUSION_PROTECT_SECTOR 0x36 173 #define CMD_FUSION_UNPROTECT_SECTOR 0x39 174 #define CMD_FUSION_PROTECTION_REGISTER 0x3C 175 #define CMD_FUSION_ACTIVE_STATUS_INTERRUPT 0x25 194 #if (PARTNO == AT45DB021E) || \ 195 (PARTNO == AT45DB041E) || \ 196 (PARTNO == AT45DB081E) || \ 197 (PARTNO == AT45DB161E) || \ 198 (PARTNO == AT45DB321E) || \ 199 (PARTNO == AT45DB641E) || \ 200 (PARTNO == AT45DQ161) || \ 201 (PARTNO == AT45DQ321) || \ 202 (PARTNO == AT25PE20) || \ 203 (PARTNO == AT25PE40) || \ 204 (PARTNO == AT25PE80) || \ 205 (PARTNO == AT25PE16) || \ 207 #define CMD_DATAFLASH_MEM_PAGE_READ 0xD2 208 #define CMD_DATAFLASH_ARRAY_READ_LP 0x01 209 #define CMD_DATAFLASH_ARRAY_READ_LF 0x03 210 #define CMD_DATAFLASH_ARRAY_READ_HF0 0x0B 211 #define CMD_DATAFLASH_ARRAY_READ_HF1 0x1B 212 #define CMD_DATAFLASH_ARRAY_READ_LEG 0xE8 213 #define CMD_DATAFLASH_BUFFER1_READ_LF 0xD1 214 #define CMD_DATAFLASH_BUFFER1_READ_HF 0xD4 215 #define CMD_DATAFLASH_BUFFER1_WRITE 0x84 216 #define CMD_DATAFLASH_BUF1_2MEM_W_ERASE 0x83 217 #define CMD_DATAFLASH_BUF1_2MEM_WO_ERASE 0x88 218 #define CMD_DATAFLASH_MEM_PRGM_BUF1_W_ERASE 0x82 219 #define CMD_DATAFLASH_MEM_PRGM_BUF1_WO_ERASE 0x02 220 #define CMD_DATAFLASH_PAGE_ERASE 0x81 221 #define CMD_DATAFLASH_BLOCK_ERASE 0x50 222 #define CMD_DATAFLASH_SECTOR_ERASE 0x7C 223 #define CMD_DATAFLASH_CHIP_ERASE 0xC794809A 224 #define CMD_DATAFLASH_RD_MOD_WR_THRU_BUF1 0x58 225 #define CMD_DATAFLASH_ENABLE_SECT_PROTECTION 0x3D2A7FA9 226 #define CMD_DATAFLASH_DISABLE_SECT_PROTECTION 0x3D2A7F9A 227 #define CMD_DATAFLASH_ERASE_SECT_PROT_REG 0x3D2A7FCF 228 #define CMD_DATAFLASH_PROGRAM_SECT_PROT_REG 0x3D2A7FFC 229 #define CMD_DATAFLASH_READ_SECT_PROT_REG 0x32 230 #define CMD_DATAFLASH_READ_SECURITY_REG 0x77 231 #define CMD_DATAFLASH_MEM_BUF1_TRANSFER 0x53 232 #define CMD_DATAFLASH_MEM_BUF1_COMPARE 0x60 233 #define CMD_DATAFLASH_AUTO_PAGE_REWRITE1 0x58 234 #define CMD_DATAFLASH_DEEP_POWER_DOWN 0xB9 235 #define CMD_DATAFLASH_RESUME_FROM_DPD 0xAB 236 #define CMD_DATAFLASH_UDPD_MODE 0x79 237 #define CMD_DATAFLASH_READ_SR 0xD7 238 #define CMD_DATAFLASH_READ_MID 0x9F 239 #define CMD_DATAFLASH_CONFIGURE_P2_PG_SIZE 0x3D2A80A6 240 #define CMD_DATAFLASH_CONFIGURE_STD_PG_SIZE 0x3D2A80A7 241 #define CMD_DATAFLASH_SOFTWARE_RESET 0xF0000000 242 #define CMD_DATAFLASH_BUF1_READ_LEG 0x54 243 #define CMD_DATAFLASH_MEM_PAGE_READ_LEG 0x52 244 #define CMD_DATAFLASH_CONTINUOUS_ARRAY_READ_LEG 0x68 245 #define CMD_DATAFLASH_SR_READ_LEG 0x57 247 #if (PARTNO == AT45DQ161) || \ 248 (PARTNO == AT45DQ321) || \ 250 #define CMD_DATAFLASH_DUAL_OUTPUT_READ_ARRAY 0x3B 251 #define CMD_DATAFLASH_QUAD_OUTPUT_READ_ARRAY 0x6B 252 #define CMD_DATAFLASH_DUAL_INPUT_BUFFER1_WRITE 0x24 253 #define CMD_DATAFLASH_DUAL_INPUT_BUFFER2_WRITE 0x27 254 #define CMD_DATAFLASH_QUAD_INPUT_BUFFER1_WRITE 0x44 255 #define CMD_DATAFLASH_QUAD_INPUT_BUFFER2_WRITE 0x47 256 #define CMD_DATAFLASH_READ_CONFIG_REGISTER 0x3F 257 #define CMD_DATAFLASH_QUAD_ENABLE 0x3D2A8166 258 #define CMD_DATAFLASH_QUAD_DISABLE 0x3D2A8167 260 #if (PARTNO == AT45DB021E) || \ 261 (PARTNO == AT45DB041E) || \ 262 (PARTNO == AT45DB081E) || \ 263 (PARTNO == AT45DB161E) || \ 264 (PARTNO == AT45DB321E) || \ 265 (PARTNO == AT45DB641E) || \ 266 (PARTNO == AT45DQ161) || \ 267 (PARTNO == AT45DQ321) || \ 269 #define CMD_DATAFLASH_PROGRAM_ERASE_SUSPEND 0xB0 270 #define CMD_DATAFLASH_PROGRAM_ERASE_RESUME 0xD0 271 #define CMD_DATAFLASH_SECTOR_LOCKDOWN 0x3D2A7F30 272 #define CMD_DATAFLASH_READ_SECT_LOCK_REG 0x35 273 #define CMD_DATAFLASH_FREEZE_SECTOR_LOCKDOWN 0x3455AA40 274 #define CMD_DATAFLASH_PROGRAM_SECURITY_REG 0x9B000000 276 #if (PARTNO == AT45DB021E) || \ 277 (PARTNO == AT45DB041E) || \ 278 (PARTNO == AT45DB081E) || \ 279 (PARTNO == AT45DB161E) || \ 280 (PARTNO == AT45DB321E) || \ 281 (PARTNO == AT45DB641E) || \ 282 (PARTNO == AT45DQ161) || \ 283 (PARTNO == AT45DQ321) || \ 284 (PARTNO == AT25PE40) || \ 285 (PARTNO == AT25PE80) || \ 286 (PARTNO == AT25PE16) || \ 288 #define CMD_DATAFLASH_BUFFER2_READ_LF 0xD3 289 #define CMD_DATAFLASH_BUFFER2_READ_HF 0xD6 290 #define CMD_DATAFLASH_BUFFER2_WRITE 0x87 291 #define CMD_DATAFLASH_BUF2_2MEM_W_ERASE 0x86 292 #define CMD_DATAFLASH_BUF2_2MEM_WO_ERASE 0x89 293 #define CMD_DATAFLASH_MEM_PRGM_BUF2_W_ERASE 0x85 294 #define CMD_DATAFLASH_RD_MOD_WR_THRU_BUF2 0x59 295 #define CMD_DATAFLASH_MEM_BUF2_TRANSFER 0x55 296 #define CMD_DATAFLASH_MEM_BUF2_COMPARE 0x61 297 #define CMD_DATAFLASH_AUTO_PAGE_REWRITE2 0x59 298 #define CMD_DATAFLASH_BUF2_READ_LEG 0x56 321 #if (PARTNO == AT25SF641) || \ 322 (PARTNO == AT25SF321) || \ 323 (PARTNO == AT25SF161) || \ 324 (PARTNO == AT25SF081) || \ 325 (PARTNO == AT25SF041) || \ 326 (PARTNO == AT25SL128A) || \ 327 (PARTNO == AT25SL641) || \ 328 (PARTNO == AT25SL321) || \ 329 (PARTNO == AT25DL081) || \ 330 (PARTNO == AT25DL161) || \ 331 (PARTNO == AT25DF081A) || \ 332 (PARTNO == AT25DF321A) || \ 333 (PARTNO == AT25DF641A) || \ 334 (PARTNO == AT25QL128A) || \ 335 (PARTNO == AT25QL641) || \ 336 (PARTNO == AT25QL321) || \ 337 (PARTNO == AT25QF641) || \ 339 #define CMD_STANDARDFLASH_WRITE_ENABLE 0x06 340 #define CMD_STANDARDFLASH_WRITE_DISABLE 0x04 341 #define CMD_STANDARDFLASH_READ_ARRAY_LF 0x03 342 #define CMD_STANDARDFLASH_READ_ARRAY_HF 0x0B 343 #define CMD_STANDARDFLASH_BYTE_PAGE_PROGRAM 0x02 344 #define CMD_STANDARDFLASH_BLOCK_ERASE_4K 0x20 345 #define CMD_STANDARDFLASH_BLOCK_ERASE_32K 0x52 346 #define CMD_STANDARDFLASH_BLOCK_ERASE_64K 0xD8 347 #define CMD_STANDARDFLASH_CHIP_ERASE1 0x60 348 #define CMD_STANDARDFLASH_CHIP_ERASE2 0xC7 349 #define CMD_STANDARDFLASH_DEEP_POWER_DOWN 0xB9 350 #define CMD_STANDARDFLASH_RESUME_FROM_DPD 0xAB 351 #define CMD_STANDARDFLASH_READ_ID 0x90 352 #define CMD_STANDARDFLASH_READ_MID 0x9F 354 #if (PARTNO == AT25SF321) || \ 355 (PARTNO == AT25SF161) || \ 356 (PARTNO == AT25SF081) || \ 357 (PARTNO == AT25SF041) || \ 359 #define CMD_STANDARDFLASH_WRITE_SR 0x01 361 #if (PARTNO == AT25SF641) || \ 362 (PARTNO == AT25SL128A) || \ 363 (PARTNO == AT25SL641) || \ 364 (PARTNO == AT25SL321) || \ 365 (PARTNO == AT25DL081) || \ 366 (PARTNO == AT25DL161) || \ 367 (PARTNO == AT25DF081A) || \ 368 (PARTNO == AT25DF321A) || \ 369 (PARTNO == AT25DF641A) || \ 370 (PARTNO == AT25QL128A) || \ 371 (PARTNO == AT25QL641) || \ 372 (PARTNO == AT25QL321) || \ 373 (PARTNO == AT25QF641) || \ 375 #define CMD_STANDARDFLASH_WRITE_SRB1 0x01 376 #define CMD_STANDARDFLASH_WRITE_SRB2 0x31 378 #if (PARTNO == AT25SF641) || \ 379 (PARTNO == AT25SF321) || \ 380 (PARTNO == AT25SF161) || \ 381 (PARTNO == AT25SF081) || \ 382 (PARTNO == AT25SF041) || \ 383 (PARTNO == AT25SL128A) || \ 384 (PARTNO == AT25SL641) || \ 385 (PARTNO == AT25SL321) || \ 386 (PARTNO == AT25QL128A) || \ 387 (PARTNO == AT25QL641) || \ 388 (PARTNO == AT25QL321) || \ 389 (PARTNO == AT25QF641) || \ 391 #define CMD_STANDARDFLASH_WE_FOR_VOLATILE_SR 0x50 392 #define CMD_STANDARDFLASH_WRITE_SR 0x01 393 #define CMD_STANDARDFLASH_READ_SRB1 0x05 394 #define CMD_STANDARDFLASH_READ_SRB2 0x35 395 #define CMD_STANDARDFLASH_DUAL_OUTPUT_READ 0x3B 396 #define CMD_STANDARDFLASH_DUAL_IO_READ 0xBB 397 #define CMD_STANDARDFLASH_QUAD_OUTPUT_READ 0x6B 398 #define CMD_STANDARDFLASH_QUAD_IO_READ 0xEB 399 #define CMD_STANDARDFLASH_CONT_READ_MODE_RST_DUAL 0xFFFF 400 #define CMD_STANDARDFLASH_CONT_READ_MODE_RST_QUAD 0xFF 401 #define CMD_STANDARDFLASH_ERASE_SECURTIY_REG_PAGE 0x44 402 #define CMD_STANDARDFLASH_PROGRAM_SECURITY_REG_PAGE 0x42 403 #define CMD_STANDARDFLASH_READ_SECURITY_REG_PAGE 0x48 404 #define CMD_STANDARDFLASH_RESUME_FROM_DPD_READ_ID 0xAB 405 #define CMD_STANDARDFLASH_QUAD_PAGE_PROGRAM 0x33 407 #if (PARTNO == AT25SF641) || \ 408 (PARTNO == AT25SF321) || \ 409 (PARTNO == AT25SF161) || \ 410 (PARTNO == AT25SL128A) || \ 411 (PARTNO == AT25SL641) || \ 412 (PARTNO == AT25SL321) || \ 413 (PARTNO == AT25QL128A) || \ 414 (PARTNO == AT25QL641) || \ 415 (PARTNO == AT25QL321) || \ 416 (PARTNO == AT25QF641) || \ 418 #define CMD_STANDARDFLASH_ERASE_PROGRAM_SUSPEND 0x75 419 #define CMD_STANDARDFLASH_ERASE_PROGRAM_RESUME 0x7A 421 #if (PARTNO == AT25SF641) || \ 422 (PARTNO == AT25SL128A) || \ 423 (PARTNO == AT25SL641) || \ 424 (PARTNO == AT25SL321) || \ 425 (PARTNO == AT25QL128A) || \ 426 (PARTNO == AT25QL641) || \ 427 (PARTNO == AT25QL321) || \ 428 (PARTNO == AT25QF641) || \ 430 #define CMD_STANDARDFLASH_ENABLE_QPI 0x38 431 #define CMD_STANDARDFLASH_DISABLE_QPI 0xFF 432 #define CMD_STANDARDFLASH_ENABLE_RESET 0x66 433 #define CMD_STANDARDFLASH_RESET 0x99 434 #define CMD_STANDARDFLASH_ENTER_SECURED_OTP 0xB1 435 #define CMD_STANDARDFLASH_EXIT_SECURED_OTP 0xC1 437 #if (PARTNO == AT25DL081) || \ 438 (PARTNO == AT25DL161) || \ 439 (PARTNO == AT25DF081A) || \ 440 (PARTNO == AT25DF321A) || \ 441 (PARTNO == AT25DF641A) || \ 443 #define CMD_STANDARDFLASH_READ_SR 0x05 444 #define CMD_STANDARDFLASH_DUAL_BYTE_PAGE_PROGRAM 0xA2 445 #define CMD_STANDARDFLASH_PROGRAM_ERASE_SUSPEND 0xB0 446 #define CMD_STANDARDFLASH_PROGRAM_ERASE_RESUME 0xD0 447 #define CMD_STANDARDFLASH_PROTECT_SECTOR 0x36 448 #define CMD_STANDARDFLASH_UNPROTECT_SECTOR 0x39 449 #define CMD_STANDARDFLASH_READ_SECT_PROT_REG 0x3C 450 #define CMD_STANDARDFLASH_FREEZE_LOCKDOWN_STATE 0x34 451 #define CMD_STANDARDFLASH_READ_LOCKDOWN_REG 0x35 452 #define CMD_STANDARDFLASH_PROGRAM_OTP_REG 0x9B 456 #error Invalid PARTNO. 458 #define MONETA_DEVICE 460 #define FUSION_DEVICE 462 #define DATAFLASH_DEVICE 464 #define STANDARDFLASH_DEVICE 466 #error Part number not defined. Project declarations exist here.