avr-libc-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-commit] [2112] 2010-03-28 Eric B.


From: Eric Weddington
Subject: [avr-libc-commit] [2112] 2010-03-28 Eric B.
Date: Mon, 29 Mar 2010 05:25:59 +0000

Revision: 2112
          http://svn.sv.gnu.org/viewvc/?view=rev&root=avr-libc&revision=2112
Author:   arcanum
Date:     2010-03-29 05:25:58 +0000 (Mon, 29 Mar 2010)
Log Message:
-----------
2010-03-28  Eric B. Weddington  <address@hidden>

        Add support for new device: m3000.
        * configure.ac: Add support for new device.
        * devtools/gen-avr-lib-tree.sh: Same.
        * include/avr/io.h: Same.
        * doc/api/main_page.dox: Same.
        * doc/api/using-tools.dox: Same.
        * include/avr/iom3000.h: New file.
        * NEWS: Add news item.

Modified Paths:
--------------
    trunk/avr-libc/ChangeLog
    trunk/avr-libc/NEWS
    trunk/avr-libc/configure.ac
    trunk/avr-libc/devtools/gen-avr-lib-tree.sh
    trunk/avr-libc/doc/api/main_page.dox
    trunk/avr-libc/doc/api/using-tools.dox
    trunk/avr-libc/include/avr/io.h

Added Paths:
-----------
    trunk/avr-libc/include/avr/iom3000.h

Modified: trunk/avr-libc/ChangeLog
===================================================================
--- trunk/avr-libc/ChangeLog    2010-03-28 22:36:13 UTC (rev 2111)
+++ trunk/avr-libc/ChangeLog    2010-03-29 05:25:58 UTC (rev 2112)
@@ -1,5 +1,16 @@
 2010-03-28  Eric B. Weddington  <address@hidden>
 
+       Add support for new device: m3000.
+       * configure.ac: Add support for new device.
+       * devtools/gen-avr-lib-tree.sh: Same.
+       * include/avr/io.h: Same.
+       * doc/api/main_page.dox: Same.
+       * doc/api/using-tools.dox: Same.
+       * include/avr/iom3000.h: New file.
+       * NEWS: Add news item.
+
+2010-03-28  Eric B. Weddington  <address@hidden>
+
        Add support for new devices: attiny84a, atmega325a, atmega3250a,
        atmega329a, atmega3290a.
        * configure.ac: Add support for new devices.

Modified: trunk/avr-libc/NEWS
===================================================================
--- trunk/avr-libc/NEWS 2010-03-28 22:36:13 UTC (rev 2111)
+++ trunk/avr-libc/NEWS 2010-03-29 05:25:58 UTC (rev 2112)
@@ -247,6 +247,7 @@
   + ATmega3250A
   + ATmega329A
   + ATmega3290A
+  + M3000
 
 * Optimized functions:
 

Modified: trunk/avr-libc/configure.ac
===================================================================
--- trunk/avr-libc/configure.ac 2010-03-28 22:36:13 UTC (rev 2111)
+++ trunk/avr-libc/configure.ac 2010-03-29 05:25:58 UTC (rev 2112)
@@ -850,7 +850,11 @@
 CHECK_AVR_DEVICE(atmega128rfa1)
 AM_CONDITIONAL(HAS_atmega128rfa1, test "x$HAS_atmega128rfa1" = "xyes")
 
+CHECK_AVR_DEVICE(m3000)
+AM_CONDITIONAL(HAS_m3000, test "x$HAS_m3000" = "xyes")
 
+
+
 #avr51
 CHECK_AVR_DEVICE(avr51)
 AM_CONDITIONAL(HAS_avr51, test "x$HAS_avr51" = "xyes")
@@ -1227,6 +1231,7 @@
        avr/lib/avr5/atmega1281/Makefile
        avr/lib/avr5/atmega1284p/Makefile
        avr/lib/avr5/atmega128rfa1/Makefile
