Index: include/avr/iox32d4.h
===================================================================
--- include/avr/iox32d4.h	(revision 2121)
+++ include/avr/iox32d4.h	(working copy)
@@ -427,10 +427,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
@@ -981,6 +989,12 @@
     register8_t reserved_0x0E;
     register8_t reserved_0x0F;
     _WORDREGISTER(CH0RES);  /* Channel 0 Result */
+    register8_t reserved_0x12;
+    register8_t reserved_0x13;
+    register8_t reserved_0x14;
+    register8_t reserved_0x15;
+    register8_t reserved_0x16;
+    register8_t reserved_0x17;
     _WORDREGISTER(CMP);  /* Compare Value */
     register8_t reserved_0x1A;
     register8_t reserved_0x1B;
Index: include/avr/iox128d3.h
===================================================================
--- include/avr/iox128d3.h	(revision 2121)
+++ include/avr/iox128d3.h	(working copy)
@@ -427,10 +427,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
@@ -981,6 +989,12 @@
     register8_t reserved_0x0E;
     register8_t reserved_0x0F;
     _WORDREGISTER(CH0RES);  /* Channel 0 Result */
+    register8_t reserved_0x12;
+    register8_t reserved_0x13;
+    register8_t reserved_0x14;
+    register8_t reserved_0x15;
+    register8_t reserved_0x16;
+    register8_t reserved_0x17;
     _WORDREGISTER(CMP);  /* Compare Value */
     register8_t reserved_0x1A;
     register8_t reserved_0x1B;
Index: include/avr/iox192d3.h
===================================================================
--- include/avr/iox192d3.h	(revision 2121)
+++ include/avr/iox192d3.h	(working copy)
@@ -427,10 +427,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
@@ -981,6 +989,12 @@
     register8_t reserved_0x0E;
     register8_t reserved_0x0F;
     _WORDREGISTER(CH0RES);  /* Channel 0 Result */
+    register8_t reserved_0x12;
+    register8_t reserved_0x13;
+    register8_t reserved_0x14;
+    register8_t reserved_0x15;
+    register8_t reserved_0x16;
+    register8_t reserved_0x17;
     _WORDREGISTER(CMP);  /* Compare Value */
     register8_t reserved_0x1A;
     register8_t reserved_0x1B;
Index: include/avr/iox64d3.h
===================================================================
--- include/avr/iox64d3.h	(revision 2121)
+++ include/avr/iox64d3.h	(working copy)
@@ -427,10 +427,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
@@ -981,6 +989,12 @@
     register8_t reserved_0x0E;
     register8_t reserved_0x0F;
     _WORDREGISTER(CH0RES);  /* Channel 0 Result */
+    register8_t reserved_0x12;
+    register8_t reserved_0x13;
+    register8_t reserved_0x14;
+    register8_t reserved_0x15;
+    register8_t reserved_0x16;
+    register8_t reserved_0x17;
     _WORDREGISTER(CMP);  /* Compare Value */
     register8_t reserved_0x1A;
     register8_t reserved_0x1B;
Index: include/avr/iox256d3.h
===================================================================
--- include/avr/iox256d3.h	(revision 2121)
+++ include/avr/iox256d3.h	(working copy)
@@ -409,10 +409,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
Index: include/avr/iox16d4.h
===================================================================
--- include/avr/iox16d4.h	(revision 2121)
+++ include/avr/iox16d4.h	(working copy)
@@ -427,10 +427,18 @@
     register8_t CH1MUX;  /* Event Channel 1 Multiplexer */
     register8_t CH2MUX;  /* Event Channel 2 Multiplexer */
     register8_t CH3MUX;  /* Event Channel 3 Multiplexer */
+    register8_t reserved_0x04;
+    register8_t reserved_0x05;
+    register8_t reserved_0x06;
+    register8_t reserved_0x07;
     register8_t CH0CTRL;  /* Channel 0 Control Register */
     register8_t CH1CTRL;  /* Channel 1 Control Register */
     register8_t CH2CTRL;  /* Channel 2 Control Register */
     register8_t CH3CTRL;  /* Channel 3 Control Register */
+    register8_t reserved_0x0C;
+    register8_t reserved_0x0D;
+    register8_t reserved_0x0E;
+    register8_t reserved_0x0F;
     register8_t STROBE;  /* Event Strobe */
     register8_t DATA;  /* Event Data */
 } EVSYS_t;
@@ -981,6 +989,12 @@
     register8_t reserved_0x0E;
     register8_t reserved_0x0F;
     _WORDREGISTER(CH0RES);  /* Channel 0 Result */
+    register8_t reserved_0x12;
+    register8_t reserved_0x13;
+    register8_t reserved_0x14;
+    register8_t reserved_0x15;
+    register8_t reserved_0x16;
+    register8_t reserved_0x17;
     _WORDREGISTER(CMP);  /* Compare Value */
     register8_t reserved_0x1A;
     register8_t reserved_0x1B;
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2121)
+++ ChangeLog	(working copy)
@@ -1,3 +1,19 @@
+2010-04-06  Anitha Boyapati <anitha.boyapati@atmel.com>
+
+        Fix bug #28574.
+	* include/avr/iox128d3.h - Modify EVSYS_t and ADC_t structures to 
+							   include reserved registers.	
+	* include/avr/iox16d4.h  - Modify EVSYS_t and ADC_t structures to
+							   include reserved registers.	
+	* include/avr/iox192d3.h - Modify EVSYS_t and ADC_t structures to
+							   include reserved registers.	
+	* include/avr/iox256d3.h - Modify EVSYS_t and ADC_t structures to
+							   include reserved registers.	
+	* include/avr/iox32d4.h  - Modify EVSYS_t and ADC_t structures to
+							   include reserved registers.	
+	* include/avr/iox64d3.h  - Modify EVSYS_t and ADC_t structures to
+							   include reserved registers.	
+
 2010-04-12  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* configure.ac (CHECK_BUILTIN_DELAY_CYCLES): Reimplement as a
Index: NEWS
===================================================================
--- NEWS	(revision 2121)
+++ NEWS	(working copy)
@@ -112,6 +112,7 @@
   [#28584] iocanxx.h Add word definitions to iocanxx.h
   [#28627] power.h ATMEGA32U2 clock_prescale_set() not available
   [#28901] Xmega header files with missing definitions for GPIO_t and CPU_t
+  [#28574] Xmega D ADC struct missing registers
 
 
 * Other changes:
