Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/hskinnemoen/avr32-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  [AVR32] extint: Set initial irq type to low level
  [AVR32] extint: change set_irq_type() handling
  [AVR32] NMI debugging
  [AVR32] constify function pointer tables
  [AVR32] ATNGW100: Update defconfig
  [AVR32] ATSTK1002: Update defconfig
  [AVR32] Kconfig: Choose daughterboard instead of CPU
  [AVR32] Add support for ATSTK1003 and ATSTK1004
  [AVR32] Clean up external DAC setup code
  [AVR32] ATSTK1000: Move gpio-leds setup to setup.c
  [AVR32] Add support for AT32AP7001 and AT32AP7002
  [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg
  [AVR32] Oprofile support
  [AVR32] Include instrumentation menu
  Disable VGA text console for AVR32 architecture
  [AVR32] Enable debugging only when needed
  ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME
  [AVR32] Remove redundant try_to_freeze() call from do_signal()
  [AVR32] Drop GFP_COMP for DMA memory allocations
  • Loading branch information
Linus Torvalds committed Jan 25, 2008
2 parents e07dd2a + d6c49a7 commit 7556afa
Show file tree
Hide file tree
Showing 46 changed files with 3,579 additions and 517 deletions.
5 changes: 5 additions & 0 deletions Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ parameter is applicable:
ALSA ALSA sound support is enabled.
APIC APIC support is enabled.
APM Advanced Power Management support is enabled.
AVR32 AVR32 architecture is enabled.
AX25 Appropriate AX.25 support is enabled.
BLACKFIN Blackfin architecture is enabled.
DRM Direct Rendering Management support is enabled.
Expand Down Expand Up @@ -1123,6 +1124,10 @@ and is between 256 and 4096 characters. It is defined in the file
of returning the full 64-bit number.
The default is to return 64-bit inode numbers.

nmi_debug= [KNL,AVR32] Specify one or more actions to take
when a NMI is triggered.
Format: [state][,regs][,debounce][,die]

nmi_watchdog= [KNL,BUGS=X86-32] Debugging features for SMP kernels

no387 [BUGS=X86-32] Tells the kernel to use the 387 maths
Expand Down
47 changes: 33 additions & 14 deletions arch/avr32/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ config ARCH_HAS_ILOG2_U32
config ARCH_HAS_ILOG2_U64
def_bool n

config ARCH_SUPPORTS_OPROFILE
def_bool y

config GENERIC_HWEIGHT
def_bool y

Expand Down Expand Up @@ -81,30 +84,34 @@ config PLATFORM_AT32AP
select MMU
select PERFORMANCE_COUNTERS

choice
prompt "AVR32 CPU type"
default CPU_AT32AP7000
#
# CPU types
#

config CPU_AT32AP7000
bool "AT32AP7000"
# AP7000 derivatives
config CPU_AT32AP700X
bool
select PLATFORM_AT32AP
endchoice

#
# CPU Daughterboards for ATSTK1000
config BOARD_ATSTK1002
config CPU_AT32AP7000
bool
select CPU_AT32AP700X
config CPU_AT32AP7001
bool
select CPU_AT32AP700X
config CPU_AT32AP7002
bool
select CPU_AT32AP700X

choice
prompt "AVR32 board type"
default BOARD_ATSTK1000

config BOARD_ATSTK1000
bool "ATSTK1000 evaluation board"
select BOARD_ATSTK1002 if CPU_AT32AP7000

config BOARD_ATNGW100
bool "ATNGW100 Network Gateway"
select CPU_AT32AP7000
endchoice

if BOARD_ATSTK1000
Expand All @@ -123,15 +130,15 @@ source "arch/avr32/mach-at32ap/Kconfig"

config LOAD_ADDRESS
hex
default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP7000=y
default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y

config ENTRY_ADDRESS
hex
default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP7000=y
default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y

config PHYS_OFFSET
hex
default 0x10000000 if CPU_AT32AP7000=y
default 0x10000000 if CPU_AT32AP700X=y

source "kernel/Kconfig.preempt"

Expand Down Expand Up @@ -163,6 +170,16 @@ config OWNERSHIP_TRACE
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"
Expand Down Expand Up @@ -219,6 +236,8 @@ source "drivers/Kconfig"

source "fs/Kconfig"

source "kernel/Kconfig.instrumentation"

source "arch/avr32/Kconfig.debug"

source "security/Kconfig"
Expand Down
10 changes: 0 additions & 10 deletions arch/avr32/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,4 @@ config TRACE_IRQFLAGS_SUPPORT

source "lib/Kconfig.debug"

config KPROBES
bool "Kprobes"
depends on DEBUG_KERNEL
help
Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N".

endmenu
3 changes: 2 additions & 1 deletion arch/avr32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ KBUILD_AFLAGS += -mrelax -mno-pic
CFLAGS_MODULE += -mno-relax
LDFLAGS_vmlinux += --relax

cpuflags-$(CONFIG_CPU_AT32AP7000) += -mcpu=ap7000
cpuflags-$(CONFIG_PLATFORM_AT32AP) += -march=ap

KBUILD_CFLAGS += $(cpuflags-y)
KBUILD_AFLAGS += $(cpuflags-y)
Expand All @@ -31,6 +31,7 @@ core-$(CONFIG_BOARD_ATNGW100) += arch/avr32/boards/atngw100/
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/

archincdir-$(CONFIG_PLATFORM_AT32AP) := arch-at32ap
Expand Down
2 changes: 1 addition & 1 deletion arch/avr32/boards/atngw100/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#include <asm/io.h>
#include <asm/setup.h>

#include <asm/arch/at32ap7000.h>
#include <asm/arch/at32ap700x.h>
#include <asm/arch/board.h>
#include <asm/arch/init.h>
#include <asm/arch/portmux.h>
Expand Down
58 changes: 42 additions & 16 deletions arch/avr32/boards/atstk1000/Kconfig
Original file line number Diff line number Diff line change
@@ -1,79 +1,105 @@
# STK1000 customization

if BOARD_ATSTK1002
if BOARD_ATSTK1000

config BOARD_ATSTK1002_CUSTOM
bool "Non-default STK-1002 jumper settings"
choice
prompt "ATSTK1000 CPU daughterboard type"
default BOARD_ATSTK1002

config BOARD_ATSTK1002
bool "ATSTK1002"
select CPU_AT32AP7000

config BOARD_ATSTK1003
bool "ATSTK1003"
select CPU_AT32AP7001

config BOARD_ATSTK1004
bool "ATSTK1004"
select CPU_AT32AP7002

endchoice


config BOARD_ATSTK100X_CUSTOM
bool "Non-default STK1002/STK1003/STK1004 jumper settings"
help
You will normally leave the jumpers on the CPU card at their
default settings. If you need to use certain peripherals,
you will need to change some of those jumpers.

if BOARD_ATSTK1002_CUSTOM
if BOARD_ATSTK100X_CUSTOM

config BOARD_ATSTK1002_SW1_CUSTOM
config BOARD_ATSTK100X_SW1_CUSTOM
bool "SW1: use SSC1 (not SPI0)"
help
This also prevents using the external DAC as an audio interface,
and means you can't initialize the on-board QVGA display.

config BOARD_ATSTK1002_SW2_CUSTOM
config BOARD_ATSTK100X_SW2_CUSTOM
bool "SW2: use IRDA or TIMER0 (not UART-A, MMC/SD, and PS2-A)"
help
If you change this you'll want an updated boot loader putting
the console on UART-C not UART-A.

config BOARD_ATSTK1002_SW3_CUSTOM
config BOARD_ATSTK100X_SW3_CUSTOM
bool "SW3: use TIMER1 (not SSC0 and GCLK)"
help
This also prevents using the external DAC as an audio interface.

config BOARD_ATSTK1002_SW4_CUSTOM
config BOARD_ATSTK100X_SW4_CUSTOM
bool "SW4: use ISI/Camera (not GPIOs, SPI1, and PS2-B)"
help
To use the camera interface you'll need a custom card (on the
PCI-format connector) connect a video sensor.

