edi: Turn edi_chip_probe() into a bus probing function
Let our common bus-probing infrastructure handle the ID comparison.
This also makes the `flashchips' entry (KB9012) an actual chip entry
that carries its identification.
Change-Id: I9533ece2b1337281ea70cb2e3be7a74353a4a758
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/424
diff --git a/include/chipdrivers/edi.h b/include/chipdrivers/edi.h
index 48f24be..3a1d768 100644
--- a/include/chipdrivers/edi.h
+++ b/include/chipdrivers/edi.h
@@ -20,11 +20,14 @@
#include <stdint.h>
struct flashprog_flashctx;
+struct master_common;
+struct bus_probe;
+
+struct found_id *probe_edi(const struct bus_probe *, const struct master_common *);
int edi_chip_block_erase(struct flashprog_flashctx *, unsigned int page, unsigned int size);
int edi_chip_write(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
int edi_chip_read(struct flashprog_flashctx *, uint8_t *buf, unsigned int start, unsigned int len);
-int edi_probe_kb9012(struct flashprog_flashctx *);
int edi_prepare(struct flashprog_flashctx *, enum preparation_steps);
#endif /* !__CHIPDRIVERS_EDI_H__ */
diff --git a/include/chipdrivers/probing.h b/include/chipdrivers/probing.h
index 561d6ef..18eb347 100644
--- a/include/chipdrivers/probing.h
+++ b/include/chipdrivers/probing.h
@@ -49,6 +49,7 @@
struct id_info {
union {
uint32_t manufacture;
+ uint32_t hwversion;
uint32_t id1;
};
union {