diff --git a/avrdude/linuxgpio.c b/avrdude/linuxgpio.c index e6452e2..77abf60 100644 --- a/avrdude/linuxgpio.c +++ b/avrdude/linuxgpio.c @@ -258,12 +258,12 @@ static int linuxgpio_open(PROGRAMMER *pgm, char *port) //mostry LED status, can't be set to GPIO0. It can be fixed when a better //solution exists. for (i=0; ipinno[i] != 0 || + pin = pgm->pinno[i] & PIN_MASK; + if ( pin != 0) || i == PIN_AVR_RESET || i == PIN_AVR_SCK || i == PIN_AVR_MOSI || i == PIN_AVR_MISO ) { - pin = pgm->pinno[i] & PIN_MASK; if ((r=linuxgpio_export(pin)) < 0) { fprintf(stderr, "Can't export GPIO %d, already exported/busy?: %s", pin, strerror(errno)); @@ -327,6 +327,7 @@ void linuxgpio_initpgm(PROGRAMMER *pgm) pgm->program_enable = bitbang_program_enable; pgm->chip_erase = bitbang_chip_erase; pgm->cmd = bitbang_cmd; + pgm->cmd_tpi = bitbang_cmd_tpi; pgm->open = linuxgpio_open; pgm->close = linuxgpio_close; pgm->setpin = linuxgpio_setpin;