FreeCalypso > hg > freecalypso-tools
comparison loadtools/fldevs.c @ 983:0407d14fb854
PL-J flash PPB ops: rework for full verification of lock state
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 02 Dec 2023 08:22:00 +0000 |
parents | 0a4d19aab608 |
children | c4c400c1b10c |
comparison
equal
deleted
inserted
replaced
982:1c5b485f10ba | 983:0407d14fb854 |
---|---|
8 extern struct flash_cmdset flash_cmdset_amd; | 8 extern struct flash_cmdset flash_cmdset_amd; |
9 extern struct flash_cmdset flash_cmdset_intel; | 9 extern struct flash_cmdset flash_cmdset_intel; |
10 extern struct flash_cmdset flash_cmdset_intel_w30; | 10 extern struct flash_cmdset flash_cmdset_intel_w30; |
11 | 11 |
12 extern int plj_ppb_program_one(); | 12 extern int plj_ppb_program_one(); |
13 extern int plj_ppb_program_all_single(); | 13 extern int plj_ppb_program_all(); |
14 extern int plj_ppb_program_all_dualbank(); | |
15 extern int plj_ppb_erase_all_single(); | 14 extern int plj_ppb_erase_all_single(); |
16 extern int plj_ppb_erase_all_dualbank(); | 15 extern int plj_ppb_erase_all_dualbank(); |
17 | 16 |
18 /* flash bank geometries */ | 17 /* flash bank geometries */ |
19 | 18 |
439 {0x10000, 3, 0, 0, 0}, | 438 {0x10000, 3, 0, 0, 0}, |
440 {0x2000, 8, 0, 0, 1}}, | 439 {0x2000, 8, 0, 0, 1}}, |
441 .have_status_word_3 = 1, | 440 .have_status_word_3 = 1, |
442 .have_mode_lock_bits = 1, | 441 .have_mode_lock_bits = 1, |
443 .ppb_program_one = plj_ppb_program_one, | 442 .ppb_program_one = plj_ppb_program_one, |
444 .ppb_program_all = plj_ppb_program_all_single, | 443 .ppb_program_all = plj_ppb_program_all, |
445 .ppb_erase_all = plj_ppb_erase_all_single, | 444 .ppb_erase_all = plj_ppb_erase_all_single, |
446 }; | 445 }; |
447 | 446 |
448 struct flash_device flashdev_PL064J = { | 447 struct flash_device flashdev_PL064J = { |
449 .name = "Spansion S29PL064J", | 448 .name = "Spansion S29PL064J", |
492 {0x40000, 7, 1, 0, 1}, | 491 {0x40000, 7, 1, 0, 1}, |
493 {0x40000, 24, 1, 1, 1}}, | 492 {0x40000, 24, 1, 1, 1}}, |
494 .have_status_word_3 = 1, | 493 .have_status_word_3 = 1, |
495 .have_mode_lock_bits = 1, | 494 .have_mode_lock_bits = 1, |
496 .ppb_program_one = plj_ppb_program_one, | 495 .ppb_program_one = plj_ppb_program_one, |
497 .ppb_program_all = plj_ppb_program_all_dualbank, | 496 .ppb_program_all = plj_ppb_program_all, |
498 .ppb_erase_all = plj_ppb_erase_all_dualbank, | 497 .ppb_erase_all = plj_ppb_erase_all_dualbank, |
499 }; | 498 }; |
500 | 499 |
501 static struct amd_lock_info PL129J_lock_info_1 = { | 500 static struct amd_lock_info PL129J_lock_info_1 = { |
502 .ngroups = 4, | 501 .ngroups = 4, |
505 {0x40000, 7, 1, 1, 0}, | 504 {0x40000, 7, 1, 1, 0}, |
506 {0x10000, 3, 0, 0, 0}, | 505 {0x10000, 3, 0, 0, 0}, |
507 {0x2000, 8, 0, 0, 1}}, | 506 {0x2000, 8, 0, 0, 1}}, |
508 .have_status_word_3 = 1, | 507 .have_status_word_3 = 1, |
509 .ppb_program_one = plj_ppb_program_one, | 508 .ppb_program_one = plj_ppb_program_one, |
510 .ppb_program_all = plj_ppb_program_all_dualbank, | 509 .ppb_program_all = plj_ppb_program_all, |
511 .ppb_erase_all = plj_ppb_erase_all_dualbank, | 510 .ppb_erase_all = plj_ppb_erase_all_dualbank, |
512 }; | 511 }; |
513 | 512 |
514 struct flash_device flashdev_PL129J = { | 513 struct flash_device flashdev_PL129J = { |
515 .name = "Spansion S29PL129J", | 514 .name = "Spansion S29PL129J", |
699 {0x40000, 24, 1, 1, 1}}, | 698 {0x40000, 24, 1, 1, 1}}, |
700 .have_status_word_3 = 1, | 699 .have_status_word_3 = 1, |
701 .have_status_word_7 = 1, | 700 .have_status_word_7 = 1, |
702 .have_mode_lock_bits = 1, | 701 .have_mode_lock_bits = 1, |
703 .ppb_program_one = plj_ppb_program_one, | 702 .ppb_program_one = plj_ppb_program_one, |
704 .ppb_program_all = plj_ppb_program_all_dualbank, | 703 .ppb_program_all = plj_ppb_program_all, |
705 .ppb_erase_all = plj_ppb_erase_all_dualbank, | 704 .ppb_erase_all = plj_ppb_erase_all_dualbank, |
706 }; | 705 }; |
707 | 706 |
708 static struct amd_lock_info K5L29_lock_info_1 = { | 707 static struct amd_lock_info K5L29_lock_info_1 = { |
709 .ngroups = 4, | 708 .ngroups = 4, |
713 {0x10000, 3, 0, 0, 0}, | 712 {0x10000, 3, 0, 0, 0}, |
714 {0x2000, 8, 0, 0, 1}}, | 713 {0x2000, 8, 0, 0, 1}}, |
715 .have_status_word_3 = 1, | 714 .have_status_word_3 = 1, |
716 .have_status_word_7 = 1, | 715 .have_status_word_7 = 1, |
717 .ppb_program_one = plj_ppb_program_one, | 716 .ppb_program_one = plj_ppb_program_one, |
718 .ppb_program_all = plj_ppb_program_all_dualbank, | 717 .ppb_program_all = plj_ppb_program_all, |
719 .ppb_erase_all = plj_ppb_erase_all_dualbank, | 718 .ppb_erase_all = plj_ppb_erase_all_dualbank, |
720 }; | 719 }; |
721 | 720 |
722 struct flash_device flashdev_K5L29xx_A = { | 721 struct flash_device flashdev_K5L29xx_A = { |
723 .name = "Samsung K5L29xx_A", | 722 .name = "Samsung K5L29xx_A", |