From 93793679c95198e3272de565c6904f14ab257795 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sat, 2 Oct 2010 10:07:24 +0000
Subject: [PATCH] Revert change to the AVRISP-MKII project for fuse byte
 programming via the CMDEX bit - this appears to be an error in the XMEGA
 manual external memory programming table.

---
 LUFA/ManPages/ChangeLog.txt               | 1 -
 Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c | 9 ---------
 2 files changed, 10 deletions(-)

diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 23ef75c5c..805b3e165 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -68,7 +68,6 @@
   *  - Fixed incorrect LEDs_ChangeLEDs() function in the Benito board LED driver
   *  - Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set
   *  - Fixed broken FLASH/EEPROM programming in the AVRISP-MKII clone project when writing in non-paged mode and the polling byte cannot be used
-  *  - Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets
   *
   *  \section Sec_ChangeLog100807 Version 100807
   *  <b>New:</b>
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
index 537441fc0..22f4e93e0 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
@@ -220,15 +220,6 @@ bool XMEGANVM_WriteByteMemory(const uint8_t WriteCommand, const uint32_t WriteAd
 	XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
 	XMEGANVM_SendAddress(WriteAddress);
 	XPROGTarget_SendByte(Byte);
-
-	/* Lock bytes need a special confirmation sequence for the write to complete */
-	if (WriteCommand == XMEGA_NVM_CMD_WRITELOCK)
-	{
-		/* Set CMDEX bit in NVM CTRLA register to start the Lock Byte write sequence */
-		XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
-		XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
-		XPROGTarget_SendByte(1 << 0);
-	}
 	
 	return true;
 }
-- 
GitLab