From 12fb2d89b47a5004e00eb6fea320ea787fef860f 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11631 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/at91/Makefile | 2 +- target/linux/at91/config-2.6.25 | 306 + .../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 + 9 files changed, 13959 insertions(+), 1 deletion(-) create mode 100644 target/linux/at91/config-2.6.25 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') diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile index 8a7d33019b..53eb448f22 100644 --- a/target/linux/at91/Makefile +++ b/target/linux/at91/Makefile @@ -11,7 +11,7 @@ BOARD:=at91 BOARDNAME:=Atmel AT91 FEATURES:=squashfs usb -LINUX_VERSION:=2.6.21.7 +LINUX_VERSION:=2.6.25.10 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/at91/config-2.6.25 b/target/linux/at91/config-2.6.25 new file mode 100644 index 0000000000..495706fea4 --- /dev/null +++ b/target/linux/at91/config-2.6.25 @@ -0,0 +1,306 @@ +# CONFIG_AEABI is not set +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_ARCH_AAEC2000 is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_AT91CAP9 is not set +CONFIG_ARCH_AT91RM9200=y +# CONFIG_ARCH_AT91RM9200DK is not set +# CONFIG_ARCH_AT91SAM9260 is not set +# CONFIG_ARCH_AT91SAM9261 is not set +# CONFIG_ARCH_AT91SAM9263 is not set +# CONFIG_ARCH_AT91SAM9RL is not set +# CONFIG_ARCH_AT91X40 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_MSM7X00A is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_ORION is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SHARK is not set +CONFIG_ARCH_SUPPORTS_AOUT=y +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARM=y +CONFIG_ARM_AT91_ETHER=m +CONFIG_ARM_THUMB=y +# CONFIG_ARPD is not set +# CONFIG_ARTHUR is not set +CONFIG_AT91_EARLY_DBGU=y +# CONFIG_AT91_EARLY_USART0 is not set +# CONFIG_AT91_EARLY_USART1 is not set +# CONFIG_AT91_EARLY_USART2 is not set +# CONFIG_AT91_EARLY_USART3 is not set +# CONFIG_AT91_EARLY_USART4 is not set +# CONFIG_AT91_EARLY_USART5 is not set +CONFIG_AT91_PMC_UNIT=y +# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set +CONFIG_AT91_SPI=y +# CONFIG_AT91_SPIDEV is not set +CONFIG_AT91_TIMER_HZ=128 +# CONFIG_ATMEL_PWM is not set +# CONFIG_ATMEL_SSC is not set +CONFIG_BASE_SMALL=0 +# CONFIG_BINFMT_AOUT is not set +CONFIG_BITREVERSE=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_BONDING is not set +CONFIG_BOUNCE=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_BT is not set +CONFIG_CLASSIC_RCU=y +CONFIG_CPU_32=y +CONFIG_CPU_32v4T=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_GF128MUL=m +# CONFIG_DATAFLASH_ALWAYS_ADD_DEVICE is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_DEBUG_USER is not set +# CONFIG_DM9000 is not set +CONFIG_DUMMY_CONSOLE=y +# CONFIG_E1000E_ENABLED is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +CONFIG_FRAME_POINTER=y +CONFIG_FS_POSIX_ACL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_GPIO=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +# CONFIG_HAVE_IDE is not set +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HW_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_HZ=128 +# CONFIG_I2C is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IEEE80211_CRYPT_CCMP is not set +# CONFIG_IEEE80211_CRYPT_TKIP is not set +# CONFIG_IEEE80211_SOFTMAC is not set +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +CONFIG_LEDS=y +# CONFIG_LEDS_ALIX is not set +CONFIG_LEDS_CPU=y +# CONFIG_LEDS_GPIO is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=32 +# CONFIG_LLC2 is not set +CONFIG_LOCALVERSION_AUTO=y +CONFIG_LZO_COMPRESS=m +CONFIG_LZO_DECOMPRESS=m +# CONFIG_MACH_AT91RM9200EK is not set +# CONFIG_MACH_ATEB9200 is not set +# CONFIG_MACH_CARMEVA is not set +# CONFIG_MACH_CHUB is not set +# CONFIG_MACH_CSB337 is not set +# CONFIG_MACH_CSB637 is not set +# CONFIG_MACH_ECBAT91 is not set +# CONFIG_MACH_HOMEMATIC is not set +# CONFIG_MACH_KAFA is not set +# CONFIG_MACH_KB9200 is not set +# CONFIG_MACH_ONEARM is not set +# CONFIG_MACH_PICOTUX2XX is not set +# CONFIG_MACH_SWEDATMS is not set +# CONFIG_MACH_TT9200 is not set +CONFIG_MACH_VLINK=y +CONFIG_MII=m +CONFIG_MMC=m +CONFIG_MMC_AT91=m +CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set +CONFIG_MTD=y +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_AT91_DATAFLASH=y +CONFIG_MTD_AT91_PARTS=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLOCK2MTD is not set +# CONFIG_MTD_CFI is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CHAR=y +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_CONCAT is not set +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +CONFIG_MTD_MAP_BANK_WIDTH_2=y +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_ONENAND is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ROOTFS_ROOT_DEV is not set +# CONFIG_MTD_ROOTFS_SPLIT is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_NET_PKTGEN is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_RTSP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +# CONFIG_NF_NAT_AMANDA is not set +# CONFIG_NF_NAT_PPTP is not set +# CONFIG_NF_NAT_RTSP is not set +# CONFIG_NF_NAT_TFTP is not set +# CONFIG_NO_IOPORT is not set +# CONFIG_NVRAM is not set +# CONFIG_OUTER_CACHE is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PPPOATM is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPP_SYNC_TTY is not set +CONFIG_RTC_LIB=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_SCSI_WAIT_SCAN=m +# CONFIG_SDIO_UART is not set +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_SERIAL_ATMEL_PDC=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +CONFIG_SERIO=y +# CONFIG_SERIO_LIBPS2 is not set +CONFIG_SERIO_RAW=y +CONFIG_SERIO_SERPORT=y +CONFIG_SLABINFO=y +# CONFIG_SMC91X is not set +# CONFIG_SOUND is not set +# CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +CONFIG_SSB_POSSIBLE=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_TICK_ONESHOT=y +CONFIG_UID16=y +CONFIG_USB=m +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB_LIBUSUAL=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_EMPEG is not set +# CONFIG_USB_SERIAL_FUNSOFT is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_HP4X is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTION is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +# CONFIG_USB_SPEEDTOUCH is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_UEAGLEATM is not set +CONFIG_VECTORS_BASE=0xffff0000 +# CONFIG_VGASTATE is not set +# CONFIG_VGA_CONSOLE is not set +# CONFIG_VIDEO_DEV is not set +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_W1 is not set +# CONFIG_WATCHDOG is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_XIP_KERNEL is not set +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ZBOOT_ROM_TEXT=0 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