aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/AVRISP/Lib/PDITarget.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-12-14 02:59:34 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-12-14 02:59:34 +0000
commit1fa27139f5c195c0d7147dac0c5332a6ea10229a (patch)
tree9cb1450d78252d7360fd87c0f28db9cabe85782c /Projects/AVRISP/Lib/PDITarget.h
parent66482341573c035e4c90cee32b89fb7f59068e40 (diff)
downloadlufa-1fa27139f5c195c0d7147dac0c5332a6ea10229a.tar.gz
lufa-1fa27139f5c195c0d7147dac0c5332a6ea10229a.tar.bz2
lufa-1fa27139f5c195c0d7147dac0c5332a6ea10229a.zip
Split out NVM access code in the AVRISP project into a seperate NVMTarget.c source file and header. Make NVM register accesses use the NVM base address as set by the host, rather than using the fixed value from the XMEGA datasheet.
Diffstat (limited to 'Projects/AVRISP/Lib/PDITarget.h')
-rw-r--r--Projects/AVRISP/Lib/PDITarget.h36
1 files changed, 3 insertions, 33 deletions
diff --git a/Projects/AVRISP/Lib/PDITarget.h b/Projects/AVRISP/Lib/PDITarget.h
index 41cc1fbd7..2a2af6e27 100644
--- a/Projects/AVRISP/Lib/PDITarget.h
+++ b/Projects/AVRISP/Lib/PDITarget.h
@@ -44,8 +44,8 @@
#include <LUFA/Common/Common.h>
/* Preprocessor Checks: */
- #if (BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)
- #undef ENABLE_ISP_PROTOCOL
+ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1))
+ #undef ENABLE_ISP_PROTOCOL
#if !defined(ENABLE_PDI_PROTOCOL)
#define ENABLE_PDI_PROTOCOL
@@ -53,7 +53,7 @@
#endif
/* Defines: */
- #if BOARD == BOARD_XPLAIN
+ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1))
#define PDI_VIA_HARDWARE_USART
#else
#define BITBANG_PDIDATA_PORT PORTB
@@ -95,32 +95,6 @@
#define PDI_POINTER_INDIRECT 0
#define PDI_POINTER_INDIRECT_PI 1
#define PDI_POINTER_DIRECT 2
-
- #define FLASH_BASE 0x00800000
- #define EPPROM_BASE 0x008C0000
- #define FUSE_BASE 0x008F0020
- #define DATAMEM_BASE 0x01000000
- #define PROD_SIGNATURE_BASE 0x008E0200
- #define USER_SIGNATURE_BASE 0x008E0400
-
- #define DATAMEM_NVM_BASE 0x01C0
- #define DATAMEM_NVM_ADDR0 (DATAMEM_NVM_BASE | 0x00)
- #define DATAMEM_NVM_ADDR1 (DATAMEM_NVM_BASE | 0x01)
- #define DATAMEM_NVM_ADDR2 (DATAMEM_NVM_BASE | 0x02)
- #define DATAMEM_NVM_DAT0 (DATAMEM_NVM_BASE | 0x04)
- #define DATAMEM_NVM_DAT1 (DATAMEM_NVM_BASE | 0x05)
- #define DATAMEM_NVM_DAT2 (DATAMEM_NVM_BASE | 0x06)
- #define DATAMEM_NVM_CMD (DATAMEM_NVM_BASE | 0x0A)
- #define DATAMEM_NVM_CTRLA (DATAMEM_NVM_BASE | 0x0B)
- #define DATAMEM_NVM_CTRLB (DATAMEM_NVM_BASE | 0x0C)
- #define DATAMEM_NVM_INTCTRL (DATAMEM_NVM_BASE | 0x0D)
- #define DATAMEM_NVM_STATUS (DATAMEM_NVM_BASE | 0x0F)
- #define DATAMEM_NVM_LOCKBITS (DATAMEM_NVM_BASE | 0x10)
-
- #define NVM_CMD_APPCRC 0x38
- #define NVM_CMD_BOOTCRC 0x39
- #define NVM_CMD_FLASHCRC 0x78
- #define NVM_CMD_READUSERSIG 0x03
/* Function Prototypes: */
void PDITarget_EnableTargetPDI(void);
@@ -128,9 +102,5 @@
void PDITarget_SendByte(uint8_t Byte);
uint8_t PDITarget_ReceiveByte(void);
void PDITarget_SendBreak(void);
-
- void PDITarget_SendAddress(uint32_t Address);
- bool PDITarget_WaitWhileNVMBusBusy(void);
- void PDITarget_WaitWhileNVMControllerBusy(void);
#endif