Files
avrdude/src/usbdevs.h

107 lines
4.4 KiB
C

/*
* avrdude - A Downloader/Uploader for AVR device programmers
* Copyright (C) 2006 Joerg Wunsch
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Defines for the USB interface
#ifndef usbdevs_h
#define usbdevs_h
#define USB_VENDOR_ATMEL 0x03EB
#define USB_VENDOR_MICROCHIP 0x04D8
#define USB_DEVICE_JTAGICEMKII 0x2103
#define USB_DEVICE_AVRISPMKII 0x2104
#define USB_DEVICE_STK600 0x2106
#define USB_DEVICE_AVRDRAGON 0x2107
#define USB_DEVICE_JTAGICE3 0x2110
#define USB_DEVICE_XPLAINEDPRO 0x2111
#define USB_DEVICE_JTAG3_EDBG 0x2140
#define USB_DEVICE_ATMEL_ICE 0x2141
#define USB_DEVICE_POWERDEBUGGER 0x2144
#define USB_DEVICE_XPLAINEDMINI 0x2145
#define USB_DEVICE_PKOBN 0x2175
#define USB_DEVICE_PICKIT4_AVR_MODE 0x2177
#define USB_DEVICE_PICKIT4_PIC_MODE 0x9012
#define USB_DEVICE_PICKIT4_PIC_MODE_BL 0x9017 // PICkit4 in bootloader mode
#define USB_DEVICE_PICKIT5 0x9036
#define USB_DEVICE_SNAP_AVR_MODE 0x2180
#define USB_DEVICE_SNAP_PIC_MODE 0x9018
#define USB_DEVICE_SNAP_PIC_MODE_BL 0x9019 // SNAP in bootloader mode
#define USB_DEVICE_PICKIT_BASIC 0x9054 // PICkit Basic (app, vendor)
#define USB_DEVICE_PICKIT_BASIC_CDC 0x9055 // PICkit Basic (app, vendor + CDC) (usually this)
#define USB_DEVICE_PICKIT_BASIC_CDC_VENDOR 0x9056 // PICkit Basic (app, vendor + CDC + vendor)
#define USB_DEVICE_PICKIT_BASIC_BL 0x9057 // PICkit Basic (bootloader)
#define USB_DEVICE_PICKIT_BASIC_CIMSIS 0x90AB // PICkit Basic (vendor)
#define USB_DEVICE_PICKIT_BASIC_CIMSIS_CDC 0x90AC // PICkit Basic (vendor + CDC) (usually this)
#define USB_DEVICE_PICKIT_BASIC_CIMSIS_DGI 0x90AD // PICkit Basic (vendor + CDC + DGI)
#define USB_DEVICE_PICKIT_BASIC_CIMSIS_MSD 0x90AE // PICkit Basic (vendor + CDC + DGI + MSD)
#define USB_VENDOR_FTDI 0x0403
#define USB_DEVICE_FT2232 0x6010
#define USB_DEVICE_FT245 0x6001
#define USBASP_SHARED_VID 0x16C0 // VOTI
#define USBASP_SHARED_PID 0x05DC // Obdev's free shared PID
#define USBASP_OLD_VID 0x03EB // ATMEL
#define USBASP_OLD_PID 0xC7B4 // (unoffical) USBasp
#define USBASP_NIBOBEE_VID 0x16C0 // VOTI
#define USBASP_NIBOBEE_PID 0x092F // NIBObee PID
/*
* These are specifically assigned to USBtiny, if you need your own VID and
* PIDs you can get them for cheap from www.mecanique.co.uk so please don't
* reuse these. Thanks!
*/
#define USBTINY_VENDOR_DEFAULT 0x1781
#define USBTINY_PRODUCT_DEFAULT 0x0C9F
// JTAGICEmkII, AVRISPmkII
#define USBDEV_BULK_EP_WRITE_MKII 0x02
#define USBDEV_BULK_EP_READ_MKII 0x82
#define USBDEV_MAX_XFER_MKII 64
// STK600
#define USBDEV_BULK_EP_WRITE_STK600 0x02
#define USBDEV_BULK_EP_READ_STK600 0x83
// JTAGICE3
#define USBDEV_BULK_EP_WRITE_3 0x01
#define USBDEV_BULK_EP_READ_3 0x82
#define USBDEV_EVT_EP_READ_3 0x83
/*
* The mk3 tools (type jtagice3) have a maxPayloadSize of 912. When accessing
* paged memory the access should be limited to pageSize. When accessing memory
* without pageSize the payload should be limited to 256.
*/
#define USBDEV_MAX_XFER_3 912
#define USBDEV_MAX_XFER_3_UNPAGED 256
/*
* When operating on the JTAGICE3, usbdev_recv_frame() returns an indication in
* the upper bits of the return value whether the message has been received
* from the event endpoint rather than the normal conversation endpoint.
*/
#define USB_RECV_LENGTH_MASK 0x0fff // Up to 4 KiB
#define USB_RECV_FLAG_EVENT 0x1000
#endif