From a636dd2212aa18ed07e60252fefd181fc04faace Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Wed, 24 Aug 2011 07:40:48 +0000 Subject: [PATCH] Add Darell's email address, so it's consistent with the other authors. Add the forgotten tpi.h file. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@978 81a1dc3b-b13d-400b-aceb-764788c761c2 --- avrdude/AUTHORS | 2 +- avrdude/Makefile.am | 1 + avrdude/avr.c | 2 +- avrdude/bitbang.c | 2 +- avrdude/bitbang.h | 2 +- avrdude/tpi.h | 72 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 avrdude/tpi.h diff --git a/avrdude/AUTHORS b/avrdude/AUTHORS index a6f1db07..ed8aef03 100644 --- a/avrdude/AUTHORS +++ b/avrdude/AUTHORS @@ -15,7 +15,7 @@ Contributors: Thomas Fischl David Hoerl Michal Ludvig - Darell Tan + Darell Tan For minor contributions, please see the ChangeLog files. diff --git a/avrdude/Makefile.am b/avrdude/Makefile.am index cd0388c7..efc48eb2 100644 --- a/avrdude/Makefile.am +++ b/avrdude/Makefile.am @@ -140,6 +140,7 @@ libavrdude_a_SOURCES = \ stk500v2_private.h \ stk500generic.c \ stk500generic.h \ + tpi.h \ usbasp.c \ usbasp.h \ usbdevs.h \ diff --git a/avrdude/avr.c b/avrdude/avr.c index d2451def..09dab1fe 100644 --- a/avrdude/avr.c +++ b/avrdude/avr.c @@ -1,7 +1,7 @@ /* * avrdude - A Downloader/Uploader for AVR device programmers * Copyright (C) 2000-2004 Brian S. Dean - * Copyright 2011 Darell Tan + * Copyright (C) 2011 Darell Tan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/avrdude/bitbang.c b/avrdude/bitbang.c index 39fbf592..ada885ac 100644 --- a/avrdude/bitbang.c +++ b/avrdude/bitbang.c @@ -2,7 +2,7 @@ * avrdude - A Downloader/Uploader for AVR device programmers * Copyright (C) 2000, 2001, 2002, 2003 Brian S. Dean * Copyright (C) 2005 Michael Holzt - * Copyright 2011 Darell Tan + * Copyright (C) 2011 Darell Tan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/avrdude/bitbang.h b/avrdude/bitbang.h index ae05a89c..20159009 100644 --- a/avrdude/bitbang.h +++ b/avrdude/bitbang.h @@ -2,7 +2,7 @@ * avrdude - A Downloader/Uploader for AVR device programmers * Copyright (C) 2000, 2001, 2002, 2003 Brian S. Dean * Copyright (C) 2005 Michael Holzt - * Copyright 2011 Darell Tan + * Copyright (C) 2011 Darell Tan * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/avrdude/tpi.h b/avrdude/tpi.h new file mode 100644 index 00000000..e99d091a --- /dev/null +++ b/avrdude/tpi.h @@ -0,0 +1,72 @@ +/* + * avrdude - A Downloader/Uploader for AVR device programmers + * Copyright (C) 2011 Darell Tan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* $Id$ */ + +#ifndef tpi_h +#define tpi_h + +#ifdef __cplusplus +extern "C" { +#endif + +static const unsigned char tpi_skey[] = { 0x12, 0x89, 0xAB, 0x45, 0xCD, 0xD8, 0x88, 0xFF }; + +/* registers */ +#define TPI_REG_TPIIR 0x0F +#define TPI_REG_TPIPCR 0x02 +#define TPI_REG_TPISR 0x00 + +#define TPI_REG_TPISR_NVMEN (1 << 1) + +/* TPI commands */ +#define TPI_CMD_SLD 0x20 +#define TPI_CMD_SLD_PI 0x24 +#define TPI_CMD_SIN 0x10 +#define TPI_CMD_SOUT 0x90 +#define TPI_CMD_SSTCS 0xC0 +#define TPI_CMD_SST 0x60 +#define TPI_CMD_SST_PI 0x64 + +#define TPI_CMD_SLDCS 0x80 +#define TPI_CMD_SSTPR 0x68 +#define TPI_CMD_SKEY 0xE0 + +/* for TPI_CMD_SIN & TPI_CMD_SOUT */ +#define TPI_SIO_ADDR(x) ((x & 0x30) << 1 | (x & 0x0F)) + +/* ATtiny4/5/9/10 I/O registers */ +#define TPI_IOREG_NVMCSR 0x32 +#define TPI_IOREG_NVMCMD 0x33 + +/* bit for NVMCSR */ +#define TPI_IOREG_NVMCSR_NVMBSY (1 << 7) + +/* NVM commands */ +#define TPI_NVMCMD_NO_OPERATION 0x00 +#define TPI_NVMCMD_CHIP_ERASE 0x10 +#define TPI_NVMCMD_SECTION_ERASE 0x14 +#define TPI_NVMCMD_WORD_WRITE 0x1D + +#ifdef __cplusplus +} +#endif + +#endif +