[PATCH] avr32 architecture
authorHaavard Skinnemoen <hskinnemoen@atmel.com>
Tue, 26 Sep 2006 06:32:13 +0000 (23:32 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 26 Sep 2006 15:48:54 +0000 (08:48 -0700)
commit5f97f7f9400de47ae837170bb274e90ad3934386
tree514451e6dc6b46253293a00035d375e77b1c65ed
parent53e62d3aaa60590d4a69b4e07c29f448b5151047
[PATCH] avr32 architecture

This adds support for the Atmel AVR32 architecture as well as the AT32AP7000
CPU and the AT32STK1000 development board.

AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for
cost-sensitive embedded applications, with particular emphasis on low power
consumption and high code density.  The AVR32 architecture is not binary
compatible with earlier 8-bit AVR architectures.

The AVR32 architecture, including the instruction set, is described by the
AVR32 Architecture Manual, available from

http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf

The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture.  It
features a 7-stage pipeline, 16KB instruction and data caches and a full
Memory Management Unit.  It also comes with a large set of integrated
peripherals, many of which are shared with the AT91 ARM-based controllers from
Atmel.

Full data sheet is available from

http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf

while the CPU core implementation including caches and MMU is documented by
the AVR32 AP Technical Reference, available from

http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf

Information about the AT32STK1000 development board can be found at

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918

including a BSP CD image with an earlier version of this patch, development
tools (binaries and source/patches) and a root filesystem image suitable for
booting from SD card.

Alternatively, there's a preliminary "getting started" guide available at
http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links
to the sources and patches you will need in order to set up a cross-compiling
environment for avr32-linux.

This patch, as well as the other patches included with the BSP and the
toolchain patches, is actively supported by Atmel Corporation.

[dmccr@us.ibm.com: Fix more pxx_page macro locations]
[bunk@stusta.de: fix `make defconfig']
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave McCracken <dmccr@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
176 files changed:
MAINTAINERS
arch/avr32/Kconfig [new file with mode: 0644]
arch/avr32/Kconfig.debug [new file with mode: 0644]
arch/avr32/Makefile [new file with mode: 0644]
arch/avr32/boards/atstk1000/Makefile [new file with mode: 0644]
arch/avr32/boards/atstk1000/atstk1002.c [new file with mode: 0644]
arch/avr32/boards/atstk1000/setup.c [new file with mode: 0644]
arch/avr32/boards/atstk1000/spi.c [new file with mode: 0644]
arch/avr32/boot/images/Makefile [new file with mode: 0644]
arch/avr32/boot/u-boot/Makefile [new file with mode: 0644]
arch/avr32/boot/u-boot/empty.S [new file with mode: 0644]
arch/avr32/boot/u-boot/head.S [new file with mode: 0644]
arch/avr32/configs/atstk1002_defconfig [new file with mode: 0644]
arch/avr32/kernel/Makefile [new file with mode: 0644]
arch/avr32/kernel/asm-offsets.c [new file with mode: 0644]
arch/avr32/kernel/avr32_ksyms.c [new file with mode: 0644]
arch/avr32/kernel/cpu.c [new file with mode: 0644]
arch/avr32/kernel/entry-avr32b.S [new file with mode: 0644]
arch/avr32/kernel/head.S [new file with mode: 0644]
arch/avr32/kernel/init_task.c [new file with mode: 0644]
arch/avr32/kernel/irq.c [new file with mode: 0644]
arch/avr32/kernel/kprobes.c [new file with mode: 0644]
arch/avr32/kernel/module.c [new file with mode: 0644]
arch/avr32/kernel/process.c [new file with mode: 0644]
arch/avr32/kernel/ptrace.c [new file with mode: 0644]
arch/avr32/kernel/semaphore.c [new file with mode: 0644]
arch/avr32/kernel/setup.c [new file with mode: 0644]
arch/avr32/kernel/signal.c [new file with mode: 0644]
arch/avr32/kernel/switch_to.S [new file with mode: 0644]
arch/avr32/kernel/sys_avr32.c [new file with mode: 0644]
arch/avr32/kernel/syscall-stubs.S [new file with mode: 0644]
arch/avr32/kernel/syscall_table.S [new file with mode: 0644]
arch/avr32/kernel/time.c [new file with mode: 0644]
arch/avr32/kernel/traps.c [new file with mode: 0644]
arch/avr32/kernel/vmlinux.lds.c [new file with mode: 0644]
arch/avr32/lib/Makefile [new file with mode: 0644]
arch/avr32/lib/__avr32_asr64.S [new file with mode: 0644]
arch/avr32/lib/__avr32_lsl64.S [new file with mode: 0644]
arch/avr32/lib/__avr32_lsr64.S [new file with mode: 0644]
arch/avr32/lib/clear_user.S [new file with mode: 0644]
arch/avr32/lib/copy_user.S [new file with mode: 0644]
arch/avr32/lib/csum_partial.S [new file with mode: 0644]
arch/avr32/lib/csum_partial_copy_generic.S [new file with mode: 0644]
arch/avr32/lib/delay.c [new file with mode: 0644]
arch/avr32/lib/findbit.S [new file with mode: 0644]
arch/avr32/lib/io-readsl.S [new file with mode: 0644]
arch/avr32/lib/io-readsw.S [new file with mode: 0644]
arch/avr32/lib/io-writesl.S [new file with mode: 0644]
arch/avr32/lib/io-writesw.S [new file with mode: 0644]
arch/avr32/lib/libgcc.h [new file with mode: 0644]
arch/avr32/lib/longlong.h [new file with mode: 0644]
arch/avr32/lib/memcpy.S [new file with mode: 0644]
arch/avr32/lib/memset.S [new file with mode: 0644]
arch/avr32/lib/strncpy_from_user.S [new file with mode: 0644]
arch/avr32/lib/strnlen_user.S [new file with mode: 0644]
arch/avr32/mach-at32ap/Makefile [new file with mode: 0644]
arch/avr32/mach-at32ap/at32ap.c [new file with mode: 0644]
arch/avr32/mach-at32ap/at32ap7000.c [new file with mode: 0644]
arch/avr32/mach-at32ap/clock.c [new file with mode: 0644]
arch/avr32/mach-at32ap/clock.h [new file with mode: 0644]
arch/avr32/mach-at32ap/extint.c [new file with mode: 0644]
arch/avr32/mach-at32ap/intc.c [new file with mode: 0644]
arch/avr32/mach-at32ap/intc.h [new file with mode: 0644]
arch/avr32/mach-at32ap/pio.c [new file with mode: 0644]
arch/avr32/mach-at32ap/pio.h [new file with mode: 0644]
arch/avr32/mach-at32ap/sm.c [new file with mode: 0644]
arch/avr32/mach-at32ap/sm.h [new file with mode: 0644]
arch/avr32/mm/Makefile [new file with mode: 0644]
arch/avr32/mm/cache.c [new file with mode: 0644]
arch/avr32/mm/clear_page.S [new file with mode: 0644]
arch/avr32/mm/copy_page.S [new file with mode: 0644]
arch/avr32/mm/dma-coherent.c [new file with mode: 0644]
arch/avr32/mm/fault.c [new file with mode: 0644]
arch/avr32/mm/init.c [new file with mode: 0644]
arch/avr32/mm/ioremap.c [new file with mode: 0644]
arch/avr32/mm/tlb.c [new file with mode: 0644]
include/asm-avr32/Kbuild [new file with mode: 0644]
include/asm-avr32/a.out.h [new file with mode: 0644]
include/asm-avr32/addrspace.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/at91rm9200_pdc.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/at91rm9200_usart.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/board.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/init.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/portmux.h [new file with mode: 0644]
include/asm-avr32/arch-at32ap/sm.h [new file with mode: 0644]
include/asm-avr32/asm.h [new file with mode: 0644]
include/asm-avr32/atomic.h [new file with mode: 0644]
include/asm-avr32/auxvec.h [new file with mode: 0644]
include/asm-avr32/bitops.h [new file with mode: 0644]
include/asm-avr32/bug.h [new file with mode: 0644]
include/asm-avr32/bugs.h [new file with mode: 0644]
include/asm-avr32/byteorder.h [new file with mode: 0644]
include/asm-avr32/cache.h [new file with mode: 0644]
include/asm-avr32/cachectl.h [new file with mode: 0644]
include/asm-avr32/cacheflush.h [new file with mode: 0644]
include/asm-avr32/checksum.h [new file with mode: 0644]
include/asm-avr32/cputime.h [new file with mode: 0644]
include/asm-avr32/current.h [new file with mode: 0644]
include/asm-avr32/delay.h [new file with mode: 0644]
include/asm-avr32/div64.h [new file with mode: 0644]
include/asm-avr32/dma-mapping.h [new file with mode: 0644]
include/asm-avr32/dma.h [new file with mode: 0644]
include/asm-avr32/elf.h [new file with mode: 0644]
include/asm-avr32/emergency-restart.h [new file with mode: 0644]
include/asm-avr32/errno.h [new file with mode: 0644]
include/asm-avr32/fcntl.h [new file with mode: 0644]
include/asm-avr32/futex.h [new file with mode: 0644]
include/asm-avr32/hardirq.h [new file with mode: 0644]
include/asm-avr32/hw_irq.h [new file with mode: 0644]
include/asm-avr32/intc.h [new file with mode: 0644]
include/asm-avr32/io.h [new file with mode: 0644]
include/asm-avr32/ioctl.h [new file with mode: 0644]
include/asm-avr32/ioctls.h [new file with mode: 0644]
include/asm-avr32/ipcbuf.h [new file with mode: 0644]
include/asm-avr32/irq.h [new file with mode: 0644]
include/asm-avr32/irqflags.h [new file with mode: 0644]
include/asm-avr32/kdebug.h [new file with mode: 0644]
include/asm-avr32/kmap_types.h [new file with mode: 0644]
include/asm-avr32/kprobes.h [new file with mode: 0644]
include/asm-avr32/linkage.h [new file with mode: 0644]
include/asm-avr32/local.h [new file with mode: 0644]
include/asm-avr32/mach/serial_at91.h [new file with mode: 0644]
include/asm-avr32/mman.h [new file with mode: 0644]
include/asm-avr32/mmu.h [new file with mode: 0644]
include/asm-avr32/mmu_context.h [new file with mode: 0644]
include/asm-avr32/module.h [new file with mode: 0644]
include/asm-avr32/msgbuf.h [new file with mode: 0644]
include/asm-avr32/mutex.h [new file with mode: 0644]
include/asm-avr32/namei.h [new file with mode: 0644]
include/asm-avr32/numnodes.h [new file with mode: 0644]
include/asm-avr32/ocd.h [new file with mode: 0644]
include/asm-avr32/page.h [new file with mode: 0644]
include/asm-avr32/param.h [new file with mode: 0644]
include/asm-avr32/pci.h [new file with mode: 0644]
include/asm-avr32/percpu.h [new file with mode: 0644]
include/asm-avr32/pgalloc.h [new file with mode: 0644]
include/asm-avr32/pgtable-2level.h [new file with mode: 0644]
include/asm-avr32/pgtable.h [new file with mode: 0644]
include/asm-avr32/poll.h [new file with mode: 0644]
include/asm-avr32/posix_types.h [new file with mode: 0644]
include/asm-avr32/processor.h [new file with mode: 0644]
include/asm-avr32/ptrace.h [new file with mode: 0644]
include/asm-avr32/resource.h [new file with mode: 0644]
include/asm-avr32/scatterlist.h [new file with mode: 0644]
include/asm-avr32/sections.h [new file with mode: 0644]
include/asm-avr32/semaphore.h [new file with mode: 0644]
include/asm-avr32/sembuf.h [new file with mode: 0644]
include/asm-avr32/setup.h [new file with mode: 0644]
include/asm-avr32/shmbuf.h [new file with mode: 0644]
include/asm-avr32/shmparam.h [new file with mode: 0644]
include/asm-avr32/sigcontext.h [new file with mode: 0644]
include/asm-avr32/siginfo.h [new file with mode: 0644]
include/asm-avr32/signal.h [new file with mode: 0644]
include/asm-avr32/socket.h [new file with mode: 0644]
include/asm-avr32/sockios.h [new file with mode: 0644]
include/asm-avr32/stat.h [new file with mode: 0644]
include/asm-avr32/statfs.h [new file with mode: 0644]
include/asm-avr32/string.h [new file with mode: 0644]
include/asm-avr32/sysreg.h [new file with mode: 0644]
include/asm-avr32/system.h [new file with mode: 0644]
include/asm-avr32/termbits.h [new file with mode: 0644]
include/asm-avr32/termios.h [new file with mode: 0644]
include/asm-avr32/thread_info.h [new file with mode: 0644]
include/asm-avr32/timex.h [new file with mode: 0644]
include/asm-avr32/tlb.h [new file with mode: 0644]
include/asm-avr32/tlbflush.h [new file with mode: 0644]
include/asm-avr32/topology.h [new file with mode: 0644]
include/asm-avr32/traps.h [new file with mode: 0644]
include/asm-avr32/types.h [new file with mode: 0644]
include/asm-avr32/uaccess.h [new file with mode: 0644]
include/asm-avr32/ucontext.h [new file with mode: 0644]
include/asm-avr32/unaligned.h [new file with mode: 0644]
include/asm-avr32/unistd.h [new file with mode: 0644]
include/asm-avr32/user.h [new file with mode: 0644]
include/linux/elf-em.h
lib/Kconfig.debug