add "hvupdi_variant" property to avrdude.conf

This commit is contained in:
MCUdude 2022-06-26 00:11:51 +02:00
parent 8159c46013
commit ba98e48880
4 changed files with 35 additions and 18 deletions

View File

@ -17118,6 +17118,8 @@ part parent ".avr8x"
id = ".avr8x_tiny"; id = ".avr8x_tiny";
desc = "AVR8X tiny family common values"; desc = "AVR8X tiny family common values";
family_id = "tinyAVR"; family_id = "tinyAVR";
# Shared UPDI pin, HV on UPDI pin
hvupdi_variant = 0;
memory "userrow" memory "userrow"
size = 0x20; size = 0x20;
@ -17139,6 +17141,8 @@ part parent ".avr8x"
id = ".avr8x_mega"; id = ".avr8x_mega";
desc = "AVR8X mega family common values"; desc = "AVR8X mega family common values";
family_id = "megaAVR"; family_id = "megaAVR";
# Dedicated UPDI pin, no HV
hvupdi_variant = 1;
memory "userrow" memory "userrow"
size = 0x40; size = 0x40;
@ -18245,6 +18249,8 @@ part
has_updi = yes; has_updi = yes;
nvm_base = 0x1000; nvm_base = 0x1000;
ocd_base = 0x0F80; ocd_base = 0x0F80;
# Dedicated UPDI pin, no HV
hvupdi_variant = 1;
memory "signature" memory "signature"
size = 3; size = 3;
@ -19213,6 +19219,8 @@ part parent ".avrdx"
part parent ".avrdx" part parent ".avrdx"
id = ".avrex"; id = ".avrex";
desc = "AVR-Ex family common values"; desc = "AVR-Ex family common values";
# Shared UPDI pin, HV on _RESET
hvupdi_variant = 2;
memory "userrow" memory "userrow"
size = 0x40; size = 0x40;

View File

@ -81,6 +81,7 @@ static int pin_name;
%token K_DEFAULT_SERIAL %token K_DEFAULT_SERIAL
%token K_DESC %token K_DESC
%token K_FAMILY_ID %token K_FAMILY_ID
%token K_HVUPDI_VARIANT
%token K_DEVICECODE %token K_DEVICECODE
%token K_STK500_DEVCODE %token K_STK500_DEVCODE
%token K_AVR910_DEVCODE %token K_AVR910_DEVCODE
@ -676,6 +677,12 @@ part_parm :
free_token($3); free_token($3);
} | } |
K_HVUPDI_VARIANT TKN_EQUAL TKN_NUMBER
{
current_part->hvupdi_variant = $3->value.number;
free_token($3);
} |
K_DEVICECODE TKN_EQUAL TKN_NUMBER { K_DEVICECODE TKN_EQUAL TKN_NUMBER {
{ {
yyerror("devicecode is deprecated, use " yyerror("devicecode is deprecated, use "

View File

@ -159,6 +159,7 @@ hventerstabdelay { yylval=NULL; return K_HVENTERSTABDELAY; }
hvleavestabdelay { yylval=NULL; return K_HVLEAVESTABDELAY; } hvleavestabdelay { yylval=NULL; return K_HVLEAVESTABDELAY; }
hvsp_controlstack { yylval=NULL; return K_HVSP_CONTROLSTACK; } hvsp_controlstack { yylval=NULL; return K_HVSP_CONTROLSTACK; }
hvspcmdexedelay { yylval=NULL; return K_HVSPCMDEXEDELAY; } hvspcmdexedelay { yylval=NULL; return K_HVSPCMDEXEDELAY; }
hvupdi_variant { yylval=NULL; return K_HVUPDI_VARIANT; }
id { yylval=NULL; return K_ID; } id { yylval=NULL; return K_ID; }
idr { yylval=NULL; return K_IDR; } idr { yylval=NULL; return K_IDR; }
io { yylval=new_token(K_IO); return K_IO; } io { yylval=new_token(K_IO); return K_IO; }

View File

@ -202,6 +202,7 @@ typedef struct avrpart {
char desc[AVR_DESCLEN]; /* long part name */ char desc[AVR_DESCLEN]; /* long part name */
char id[AVR_IDLEN]; /* short part name */ char id[AVR_IDLEN]; /* short part name */
char family_id[AVR_FAMILYIDLEN+1]; /* family id in the SIB (avr8x) */ char family_id[AVR_FAMILYIDLEN+1]; /* family id in the SIB (avr8x) */
int hvupdi_variant; /* 12V pulse on UPDI pin, no pin or RESET pin */
int stk500_devcode; /* stk500 device code */ int stk500_devcode; /* stk500 device code */
int avr910_devcode; /* avr910 device code */ int avr910_devcode; /* avr910 device code */
int chip_erase_delay; /* microseconds */ int chip_erase_delay; /* microseconds */