comparison loadtools/fldevs.c @ 994:ad3041e19884

fc-loadtool flash: implement PPB ops for Spansion PL-N
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 03 Dec 2023 06:16:30 +0000
parents c4c400c1b10c
children
comparison
equal deleted inserted replaced
993:84c9869a3659 994:ad3041e19884
11 11
12 extern int plj_ppb_program_one(); 12 extern int plj_ppb_program_one();
13 extern int plj_ppb_program_all(); 13 extern int plj_ppb_program_all();
14 extern int plj_ppb_erase_all_single(); 14 extern int plj_ppb_erase_all_single();
15 extern int plj_ppb_erase_all_dualbank(); 15 extern int plj_ppb_erase_all_dualbank();
16
17 extern int pln_ppb_program_one();
18 extern int pln_ppb_erase_all();
16 19
17 /* flash bank geometries */ 20 /* flash bank geometries */
18 21
19 static struct flash_geom geom_2M_topboot = { 22 static struct flash_geom geom_2M_topboot = {
20 .total_size = 0x200000, 23 .total_size = 0x200000,
554 {0x10000, 4, 0, 1, 0}, 557 {0x10000, 4, 0, 1, 0},
555 {0x40000, 7, 0, 0, 1}, 558 {0x40000, 7, 0, 0, 1},
556 {0x40000, 24, 0, 1, 1}}, 559 {0x40000, 24, 0, 1, 1}},
557 .have_status_word_3 = 1, 560 .have_status_word_3 = 1,
558 .have_pln_lock_reg = 1, 561 .have_pln_lock_reg = 1,
562 .ppb_program_one = pln_ppb_program_one,
563 .ppb_erase_all = pln_ppb_erase_all,
559 }; 564 };
560 565
561 static struct amd_lock_info PL129N_lock_info_1 = { 566 static struct amd_lock_info PL129N_lock_info_1 = {
562 .ngroups = 3, 567 .ngroups = 3,
563 .groups = { 568 .groups = {
564 {0x40000, 24, 0, 1, 1}, 569 {0x40000, 24, 0, 1, 1},
565 {0x40000, 7, 0, 1, 0}, 570 {0x40000, 7, 0, 1, 0},
566 {0x10000, 4, 0, 0, 1}}, 571 {0x10000, 4, 0, 0, 1}},
567 .have_status_word_3 = 1, 572 .have_status_word_3 = 1,
573 .ppb_program_one = pln_ppb_program_one,
568 }; 574 };
569 575
570 struct flash_device flashdev_PL129N = { 576 struct flash_device flashdev_PL129N = {
571 .name = "Spansion S29PL129N", 577 .name = "Spansion S29PL129N",
572 .cfi_table = spansion_PL129N_cfi, 578 .cfi_table = spansion_PL129N_cfi,