+       avr/lib/avr5/m3000/Makefile
 ])
 
 #avr51

Modified: trunk/avr-libc/devtools/gen-avr-lib-tree.sh
===================================================================
--- trunk/avr-libc/devtools/gen-avr-lib-tree.sh 2010-03-28 22:36:13 UTC (rev 
2111)
+++ trunk/avr-libc/devtools/gen-avr-lib-tree.sh 2010-03-29 05:25:58 UTC (rev 
2112)
@@ -238,7 +238,8 @@
 atmega1280:crtm1280.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
 atmega1281:crtm1281.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
 atmega1284p:crtm1284p.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
-atmega128rfa1:crtm128rfa1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
+atmega128rfa1:crtm128rfa1.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS};\
+m3000:crtm3000.o:${DEV_DEFS}:${CFLAGS_SPACE}:${DEV_ASFLAGS}\
 "
 
 AVR51_DEV_INFO="\

Modified: trunk/avr-libc/doc/api/main_page.dox
===================================================================
--- trunk/avr-libc/doc/api/main_page.dox        2010-03-28 22:36:13 UTC (rev 
2111)
+++ trunk/avr-libc/doc/api/main_page.dox        2010-03-29 05:25:58 UTC (rev 
2112)
@@ -285,6 +285,7 @@
 - at86rf401
 - at90scr100
 - ata6289
+- m3000 \ref supp_dev_footnote_four "[4]"
 
 \par Classic AVR Devices:
 
@@ -317,6 +318,11 @@
 \note <b>[3]</b> The at76c711 is a USB to fast serial interface bridge chip
 using an AVR core.
 
+\anchor supp_dev_footnote_four
+
+\note <b>[4]</b> The m3000 is a motor controller AVR ASIC from Intelligent
+Motion Systems (IMS) / Schneider Electric.
+
 \section license avr-libc License
 
 avr-libc can be freely used and redistributed, provided the following

Modified: trunk/avr-libc/doc/api/using-tools.dox
===================================================================
--- trunk/avr-libc/doc/api/using-tools.dox      2010-03-28 22:36:13 UTC (rev 
2111)
+++ trunk/avr-libc/doc/api/using-tools.dox      2010-03-29 05:25:58 UTC (rev 
2112)
@@ -365,6 +365,7 @@
   <tr><td>avr5</td><td>atmega64c1</td><td>__AVR_ATmega64C1__</td></tr>
   <tr><td>avr5</td><td>atmega64hve</td><td>__AVR_ATmega64HVE__</td></tr>
   <tr><td>avr5</td><td>atmega64m1</td><td>__AVR_ATmega64M1__</td></tr>
+  <tr><td>avr5</td><td>m3000</td><td>__AVR_M3000__</td></tr>
 
   
<tr><td>avr5/avr51&nbsp;[3]</td><td>at90can128</td><td>__AVR_AT90CAN128__</td></tr>
   
<tr><td>avr5/avr51&nbsp;[3]</td><td>at90usb1286</td><td>__AVR_AT90USB1286__</td></tr>

Modified: trunk/avr-libc/include/avr/io.h
===================================================================
--- trunk/avr-libc/include/avr/io.h     2010-03-28 22:36:13 UTC (rev 2111)
+++ trunk/avr-libc/include/avr/io.h     2010-03-29 05:25:58 UTC (rev 2112)
@@ -415,6 +415,8 @@
 #  include <avr/iotn12.h>
 #elif defined (__AVR_ATtiny11__)
 #  include <avr/iotn11.h>
+#elif defined (__AVR_M3000__)
+#  include <avr/iom3000.h>
 #else
 #  if !defined(__COMPILING_AVR_LIBC__)
 #    warning "device type not defined"

