-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update usbpids in avrdude.conf #1919
Conversation
Hmm, I suspect that |
Here is a list of XMEGAs that are not mentioned in the DFU list but have an usbpid entry in How can we check whether their entries are correct? |
Some of the chips are documented to support DFU here.
7.1.2 Version 1.0.3 – 2012/03/01 7.1.3 Version 1.0.4 – 2012/08/01 |
Older FLIP 1 parts are documented here. megaAVR: AT90CAN128 - 8-bit AVR Microcontroller, 128KB Flash, 64-pin, CAN Controller AVR-based CAN MCUs: AT90CAN32-Automotive - 8-bit Automotive AVR Microcontroller, 32KB ISP Flash, CAN Controller |
Okay, this should be the correct source. The following is the USB driver inf file included in FLIP software.
|
https://www.microchip.com/en-us/development-tool/flip flip_linux_3-2-1.tar flip.3.2.1 % grep -RI USB_PID *
bin/PartDescriptionFiles/AT90USB1286.xml: <USB_PID VALUE="2FFB" />
bin/PartDescriptionFiles/part.dtd:<!ELEMENT Part (USB_PID?, Memory+, Gui?, Protocol+)>
bin/PartDescriptionFiles/part.dtd:<!ELEMENT USB_PID EMPTY>
bin/PartDescriptionFiles/part.dtd:<!ATTLIST USB_PID
bin/PartDescriptionFiles/AT90USB1287.xml: <USB_PID VALUE="2FFB" />
bin/PartDescriptionFiles/ATOCDTARGET.xml: <USB_PID VALUE="2FFF" />
bin/PartDescriptionFiles/AT32UC3A1512.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT32UC3A1128.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT32UC3B0256.xml: <USB_PID VALUE="2FF6" />
bin/PartDescriptionFiles/AT90USB162.xml: <USB_PID VALUE="2FFA" />
bin/PartDescriptionFiles/AT32UC3A0256.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT32UC3B1128.xml: <USB_PID VALUE="2FF6" />
bin/PartDescriptionFiles/AT90USB82.xml: <USB_PID VALUE="2FF7" />
bin/PartDescriptionFiles/AT89C51SND2.xml: <USB_PID VALUE="2FFF" />
bin/PartDescriptionFiles/AT89C51SND1.xml: <USB_PID VALUE="2FFF" />
bin/PartDescriptionFiles/AT89C5132.xml: <USB_PID VALUE="2FFF" />
bin/PartDescriptionFiles/AT32UC3A0128.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT32UC3B1256.xml: <USB_PID VALUE="2FF6" />
bin/PartDescriptionFiles/AT32UC3A0512.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT89C5131.xml: <USB_PID VALUE="2FFD" />
bin/PartDescriptionFiles/AT90USB646.xml: <USB_PID VALUE="2FF9"/>
bin/PartDescriptionFiles/AT32UC3B064.xml: <USB_PID VALUE="2FF6" />
bin/PartDescriptionFiles/AT90USB647.xml: <USB_PID VALUE="2FF9"/>
bin/PartDescriptionFiles/AT89C5130.xml: <USB_PID VALUE="2FFD" />
bin/PartDescriptionFiles/AT32UC3B164.xml: <USB_PID VALUE="2FF6" />
bin/PartDescriptionFiles/AT32UC3A1256.xml: <USB_PID VALUE="2FF8" />
bin/PartDescriptionFiles/AT32UC3B0128.xml: <USB_PID VALUE="2FF6" /> udev rule: "doc/usb\ access\ rules\ under\ linux.txt"
I'm sure I can find config files for other devices, but where is the official Xmega DFU application? Is it in ATMEL Studio? |
BTW, we (Travis and I) were the admin of libusb-win32 projects back in 2011 and we helped then Atmel to sort out some issues with the FLIP Winodws driver. And we got two demo boards from Atmel and even one USB VID/PID combination. |
OK Looking at the lists above I still don't find evidence for the following usbpids
There was one correction, though (pushing that now). Can someone verify above best by proving a source? |
Hmm? It looks like this model doesn't have any built-in USB peripherals? |
Correct. The ones that has USB has a u suffix, e.g ATxmega128A3U |
In absence of any more info, I suggest to merge this PR. We can always revisit when there is more info about part pids. |
Approach from header file. Of course, you can also check the presence of USB peripheral functions with ATDF. avr-gcc/7.3.0-avr8-gnu-toolchain/avr/include/avr % grep -I USB_ADDR_gm *
iox128a1u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox128a3u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox128a4u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox128b1.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox128b3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox128c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox16a4u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox16c4.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox192a3u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox192c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox256a3bu.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox256a3u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox256c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox32a4u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox32c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox32c4.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox384c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64a1u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64a3u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64a4u.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64b1.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64b3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */
iox64c3.h:#define USB_ADDR_gm 0x7F /* Device Address group mask. */ For Xmega devices, this applies to the A/B/C/AU families. There does not appear to be any silicon in the D/E families. Currently, there is no DFU_PID assignment for the AVR-DU family, so it will be mixed in as noise in this search method. |
Fixes #1915 as far as
avrdude.conf
is concerned. The list in https://github.com/dfu-programmer/dfu-programmer/blob/master/src/arguments.c (thanks @askn37) was used to reliably (and semi-automatically) update avrdude.conf.@askn37 Would you like to review?
avrdude -p '*/st' | grep usbpid
should show AVRDUDE's current understanding ofusbpid
assignments.