00001 #ifndef _DEV_AVRTARGET_H_
00002 #define _DEV_AVRTARGET_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <cfg/progif.h>
00037 #include <stdint.h>
00038
00056 #ifndef AVRTARGET_PAGESIZE
00057
00062 #define AVRTARGET_PAGESIZE 128
00063 #endif
00064
00065
00066
00067
00068 #define AVRSIGNATURE_MEGA8 0x001E9307UL
00069 #define AVRSIGNATURE_MEGA168 0x001E9406UL
00070 #define AVRSIGNATURE_MEGA103 0x001E9701UL
00071 #define AVRSIGNATURE_MEGA128 0x001E9702UL
00072 #define AVRSIGNATURE_MEGA1280 0x001E9703UL
00073 #define AVRSIGNATURE_MEGA1281 0x001E9704UL
00074 #define AVRSIGNATURE_90CAN128 0x001E9781UL
00075 #define AVRSIGNATURE_MEGA2560 0x001E9801UL
00076 #define AVRSIGNATURE_MEGA2561 0x001E9802UL
00077
00078
00079
00080
00081 #define AVRCMD_PROG_ENABLE 0xAC530000UL
00082 #define AVRCMD_CHIP_ERASE 0xAC800000UL
00083 #define AVRCMD_READ_PROG_MEM_LO 0x20000000UL
00084 #define AVRCMD_READ_PROG_MEM_HI 0x28000000UL
00085 #define AVRCMD_LOAD_PROG_MEM_PAGE_LO 0x40000000UL
00086 #define AVRCMD_LOAD_PROG_MEM_PAGE_HI 0x48000000UL
00087 #define AVRCMD_WRITE_PROG_MEM_PAGE 0x4c000000UL
00088 #define AVRCMD_READ_EEPROM_MEM 0xA0000000UL
00089 #define AVRCMD_WRITE_EEPROM_MEM 0xC0000000UL
00090 #define AVRCMD_LOAD_EEPROM_MEM_PAGE 0xC1000000UL
00091 #define AVRCMD_WRITE_EEPROM_MEM_PAGE 0xC2000000UL
00092 #define AVRCMD_READ_LOCK_BITS 0x58000000UL
00093 #define AVRCMD_WRITE_LOCK_BITS 0xACE00000UL
00094 #define AVRCMD_READ_SIGNATURE_BYTE 0x30000000UL
00095 #define AVRCMD_WRITE_FUSE_BITS 0xACA00000UL
00096 #define AVRCMD_WRITE_FUSE_HI_BITS 0xACA80000UL
00097 #define AVRCMD_WRITE_FUSE_EXT_BITS 0xACA40000UL
00098 #define AVRCMD_READ_FUSE_BITS 0x50000000UL
00099 #define AVRCMD_READ_FUSE_HI_BITS 0x58080000UL
00100 #define AVRCMD_READ_FUSE_EXT_BITS 0x50080000UL
00101 #define AVRCMD_READ_CALIBRATION_BYTE 0x38000000UL
00102 #define AVRCMD_POLL_READY 0xF0000000UL
00103
00104 __BEGIN_DECLS
00105
00106 extern int AvrTargetInit(void);
00107 extern void AvrTargetSelect(ureg_t act);
00108 extern void AvrTargetReset(ureg_t on);
00109 extern uint32_t AvrTargetCmd(uint32_t cmd);
00110 extern uint32_t AvrTargetSignature(void);
00111 extern uint32_t AvrTargetFusesRead(void);
00112 extern uint32_t AvrTargetFusesWriteSafe(uint32_t fuses);
00113 extern int AvrTargetProgEnable(void);
00114 extern int AvrTargetPollReady(u_int tmo);
00115 extern int AvrTargetChipErase(void);
00116 extern void AvrTargetPageLoad(uint32_t page, CONST uint8_t * data);
00117 extern int AvrTargetPageWrite(uint32_t page);
00118 extern int AvrTargetPageVerify(uint32_t page, CONST uint8_t * data);
00119
00120 __END_DECLS
00121
00122 #endif