Merge pull request #1015 from MCUdude/hv-updi

Add support for high-voltage UPDI
This commit is contained in:
Stefan Rueger
2022-07-18 14:28:39 +01:00
committed by GitHub
10 changed files with 184 additions and 26 deletions

View File

@@ -82,6 +82,8 @@ static int pin_name;
%token K_DEFAULT_SPI
%token K_DESC
%token K_FAMILY_ID
%token K_HVUPDI_SUPPORT
%token K_HVUPDI_VARIANT
%token K_DEVICECODE
%token K_STK500_DEVCODE
%token K_AVR910_DEVCODE
@@ -483,7 +485,8 @@ prog_parm :
current_prog->baudrate = $3->value.number;
free_token($3);
}
}
} |
prog_parm_updi
;
prog_parm_type:
@@ -585,6 +588,38 @@ usb_pid_list:
}
;
prog_parm_updi:
K_HVUPDI_SUPPORT TKN_EQUAL hvupdi_support_list
;
hvupdi_support_list:
TKN_NUMBER {
{
/* overwrite list entries, so clear the existing entries */
ldestroy_cb(current_prog->hvupdi_support, free);
current_prog->hvupdi_support = lcreat(NULL, 0);
}
{
int *ip = malloc(sizeof(int));
if (ip) {
*ip = $1->value.number;
ladd(current_prog->hvupdi_support, ip);
}
free_token($1);
}
} |
hvupdi_support_list TKN_COMMA TKN_NUMBER {
{
int *ip = malloc(sizeof(int));
if (ip) {
*ip = $3->value.number;
ladd(current_prog->hvupdi_support, ip);
}
free_token($3);
}
}
;
pin_number_non_empty:
TKN_NUMBER { if(0 != assign_pin(pin_name, $1, 0)) YYABORT; }
|
@@ -685,6 +720,12 @@ part_parm :
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 {
{
yyerror("devicecode is deprecated, use "