summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--flashrom.c5
-rw-r--r--pickit2_spi.c13
-rw-r--r--programmer.h1
3 files changed, 12 insertions, 7 deletions
diff --git a/flashrom.c b/flashrom.c
index 7bdfb73..d671003 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -382,9 +382,8 @@ const struct programmer_entry programmer_table[] = {
#if CONFIG_PICKIT2_SPI == 1
{
.name = "pickit2_spi",
- .type = OTHER,
- /* FIXME */
- .devs.note = "Microchip PICkit2\n",
+ .type = USB,
+ .devs.dev = devs_pickit2_spi,
.init = pickit2_spi_init,
.map_flash_region = fallback_map,
.unmap_flash_region = fallback_unmap,
diff --git a/pickit2_spi.c b/pickit2_spi.c
index e5f7bed..f1f60a2 100644
--- a/pickit2_spi.c
+++ b/pickit2_spi.c
@@ -55,6 +55,12 @@
#include "programmer.h"
#include "spi.h"
+const struct dev_entry devs_pickit2_spi[] = {
+ {0x04D8, 0x0033, OK, "Microchip", "PICkit 2"},
+
+ {}
+};
+
static usb_dev_handle *pickit2_handle;
/* Default USB transaction timeout in ms */
@@ -64,9 +70,6 @@ static usb_dev_handle *pickit2_handle;
#define ENDPOINT_OUT 0x01
#define ENDPOINT_IN 0x81
-#define PICKIT2_VID 0x04D8
-#define PICKIT2_PID 0x0033
-
#define CMD_GET_VERSION 0x76
#define CMD_SET_VDD 0xA0
#define CMD_SET_VPP 0xA1
@@ -448,7 +451,9 @@ int pickit2_spi_init(void)
usb_init();
(void)usb_find_busses();
(void)usb_find_devices();
- struct usb_device *dev = get_device_by_vid_pid(PICKIT2_VID, PICKIT2_PID, usedevice);
+ const uint16_t vid = devs_pickit2_spi[0].vendor_id;
+ const uint16_t pid = devs_pickit2_spi[0].device_id;
+ struct usb_device *dev = get_device_by_vid_pid(vid, pid, usedevice);
if (dev == NULL) {
msg_perr("Could not find a PICkit2 on USB!\n");
return 1;
diff --git a/programmer.h b/programmer.h
index 301f3ff..9a880d7 100644
--- a/programmer.h
+++ b/programmer.h
@@ -499,6 +499,7 @@ int mstarddc_spi_init(void);
/* pickit2_spi.c */
#if CONFIG_PICKIT2_SPI == 1
int pickit2_spi_init(void);
+extern const struct dev_entry devs_pickit2_spi[];
#endif
/* rayer_spi.c */
OpenPOWER on IntegriCloud