diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-09-26 02:32:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-26 11:48:54 -0400 |
commit | 5f97f7f9400de47ae837170bb274e90ad3934386 (patch) | |
tree | 514451e6dc6b46253293a00035d375e77b1c65ed /arch/avr32/Makefile | |
parent | 53e62d3aaa60590d4a69b4e07c29f448b5151047 (diff) |
[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>
Diffstat (limited to 'arch/avr32/Makefile')
-rw-r--r-- | arch/avr32/Makefile | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile new file mode 100644 index 000000000000..cefc95a73980 --- /dev/null +++ b/arch/avr32/Makefile | |||
@@ -0,0 +1,84 @@ | |||
1 | # | ||
2 | # This file is subject to the terms and conditions of the GNU General Public | ||
3 | # License. See the file "COPYING" in the main directory of this archive | ||
4 | # for more details. | ||
5 | # | ||
6 | # Copyright (C) 2004-2006 Atmel Corporation. | ||
7 | |||
8 | # Default target when executing plain make | ||
9 | .PHONY: all | ||
10 | all: uImage vmlinux.elf linux.lst | ||
11 | |||
12 | KBUILD_DEFCONFIG := atstk1002_defconfig | ||
13 | |||
14 | CFLAGS += -pipe -fno-builtin -mno-pic | ||
15 | AFLAGS += -mrelax -mno-pic | ||
16 | CFLAGS_MODULE += -mno-relax | ||
17 | LDFLAGS_vmlinux += --relax | ||
18 | |||
19 | cpuflags-$(CONFIG_CPU_AP7000) += -mcpu=ap7000 | ||
20 | |||
21 | CFLAGS += $(cpuflags-y) | ||
22 | AFLAGS += $(cpuflags-y) | ||
23 | |||
24 | CHECKFLAGS += -D__avr32__ | ||
25 | |||
26 | LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name) | ||
27 | |||
28 | head-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/head.o | ||
29 | head-y += arch/avr32/kernel/head.o | ||
30 | core-$(CONFIG_PLATFORM_AT32AP) += arch/avr32/mach-at32ap/ | ||
31 | core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ | ||
32 | core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/ | ||
33 | core-y += arch/avr32/kernel/ | ||
34 | core-y += arch/avr32/mm/ | ||
35 | libs-y += arch/avr32/lib/ #$(LIBGCC) | ||
36 | |||
37 | archincdir-$(CONFIG_PLATFORM_AT32AP) := arch-at32ap | ||
38 | |||
39 | include/asm-avr32/.arch: $(wildcard include/config/platform/*.h) include/config/auto.conf | ||
40 | @echo ' SYMLINK include/asm-avr32/arch -> include/asm-avr32/$(archincdir-y)' | ||
41 | ifneq ($(KBUILD_SRC),) | ||
42 | $(Q)mkdir -p include/asm-avr32 | ||
43 | $(Q)ln -fsn $(srctree)/include/asm-avr32/$(archincdir-y) include/asm-avr32/arch | ||
44 | else | ||
45 | $(Q)ln -fsn $(archincdir-y) include/asm-avr32/arch | ||
46 | endif | ||
47 | @touch $@ | ||
48 | |||
49 | archprepare: include/asm-avr32/.arch | ||
50 | |||
51 | BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec | ||
52 | |||
53 | .PHONY: $(BOOT_TARGETS) install | ||
54 | |||
55 | boot := arch/$(ARCH)/boot/images | ||
56 | |||
57 | KBUILD_IMAGE := $(boot)/uImage | ||
58 | vmlinux.elf: KBUILD_IMAGE := $(boot)/vmlinux.elf | ||
59 | vmlinux.cso: KBUILD_IMAGE := $(boot)/vmlinux.cso | ||
60 | uImage.srec: KBUILD_IMAGE := $(boot)/uImage.srec | ||
61 | uImage: KBUILD_IMAGE := $(boot)/uImage | ||
62 | |||
63 | quiet_cmd_listing = LST $@ | ||
64 | cmd_listing = avr32-linux-objdump $(OBJDUMPFLAGS) -lS $< > $@ | ||
65 | quiet_cmd_disasm = DIS $@ | ||
66 | cmd_disasm = avr32-linux-objdump $(OBJDUMPFLAGS) -d $< > $@ | ||
67 | |||
68 | vmlinux.elf vmlinux.bin uImage.srec uImage vmlinux.cso: vmlinux | ||
69 | $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ | ||
70 | |||
71 | install: vmlinux | ||
72 | $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ | ||
73 | |||
74 | linux.s: vmlinux | ||
75 | $(call if_changed,disasm) | ||
76 | |||
77 | linux.lst: vmlinux | ||
78 | $(call if_changed,listing) | ||
79 | |||
80 | define archhelp | ||
81 | @echo '* vmlinux.elf - ELF image with load address 0' | ||
82 | @echo ' vmlinux.cso - PathFinder CSO image' | ||
83 | @echo ' uImage - Create a bootable image for U-Boot' | ||
84 | endef | ||