aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-03-16 12:09:22 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-03-16 12:09:22 +0000
commit2b74b517ea48507a0ab3fee5628a363ab0dcd3fb (patch)
tree2a03f6fc344e42a03fe6b5c99972c9a46522af84 /Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
parent39d56aeffecdd50d1e413c8da6edbe8485d5ac29 (diff)
downloadlufa-2b74b517ea48507a0ab3fee5628a363ab0dcd3fb.tar.gz
lufa-2b74b517ea48507a0ab3fee5628a363ab0dcd3fb.tar.bz2
lufa-2b74b517ea48507a0ab3fee5628a363ab0dcd3fb.zip
Don't enable the pullup on the target /RESET line in the AVRISP project for PDI mode - clearing the XMEGA's reset control register twice is enough to release it from reset. Possible silicon bug, since the official Atmel programmers have the same issue.
Diffstat (limited to 'Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c')
-rw-r--r--Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
index 4ecf03335..3a74e1531 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
@@ -237,19 +237,18 @@ void XPROGTarget_DisableTargetPDI(void)
UCSR1B = 0;
UCSR1C = 0;
- /* Make Reset input with pullup to take target out of /RESET, tristate all other pins */
+ /* Tristate all pins */
DDRD &= ~((1 << 5) | (1 << 3));
PORTD &= ~((1 << 3) | (1 << 2));
- PORTD |= (1 << 5);
#else
/* Turn off software USART management timer */
TCCR1B = 0;
- /* Make Reset input with pullup to take target out of /RESET, tristate all other pins */
+ /* Tristate all pins */
BITBANG_PDIDATA_DDR &= ~BITBANG_PDIDATA_MASK;
BITBANG_PDICLOCK_DDR &= ~BITBANG_PDICLOCK_MASK;
BITBANG_PDICLOCK_PORT &= ~BITBANG_PDICLOCK_MASK;
- BITBANG_PDIDATA_PORT |= BITBANG_PDIDATA_MASK;
+ BITBANG_PDIDATA_PORT &= ~BITBANG_PDIDATA_MASK;
#endif
}