From 330a9c1df63ca5043c468698da0a1853fd6778bb Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Tue, 16 Oct 2007 11:23:51 +0200 Subject: [PATCH 1/7] [AVR32] pcmcia ioaddr_t should be 32 bits on AVR32 Define ioaddr_t as u_int on AVR32 just like on ARM and MIPS. Signed-off-by: Haavard Skinnemoen --- include/pcmcia/cs_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/pcmcia/cs_types.h b/include/pcmcia/cs_types.h index c1d1629fcd27..5f388035687d 100644 --- a/include/pcmcia/cs_types.h +++ b/include/pcmcia/cs_types.h @@ -21,7 +21,7 @@ #include #endif -#if defined(__arm__) || defined(__mips__) +#if defined(__arm__) || defined(__mips__) || defined(__avr32__) /* This (ioaddr_t) is exposed to userspace & hence cannot be changed. */ typedef u_int ioaddr_t; #else From 9797bed20e2257f349872e00840a226f397f8d3a Mon Sep 17 00:00:00 2001 From: Hans-Christian Egtvedt Date: Tue, 30 Oct 2007 14:29:50 +0100 Subject: [PATCH 2/7] Extend I/O resource for wdt0 for at32ap7000 devices This patch extends the I/O resource to 0xfff000cf which will enable the watchdog driver to access the reset cause (RCAUSE) register. Making it capable of reporting boot status. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen --- arch/avr32/mach-at32ap/at32ap7000.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/avr32/mach-at32ap/at32ap7000.c b/arch/avr32/mach-at32ap/at32ap7000.c index a9d9ec081e3d..293f03c5adaa 100644 --- a/arch/avr32/mach-at32ap/at32ap7000.c +++ b/arch/avr32/mach-at32ap/at32ap7000.c @@ -474,7 +474,7 @@ static struct resource at32ap700x_rtc0_resource[] = { static struct resource at32_wdt0_resource[] = { { .start = 0xfff000b0, - .end = 0xfff000bf, + .end = 0xfff000cf, .flags = IORESOURCE_MEM, }, }; From 3a65a69d493c589f4225dc26c19598c00c1de0b4 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Mon, 5 Nov 2007 14:06:51 +0100 Subject: [PATCH 3/7] [AVR32] Turn off debugging in SMC driver Signed-off-by: Haavard Skinnemoen --- arch/avr32/mach-at32ap/hsmc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/avr32/mach-at32ap/hsmc.c b/arch/avr32/mach-at32ap/hsmc.c index 704607fbcc69..fa427ed42787 100644 --- a/arch/avr32/mach-at32ap/hsmc.c +++ b/arch/avr32/mach-at32ap/hsmc.c @@ -7,7 +7,6 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#define DEBUG #include #include #include From 138712218e7582e274990cdf77dc798b2aa4fa99 Mon Sep 17 00:00:00 2001 From: Adrian Bunk Date: Mon, 5 Nov 2007 18:06:12 +0100 Subject: [PATCH 4/7] [AVR32] remove UID16 option avr32 already sees the option from init/Kconfig. Signed-off-by: Adrian Bunk Signed-off-by: Haavard Skinnemoen --- arch/avr32/Kconfig | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index bbecbd8469b5..4f402c924504 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig @@ -19,9 +19,6 @@ config AVR32 There is an AVR32 Linux project with a web page at http://avr32linux.org/. -config UID16 - bool - config GENERIC_GPIO bool default y From 80f76c54bd23c45b37f03a4d49ef4b760430dbcc Mon Sep 17 00:00:00 2001 From: "ben.nizette@iinet.net.au" Date: Wed, 7 Nov 2007 16:16:22 +0900 Subject: [PATCH 5/7] [AVR32] Fix duplicate clock index in at32ap machine code There's a duplicate clock index between USART0 and USART1 which may be causing system crashes when USART0 is used. Change the USART0 index to '3', indicating the clock that is actually used by USART0. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen --- arch/avr32/mach-at32ap/at32ap7000.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/avr32/mach-at32ap/at32ap7000.c b/arch/avr32/mach-at32ap/at32ap7000.c index 293f03c5adaa..7c4388f4f17f 100644 --- a/arch/avr32/mach-at32ap/at32ap7000.c +++ b/arch/avr32/mach-at32ap/at32ap7000.c @@ -690,7 +690,7 @@ static struct resource atmel_usart0_resource[] = { IRQ(6), }; DEFINE_DEV_DATA(atmel_usart, 0); -DEV_CLK(usart, atmel_usart0, pba, 4); +DEV_CLK(usart, atmel_usart0, pba, 3); static struct atmel_uart_data atmel_usart1_data = { .use_dma_tx = 1, From 8fea1ad17f1d7ba0ef6ce7b73ad9dd4562035437 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Wed, 31 Oct 2007 20:32:00 +0100 Subject: [PATCH 6/7] [AVR32] Add missing bit in PCCR sysreg The enable bit was missing... Signed-off-by: Haavard Skinnemoen --- include/asm-avr32/sysreg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/asm-avr32/sysreg.h b/include/asm-avr32/sysreg.h index c02bc8304b13..dd21182b60e0 100644 --- a/include/asm-avr32/sysreg.h +++ b/include/asm-avr32/sysreg.h @@ -215,6 +215,8 @@ #define SYSREG_IRP_SIZE 6 /* Bitfields in PCCR */ +#define SYSREG_PCCR_E_OFFSET 0 +#define SYSREG_PCCR_E_SIZE 1 #define SYSREG_PCCR_R_OFFSET 1 #define SYSREG_PCCR_R_SIZE 1 #define SYSREG_PCCR_C_OFFSET 2 From 597702aeb492fcb8e1b48283e1450df40e928ba0 Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Wed, 31 Oct 2007 20:34:11 +0100 Subject: [PATCH 7/7] [AVR32] Export intc_get_pending symbol Oprofile needs to call intc_get_pending() in order to determine whether a performance counter interrupt is pending. Also, include the header which declares intc_get_pending() and fix the definition to match the prototype. Signed-off-by: Haavard Skinnemoen --- arch/avr32/mach-at32ap/intc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/avr32/mach-at32ap/intc.c b/arch/avr32/mach-at32ap/intc.c index dd5c009cf224..0b286cd53028 100644 --- a/arch/avr32/mach-at32ap/intc.c +++ b/arch/avr32/mach-at32ap/intc.c @@ -13,6 +13,7 @@ #include #include +#include #include #include "intc.h" @@ -136,7 +137,8 @@ void __init init_IRQ(void) panic("Interrupt controller initialization failed!\n"); } -unsigned long intc_get_pending(int group) +unsigned long intc_get_pending(unsigned int group) { return intc_readl(&intc0, INTREQ0 + 4 * group); } +EXPORT_SYMBOL_GPL(intc_get_pending);