From 868700e72073ca04ab71e8d03f56e5df031d5a7b Mon Sep 17 00:00:00 2001 From: Ahmed BOUDJELIDA Date: Wed, 6 Dec 2023 15:28:16 +0100 Subject: [PATCH] jtag/drivers: give ANGIE a new PID after renumeration Give ANGIE a new PID after renumeration to be able to distinguish the two cases (programmed and not programmed) Change-Id: I30a91d8ed2e8e261221488b98d40a027ca41da52 Signed-off-by: Ahmed BOUDJELIDA Reviewed-on: https://review.openocd.org/c/openocd/+/7991 Tested-by: jenkins Reviewed-by: Antonio Borneo --- contrib/60-openocd.rules | 1 + contrib/firmware/angie/c/Makefile | 3 +++ contrib/firmware/angie/c/src/usb.c | 2 +- src/jtag/drivers/angie.c | 13 +++++++------ src/jtag/drivers/angie/angie_firmware.bin | Bin 10256 -> 10256 bytes 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/contrib/60-openocd.rules b/contrib/60-openocd.rules index b0e229d07f..fe8b00cb7a 100644 --- a/contrib/60-openocd.rules +++ b/contrib/60-openocd.rules @@ -225,6 +225,7 @@ ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="660", GROUP="plugdev", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess" # ANGIE USB-JTAG Adapter +ATTRS{idVendor}=="584e", ATTRS{idProduct}=="414f", MODE="660", GROUP="plugdev", TAG+="uaccess" ATTRS{idVendor}=="584e", ATTRS{idProduct}=="424e", MODE="660", GROUP="plugdev", TAG+="uaccess" ATTRS{idVendor}=="584e", ATTRS{idProduct}=="4255", MODE="660", GROUP="plugdev", TAG+="uaccess" ATTRS{idVendor}=="584e", ATTRS{idProduct}=="4355", MODE="660", GROUP="plugdev", TAG+="uaccess" diff --git a/contrib/firmware/angie/c/Makefile b/contrib/firmware/angie/c/Makefile index e919cd0114..1bcc1f7d1e 100644 --- a/contrib/firmware/angie/c/Makefile +++ b/contrib/firmware/angie/c/Makefile @@ -74,3 +74,6 @@ clean: bin: angie_firmware.ihx makebin -p angie_firmware.ihx angie_firmware.bin + +hex: angie_firmware.ihx + $(PACKIHX) angie_firmware.ihx > fx2.hex diff --git a/contrib/firmware/angie/c/src/usb.c b/contrib/firmware/angie/c/src/usb.c index de19641307..a1b72e2d6e 100644 --- a/contrib/firmware/angie/c/src/usb.c +++ b/contrib/firmware/angie/c/src/usb.c @@ -42,7 +42,7 @@ __code struct usb_device_descriptor device_descriptor = { .bdeviceprotocol = 0x01, .bmaxpacketsize0 = 64, .idvendor = 0x584e, - .idproduct = 0x424e, + .idproduct = 0x414f, .bcddevice = 0x0000, .imanufacturer = 1, .iproduct = 2, diff --git a/src/jtag/drivers/angie.c b/src/jtag/drivers/angie.c index 79195a9479..d4219d3c52 100644 --- a/src/jtag/drivers/angie.c +++ b/src/jtag/drivers/angie.c @@ -31,10 +31,11 @@ /** USB Product ID of ANGIE device in unconfigured state (no firmware loaded * yet) or with its firmware. */ -#define ANGIE_PID 0x424e -#define ANGIE_PID_2 0x4255 -#define ANGIE_PID_3 0x4355 -#define ANGIE_PID_4 0x4a55 +#define ANGIE_PID 0x414F +#define ANGIE_PID_2 0x424e +#define ANGIE_PID_3 0x4255 +#define ANGIE_PID_4 0x4355 +#define ANGIE_PID_5 0x4a55 /** Address of EZ-USB ANGIE CPU Control & Status register. This register can be * written by issuing a Control EP0 vendor request. */ @@ -255,8 +256,8 @@ static struct angie *angie_handle; static int angie_usb_open(struct angie *device) { struct libusb_device_handle *usb_device_handle; - const uint16_t vids[] = {ANGIE_VID, ANGIE_VID, ANGIE_VID, ANGIE_VID, 0}; - const uint16_t pids[] = {ANGIE_PID, ANGIE_PID_2, ANGIE_PID_3, ANGIE_PID_4, 0}; + const uint16_t vids[] = {ANGIE_VID, ANGIE_VID, ANGIE_VID, ANGIE_VID, ANGIE_VID, 0}; + const uint16_t pids[] = {ANGIE_PID, ANGIE_PID_2, ANGIE_PID_3, ANGIE_PID_4, ANGIE_PID_5, 0}; int ret = jtag_libusb_open(vids, pids, NULL, &usb_device_handle, NULL); diff --git a/src/jtag/drivers/angie/angie_firmware.bin b/src/jtag/drivers/angie/angie_firmware.bin index 23c4a8234a8500e8ccbd8c5a0661ffb1608d80b6..c793abb2f2dc4ee10d35531c51f02022898c3c8a 100644 GIT binary patch delta 15 WcmbObFd<;WG&LrF$IUa;Di{GVvIVIC delta 15 WcmbObFd<;WG&Lqar_D3eDi{GVu?49B -- 2.30.2