@@ -3058,40 +3058,124 @@ programmer # pickit4_tpi
30583058# Microchip PICkit 5. For details, see
30593059# https://www.microchip.com/en-us/development-tool/PG164150
30603060#
3061- # Currently -c pickit5 only supports UPDI programming
3061+ # The PICkit 5 supports the following programming modes
3062+ # using different programmer names:
30623063#
3063- # PIN UPDI
3064- # > 1 !RST(*)
3065- # 2 VCC
3066- # 3 GND
3067- # 4 UPDI(*)
3068- # 5
3069- # 6
3070- # 7
3071- # 8
3064+ # Interface: Programmer name:
3065+ # JTAG pickit5, pickit5_jtag
3066+ # PDI pickit5_pdi
3067+ # UPDI pickit5_updi
3068+ # debugWIRE pickit5_dw (can auto-switch to ISP to write fuses)
3069+ # ISP pickit5_isp
3070+ # TPI pickit5_tpi
3071+ #
3072+ # PIN JTAG PDI UPDI ISP/dW TPI UART(°)
3073+ # > 1 RST(*)
3074+ # 2 VCC VCC VCC VCC VCC VCC
3075+ # 3 GND GND GND GND GND GND
3076+ # 4 TDO DATA UPDI(*) SDI DATA
3077+ # 5 TCK SCK SCK
3078+ # 6 RST SCK RST/dW RST
3079+ # 7 TDI SDO TX (target)
3080+ # 8 TMS RX (target)
3081+ #
3082+ # Note: pickit5_dw does not support flash erase and must switch
3083+ # to ISP, thus requires all 6 Pins when modifing the flash
30723084#
30733085# (*): The PICkit5 can generate a High-Voltage (12V) Pulse on this pins
3074- # to restore the UPDI Pin functionality, if it was changed through fuses.
3075- # AVRDUDE automatically selects the correct pin, if the HV pulse is
3076- # enabled through the '-x hvupdi' flag.
3086+ # to restore the UPDI Pin functionality, if it was changed through fuses.
3087+ # AVRDUDE automatically selects the correct pin, if the HV pulse is
3088+ # enabled through the '-x hvupdi' flag.
3089+ # (°): The PICkit5 can also be used as a USB to UART
3090+ # interface for simple serial debugging.
30773091
30783092#------------------------------------------------------------
3079- # pickit5 /pickit5_updi
3093+ # pickit5 /pickit5_jtag
30803094#------------------------------------------------------------
30813095
3096+ programmer # pickit5_jtag
3097+ id = "pickit5", "pickit5_jtag";
3098+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in JTAG Mode";
3099+ type = "pickit5_jtag";
3100+ prog_modes = PM_JTAG | PM_XMEGAJTAG;
3101+ extra_features = HAS_VTARG_READ;
3102+ connection_type = usb;
3103+ usbvid = 0x04d8;
3104+ usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
3105+ ;
3106+
3107+
3108+ #------------------------------------------------------------
3109+ # pickit5_updi
3110+ #------------------------------------------------------------
30823111programmer # pickit5_updi
30833112 id = "pickit5_updi";
3084- desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC)";
3113+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in UPDI Mode ";
30853114 type = "pickit5_updi";
30863115 prog_modes = PM_UPDI;
30873116 extra_features = HAS_VTARG_READ;
30883117 connection_type = usb;
3089- baudrate = 200000; # UPDI default clock
30903118 usbvid = 0x04d8;
30913119 usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
30923120 hvupdi_support = 0, 1, 2;
30933121;
30943122
3123+ #------------------------------------------------------------
3124+ # pickit5_isp
3125+ #------------------------------------------------------------
3126+ programmer # pickit5_isp
3127+ id = "pickit5_isp";
3128+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in ISP Mode";
3129+ type = "pickit5_isp";
3130+ prog_modes = PM_ISP;
3131+ extra_features = HAS_VTARG_READ;
3132+ connection_type = usb;
3133+ usbvid = 0x04d8;
3134+ usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
3135+ ;
3136+
3137+ #------------------------------------------------------------
3138+ # pickit5_dw
3139+ #------------------------------------------------------------
3140+ programmer # pickit5_dw
3141+ id = "pickit5_dw";
3142+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in dW Mode";
3143+ type = "pickit5_dw";
3144+ prog_modes = PM_debugWIRE;
3145+ extra_features = HAS_VTARG_READ;
3146+ connection_type = usb;
3147+ usbvid = 0x04d8;
3148+ usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
3149+ ;
3150+
3151+ #------------------------------------------------------------
3152+ # pickit5_tpi
3153+ #------------------------------------------------------------
3154+ programmer # pickit5_tpi
3155+ id = "pickit5_tpi";
3156+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in TPI Mode";
3157+ type = "pickit5_tpi";
3158+ prog_modes = PM_TPI;
3159+ extra_features = HAS_VTARG_READ;
3160+ connection_type = usb;
3161+ usbvid = 0x04d8;
3162+ usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
3163+ ;
3164+
3165+ #------------------------------------------------------------
3166+ # pickit5_pdi
3167+ #------------------------------------------------------------
3168+ programmer # pickit5_tpi
3169+ id = "pickit5_pdi";
3170+ desc = "MPLAB(R) PICkit 5, PICkit 4 and SNAP (PIC) in PDI Mode";
3171+ type = "pickit5_pdi";
3172+ prog_modes = PM_PDI;
3173+ extra_features = HAS_VTARG_READ;
3174+ connection_type = usb;
3175+ usbvid = 0x04d8;
3176+ usbpid = 0x9036, 0x9012, 0x9018; # PK5, PK4 (pic mode), snap (pic mode)
3177+ ;
3178+
30953179#------------------------------------------------------------
30963180# snap /snap_jtag
30973181#------------------------------------------------------------
0 commit comments