source: rtems/cpukit/score/cpu/avr/avr/iom324.h @ b10825c

4.115
Last change on this file since b10825c was b10825c, checked in by Joel Sherrill <joel.sherrill@…>, on 01/10/13 at 19:29:41

cpukit: Add EOL on files missing EOL at EOF

  • Property mode set to 100644
File size: 3.4 KB
Line 
1/**
2 * @file avr/iom324.h
3 *
4 * @brief Definitions for ATmega324
5 */
6
7/*
8 *   Copyright (c) 2005, 2006 Anatoly Sokolov
9 *   All rights reserved.
10 *
11 *   Redistribution and use in source and binary forms, with or without
12 *   modification, are permitted provided that the following conditions are met:
13 *
14 *  * Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 *
17 *  * Redistributions in binary form must reproduce the above copyright
18 *    notice, this list of conditions and the following disclaimer in
19 *    the documentation and/or other materials provided with the
20 *    distribution.
21 *
22 *  * Neither the name of the copyright holders nor the names of
23 *    contributors may be used to endorse or promote products derived
24 *    from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
30 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39#ifndef _AVR_IOM324_H_
40#define _AVR_IOM324_H_ 1
41
42/**
43 *  @defgroup Avr_iom324 ATmega324 Definitions
44 *
45 *  @ingroup avr
46 */
47/**@{*/
48
49#include <avr/iomxx4.h>
50
51/* Constants */
52#define SPM_PAGESIZE    128
53#define RAMEND          0x08FF
54#define XRAMEND         RAMEND
55#define E2END           0x3FF
56#define E2PAGESIZE      4
57#define FLASHEND        0x7FFF
58
59
60/* Fuses */
61
62#define FUSE_MEMORY_SIZE 3
63
64/* Low Fuse Byte */
65#define FUSE_CKSEL0      (unsigned char)~_BV(0)
66#define FUSE_CKSEL1      (unsigned char)~_BV(1)
67#define FUSE_CKSEL2      (unsigned char)~_BV(2)
68#define FUSE_CKSEL3      (unsigned char)~_BV(3)
69#define FUSE_SUT0        (unsigned char)~_BV(4)
70#define FUSE_SUT1        (unsigned char)~_BV(5)
71#define FUSE_CKOUT       (unsigned char)~_BV(6)
72#define FUSE_CKDIV8      (unsigned char)~_BV(7)
73#define LFUSE_DEFAULT (FUSE_CKSEL0 & FUSE_CKSEL2 & FUSE_CKSEL3 & FUSE_SUT0 & FUSE_SUT1 & FUSE_CKDIV8)
74
75/* High Fuse Byte */
76#define FUSE_BOOTRST     (unsigned char)~_BV(0)
77#define FUSE_BOOTSZ0     (unsigned char)~_BV(1)
78#define FUSE_BOOTSZ1     (unsigned char)~_BV(2)
79#define FUSE_EESAVE      (unsigned char)~_BV(3)
80#define FUSE_WDTON       (unsigned char)~_BV(4)
81#define FUSE_SPIEN       (unsigned char)~_BV(5)
82#define FUSE_JTAGEN      (unsigned char)~_BV(6)
83#define FUSE_OCDEN       (unsigned char)~_BV(7)
84#define HFUSE_DEFAULT (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_SPIEN & FUSE_JTAGEN)
85
86/* Extended Fuse Byte */
87#define FUSE_BODLEVEL0   (unsigned char)~_BV(0)
88#define FUSE_BODLEVEL1   (unsigned char)~_BV(1)
89#define FUSE_BODLEVEL2   (unsigned char)~_BV(2)
90#define EFUSE_DEFAULT (0xFF)
91
92
93/* Lock Bits */
94#define __LOCK_BITS_EXIST
95#define __BOOT_LOCK_BITS_0_EXIST
96#define __BOOT_LOCK_BITS_1_EXIST
97
98
99/* Signature (ATmega324P) */
100#define SIGNATURE_0 0x1E
101#define SIGNATURE_1 0x95
102#define SIGNATURE_2 0x08
103
104/**@}*/
105#endif /* _AVR_IOM324_H_ */
Note: See TracBrowser for help on using the repository browser.