/*\r
LUFA Library\r
- Copyright (C) Dean Camera, 2009.\r
+ Copyright (C) Dean Camera, 2010.\r
\r
dean [at] fourwalledcubicle [dot] com\r
www.fourwalledcubicle.com\r
*/\r
\r
/*\r
- Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+ Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
\r
Permission to use, copy, modify, distribute, and sell this \r
software and its documentation for any purpose is hereby granted\r
\r
#if defined(ENABLE_XPROG_PROTOCOL) || defined(__DOXYGEN__)\r
/** Base absolute address for the target's NVM controller for PDI programming */\r
-uint32_t XPROG_Param_NVMBase = 0x010001C0;\r
+uint32_t XPROG_Param_NVMBase = 0x010001C0;\r
\r
/** Size in bytes of the target's EEPROM page */\r
uint16_t XPROG_Param_EEPageSize;\r
XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG); \r
XPROGTarget_SendByte(PDI_RESET_KEY);\r
\r
+ /* Lower direction change guard time to 8 USART bits */\r
+ XPROGTarget_SendByte(PDI_CMD_STCS | PDI_CTRL_REG); \r
+ XPROGTarget_SendByte(0x04);\r
+\r
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */\r
XPROGTarget_SendByte(PDI_CMD_KEY); \r
for (uint8_t i = sizeof(PDI_NVMENABLE_KEY); i > 0; i--)\r
}\r
else\r
{\r
- #if 0\r
/* Enable TPI programming mode with the attached target */\r
XPROGTarget_EnableTargetTPI();\r
\r
+ /* Lower direction change guard time to 8 USART bits */\r
+ XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG);\r
+ XPROGTarget_SendByte(0x04); \r
+ \r
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */\r
XPROGTarget_SendByte(TPI_CMD_SKEY); \r
for (uint8_t i = sizeof(TPI_NVMENABLE_KEY); i > 0; i--)\r
\r
/* Wait until the NVM bus becomes active */\r
NVMBusEnabled = TINYNVM_WaitWhileNVMBusBusy();\r
- #endif\r
- NVMBusEnabled = true;\r
}\r
\r
Endpoint_Write_Byte(CMD_XPROG);\r
case XPRG_PARAM_EEPPAGESIZE:\r
XPROG_Param_EEPageSize = Endpoint_Read_Word_BE();\r
break;\r
- case XPRG_PARAM_NVMCMD:\r
+ case XPRG_PARAM_NVMCMD_REG:\r
XPROG_Param_NVMCMDRegAddr = Endpoint_Read_Byte();\r
break;\r
- case XPRG_PARAM_NVMCSR:\r
+ case XPRG_PARAM_NVMCSR_REG:\r
XPROG_Param_NVMCSRRegAddr = Endpoint_Read_Byte();\r
break;\r
default:\r