From 34d362d1a7c6c28b7a2d7c364972ef14091b29b9 Mon Sep 17 00:00:00 2001 From: Hamish Guthrie Date: Fri, 4 Jul 2008 16:05:00 +0000 Subject: First stage of update for at91 devices to 2.6.25.10 kernel SVN-Revision: 11631 --- .../at91/patches-2.6.25/000-at91patches.patch | 13136 +++++++++++++++++++ .../at91/patches-2.6.25/001-vlink-machine.patch | 229 + .../at91/patches-2.6.25/007-mtd-partition.patch | 42 + .../linux/at91/patches-2.6.25/008-fdl-serial.patch | 161 + .../at91/patches-2.6.25/009-fdl-uartinit.patch | 34 + .../at91/patches-2.6.25/010-dm9161a-phyfix.patch | 30 + .../at91/patches-2.6.25/014-initpartition.patch | 20 + 7 files changed, 13652 insertions(+) create mode 100644 target/linux/at91/patches-2.6.25/000-at91patches.patch create mode 100644 target/linux/at91/patches-2.6.25/001-vlink-machine.patch create mode 100644 target/linux/at91/patches-2.6.25/007-mtd-partition.patch create mode 100644 target/linux/at91/patches-2.6.25/008-fdl-serial.patch create mode 100644 target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch create mode 100644 target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch create mode 100644 target/linux/at91/patches-2.6.25/014-initpartition.patch (limited to 'target/linux/at91/patches-2.6.25') diff --git a/target/linux/at91/patches-2.6.25/000-at91patches.patch b/target/linux/at91/patches-2.6.25/000-at91patches.patch new file mode 100644 index 0000000000..b522a30021 --- /dev/null +++ b/target/linux/at91/patches-2.6.25/000-at91patches.patch @@ -0,0 +1,13136 @@ +diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Kconfig linux-2.6/arch/arm/mach-at91/Kconfig +--- linux-2.6.25/arch/arm/mach-at91/Kconfig 2008-05-03 00:15:44.000000000 +0200 ++++ linux-2.6/arch/arm/mach-at91/Kconfig 2008-04-25 21:15:43.000000000 +0200 +@@ -12,18 +12,28 @@ + + config ARCH_AT91SAM9260 + bool "AT91SAM9260 or AT91SAM9XE" ++ select GENERIC_TIME ++ select GENERIC_CLOCKEVENTS + + config ARCH_AT91SAM9261 + bool "AT91SAM9261" ++ select GENERIC_TIME ++ select GENERIC_CLOCKEVENTS + + config ARCH_AT91SAM9263 + bool "AT91SAM9263" ++ select GENERIC_TIME ++ select GENERIC_CLOCKEVENTS + + config ARCH_AT91SAM9RL + bool "AT91SAM9RL" ++ select GENERIC_TIME ++ select GENERIC_CLOCKEVENTS + + config ARCH_AT91CAP9 + bool "AT91CAP9" ++ select GENERIC_TIME ++ select GENERIC_CLOCKEVENTS + + config ARCH_AT91X40 + bool "AT91x40" +@@ -45,7 +55,7 @@ + depends on ARCH_AT91RM9200 + help + Select this if you are using Ajeco's 1ARM Single Board Computer. +- ++ + + config ARCH_AT91RM9200DK + bool "Atmel AT91RM9200-DK Development board" +@@ -94,7 +104,7 @@ + depends on ARCH_AT91RM9200 + help + Select this if you are using KwikByte's KB920x board. +- ++ + + config MACH_PICOTUX2XX + bool "picotux 200" +@@ -109,6 +119,38 @@ + help + Select this if you are using Sperry-Sun's KAFA board. + ++config MACH_CHUB ++ bool "Promwad Chub board" ++ depends on ARCH_AT91RM9200 ++ help ++ Select this if you are using Promwad's Chub board. ++ ++config MACH_HOMEMATIC ++ bool "eQ-3 HomeMatic" ++ depends on ARCH_AT91RM9200 ++ help ++ Select this if you are using eQ-3's HomeMatic device. ++ ++ ++config MACH_ECBAT91 ++ bool "emQbit ECB_AT91 SBC" ++ depends on ARCH_AT91RM9200 ++ help ++ Select this if you are using emQbit's ECB_AT91 board. ++ ++ ++config MACH_SWEDATMS ++ bool "Sweda TMS Board" ++ depends on ARCH_AT91RM9200 ++ help ++ Select this if you are using Sweda TMS-100 board. ++ ++config MACH_TT9200 ++ bool "Toptech TT9200" ++ depends on ARCH_AT91RM9200 ++ help ++ Select this if you are using Toptech's TT9200 board. ++ + endif + + # ---------------------------------------------------------- +@@ -133,6 +175,34 @@ + Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit + + ++config MACH_CAM60 ++ bool "KwikByte KB9260 (CAM60) board" ++ depends on ARCH_AT91SAM9260 ++ help ++ Select this if you are using KwikByte's KB9260 (CAM60) board based on the Atmel AT91SAM9260. ++ ++ ++config MACH_SAM9_L9260 ++ bool "Olimex SAM9-L9260 board" ++ depends on ARCH_AT91SAM9260 ++ help ++ Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260. ++ ++ ++config MACH_USB_A9260 ++ bool "CALAO USB-A9260" ++ depends on ARCH_AT91SAM9260 ++ help ++ Select this if you are using a Calao Systems USB-A9260. ++ ++ ++config MACH_QIL_A9260 ++ bool "CALAO QIL-A9260 board" ++ depends on ARCH_AT91SAM9260 ++ help ++ Select this if you are using a Calao Systems QIL-A9260 Board. ++ ++ + endif + + # ---------------------------------------------------------- +@@ -163,6 +233,13 @@ + Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. + + ++config MACH_USB_A9263 ++ bool "CALAO USB-A9263" ++ depends on ARCH_AT91SAM9263 ++ help ++ Select this if you are using a Calao Systems USB-A9263. ++ ++ + endif + + # ---------------------------------------------------------- +@@ -216,7 +293,7 @@ + + config MTD_AT91_DATAFLASH_CARD + bool "Enable DataFlash Card support" +- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91CAP9ADK) ++ depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK) + help + Enable support for the DataFlash card. + +@@ -237,6 +314,19 @@ + Select this if you need to program one or more of the PCK0..PCK3 + programmable clock outputs. + ++config AT91_SLOW_CLOCK ++ bool "Suspend-to-RAM disables main oscillator" ++ depends on SUSPEND ++ help ++ Select this if you want Suspend-to-RAM to save the most power ++ possible (without powering off the CPU) by disabling the PLLs ++ and main oscillator so that only the 32 KiHz clock is available. ++ ++ When only that slow-clock is available, some peripherals lose ++ functionality. Many can't issue wakeup events unless faster ++ clocks are available. Some lose their operating state and ++ need to be completely re-initialized. ++ + config AT91_TIMER_HZ + int "Kernel HZ (jiffies per second)" + range 32 1024 +diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/Makefile linux-2.6/arch/arm/mach-at91/Makefile +--- linux-2.6.25/arch/arm/mach-at91/Makefile 2008-05-03 00:15:44.000000000 +0200 ++++ linux-2.6/arch/arm/mach-at91/Makefile 2008-04-25 21:15:43.000000000 +0200 +@@ -28,16 +28,26 @@ + obj-$(CONFIG_MACH_KB9200) += board-kb9202.o + obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o + obj-$(CONFIG_MACH_KAFA) += board-kafa.o ++obj-$(CONFIG_MACH_CHUB) += board-chub.o + obj-$(CONFIG_MACH_PICOTUX2XX) += board-picotux200.o ++obj-$(CONFIG_MACH_HOMEMATIC) += board-homematic.o ++obj-$(CONFIG_MACH_ECBAT91) += board-ecbat91.o ++obj-$(CONFIG_MACH_SWEDATMS) += board-tms.o ++obj-$(CONFIG_MACH_TT9200) += board-tt9200.o + + # AT91SAM9260 board-specific support + obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o ++obj-$(CONFIG_MACH_CAM60) += board-cam60.o ++obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o ++obj-$(CONFIG_MACH_USB_A9260) += board-usb-a9260.o ++obj-$(CONFIG_MACH_QIL_A9260) += board-qil-a9260.o + + # AT91SAM9261 board-specific support + obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o + + # AT91SAM9263 board-specific support + obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o ++obj-$(CONFIG_MACH_USB_A9263) += board-usb-a9263.o + + # AT91SAM9RL board-specific support + obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o +@@ -50,9 +60,11 @@ + + # Drivers + obj-y += leds.o ++obj-$(CONFIG_FB_S1D13XXX) += ics1523.o + + # Power Management + obj-$(CONFIG_PM) += pm.o ++obj-$(CONFIG_AT91_SLOW_CLOCK) += pm_slowclock.o + + ifeq ($(CONFIG_PM_DEBUG),y) + CFLAGS_pm.o += -DDEBUG +diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9.c linux-2.6/arch/arm/mach-at91/at91cap9.c +--- linux-2.6.25/arch/arm/mach-at91/at91cap9.c 2008-05-03 00:15:44.000000000 +0200 ++++ linux-2.6/arch/arm/mach-at91/at91cap9.c 2008-05-05 22:01:39.000000000 +0200 +@@ -13,12 +13,15 @@ + */ + + #include ++#include + + #include + #include ++#include + #include + #include + #include ++#include + + #include "generic.h" + #include "clock.h" +@@ -288,6 +291,12 @@ + at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); + } + ++static void at91cap9_poweroff(void) ++{ ++ at91_sys_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW); ++} ++ ++ + /* -------------------------------------------------------------------- + * AT91CAP9 processor initialization + * -------------------------------------------------------------------- */ +@@ -298,6 +307,7 @@ + iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc)); + + at91_arch_reset = at91cap9_reset; ++ pm_power_off = at91cap9_poweroff; + at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); + + /* Init clock subsystem */ +@@ -308,6 +318,12 @@ + + /* Register GPIO subsystem */ + at91_gpio_init(at91cap9_gpio, 4); ++ ++ /* Remember the silicon revision */ ++ if (cpu_is_at91cap9_revB()) ++ system_rev = 0xB; ++ else if (cpu_is_at91cap9_revC()) ++ system_rev = 0xC; + } + + /* -------------------------------------------------------------------- +diff -urN -x CVS linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c linux-2.6/arch/arm/mach-at91/at91cap9_devices.c +--- linux-2.6.25/arch/arm/mach-at91/at91cap9_devices.c 2008-05-03 00:15:44.000000000 +0200 ++++ linux-2.6/arch/arm/mach-at91/at91cap9_devices.c 2008-05-05 22:01:39.000000000 +0200 +@@ -13,18 +13,20 @@ + */ + #include + #include ++#include + + #include + #include +-#include ++#include + + #include