diff loadtools/fldevs.c @ 979:c5133c3c11b1

fc-loadtool flash: implement PL-J PPB programming functions
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 02 Dec 2023 04:21:59 +0000
parents a400bb4a1620
children 0a4d19aab608
line wrap: on
line diff
--- a/loadtools/fldevs.c	Fri Dec 01 08:05:31 2023 +0000
+++ b/loadtools/fldevs.c	Sat Dec 02 04:21:59 2023 +0000
@@ -9,6 +9,12 @@
 extern struct flash_cmdset flash_cmdset_intel;
 extern struct flash_cmdset flash_cmdset_intel_w30;
 
+extern int plj_ppb_program_one();
+extern int plj_ppb_program_all_single();
+extern int plj_ppb_program_all_dualbank();
+extern int plj_ppb_erase_all_single();
+extern int plj_ppb_erase_all_dualbank();
+
 /* flash bank geometries */
 
 static struct flash_geom geom_2M_topboot = {
@@ -434,6 +440,9 @@
 		{0x2000, 8, 0, 0, 1}},
 	.have_status_word_3	= 1,
 	.have_mode_lock_bits	= 1,
+	.ppb_program_one	= plj_ppb_program_one,
+	.ppb_program_all	= plj_ppb_program_all_single,
+	.ppb_erase_all		= plj_ppb_erase_all_single,
 };
 
 struct flash_device flashdev_PL064J = {
@@ -484,6 +493,9 @@
 		{0x40000, 24, 1, 1, 1}},
 	.have_status_word_3	= 1,
 	.have_mode_lock_bits	= 1,
+	.ppb_program_one	= plj_ppb_program_one,
+	.ppb_program_all	= plj_ppb_program_all_dualbank,
+	.ppb_erase_all		= plj_ppb_erase_all_dualbank,
 };
 
 static struct amd_lock_info PL129J_lock_info_1 = {
@@ -494,6 +506,9 @@
 		{0x10000, 3, 0, 0, 0},
 		{0x2000, 8, 0, 0, 1}},
 	.have_status_word_3	= 1,
+	.ppb_program_one	= plj_ppb_program_one,
+	.ppb_program_all	= plj_ppb_program_all_dualbank,
+	.ppb_erase_all		= plj_ppb_erase_all_dualbank,
 };
 
 struct flash_device flashdev_PL129J = {
@@ -685,6 +700,9 @@
 	.have_status_word_3	= 1,
 	.have_status_word_7	= 1,
 	.have_mode_lock_bits	= 1,
+	.ppb_program_one	= plj_ppb_program_one,
+	.ppb_program_all	= plj_ppb_program_all_dualbank,
+	.ppb_erase_all		= plj_ppb_erase_all_dualbank,
 };
 
 static struct amd_lock_info K5L29_lock_info_1 = {
@@ -696,6 +714,9 @@
 		{0x2000, 8, 0, 0, 1}},
 	.have_status_word_3	= 1,
 	.have_status_word_7	= 1,
+	.ppb_program_one	= plj_ppb_program_one,
+	.ppb_program_all	= plj_ppb_program_all_dualbank,
+	.ppb_erase_all		= plj_ppb_erase_all_dualbank,
 };
 
 struct flash_device flashdev_K5L29xx_A = {