The other type for -p at90usb82 would be for DFU programming mode via USB cable?
No, the USB access to the Atmega8/16u2 through FLIP does not use AVRDUDE, so the part (-p at90usb82) used is actually ATMEGA8U2 or ATMEGA16U2 in the FLIP software. If you are to program the DFU through the header with a USBtiny, then AVRDUDE is used with the Arduino IDE. I am using the README.TXT included with the Arduino IDE for the Atmega8u2:
\arduino-1.0.1\hardware\arduino\firmwares\readme.txt
rduino Uno and Mega 2560 Firmwares for the ATmega8U2
This directory contains the firmwares used on the ATmega8U2 on the Arduino
Uno and Arduino Mega 2560. The arduino-usbdfu directory contains the DFU
bootloader on the 8U2; the arduino-usbserial directory contains the actual
usb to serial firmware. Both should be compiled against LUFA 100807. The
two .hex files in this directory combine the dfu and serial firmwares into
a single file to burn onto the 8U2.
To burn (Uno):
avrdude -p at90usb82 -F -P usb -c avrispmkii -U flash:w:UNO-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
To burn (Mega 2560):
avrdude -p at90usb82 -F -P usb -c avrispmkii -U flash:w:MEGA-dfu_and_usbserial_combined.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
Note on USB Vendor IDs (VID) and Product IDs (PID): The arduino-usbdfu
project uses Atmel's VID and MCU-specific PIDs to maintain compatibility
with their FLIP software. The source code to the arduino-usbserial
project includes Atmel's VID and a PID donated by them to LUFA. This
PID is used in LUFA's USBtoSerial project, which forms the basis for
arduino-usbserial. According to the LUFA documentation, this VID/PID
combination is:
"For use in testing of LUFA powered devices during development only,
by non-commercial entities. All devices must accept collisions on this
VID/PID range (from other in-development LUFA devices) to be resolved
by using a unique release number in the Device Descriptor. No devices
using this VID/PID combination may be released to the general public."
The production version of the arduino-usbserial firmware uses the
Arduino VID. This is only for use with official Arduino hardware and
should not be used on other products.
While I have not tested the "actual" part of -p m16u2 or -p m8u2 the -p at90usb82 works well as documented. I also tested -p at90usb162 with the same success. I am not sure if -p ATmega8U2 or -p ATmega16U2 will respond with much success since they are only descriptors:
avrdude.conf
#------------------------------------------------------------
ATmega16U2
#------------------------------------------------------------
Changes against ATmega32U2 (beside IDs)
memory "flash"
size = 16384;
num_pages = 128;
memory "eeprom"
size = 512;
num_pages = 128;
part
id = "m16u2";
desc = "ATmega16U2";
has_jtag = no;
has_debugwire = yes;
signature = 0x1e 0x94 0x89;
chip_erase_delay = 9000;
reset = io;
and
#------------------------------------------------------------
ATmega8U2
#------------------------------------------------------------
Changes against ATmega16U2 (beside IDs)
memory "flash"
size = 8192;
page_size = 64;
blocksize = 64;
part
id = "m8u2";
desc = "ATmega8U2";
has_jtag = no;
has_debugwire = yes;
signature = 0x1e 0x93 0x89;
chip_erase_delay = 9000;
reset = io;