Add AVR32 support for linux-2.6.28.2
This commit is contained in:
parent
d459b1bc3d
commit
b47232e869
@ -3,70 +3,28 @@ choice
|
||||
depends on BR2_KERNEL_ARCH_PATCH_ENABLED
|
||||
depends on BR2_avr32
|
||||
default BR2_ARCH_AVR32_2_6_27_6 if BR2_LINUX_2_6_27_6
|
||||
default BR2_ARCH_AVR32_2_6_25_10 if BR2_LINUX_2_6_25
|
||||
default BR2_ARCH_AVR32_2_6_24 if BR2_LINUX_2_6_24
|
||||
default BR2_ARCH_AVR32_2_6_23 if BR2_LINUX_2_6_23
|
||||
default BR2_ARCH_AVR32_2_6_22_10 if BR2_LINUX_2_6_22 || BR2_LINUX_2_6_22_10
|
||||
default BR2_ARCH_AVR32_2_6_22_1 if BR2_LINUX_2_6_22_1
|
||||
default BR2_ARCH_AVR32_2_6_21_5 if BR2_LINUX_2_6_21 || BR2_LINUX_2_6_21_5
|
||||
default BR2_ARCH_AVR32_2_6_20_4 if BR2_LINUX_2_6_20 || BR2_LINUX_2_6_20_4
|
||||
default BR2_ARCH_AVR32_2_6_24
|
||||
default BR2_ARCH_AVR32_2_6_28_2
|
||||
help
|
||||
Select a patch to add to the Linux kernel
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_28_2
|
||||
bool "2.6.28.2"
|
||||
help
|
||||
Apply the avr32 linux-2.6.28.2 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_27_6
|
||||
bool "2.6.27.6"
|
||||
help
|
||||
Apply the avr32 linux-2.6.27.6 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_25_10
|
||||
bool "2.6.25.10"
|
||||
help
|
||||
Apply the avr32 linux-2.6.25.10 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_24
|
||||
bool "2.6.24"
|
||||
help
|
||||
Apply the avr32 linux-2.6.24 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_23
|
||||
bool "2.6.23"
|
||||
help
|
||||
Apply the avr32 linux-2.6.23 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_22_10
|
||||
bool "2.6.22.10"
|
||||
help
|
||||
Apply the avr32 linux-2.6.22.10 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_22_1
|
||||
bool "2.6.22.1"
|
||||
help
|
||||
Apply the avr32 linux-2.6.22.1 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_21_5
|
||||
bool "2.6.21.5"
|
||||
help
|
||||
Apply the avr32 linux-2.6.21.5 patches
|
||||
|
||||
config BR2_ARCH_AVR32_2_6_20_4
|
||||
bool "2.6.20.4"
|
||||
help
|
||||
Apply the avr32 linux-2.6.20.4 patches
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_KERNEL_ARCH_PATCH_VERSION
|
||||
string
|
||||
depends on BR2_KERNEL_ARCH_PATCH_ENABLED
|
||||
depends on BR2_avr32
|
||||
default "2.6.28.2" if BR2_ARCH_AVR32_2_6_28_2
|
||||
default "2.6.27.6" if BR2_ARCH_AVR32_2_6_27_6
|
||||
default "2.6.25.10" if BR2_ARCH_AVR32_2_6_25_10
|
||||
default "2.6.24" if BR2_ARCH_AVR32_2_6_24
|
||||
default "2.6.22.10" if BR2_ARCH_AVR32_2_6_22_10
|
||||
default "2.6.22.1" if BR2_ARCH_AVR32_2_6_22_1
|
||||
default "2.6.21.5" if BR2_ARCH_AVR32_2_6_21_5
|
||||
default "2.6.20.4" if BR2_ARCH_AVR32_2_6_20_4
|
||||
|
||||
config BR2_KERNEL_ARCH_PATCH_DIR
|
||||
string
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@
|
||||
From f26e2224d46430ac4f6c0ddeb518f5766ba62b16 Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
|
||||
Date: Wed, 26 Nov 2008 14:10:45 +0100
|
||||
Subject: [PATCH 2/3] atmel_mpopfb: remove define DEBUG to disable debug output
|
||||
|
||||
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
|
||||
|
||||
diff --git a/drivers/video/atmel_mpopfb.c b/drivers/video/atmel_mpopfb.c
|
||||
index 0a07f7b..3b4b668 100644
|
||||
--- a/drivers/video/atmel_mpopfb.c
|
||||
+++ b/drivers/video/atmel_mpopfb.c
|
||||
@@ -8,8 +8,6 @@
|
||||
* more details.
|
||||
*/
|
||||
|
||||
-#define DEBUG
|
||||
-
|
||||
#include <linux/clk.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
--
|
||||
1.5.6.3
|
||||
|
@ -0,0 +1,43 @@
|
||||
diff -urN linux-2.6.28.2-0rig//drivers/video/atmel_mpopfb.c linux-2.6.28.2/drivers/video/atmel_mpopfb.c
|
||||
--- linux-2.6.28.2-0rig//drivers/video/atmel_mpopfb.c 2009-01-29 09:41:04.000000000 +0100
|
||||
+++ linux-2.6.28.2/drivers/video/atmel_mpopfb.c 2009-01-29 09:43:46.000000000 +0100
|
||||
@@ -315,6 +315,10 @@
|
||||
static void atmel_mpopfb_start(struct atmel_mpopfb_info *sinfo)
|
||||
{
|
||||
if (!sinfo->running) {
|
||||
+ unsigned int line_cache_disable =
|
||||
+ sinfo->baseimg_info.line_cache_disable ?
|
||||
+ ATMEL_MPOP_CR_CACHEDIS_MASK : 0;
|
||||
+
|
||||
dev_dbg(sinfo->info->device, " * Starting MPOP.\n");
|
||||
|
||||
/* Enable all error interrupts. */
|
||||
@@ -325,9 +329,9 @@
|
||||
* reading from the slave interface it will start
|
||||
* generating a frame.
|
||||
*/
|
||||
- mpop_writel(sinfo, ATMEL_MPOP_CR,
|
||||
- ATMEL_MPOP_CR_EN_MASK
|
||||
- /*| ATMEL_MPOP_CR_OUT_BGR_MASK */ );
|
||||
+ mpop_writel(sinfo, ATMEL_MPOP_CR, ATMEL_MPOP_CR_EN_MASK
|
||||
+ | line_cache_disable
|
||||
+ | ATMEL_MPOP_CR_OUT_BGR_MASK);
|
||||
|
||||
sinfo->running = 1;
|
||||
}
|
||||
diff -urN linux-2.6.28.2-0rig//include/linux/atmel_mpopfb.h linux-2.6.28.2/include/linux/atmel_mpopfb.h
|
||||
--- linux-2.6.28.2-0rig//include/linux/atmel_mpopfb.h 2009-01-29 09:41:04.000000000 +0100
|
||||
+++ linux-2.6.28.2/include/linux/atmel_mpopfb.h 2009-01-29 09:43:46.000000000 +0100
|
||||
@@ -42,9 +42,11 @@
|
||||
unsigned xsize;
|
||||
unsigned ysize;
|
||||
|
||||
- /* Signal that we should flip the video. */
|
||||
+ /* Signal for flipping the video. */
|
||||
int flip;
|
||||
|
||||
+ /* Signal for disabling the line cache. */
|
||||
+ int line_cache_disable;
|
||||
};
|
||||
|
||||
enum atmel_mpopfb_overlay_type {
|
@ -0,0 +1,35 @@
|
||||
Index: linux-2.6.27.6/arch/avr32/include/asm/byteorder.h
|
||||
===================================================================
|
||||
--- linux-2.6.27.6.orig/arch/avr32/include/asm/byteorder.h 2008-11-28 16:47:15.000000000 +0100
|
||||
+++ linux-2.6.27.6/arch/avr32/include/asm/byteorder.h 2008-11-28 16:47:31.000000000 +0100
|
||||
@@ -7,8 +7,9 @@
|
||||
#include <asm/types.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
-#define __BIG_ENDIAN
|
||||
+#define __BIG_ENDIAN 4321
|
||||
#define __SWAB_64_THRU_32__
|
||||
+#define __BYTEORDER_HAS_U64__
|
||||
|
||||
#ifdef __CHECKER__
|
||||
extern unsigned long __builtin_bswap_32(unsigned long x);
|
||||
@@ -33,5 +34,5 @@
|
||||
#define __arch_swab32 __arch_swab32
|
||||
#endif
|
||||
|
||||
-#include <linux/byteorder.h>
|
||||
+#include <linux/byteorder/big_endian.h>
|
||||
#endif /* __ASM_AVR32_BYTEORDER_H */
|
||||
Index: linux-2.6.27.6/arch/avr32/mach-at32ap/include/mach/io.h
|
||||
===================================================================
|
||||
--- linux-2.6.27.6.orig/arch/avr32/mach-at32ap/include/mach/io.h 2008-11-28 16:47:58.000000000 +0100
|
||||
+++ linux-2.6.27.6/arch/avr32/mach-at32ap/include/mach/io.h 2008-11-28 16:48:15.000000000 +0100
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef __ASM_AVR32_ARCH_AT32AP_IO_H
|
||||
#define __ASM_AVR32_ARCH_AT32AP_IO_H
|
||||
|
||||
-#include <linux/swab.h>
|
||||
+#include <linux/byteorder/swabb.h>
|
||||
|
||||
#if defined(CONFIG_AP700X_32_BIT_SMC)
|
||||
# define __swizzle_addr_b(addr) (addr ^ 3UL)
|
@ -0,0 +1,33 @@
|
||||
diff -urN linux-2.6.28.2-0rig//arch/avr32/boards/atstk1000/atstk1002.c linux-2.6.28.2/arch/avr32/boards/atstk1000/atstk1002.c
|
||||
--- linux-2.6.28.2-0rig//arch/avr32/boards/atstk1000/atstk1002.c 2009-01-29 08:39:35.000000000 +0100
|
||||
+++ linux-2.6.28.2/arch/avr32/boards/atstk1000/atstk1002.c 2009-01-29 09:50:56.000000000 +0100
|
||||
@@ -99,6 +99,7 @@
|
||||
static struct atmel_nand_data atstk1006_nand_data __initdata = {
|
||||
.cle = 21,
|
||||
.ale = 22,
|
||||
+ .det_pin = GPIO_PIN_NONE,
|
||||
.rdy_pin = GPIO_PIN_PB(30),
|
||||
.enable_pin = GPIO_PIN_PB(29),
|
||||
.partition_info = nand_part_info,
|
||||
diff -urN linux-2.6.28.2-0rig//arch/avr32/mach-at32ap/at32ap700x.c linux-2.6.28.2/arch/avr32/mach-at32ap/at32ap700x.c
|
||||
--- linux-2.6.28.2-0rig//arch/avr32/mach-at32ap/at32ap700x.c 2009-01-29 09:41:04.000000000 +0100
|
||||
+++ linux-2.6.28.2/arch/avr32/mach-at32ap/at32ap700x.c 2009-01-29 09:50:56.000000000 +0100
|
||||
@@ -1972,13 +1972,14 @@
|
||||
goto fail;
|
||||
|
||||
hmatrix_sfr_set_bits(HMATRIX_SLAVE_EBI, HMATRIX_EBI_NAND_ENABLE);
|
||||
- if (data->enable_pin)
|
||||
+
|
||||
+ if (gpio_is_valid(data->enable_pin))
|
||||
at32_select_gpio(data->enable_pin,
|
||||
AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH);
|
||||
- if (data->rdy_pin)
|
||||
- at32_select_gpio(data->rdy_pin, 0);
|
||||
- if (data->det_pin)
|
||||
+ if (gpio_is_valid(data->det_pin))
|
||||
at32_select_gpio(data->det_pin, 0);
|
||||
+ if (gpio_is_valid(data->rdy_pin))
|
||||
+ at32_select_gpio(data->rdy_pin, 0);
|
||||
|
||||
platform_device_add(pdev);
|
||||
return pdev;
|
Loading…
Reference in New Issue
Block a user