config BOARD_ATSTK1002_SW5_CUSTOM
bool "SW5: use MACB1 (not LCDC)"
depends on BOARD_ATSTK1002

config BOARD_ATSTK1002_SW6_CUSTOM
bool "SW6: more GPIOs (not MACB0)"
depends on BOARD_ATSTK1002

endif # custom

config BOARD_ATSTK1002_SPI1
config BOARD_ATSTK100X_SPI1
bool "Configure SPI1 controller"
depends on !BOARD_ATSTK1002_SW4_CUSTOM
depends on !BOARD_ATSTK100X_SW4_CUSTOM
help
All the signals for the second SPI controller are available on
GPIO lines and accessed through the J1 jumper block. Say "y"
here to configure that SPI controller.

config BOARD_ATSTK1002_J2_LED
config BOARD_ATSTK1000_J2_LED
bool
default BOARD_ATSTK1002_J2_LED8 || BOARD_ATSTK1002_J2_RGB
default BOARD_ATSTK1000_J2_LED8 || BOARD_ATSTK1000_J2_RGB

choice
prompt "LEDs connected to J2:"
depends on LEDS_GPIO && !BOARD_ATSTK1002_SW4_CUSTOM
depends on LEDS_GPIO && !BOARD_ATSTK100X_SW4_CUSTOM
optional
help
Select this if you have jumpered the J2 jumper block to the
LED0..LED7 amber leds, or to the RGB leds, using a ten-pin
IDC cable. A default "heartbeat" trigger is provided, but
you can of course override this.

config BOARD_ATSTK1002_J2_LED8
config BOARD_ATSTK1000_J2_LED8
bool "LED0..LED7"
help
Select this if J2 is jumpered to LED0..LED7 amber leds.

config BOARD_ATSTK1002_J2_RGB
config BOARD_ATSTK1000_J2_RGB
bool "RGB leds"
help
Select this if J2 is jumpered to the RGB leds.

endchoice

endif # stk 1002
config BOARD_ATSTK1000_EXTDAC
bool
depends on !BOARD_ATSTK100X_SW1_CUSTOM && !BOARD_ATSTK100X_SW3_CUSTOM
default y

endif # stk 1000
2 changes: 2 additions & 0 deletions arch/avr32/boards/atstk1000/Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
obj-y += setup.o flash.o
obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o
obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o
obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o
2 changes: 2 additions & 0 deletions arch/avr32/boards/atstk1000/atstk1000.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@

extern struct atmel_lcdfb_info atstk1000_lcdc_data;

void atstk1000_setup_j2_leds(void);

#endif /* __ARCH_AVR32_BOARDS_ATSTK1000_ATSTK1000_H */
Loading

0 comments on commit 7556afa

Please sign in to comment.