diff --git a/CREDITS b/CREDITS index c5626bf06264..5d09c26d69cd 100644 --- a/CREDITS +++ b/CREDITS @@ -1034,6 +1034,10 @@ S: 2037 Walnut #6 S: Boulder, Colorado 80302 S: USA +N: Hans-Christian Noren Egtvedt +E: egtvedt@samfundet.no +D: AVR32 architecture maintainer. + N: Heiko Eißfeldt E: heiko@colossus.escape.de heiko@unifix.de D: verify_area stuff, generic SCSI fixes @@ -3398,6 +3402,10 @@ S: Suite 101 S: Markham, Ontario L3R 2Z6 S: Canada +N: Haavard Skinnemoen +M: Haavard Skinnemoen +D: AVR32 architecture port to Linux and maintainer. + N: Rick Sladkey E: jrs@world.std.com D: utility hacker: Emacs, NFS server, mount, kmem-ps, UPS debugger, strace, GDB diff --git a/MAINTAINERS b/MAINTAINERS index 38d3e4ed7208..91c5fdbe5674 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2327,21 +2327,6 @@ S: Maintained F: drivers/auxdisplay/ F: include/linux/cfag12864b.h -AVR32 ARCHITECTURE -M: Haavard Skinnemoen -M: Hans-Christian Egtvedt -W: http://www.atmel.com/products/AVR32/ -W: http://mirror.egtvedt.no/avr32linux.org/ -W: http://avrfreaks.net/ -S: Maintained -F: arch/avr32/ - -AVR32/AT32AP MACHINE SUPPORT -M: Haavard Skinnemoen -M: Hans-Christian Egtvedt -S: Maintained -F: arch/avr32/mach-at32ap/ - AX.25 NETWORK LAYER M: Ralf Baechle L: linux-hams@vger.kernel.org diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig deleted file mode 100644 index 7e75d45e20cd..000000000000 --- a/arch/avr32/Kconfig +++ /dev/null @@ -1,288 +0,0 @@ -config AVR32 - def_bool y - # With EXPERT=n, we get lots of stuff automatically selected - # that we usually don't need on AVR32. - select EXPERT - select HAVE_CLK - select HAVE_EXIT_THREAD - select HAVE_OPROFILE - select HAVE_KPROBES - select VIRT_TO_BUS - select GENERIC_IRQ_PROBE - select GENERIC_ATOMIC64 - select HARDIRQS_SW_RESEND - select GENERIC_IRQ_SHOW - select ARCH_HAVE_CUSTOM_GPIO_H - select ARCH_WANT_IPC_PARSE_VERSION - select ARCH_HAVE_NMI_SAFE_CMPXCHG - select GENERIC_CLOCKEVENTS - select HAVE_MOD_ARCH_SPECIFIC - select MODULES_USE_ELF_RELA - select HAVE_NMI - help - AVR32 is a high-performance 32-bit RISC microprocessor core, - designed for cost-sensitive embedded applications, with particular - emphasis on low power consumption and high code density. - - There is an AVR32 Linux project with a web page at - http://avr32linux.org/. - -config STACKTRACE_SUPPORT - def_bool y - -config LOCKDEP_SUPPORT - def_bool y - -config TRACE_IRQFLAGS_SUPPORT - def_bool y - -config RWSEM_GENERIC_SPINLOCK - def_bool y - -config RWSEM_XCHGADD_ALGORITHM - def_bool n - -config ARCH_HAS_ILOG2_U32 - def_bool n - -config ARCH_HAS_ILOG2_U64 - def_bool n - -config GENERIC_HWEIGHT - def_bool y - -config GENERIC_CALIBRATE_DELAY - def_bool y - -config GENERIC_BUG - def_bool y - depends on BUG - -source "init/Kconfig" - -source "kernel/Kconfig.freezer" - -menu "System Type and features" - -config SUBARCH_AVR32B - bool -config MMU - bool -config PERFORMANCE_COUNTERS - bool - -config PLATFORM_AT32AP - bool - select SUBARCH_AVR32B - select MMU - select PERFORMANCE_COUNTERS - select GPIOLIB - select GENERIC_ALLOCATOR - select HAVE_FB_ATMEL - -# -# CPU types -# - -# AP7000 derivatives -config CPU_AT32AP700X - bool - select PLATFORM_AT32AP -config CPU_AT32AP7000 - bool - select CPU_AT32AP700X -config CPU_AT32AP7001 - bool - select CPU_AT32AP700X -config CPU_AT32AP7002 - bool - select CPU_AT32AP700X - -# AP700X boards -config BOARD_ATNGW100_COMMON - bool - select CPU_AT32AP7000 - -choice - prompt "AVR32 board type" - default BOARD_ATSTK1000 - -config BOARD_ATSTK1000 - bool "ATSTK1000 evaluation board" - -config BOARD_ATNGW100_MKI - bool "ATNGW100 Network Gateway" - select BOARD_ATNGW100_COMMON - -config BOARD_ATNGW100_MKII - bool "ATNGW100 mkII Network Gateway" - select BOARD_ATNGW100_COMMON - -config BOARD_HAMMERHEAD - bool "Hammerhead board" - select CPU_AT32AP7000 - select USB_ARCH_HAS_HCD - help - The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel. - It offers versatile peripherals, such as ethernet, usb device, usb host etc. - - The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered - Device (PD). - - Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is - mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which - will cover even the most exceptional need of memory bandwidth. Together with the onboard - video decoder the board is ready for video processing. - - For more information see: http://www.miromico.ch/index.php/hammerhead.html - -config BOARD_FAVR_32 - bool "Favr-32 LCD-board" - select CPU_AT32AP7000 - -config BOARD_MERISC - bool "Merisc board" - select CPU_AT32AP7000 - help - Merisc is the family name for a range of AVR32-based boards. - - The boards are designed to be used in a man-machine - interfacing environment, utilizing a touch-based graphical - user interface. They host a vast range of I/O peripherals as - well as a large SDRAM & Flash memory bank. - - For more information see: http://www.martinsson.se/merisc - -config BOARD_MIMC200 - bool "MIMC200 CPU board" - select CPU_AT32AP7000 -endchoice - -source "arch/avr32/boards/atstk1000/Kconfig" -source "arch/avr32/boards/atngw100/Kconfig" -source "arch/avr32/boards/hammerhead/Kconfig" -source "arch/avr32/boards/favr-32/Kconfig" -source "arch/avr32/boards/merisc/Kconfig" - -choice - prompt "Boot loader type" - default LOADER_U_BOOT - -config LOADER_U_BOOT - bool "U-Boot (or similar) bootloader" -endchoice - -source "arch/avr32/mach-at32ap/Kconfig" - -config LOAD_ADDRESS - hex - default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y - -config ENTRY_ADDRESS - hex - default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y - -config PHYS_OFFSET - hex - default 0x10000000 if CPU_AT32AP700X=y - -source "kernel/Kconfig.preempt" - -config QUICKLIST - def_bool y - -config ARCH_HAVE_MEMORY_PRESENT - def_bool n - -config NEED_NODE_MEMMAP_SIZE - def_bool n - -config ARCH_FLATMEM_ENABLE - def_bool y - -config ARCH_DISCONTIGMEM_ENABLE - def_bool n - -config ARCH_SPARSEMEM_ENABLE - def_bool n - -config NODES_SHIFT - int - default "2" - depends on NEED_MULTIPLE_NODES - -source "mm/Kconfig" - -config OWNERSHIP_TRACE - bool "Ownership trace support" - default y - help - Say Y to generate an Ownership Trace message on every context switch, - enabling Nexus-compliant debuggers to keep track of the PID of the - currently executing task. - -config NMI_DEBUGGING - bool "NMI Debugging" - default n - help - Say Y here and pass the nmi_debug command-line parameter to - the kernel to turn on NMI debugging. Depending on the value - of the nmi_debug option, various pieces of information will - be dumped to the console when a Non-Maskable Interrupt - happens. - -# FPU emulation goes here - -source "kernel/Kconfig.hz" - -config CMDLINE - string "Default kernel command line" - default "" - help - If you don't have a boot loader capable of passing a command line string - to the kernel, you may specify one here. As a minimum, you should specify - the memory size and the root device (e.g., mem=8M, root=/dev/nfs). - -endmenu - -menu "Power management options" - -source "kernel/power/Kconfig" - -config ARCH_SUSPEND_POSSIBLE - def_bool y - -menu "CPU Frequency scaling" -source "drivers/cpufreq/Kconfig" -endmenu - -endmenu - -menu "Bus options" - -config PCI - bool - -source "drivers/pci/Kconfig" - -source "drivers/pcmcia/Kconfig" - -endmenu - -menu "Executable file formats" -source "fs/Kconfig.binfmt" -endmenu - -source "net/Kconfig" - -source "drivers/Kconfig" - -source "fs/Kconfig" - -source "arch/avr32/Kconfig.debug" - -source "security/Kconfig" - -source "crypto/Kconfig" - -source "lib/Kconfig" diff --git a/arch/avr32/Kconfig.debug b/arch/avr32/Kconfig.debug deleted file mode 100644 index 2283933a9a93..000000000000 --- a/arch/avr32/Kconfig.debug +++ /dev/null @@ -1,9 +0,0 @@ -menu "Kernel hacking" - -config TRACE_IRQFLAGS_SUPPORT - bool - default y - -source "lib/Kconfig.debug" - -endmenu diff --git a/arch/avr32/Makefile b/arch/avr32/Makefile deleted file mode 100644 index dba48a5d5bb9..000000000000 --- a/arch/avr32/Makefile +++ /dev/null @@ -1,84 +0,0 @@ -# -# This file is subject to the terms and conditions of the GNU General Public -# License. See the file "COPYING" in the main directory of this archive -# for more details. -# -# Copyright (C) 2004-2006 Atmel Corporation. - -# Default target when executing plain make -.PHONY: all -all: uImage vmlinux.elf - -KBUILD_DEFCONFIG := atstk1002_defconfig - -KBUILD_CFLAGS += -pipe -fno-builtin -mno-pic -D__linux__ -KBUILD_AFLAGS += -mrelax -mno-pic -KBUILD_CFLAGS_MODULE += -mno-relax -LDFLAGS_vmlinux += --relax - -cpuflags-$(CONFIG_PLATFORM_AT32AP) += -march=ap - -KBUILD_CFLAGS += $(cpuflags-y) -KBUILD_AFLAGS += $(cpuflags-y) - -CHECKFLAGS += -D__avr32__ -D__BIG_ENDIAN - -machine-$(CONFIG_PLATFORM_AT32AP) := at32ap -machdirs := $(patsubst %,arch/avr32/mach-%/, $(machine-y)) - -KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) - -head-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/head.o -head-y += arch/avr32/kernel/head.o -core-y += $(machdirs) -core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ -core-$(CONFIG_BOARD_ATNGW100_COMMON) += arch/avr32/boards/atngw100/ -core-$(CONFIG_BOARD_HAMMERHEAD) += arch/avr32/boards/hammerhead/ -core-$(CONFIG_BOARD_FAVR_32) += arch/avr32/boards/favr-32/ -core-$(CONFIG_BOARD_MERISC) += arch/avr32/boards/merisc/ -core-$(CONFIG_BOARD_MIMC200) += arch/avr32/boards/mimc200/ -core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/ -core-y += arch/avr32/kernel/ -core-y += arch/avr32/mm/ -drivers-$(CONFIG_OPROFILE) += arch/avr32/oprofile/ -libs-y += arch/avr32/lib/ - -BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec - -.PHONY: $(BOOT_TARGETS) install - -boot := arch/$(ARCH)/boot/images - - KBUILD_IMAGE := $(boot)/uImage -vmlinux.elf: KBUILD_IMAGE := $(boot)/vmlinux.elf -vmlinux.cso: KBUILD_IMAGE := $(boot)/vmlinux.cso -uImage.srec: KBUILD_IMAGE := $(boot)/uImage.srec -uImage: KBUILD_IMAGE := $(boot)/uImage - -quiet_cmd_listing = LST $@ - cmd_listing = avr32-linux-objdump $(OBJDUMPFLAGS) -lS $< > $@ -quiet_cmd_disasm = DIS $@ - cmd_disasm = avr32-linux-objdump $(OBJDUMPFLAGS) -d $< > $@ - -vmlinux.elf vmlinux.bin uImage.srec uImage vmlinux.cso: vmlinux - $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ - -install: vmlinux - $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ - -vmlinux.s: vmlinux - $(call if_changed,disasm) - -vmlinux.lst: vmlinux - $(call if_changed,listing) - -CLEAN_FILES += vmlinux.s vmlinux.lst - -archclean: - $(Q)$(MAKE) $(clean)=$(boot) - -define archhelp - @echo '* vmlinux.elf - ELF image with load address 0' - @echo ' vmlinux.cso - PathFinder CSO image' - @echo '* uImage - Create a bootable image for U-Boot' -endef diff --git a/arch/avr32/boards/atngw100/Kconfig b/arch/avr32/boards/atngw100/Kconfig deleted file mode 100644 index 4e55617ade2d..000000000000 --- a/arch/avr32/boards/atngw100/Kconfig +++ /dev/null @@ -1,65 +0,0 @@ -# NGW100 customization - -if BOARD_ATNGW100_COMMON - -config BOARD_ATNGW100_MKII_LCD - bool "Enable ATNGW100 mkII LCD interface" - depends on BOARD_ATNGW100_MKII - help - This enables the LCD controller (LCDC) in the AT32AP7000. Since the - LCDC is multiplexed with MACB1 (LAN) Ethernet port, only one can be - enabled at a time. - - This choice enables the LCDC and disables the MACB1 interface marked - LAN on the PCB. - -choice - prompt "Select an NGW100 add-on board to support" - default BOARD_ATNGW100_ADDON_NONE - -config BOARD_ATNGW100_ADDON_NONE - bool "None" - -config BOARD_ATNGW100_EVKLCD10X - bool "EVKLCD10X addon board" - depends on BOARD_ATNGW100_MKI || BOARD_ATNGW100_MKII_LCD - help - This enables support for the EVKLCD100 (QVGA) or EVKLCD101 (VGA) - addon board for the NGW100 and NGW100 mkII. By enabling this the LCD - controller and AC97 controller is added as platform devices. - -config BOARD_ATNGW100_MRMT - bool "Mediama RMT1/2 add-on board" - help - This enables support for the Mediama RMT1 or RMT2 board. - RMT provides LCD support, AC97 codec and other - optional peripherals to the Atmel NGW100. - - This choice disables the detect pin and the write-protect pin for the - MCI platform device, since it conflicts with the LCD platform device. - The MCI pins can be reenabled by editing the "add device function" but - this may break the setup for other displays that use these pins. - -endchoice - -choice - prompt "LCD panel resolution on EVKLCD10X" - depends on BOARD_ATNGW100_EVKLCD10X - default BOARD_ATNGW100_EVKLCD10X_VGA - -config BOARD_ATNGW100_EVKLCD10X_QVGA - bool "QVGA (320x240)" - -config BOARD_ATNGW100_EVKLCD10X_VGA - bool "VGA (640x480)" - -config BOARD_ATNGW100_EVKLCD10X_POW_QVGA - bool "Powertip QVGA (320x240)" - -endchoice - -if BOARD_ATNGW100_MRMT -source "arch/avr32/boards/atngw100/Kconfig_mrmt" -endif - -endif # BOARD_ATNGW100_COMMON diff --git a/arch/avr32/boards/atngw100/Kconfig_mrmt b/arch/avr32/boards/atngw100/Kconfig_mrmt deleted file mode 100644 index 9a199a207f3c..000000000000 --- a/arch/avr32/boards/atngw100/Kconfig_mrmt +++ /dev/null @@ -1,80 +0,0 @@ -# RMT for NGW100 customization - -choice - prompt "RMT Version" - help - Select the RMTx board version. - -config BOARD_MRMT_REV1 - bool "RMT1" -config BOARD_MRMT_REV2 - bool "RMT2" - -endchoice - -config BOARD_MRMT_AC97 - bool "Enable AC97 CODEC" - help - Enable the UCB1400 AC97 CODEC driver. - -choice - prompt "Touchscreen Driver" - default BOARD_MRMT_ADS7846_TS - -config BOARD_MRMT_UCB1400_TS - bool "Use UCB1400 Touchscreen" - -config BOARD_MRMT_ADS7846_TS - bool "Use ADS7846 Touchscreen" - -endchoice - -choice - prompt "RMTx LCD Selection" - default BOARD_MRMT_LCD_DISABLE - -config BOARD_MRMT_LCD_DISABLE - bool "LCD Disabled" - -config BOARD_MRMT_LCD_LQ043T3DX0X - bool "Sharp LQ043T3DX0x or compatible" - help - If using RMT2, be sure to load the resistor pack selectors accordingly - -if BOARD_MRMT_REV2 -config BOARD_MRMT_LCD_KWH043GM08 - bool "Formike KWH043GM08 or compatible" - help - Be sure to load the RMT2 resistor pack selectors accordingly -endif - -endchoice - -if !BOARD_MRMT_LCD_DISABLE -config BOARD_MRMT_BL_PWM - bool "Use PWM control for LCD Backlight" - help - Use PWM driver for controlling LCD Backlight. - Otherwise, LCD Backlight is always on. -endif - -config BOARD_MRMT_RTC_I2C - bool "Use External RTC on I2C Bus" - help - RMT1 has an optional RTC device on the I2C bus. - It is a SII S35390A. Be sure to select the - matching RTC driver. - -choice - prompt "Wireless Module on ttyS2" - default BOARD_MRMT_WIRELESS_ZB - -config BOARD_MRMT_WIRELESS_ZB - bool "Use ZigBee/802.15.4 Module" - -config BOARD_MRMT_WIRELESS_BT - bool "Use Bluetooth (HCI) Module" - -config BOARD_MRMT_WIRELESS_NONE - bool "Not Installed" -endchoice diff --git a/arch/avr32/boards/atngw100/Makefile b/arch/avr32/boards/atngw100/Makefile deleted file mode 100644 index f4ebe42a8254..000000000000 --- a/arch/avr32/boards/atngw100/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -obj-y += setup.o flash.o -obj-$(CONFIG_BOARD_ATNGW100_EVKLCD10X) += evklcd10x.o -obj-$(CONFIG_BOARD_ATNGW100_MRMT) += mrmt.o diff --git a/arch/avr32/boards/atngw100/evklcd10x.c b/arch/avr32/boards/atngw100/evklcd10x.c deleted file mode 100644 index 64919b0da7aa..000000000000 --- a/arch/avr32/boards/atngw100/evklcd10x.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Board-specific setup code for the ATEVKLCD10X addon board to the ATNGW100 - * Network Gateway - * - * Copyright (C) 2008 Atmel Corporation - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published by - * the Free Software Foundation. - */ - -#include -#include -#include -#include -#include - -#include