summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/avr/avr/io.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/cpu/avr/avr/io.h')
-rw-r--r--cpukit/score/cpu/avr/avr/io.h194
1 files changed, 102 insertions, 92 deletions
diff --git a/cpukit/score/cpu/avr/avr/io.h b/cpukit/score/cpu/avr/avr/io.h
index d4198f14ae..22ac57d84f 100644
--- a/cpukit/score/cpu/avr/avr/io.h
+++ b/cpukit/score/cpu/avr/avr/io.h
@@ -1,100 +1,109 @@
-/* Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch
- Copyright (c) 2007 Eric B. Weddington
- All rights reserved.
+/**
+ * @file
+ *
+ * @brief AVR device-specific IO Definitions
+ *
+ * This header file includes the apropriate IO definitions for the
+ * device that has been specified by the <tt>-mmcu=</tt> compiler
+ * command-line switch. This is done by diverting to the appropriate
+ * file <tt>&lt;avr/io</tt><em>XXXX</em><tt>.h&gt;</tt> which should
+ * never be included directly. Some register names common to all
+ * AVR devices are defined directly within <tt>&lt;avr/common.h&gt;</tt>,
+ * which is included in <tt>&lt;avr/io.h&gt;</tt>,
+ * but most of the details come from the respective include file.
+ *
+ * Note that this file always includes the following files:
+ * \code
+ * #include <avr/sfr_defs.h>
+ * #include <avr/portpins.h>
+ * #include <avr/common.h>
+ * #include <avr/version.h>
+ * \endcode
+ * See \ref avr_sfr for more details about that header file.
+ *
+ * Included are definitions of the IO register set and their
+ * respective bit values as specified in the Atmel documentation.
+ * Note that inconsistencies in naming conventions,
+ * so even identical functions sometimes get different names on
+ * different devices.
+ *
+ * Also included are the specific names useable for interrupt
+ * function definitions as documented
+ * \ref avr_signames "here".
+ *
+ * Finally, the following macros are defined:
+ *
+ * - \b RAMEND
+ * <br>
+ * The last on-chip RAM address.
+ * <br>
+ * - \b XRAMEND
+ * <br>
+ * The last possible RAM location that is addressable. This is equal to
+ * RAMEND for devices that do not allow for external RAM. For devices
+ * that allow external RAM, this will be larger than RAMEND.
+ * <br>
+ * - \b E2END
+ * <br>
+ * The last EEPROM address.
+ * <br>
+ * - \b FLASHEND
+ * <br>
+ * The last byte address in the Flash program space.
+ * <br>
+ * - \b SPM_PAGESIZE
+ * <br>
+ * For devices with bootloader support, the flash pagesize
+ * (in bytes) to be used for the \c SPM instruction.
+ * - \b E2PAGESIZE
+ * <br>
+ * The size of the EEPROM page.
+ */
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- * Neither the name of the copyright holders nor the names of
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE. */
-
-
-/** \file */
-/** \defgroup avr_io <avr/io.h>: AVR device-specific IO definitions
- \code #include <avr/io.h> \endcode
-
- This header file includes the apropriate IO definitions for the
- device that has been specified by the <tt>-mmcu=</tt> compiler
- command-line switch. This is done by diverting to the appropriate
- file <tt>&lt;avr/io</tt><em>XXXX</em><tt>.h&gt;</tt> which should
- never be included directly. Some register names common to all
- AVR devices are defined directly within <tt>&lt;avr/common.h&gt;</tt>,
- which is included in <tt>&lt;avr/io.h&gt;</tt>,
- but most of the details come from the respective include file.
-
- Note that this file always includes the following files:
- \code
- #include <avr/sfr_defs.h>
- #include <avr/portpins.h>
- #include <avr/common.h>
- #include <avr/version.h>
- \endcode
- See \ref avr_sfr for more details about that header file.
-
- Included are definitions of the IO register set and their
- respective bit values as specified in the Atmel documentation.
- Note that inconsistencies in naming conventions,
- so even identical functions sometimes get different names on
- different devices.
-
- Also included are the specific names useable for interrupt
- function definitions as documented
- \ref avr_signames "here".
-
- Finally, the following macros are defined:
-
- - \b RAMEND
- <br>
- The last on-chip RAM address.
- <br>
- - \b XRAMEND
- <br>
- The last possible RAM location that is addressable. This is equal to
- RAMEND for devices that do not allow for external RAM. For devices
- that allow external RAM, this will be larger than RAMEND.
- <br>
- - \b E2END
- <br>
- The last EEPROM address.
- <br>
- - \b FLASHEND
- <br>
- The last byte address in the Flash program space.
- <br>
- - \b SPM_PAGESIZE
- <br>
- For devices with bootloader support, the flash pagesize
- (in bytes) to be used for the \c SPM instruction.
- - \b E2PAGESIZE
- <br>
- The size of the EEPROM page.
-
-*/
+/*
+ * Copyright (c) 2002,2003,2005,2006,2007 Marek Michalkiewicz, Joerg Wunsch
+ * Copyright (c) 2007 Eric B. Weddington
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of the copyright holders nor the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
#ifndef _AVR_IO_H_
#define _AVR_IO_H_
+/**
+ * @defgroup avr_io Input Output
+ *
+ * @ingroup avr
+ *
+ */
+/**@{**/
+
#include <avr/sfr_defs.h>
#if defined (__AVR_AT94K__)
@@ -416,4 +425,5 @@
/* Include lock.h after individual IO header files. */
#include <avr/lock.h>
+/** @} */
#endif /* _AVR_IO_H_ */