diff --git a/ChangeLog b/ChangeLog index e55724f9..129c3079 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2021-11-14 Joerg Wunsch + + Submitted by David Mosberger-Tang: + patch #9320: fix TPI RESET in bitbang.c + * bitbang.c (bitbang_initialize): wait for 128 ms after deasserting + /RESET (per datasheet), and keep /RESET low during MOSI/MISO link check + 2021-11-12 Joerg Wunsch Submitted by Jon Thacker: diff --git a/NEWS b/NEWS index e6c91cd5..0628ff63 100644 --- a/NEWS +++ b/NEWS @@ -106,6 +106,7 @@ Current: patch #8957: Allow reading prodsig memory from stk500v2 on xmega devices patch #9110: Let reserved fuse bits to be read as *don't care* patch #9253: Fix for giving terminal_mode commands more than 20 arguments + patch #9320: fix TPI RESET in bitbang.c * Internals: - New avrdude.conf keyword "family_id", used to verify SIB attributes diff --git a/bitbang.c b/bitbang.c index 6c6c9912..fe06c425 100644 --- a/bitbang.c +++ b/bitbang.c @@ -542,7 +542,10 @@ int bitbang_initialize(PROGRAMMER * pgm, AVRPART * p) /* bring RESET high first */ pgm->setpin(pgm, PIN_AVR_RESET, 1); - usleep(1000); + usleep(128000); /* wait t_TOUT (32-128ms) */ + + /* RESET must be LOW in case the existing code is driving the TPI pins: */ + pgm->setpin(pgm, PIN_AVR_RESET, 0); avrdude_message(MSG_NOTICE2, "doing MOSI-MISO link check\n");