First patches to get to .21 kernel
[openwrt/svn-archive/archive.git] / target / linux / at91-2.6 / patches / 001-vlink-machine.patch
index 2c602bf8e9a3d2fae0658d17296991bfb2ea75ad..1c12db3553396bfeb7bfb2a6cfbfcc0671a27808 100644 (file)
@@ -1,28 +1,27 @@
-diff -Naur linux-2.6.19.1/arch/arm/boot/compressed/head-at91rm9200.S linux/arch/arm/boot/compressed/head-at91rm9200.S
---- linux-2.6.19.1/arch/arm/boot/compressed/head-at91rm9200.S  2006-12-11 20:32:53.000000000 +0100
-+++ linux/arch/arm/boot/compressed/head-at91rm9200.S   2007-01-20 10:26:21.000000000 +0100
+--- linux-2.6.21.1.orig/arch/arm/boot/compressed/head-at91rm9200.S     2007-05-28 12:22:29.000000000 +0200
++++ linux-2.6.21.1/arch/arm/boot/compressed/head-at91rm9200.S  2007-05-28 12:52:16.000000000 +0200
 @@ -61,6 +61,12 @@
                cmp     r7, r3
                beq     99f
  
-+    @ FDL Versalink : 1053
-+    mov   r3, #(MACH_TYPE_VLINK & 0xff)
-+    orr r3, r3, #(MACH_TYPE_VLINK & 0xff00)
-+    cmp r7, r3
-+    beq 99f
-+                                              
++              @ FDL Versalink : 1053
++              mov   r3, #(MACH_TYPE_VLINK & 0xff)
++              orr r3, r3, #(MACH_TYPE_VLINK & 0xff00)
++              cmp r7, r3
++              beq 99f
++
                @ Ajeco 1ARM : 1075
                mov     r3,     #(MACH_TYPE_ONEARM & 0xff)
                orr     r3, r3, #(MACH_TYPE_ONEARM & 0xff00)
-diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/mach-at91rm9200/board-vlink.c
---- linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux/arch/arm/mach-at91rm9200/board-vlink.c       2007-01-19 21:18:00.000000000 +0100
-@@ -0,0 +1,144 @@
+--- linux-2.6.21.1.orig/arch/arm/mach-at91/board-vlink.c       1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.21.1/arch/arm/mach-at91/board-vlink.c    2007-05-28 13:09:54.000000000 +0200
+@@ -0,0 +1,160 @@
 +/*
-+ * linux/arch/arm/mach-at91rm9200/board-ek.c
++ * linux/arch/arm/mach-at91/board-vlink.c
++ *
++ *  Copyright (C) 2005 SAN People
++ *  Copyright (C) 2006,2007 Guthrie Consulting
 + *
-+ *  Copyright (C) 2006,2007 Hamish Guthrie
-+ *                          Guthrie Consulting.
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
@@ -45,6 +44,7 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +#include <linux/module.h>
 +#include <linux/platform_device.h>
 +#include <linux/spi/spi.h>
++#include <linux/mtd/physmap.h>
 +
 +#include <asm/hardware.h>
 +#include <asm/setup.h>
@@ -57,6 +57,7 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +
 +#include <asm/arch/board.h>
 +#include <asm/arch/gpio.h>
++#include <asm/arch/at91rm9200_mc.h>
 +
 +#include "generic.h"
 +
@@ -89,7 +90,7 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +      at91rm9200_init_interrupts(NULL);
 +}
 +
-+static struct eth_platform_data __initdata vlink_eth_data = {
++static struct at91_eth_data __initdata vlink_eth_data = {
 +      .phy_irq_pin    = AT91_PIN_PC4,
 +      .is_rmii        = 1,
 +};
@@ -103,13 +104,12 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +      .pullup_pin     = AT91_PIN_PD5,
 +};
 +
-+/*static struct at91_mmc_data __initdata ek_mmc_data = {
-+      .det_pin        = AT91_PIN_PB27,
-+      .is_b           = 0,
++static struct at91_mmc_data __initdata vlink_mmc_data = {
++//    .det_pin        = AT91_PIN_PB27,
++      .slot_b         = 0,
 +      .wire4          = 1,
-+      .wp_pin         = AT91_PIN_PA17,
++//    .wp_pin         = AT91_PIN_PA17,
 +};
-+*/
 +
 +static struct spi_board_info vlink_spi_devices[] = {
 +      {       /* DataFlash chip */
@@ -126,6 +126,19 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +#endif
 +};
 +
++static struct at91_gpio_led vlink_leds[] = {
++      {
++              .name           = "led0",
++              .gpio           = AT91_PIN_PB1,
++              .trigger        = "heartbeat",
++      },
++      {
++              .name           = "led1",
++              .gpio           = AT91_PIN_PB2,
++              .trigger        = "timer",
++      }
++};
++
 +static void __init vlink_board_init(void)
 +{
 +      /* Serial */
@@ -147,9 +160,10 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +#else
 +      /* MMC */
 +//    at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */
-+//    at91_add_device_mmc(&vlink_mmc_data);
++      at91_add_device_mmc(0, &vlink_mmc_data);
 +#endif
-+      /* VGA */
++      /* LEDs */
++      at91_gpio_leds(vlink_leds, ARRAY_SIZE(vlink_leds));
 +}
 +
 +MACHINE_START(VLINK, "FDL VersaLink")
@@ -162,12 +176,11 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/board-vlink.c linux/arch/arm/
 +      .init_irq       = vlink_init_irq,
 +      .init_machine   = vlink_board_init,
 +MACHINE_END
-diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/Kconfig linux/arch/arm/mach-at91rm9200/Kconfig
---- linux-2.6.19.1/arch/arm/mach-at91rm9200/Kconfig    2006-12-11 20:32:53.000000000 +0100
-+++ linux/arch/arm/mach-at91rm9200/Kconfig     2007-01-19 21:17:49.000000000 +0100
-@@ -82,6 +82,12 @@
+--- linux-2.6.21.1.orig/arch/arm/mach-at91/Kconfig     2007-05-28 12:22:29.000000000 +0200
++++ linux-2.6.21.1/arch/arm/mach-at91/Kconfig  2007-05-28 13:11:45.000000000 +0200
+@@ -96,6 +96,12 @@
        help
-         Select this if you are using Sperry-Sun's KAFA board.
+         Select this if you are using Promwad's Chub board.
  
 +config MACH_VLINK
 +      bool "Figment Design Labs VersaLink"
@@ -178,14 +191,21 @@ diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/Kconfig linux/arch/arm/mach-a
  endif
  
  # ----------------------------------------------------------
-diff -Naur linux-2.6.19.1/arch/arm/mach-at91rm9200/Makefile linux/arch/arm/mach-at91rm9200/Makefile
---- linux-2.6.19.1/arch/arm/mach-at91rm9200/Makefile   2006-12-11 20:32:53.000000000 +0100
-+++ linux/arch/arm/mach-at91rm9200/Makefile    2007-01-19 21:17:42.000000000 +0100
-@@ -24,6 +24,7 @@
- obj-$(CONFIG_MACH_KB9200)     += board-kb9202.o
+--- linux-2.6.21.1.orig/arch/arm/mach-at91/Makefile    2007-05-28 12:22:29.000000000 +0200
++++ linux-2.6.21.1/arch/arm/mach-at91/Makefile 2007-05-28 13:13:15.000000000 +0200
+@@ -29,6 +29,7 @@
  obj-$(CONFIG_MACH_ATEB9200)   += board-eb9200.o
  obj-$(CONFIG_MACH_KAFA)               += board-kafa.o
-+obj-$(CONFIG_MACH_VLINK)  += board-vlink.o
+ obj-$(CONFIG_MACH_CHUB)               += board-chub.o
++obj-$(CONFIG_MACH_VLINK)      += board-vlink.o
  
  # AT91SAM9260 board-specific support
+ obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
+@@ -51,6 +52,7 @@
+ led-$(CONFIG_MACH_CSB637)     += leds.o
+ led-$(CONFIG_MACH_KB9200)     += leds.o
+ led-$(CONFIG_MACH_KAFA)               += leds.o
++led-$(CONFIG_MACH_VLINK)      += leds.o
+ obj-$(CONFIG_LEDS) += $(led-y)
  
+ # VGA support