Added: trunk/avr-libc/include/avr/iom3000.h
===================================================================
--- trunk/avr-libc/include/avr/iom3000.h                                (rev 0)
+++ trunk/avr-libc/include/avr/iom3000.h        2010-03-29 05:25:58 UTC (rev 
2112)
@@ -0,0 +1,232 @@
+/* Copyright (c) 2010, Atmel Corporation
+   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. */
+
+/* $Id$ */
+
+/* avr/iom3000.h - definitions for M3000 from Intelligent Motion Systems . */
+
+/* This file should only be included from <avr/io.h>, never directly. */
+
+#ifndef _AVR_IO_H_
+#  error "Include <avr/io.h> instead of this file."
+#endif
+
+#ifndef _AVR_IOXXX_H_
+#  define _AVR_IOXXX_H_ "iom3000.h"
+#else
+#  error "Attempt to include more than one <avr/ioXXX.h> file."
+#endif 
+
+
+#ifndef _AVR_IOM3000_H_
+#define _AVR_IOM3000_H_ 1
+
+/* Registers and associated bit numbers */
+
+#define IPD _SFR_IO16(0x00)
+#define IPDL _SFR_IO8(0x00)
+#define IPDH _SFR_IO8(0x01)
+#define IPA _SFR_IO16(0x02)
+#define IPAL _SFR_IO8(0x02)
+#define IPAH _SFR_IO8(0x03)
+#define IPCR _SFR_IO8(0x04)
+#define ADRSLT _SFR_IO16(0x05)
+#define ADRSLTL _SFR_IO8(0x05)  /* Alias. */
+#define ADRSLTH _SFR_IO8(0x06)  /* Alias. */
+#define ADRSLTLO _SFR_IO8(0x05) /* Name according to datasheet. */
+#define ADRSLTHI _SFR_IO8(0x06) /* Name according to datasheet. */
+#define ADCSR _SFR_IO8(0x07)
+#define AMUXCTL _SFR_IO8(0x0B)
+#define MSPCR _SFR_IO8(0x0C)
+#define USPCR _SFR_IO8(0x0C)
+#define MSPSR _SFR_IO8(0x0D)
+#define USPSR _SFR_IO8(0x0D)
+#define MSPDR _SFR_IO8(0x0E)
+#define USPDR _SFR_IO8(0x0E)
+#define WDTCR _SFR_IO8(0x0F)
+#define USR _SFR_IO8(0x11)
+#define UCRA _SFR_IO8(0x12)
+#define UCRB _SFR_IO8(0x13)
+#define UBRR _SFR_IO8(0x14)
+#define UBRRL _SFR_IO8(0x14)  /* Alias. */
+#define UBRRH _SFR_IO8(0x15)  /* Alias. */
+#define UBRRLO _SFR_IO8(0x14) /* Name according to datasheet. */
+#define UBRRHI _SFR_IO8(0x15) /* Name according to datasheet. */
+#define GIFR _SFR_IO8(0x16) 
+#define GIMSK _SFR_IO8(0x17)
+#define DACVAL _SFR_IO16(0x18)
+#define DACVALL _SFR_IO8(0x18)  /* Alias. */
+#define DACVALH _SFR_IO8(0x19)  /* Alias. */
+#define DACVALLO _SFR_IO8(0x18) /* Name according to datasheet. */
+#define DACVALHI _SFR_IO8(0x19) /* Name according to datasheet. */
+#define BGPPIN _SFR_IO8(0x1A)
+#define BGPDDR _SFR_IO8(0x1B)
+#define BGPPORT _SFR_IO8(0x1C)
+#define AGPPIN _SFR_IO8(0x1D)
+#define AGPDDR _SFR_IO8(0x1E)
+#define AGPPORT _SFR_IO8(0x1F)
+#define EXTCCR1A _SFR_IO8(0x20)
+#define EXTCCR1B _SFR_IO8(0x21)
+#define EXTCNT1 _SFR_IO16(0x22)
+#define EXTCNT1L _SFR_IO8(0x22)
+#define EXTCNT1H _SFR_IO8(0x23)
+#define EXOCR1A _SFR_IO16(0x24)
+#define EXOCR1AL _SFR_IO8(0x24)
+#define EXOCR1AH _SFR_IO8(0x25)
+#define EXOCR1B _SFR_IO16(0x26)
+#define EXOCR1BL _SFR_IO8(0x26)
+#define EXOCR1BH _SFR_IO8(0x27)
+#define EXTIFR _SFR_IO8(0x2A)
+#define EXTIMSK _SFR_IO8(0x2B)
+#define EXTCNT _SFR_IO8(0x2C)
+#define EXTCCR0 _SFR_IO8(0x2D)
+#define CGPPIN _SFR_IO8(0x30)
+#define CGPDDR _SFR_IO8(0x31)
+#define CGPPORT _SFR_IO8(0x32)
+#define MCSR _SFR_IO8(0x33)
+
+
+#define CDIVCAN _SFR_MEM8(0x100)
+#define CBTR1 _SFR_MEM8(0x101)
+#define CBTR2 _SFR_MEM8(0x102)
+#define CBTR3 _SFR_MEM8(0x103)
+#define CMCR _SFR_MEM8(0x104)
+#define CRAFEN _SFR_MEM8(0x105)
+#define CTARR _SFR_MEM8(0x106)
+#define CIER _SFR_MEM8(0x107)
+#define CCFLG _SFR_MEM8(0x108)
+#define CCISR _SFR_MEM8(0x109)
+#define CIDAH0 _SFR_MEM8(0x10A)
+#define CIDAH1 _SFR_MEM8(0x10B)
+#define CEFR _SFR_MEM8(0x10C)
+#define CRXERR _SFR_MEM8(0x10D)
+#define CTXERR _SFR_MEM8(0x10E)
+#define CVER _SFR_MEM8(0x10F)
+#define CIDAC0R _SFR_MEM32(0x110)
+#define CIDM0R _SFR_MEM32(0x114)
+#define CIDAC1R _SFR_MEM32(0x118)
+#define CIDM1R _SFR_MEM32(0x11C)
+#define CIDAC2R _SFR_MEM32(0x120)
+#define CIDM2R _SFR_MEM32(0x124)
+#define CIDAC3R _SFR_MEM32(0x128)
+#define CIDM3R _SFR_MEM32(0x12C)
+#define CIDAC4R _SFR_MEM32(0x130)
+#define CIDM4R _SFR_MEM32(0x134)
+#define CIDAC5R _SFR_MEM32(0x138)
+#define CIDM5R _SFR_MEM32(0x13C)
+#define CIDAC6R _SFR_MEM32(0x140)
+#define CIDM6R _SFR_MEM32(0x144)
+#define CTXB0 ((volatile uint8_t [16])(0x150))
+#define CTXB1 ((volatile uint8_t [16])(0x160))
+#define CTXB2 ((volatile uint8_t [16])(0x170))
+#define CRXB0 ((volatile uint8_t [16])(0x180))
+#define CRXB1 ((volatile uint8_t [16])(0x190))
+#define PWMMSK _SFR_MEM8(0x200)
+#define PWMPER _SFR_MEM8(0x201)
+#define PWMSFRQ _SFR_MEM8(0x202)
+#define PWMCTL _SFR_MEM8(0x203)
+#define CURIRUN _SFR_MEM8(0x204)
+#define CURIRED _SFR_MEM8(0x205)
+#define CURRDLY _SFR_MEM16(0x206)
+#define VELLOW1 _SFR_MEM8(0x208)
+#define VELLOW2 _SFR_MEM8(0x209)
+#define VELLOW3 _SFR_MEM8(0x20A)
+#define VELHI1 _SFR_MEM8(0x20B)
+#define VELHI2 _SFR_MEM8(0x20C)
+#define VELHI3 _SFR_MEM8(0x20D)
+#define VELDEC1 _SFR_MEM8(0x20E)
+#define VELDEC2 _SFR_MEM8(0x20F)
+#define VELDEC3 _SFR_MEM8(0x210)
+#define VELACC1 _SFR_MEM8(0x211)
+#define VELACC2 _SFR_MEM8(0x212)
+#define VELACC3 _SFR_MEM8(0x213)
+#define VELCVEL _SFR_MEM8(0x214)
+#define VELCVEL _SFR_MEM8(0x215)
+#define VELCVEL _SFR_MEM8(0x216)
+#define VELTVEL _SFR_MEM8(0x217)
+#define VELTVEL _SFR_MEM8(0x218)
+#define VELTVEL _SFR_MEM8(0x219)
+#define VELVGCTL _SFR_MEM8(0x21A)
+#define VELSTB _SFR_MEM8(0x21B)
+#define VELIFLG _SFR_MEM8(0x21C)
+#define VELIMSK _SFR_MEM8(0x21D)
+#define IDXTRT _SFR_MEM32(0x21E)
+#define IDXENT _SFR_MEM32(0x222)
+#define IDXMSDT _SFR_MEM16(0x226)
+#define IDXPOT _SFR_MEM32(0x228)
+#define IDXPOS _SFR_MEM32(0x22C)
+#define IDXENC _SFR_MEM32(0x230)
+#define IDXCTRL _SFR_MEM8(0x234)
+#define IDXSTRB _SFR_MEM8(0x235)
+#define IDXCPTP _SFR_MEM32(0x236)
+#define IDXIFLG _SFR_MEM8(0x23A)
+#define IDXIMSK _SFR_MEM8(0x23B)
+#define SCIO _SFR_MEM8(0x23C)
+#define SCSW _SFR_MEM8(0x23D)
+#define SCRF _SFR_MEM32(0x23E)
+#define IOF _SFR_MEM8(0x242)
+#define MSELR _SFR_MEM8(0x243)
+#define STAT _SFR_MEM8(0x244)
+#define SPWMCTL _SFR_MEM8(0x245)
+#define SINDAC _SFR_MEM16(0x280)
+#define SINDACL _SFR_MEM8(0x280)
+#define SINDACH _SFR_MEM8(0x281)
+#define COSDAC _SFR_MEM8(0x282)
+#define COSDACL _SFR_MEM8(0x282)
+#define COSDACH _SFR_MEM8(0x283)
+#define GAINDAC _SFR_MEM8(0x284)
+#define DACCTRL _SFR_MEM8(0x285)
+#define INTCCR1A _SFR_MEM8(0x800)
+#define INTCCR1B _SFR_MEM8(0x801)
+#define INTCNT1 _SFR_MEM16(0x802)
+#define INTCNT1L _SFR_MEM8(0x802)
+#define INTCNT1H _SFR_MEM8(0x803)
+#define INOCR1A _SFR_MEM16(0x804)
+#define INOCR1AL _SFR_MEM8(0x804)
+#define INOCR1AH _SFR_MEM8(0x805)
+#define INOCR1B _SFR_MEM16(0x806)  /* Data sheet says 0x807-0x808, but I 
believe this is wrong due to conflict with INTCNT. */
+#define INOCR1BL _SFR_MEM8(0x806)
+#define INOCR1BH _SFR_MEM8(0x807)
+#define INTCNT _SFR_MEM8(0x808)
+#define INTCCR0 _SFR_MEM8(0x809)
+#define INTIFR _SFR_MEM8(0x80A)
+#define INTIMSK _SFR_MEM8(0x80B)
+
+
+/* Constants */
+#define RAMEND       0xFFF    /* Last On-Chip SRAM Location */
+#define E2END        0x0
+#define E2PAGESIZE   0
+#define FLASHEND     0xFFFF
+
+
+
+#endif  /* _AVR_IOM3000_H_ */
+





reply via email to

[Prev in Thread] Current Thread [Next in Thread]