diff options
-rw-r--r-- | flashrom.c | 5 | ||||
-rw-r--r-- | pickit2_spi.c | 13 | ||||
-rw-r--r-- | programmer.h | 1 |
3 files changed, 12 insertions, 7 deletions
@@ -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 */ |