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 <aboudjelida@nanoxplore.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7991
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Ahmed BOUDJELIDA 2023-12-06 15:28:16 +01:00 committed by Evgeniy Naydanov
parent 974e29aef6
commit f064c670f1
5 changed files with 12 additions and 7 deletions

View File

@ -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" ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1002", MODE="660", GROUP="plugdev", TAG+="uaccess"
# ANGIE USB-JTAG Adapter # 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}=="424e", MODE="660", GROUP="plugdev", TAG+="uaccess"
ATTRS{idVendor}=="584e", ATTRS{idProduct}=="4255", 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" ATTRS{idVendor}=="584e", ATTRS{idProduct}=="4355", MODE="660", GROUP="plugdev", TAG+="uaccess"

View File

@ -74,3 +74,6 @@ clean:
bin: angie_firmware.ihx bin: angie_firmware.ihx
makebin -p angie_firmware.ihx angie_firmware.bin makebin -p angie_firmware.ihx angie_firmware.bin
hex: angie_firmware.ihx
$(PACKIHX) angie_firmware.ihx > fx2.hex

View File

@ -42,7 +42,7 @@ __code struct usb_device_descriptor device_descriptor = {
.bdeviceprotocol = 0x01, .bdeviceprotocol = 0x01,
.bmaxpacketsize0 = 64, .bmaxpacketsize0 = 64,
.idvendor = 0x584e, .idvendor = 0x584e,
.idproduct = 0x424e, .idproduct = 0x414f,
.bcddevice = 0x0000, .bcddevice = 0x0000,
.imanufacturer = 1, .imanufacturer = 1,
.iproduct = 2, .iproduct = 2,

View File

@ -31,10 +31,11 @@
/** USB Product ID of ANGIE device in unconfigured state (no firmware loaded /** USB Product ID of ANGIE device in unconfigured state (no firmware loaded
* yet) or with its firmware. */ * yet) or with its firmware. */
#define ANGIE_PID 0x424e #define ANGIE_PID 0x414F
#define ANGIE_PID_2 0x4255 #define ANGIE_PID_2 0x424e
#define ANGIE_PID_3 0x4355 #define ANGIE_PID_3 0x4255
#define ANGIE_PID_4 0x4a55 #define ANGIE_PID_4 0x4355
#define ANGIE_PID_5 0x4a55
/** Address of EZ-USB ANGIE CPU Control & Status register. This register can be /** Address of EZ-USB ANGIE CPU Control & Status register. This register can be
* written by issuing a Control EP0 vendor request. */ * 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) static int angie_usb_open(struct angie *device)
{ {
struct libusb_device_handle *usb_device_handle; struct libusb_device_handle *usb_device_handle;
const uint16_t vids[] = {ANGIE_VID, ANGIE_VID, ANGIE_VID, ANGIE_VID, 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, 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); int ret = jtag_libusb_open(vids, pids, NULL, &usb_device_handle, NULL);