Fix a bug in the Still Image Host Class driver where the returned block status code...
[pub/lufa.git] / Projects / AVRISP / Lib / NVMTarget.h
index bd9296f..3608fcb 100644 (file)
                #endif\r
 \r
        /* Defines: */\r
-               #define FLASH_BASE                     0x00800000\r
-               #define EPPROM_BASE                    0x008C0000\r
-               #define FUSE_BASE                      0x008F0020\r
-               #define DATAMEM_BASE                   0x01000000\r
-               #define PROD_SIGNATURE_BASE            0x008E0200\r
-               #define USER_SIGNATURE_BASE            0x008E0400\r
+               #define NVM_BUSY_TIMEOUT_MS            200\r
                \r
                #define NVM_REG_ADDR0                  0x00\r
                #define NVM_REG_ADDR1                  0x01\r
@@ -79,8 +74,8 @@
                #define NVM_CMD_NOOP                   0x00\r
                #define NVM_CMD_CHIPERASE              0x40\r
                #define NVM_CMD_READNVM                0x43\r
-               #define NVM_CMD_LOADFLASHBUFF          0x23\r
-               #define NVM_CMD_ERASEFLASHBUFF         0x26\r
+               #define NVM_CMD_LOADFLASHPAGEBUFF      0x23\r
+               #define NVM_CMD_ERASEFLASHPAGEBUFF     0x26\r
                #define NVM_CMD_ERASEFLASHPAGE         0x2B\r
                #define NVM_CMD_FLASHPAGEWRITE         0x2E\r
                #define NVM_CMD_ERASEWRITEFLASH        0x2F\r
                #define NVM_CMD_READEEPROM             0x06\r
 \r
        /* Function Prototypes: */\r
-               void     NVMTarget_SendNVMRegAddress(uint8_t Register);\r
-               void     NVMTarget_SendAddress(uint32_t AbsoluteAddress);\r
-               bool     NVMTarget_WaitWhileNVMBusBusy(void);\r
-               void     NVMTarget_WaitWhileNVMControllerBusy(void);\r
-               uint32_t NVMTarget_GetMemoryCRC(uint8_t MemoryCommand);\r
-               void     NVMTarget_ReadMemory(uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize);\r
-               void     NVMTarget_EraseMemory(uint8_t EraseCommand, uint32_t Address);\r
+               void NVMTarget_SendNVMRegAddress(uint8_t Register);\r
+               void NVMTarget_SendAddress(uint32_t AbsoluteAddress);\r
+               bool NVMTarget_WaitWhileNVMControllerBusy(void);\r
+               bool NVMTarget_GetMemoryCRC(uint8_t CRCCommand, uint32_t* CRCDest);\r
+               bool NVMTarget_ReadMemory(uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize);\r
+               bool NVMTarget_WriteByteMemory(uint8_t WriteCommand, uint32_t WriteAddress, uint8_t* WriteBuffer,\r
+                                              uint16_t WriteSize);\r
+               bool NVMTarget_WritePageMemory(uint8_t WriteBuffCommand, uint8_t EraseBuffCommand, uint8_t WritePageCommand,\r
+                                              uint8_t PageMode, uint32_t WriteAddress, uint8_t* WriteBuffer, uint16_t WriteSize);\r
+               bool NVMTarget_EraseMemory(uint8_t EraseCommand, uint32_t Address);\r
 \r
 #endif\r