From a1e6a84bb32d2c691103ee7548506c6bb68cb101 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Tue, 17 Jul 2007 12:19:56 +0000 Subject: [PATCH] Add AT91 targets --- target/device/Atmel/AT91_Config.in | 161 + target/device/Atmel/AVR32_Config.in | 89 + target/device/Atmel/Config.in | 64 +- target/device/Atmel/DataFlashBoot/Config.in | 23 + .../Atmel/DataFlashBoot/DataflashBoot.mk | 47 + .../linux-2.6.20.4-atmel.patch | 26777 ++++++++++++++++ .../2.6.21.1-at91.patch | 14630 +++++++++ .../linux-2.6.21.1-at91-1-update.patch | 36 + target/device/Atmel/Makefile.in | 79 + target/device/Atmel/at91bootstrap/Config.in | 39 + .../Atmel/at91bootstrap/at91bootstrap.mk | 67 + target/device/Atmel/at91rm9200df/Makefile.in | 5 + .../at91rm9200df-linux-2.6.21.1.config | 1361 + .../at91rm9200df/busybox-1.5.0-atmel.config | 0 .../Atmel/at91rm9200df/busybox-1.6.0.config | 690 + .../Atmel/at91rm9200df/u-boot/at91rm9200df.h | 360 + .../device/Atmel/at91sam9260dfc/Makefile.in | 5 + .../at91sam9260dfc-linux-2.6.20.4.config | 1255 + .../at91sam9260dfc-linux-2.6.21.1.config | 1457 + .../Atmel/at91sam9260dfc/busybox-1.6.0.config | 690 + .../at91sam9260dfc/u-boot/at91sam9260dfc.h | 371 + target/device/Atmel/at91sam9261ek/Makefile.in | 2 + .../at91sam9261ek-linux-2.6.21.1.config | 1460 + .../Atmel/at91sam9261ek/busybox-1.6.0.config | 690 + .../at91sam9261ek/u-boot/at91sam9261ek.h | 435 + target/device/Atmel/at91sam9263ek/Makefile.in | 2 + .../at91sam9263ek-linux-2.6.21.1.config | 1451 + .../Atmel/at91sam9263ek/busybox-1.6.0.config | 690 + .../at91sam9263ek/u-boot/at91sam9263ek.h | 444 + target/device/Atmel/root/busybox.config | 643 + target/device/Atmel/root/depmod.pl | 237 + target/device/Atmel/root/device_table.txt | 162 + target/device/Atmel/root/skel.patch | 71 + target/device/Atmel/root/skel.tar.gz | Bin 0 -> 629 bytes target/device/Atmel/root/skel_busybox.patch | 215 + .../Atmel/root/target_busybox_skeleton/etc/TZ | 1 + .../root/target_busybox_skeleton/etc/fstab | 9 + .../root/target_busybox_skeleton/etc/group | 16 + .../root/target_busybox_skeleton/etc/hostname | 1 + .../root/target_busybox_skeleton/etc/hosts | 1 + .../etc/init.d/S20urandom | 54 + .../etc/init.d/S40network | 35 + .../target_busybox_skeleton/etc/init.d/rcS | 27 + .../root/target_busybox_skeleton/etc/inittab | 53 + .../root/target_busybox_skeleton/etc/inputrc | 44 + .../root/target_busybox_skeleton/etc/issue | 4 + .../etc/network/interfaces | 4 + .../root/target_busybox_skeleton/etc/passwd | 15 + .../root/target_busybox_skeleton/etc/profile | 48 + .../target_busybox_skeleton/etc/protocols | 31 + .../target_busybox_skeleton/etc/random-seed | Bin 0 -> 512 bytes .../target_busybox_skeleton/etc/securetty | 12 + .../root/target_busybox_skeleton/etc/services | 302 + .../root/target_busybox_skeleton/etc/shadow | 12 + .../device/Atmel/root/target_skeleton/etc/TZ | 1 + .../Atmel/root/target_skeleton/etc/fstab | 9 + .../Atmel/root/target_skeleton/etc/group | 16 + .../Atmel/root/target_skeleton/etc/hostname | 1 + .../Atmel/root/target_skeleton/etc/hosts | 1 + .../target_skeleton/etc/init.d/S20urandom | 54 + .../target_skeleton/etc/init.d/S40network | 35 + .../Atmel/root/target_skeleton/etc/init.d/rcS | 27 + .../Atmel/root/target_skeleton/etc/inittab | 47 + .../Atmel/root/target_skeleton/etc/inputrc | 44 + .../Atmel/root/target_skeleton/etc/issue | 4 + .../target_skeleton/etc/network/interfaces | 4 + .../Atmel/root/target_skeleton/etc/passwd | 15 + .../Atmel/root/target_skeleton/etc/profile | 48 + .../Atmel/root/target_skeleton/etc/protocols | 31 + .../root/target_skeleton/etc/random-seed | Bin 0 -> 512 bytes .../Atmel/root/target_skeleton/etc/securetty | 12 + .../Atmel/root/target_skeleton/etc/services | 302 + .../Atmel/root/target_skeleton/etc/shadow | 12 + .../root/target_skeleton/root/.bash_history | 0 .../root/target_skeleton/root/.bash_logout | 7 + .../root/target_skeleton/root/.bash_profile | 15 + .../Atmel/root/target_skeleton/root/.bashrc | 48 + .../usr/share/udhcpc/default.script | 39 + target/device/Atmel/root/uClibc.config | 167 + target/device/Atmel/u-boot/Config.in | 43 + target/device/Atmel/u-boot/u-boot.mk | 256 + 81 files changed, 56613 insertions(+), 2 deletions(-) create mode 100644 target/device/Atmel/AT91_Config.in create mode 100644 target/device/Atmel/AVR32_Config.in create mode 100644 target/device/Atmel/DataFlashBoot/Config.in create mode 100644 target/device/Atmel/DataFlashBoot/DataflashBoot.mk create mode 100644 target/device/Atmel/Linux/kernel-patches-2.6.20.4/linux-2.6.20.4-atmel.patch create mode 100644 target/device/Atmel/Linux/kernel-patches-2.6.21.1/2.6.21.1-at91.patch create mode 100644 target/device/Atmel/Linux/kernel-patches-2.6.21.1/linux-2.6.21.1-at91-1-update.patch create mode 100644 target/device/Atmel/Makefile.in create mode 100644 target/device/Atmel/at91bootstrap/Config.in create mode 100644 target/device/Atmel/at91bootstrap/at91bootstrap.mk create mode 100644 target/device/Atmel/at91rm9200df/Makefile.in create mode 100644 target/device/Atmel/at91rm9200df/at91rm9200df-linux-2.6.21.1.config create mode 100644 target/device/Atmel/at91rm9200df/busybox-1.5.0-atmel.config create mode 100644 target/device/Atmel/at91rm9200df/busybox-1.6.0.config create mode 100644 target/device/Atmel/at91rm9200df/u-boot/at91rm9200df.h create mode 100644 target/device/Atmel/at91sam9260dfc/Makefile.in create mode 100644 target/device/Atmel/at91sam9260dfc/at91sam9260dfc-linux-2.6.20.4.config create mode 100644 target/device/Atmel/at91sam9260dfc/at91sam9260dfc-linux-2.6.21.1.config create mode 100644 target/device/Atmel/at91sam9260dfc/busybox-1.6.0.config create mode 100644 target/device/Atmel/at91sam9260dfc/u-boot/at91sam9260dfc.h create mode 100644 target/device/Atmel/at91sam9261ek/Makefile.in create mode 100644 target/device/Atmel/at91sam9261ek/at91sam9261ek-linux-2.6.21.1.config create mode 100644 target/device/Atmel/at91sam9261ek/busybox-1.6.0.config create mode 100644 target/device/Atmel/at91sam9261ek/u-boot/at91sam9261ek.h create mode 100644 target/device/Atmel/at91sam9263ek/Makefile.in create mode 100644 target/device/Atmel/at91sam9263ek/at91sam9263ek-linux-2.6.21.1.config create mode 100644 target/device/Atmel/at91sam9263ek/busybox-1.6.0.config create mode 100644 target/device/Atmel/at91sam9263ek/u-boot/at91sam9263ek.h create mode 100644 target/device/Atmel/root/busybox.config create mode 100755 target/device/Atmel/root/depmod.pl create mode 100644 target/device/Atmel/root/device_table.txt create mode 100644 target/device/Atmel/root/skel.patch create mode 100644 target/device/Atmel/root/skel.tar.gz create mode 100644 target/device/Atmel/root/skel_busybox.patch create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/TZ create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/fstab create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/group create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/hostname create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/hosts create mode 100755 target/device/Atmel/root/target_busybox_skeleton/etc/init.d/S20urandom create mode 100755 target/device/Atmel/root/target_busybox_skeleton/etc/init.d/S40network create mode 100755 target/device/Atmel/root/target_busybox_skeleton/etc/init.d/rcS create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/inittab create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/inputrc create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/issue create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/network/interfaces create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/passwd create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/profile create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/protocols create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/random-seed create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/securetty create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/services create mode 100644 target/device/Atmel/root/target_busybox_skeleton/etc/shadow create mode 100644 target/device/Atmel/root/target_skeleton/etc/TZ create mode 100644 target/device/Atmel/root/target_skeleton/etc/fstab create mode 100644 target/device/Atmel/root/target_skeleton/etc/group create mode 100644 target/device/Atmel/root/target_skeleton/etc/hostname create mode 100644 target/device/Atmel/root/target_skeleton/etc/hosts create mode 100755 target/device/Atmel/root/target_skeleton/etc/init.d/S20urandom create mode 100755 target/device/Atmel/root/target_skeleton/etc/init.d/S40network create mode 100755 target/device/Atmel/root/target_skeleton/etc/init.d/rcS create mode 100644 target/device/Atmel/root/target_skeleton/etc/inittab create mode 100644 target/device/Atmel/root/target_skeleton/etc/inputrc create mode 100644 target/device/Atmel/root/target_skeleton/etc/issue create mode 100644 target/device/Atmel/root/target_skeleton/etc/network/interfaces create mode 100644 target/device/Atmel/root/target_skeleton/etc/passwd create mode 100644 target/device/Atmel/root/target_skeleton/etc/profile create mode 100644 target/device/Atmel/root/target_skeleton/etc/protocols create mode 100644 target/device/Atmel/root/target_skeleton/etc/random-seed create mode 100644 target/device/Atmel/root/target_skeleton/etc/securetty create mode 100644 target/device/Atmel/root/target_skeleton/etc/services create mode 100644 target/device/Atmel/root/target_skeleton/etc/shadow create mode 100644 target/device/Atmel/root/target_skeleton/root/.bash_history create mode 100644 target/device/Atmel/root/target_skeleton/root/.bash_logout create mode 100644 target/device/Atmel/root/target_skeleton/root/.bash_profile create mode 100644 target/device/Atmel/root/target_skeleton/root/.bashrc create mode 100755 target/device/Atmel/root/target_skeleton/usr/share/udhcpc/default.script create mode 100644 target/device/Atmel/root/uClibc.config create mode 100644 target/device/Atmel/u-boot/Config.in create mode 100644 target/device/Atmel/u-boot/u-boot.mk diff --git a/target/device/Atmel/AT91_Config.in b/target/device/Atmel/AT91_Config.in new file mode 100644 index 0000000000..7838ad6938 --- /dev/null +++ b/target/device/Atmel/AT91_Config.in @@ -0,0 +1,161 @@ +comment "Atmel AT91 Specific Device Support" + depends BR2_arm + +config BR2_TARGET_AT91 + bool "Board support for the Atmel AT91 range of microprocessors" + depends BR2_arm + default n + help + Atmel AT91 ARM based systems + +choice + prompt "AT91 device" + depends BR2_TARGET_AT91 + default BR2_TARGET_AT91RM9200 + help + Select the specific AT91 chip you wish to use. + +config BR2_TARGET_AT91RM9200 + bool "Atmel AT91RM9200 Microprocessor" + depends BR2_TARGET_AT91 + help + Atmel AT91RM9200 ARM based systems + +config BR2_TARGET_AT91SAM9260 + bool "AT91SAM9260 Microprocessor" + depends BR2_TARGET_AT91 + help + Atmel AT91SAM9260 ARM based systems + +config BR2_TARGET_AT91SAM9260A + bool "AT91SAM9260A Microprocessor" + depends BR2_TARGET_AT91 && ! BR2_TARGET_AT91_ADVANCED_INFO + help + Atmel AT91SAM9260A ARM based systems (Not Yet Implemented) + +config BR2_TARGET_AT91SAM9261 + bool "AT91SAM9261 Microprocessor" + depends BR2_TARGET_AT91 + help + Atmel AT91SAM9261 ARM based systems + +config BR2_TARGET_AT91SAM9261S + bool "AT91SAM9261S Microprocessor" + depends BR2_TARGET_AT91 + depends ! BR2_TARGET_AT91_ADVANCED_INFO + help + Atmel AT91SAM9261 ARM based systems (Not Yet Implemented) + +config BR2_TARGET_AT91SAM9262 + bool "ATR0663 Microprocessor" + depends BR2_TARGET_AT91 + depends ! BR2_TARGET_AT91_ADVANCED_INFO + help + Atmel ATR0663 ARM based systems (Not Yet Implemented) + +config BR2_TARGET_AT91SAM9263 + bool "Atmel AT91SAM9263 Microprocessor" + depends BR2_TARGET_AT91 + help + Atmel AT91SAM9263 ARM based systems + +config BR2_TARGET_AT91SAM9XE + bool "Atmel AT91SAM9XE Microprocessors" + depends BR2_TARGET_AT91 + depends ! BR2_TARGET_AT91_ADVANCED_INFO + help + Atmel AT91SAM9263 ARM based systems (Not Yet Implemented) + +endchoice + + +choice + prompt "Development Board support" + depends BR2_TARGET_AT91 + default BR2_TARGET_AT91RM9200DF + help + Select the specific AT91 development board you wish to use. + +config BR2_TARGET_AT91RM9200DF + bool "Atmel AT91RM9200 Generic Dataflash(Card) Board Support" + depends BR2_TARGET_AT91RM9200 + help + The Atmel AT91RM9200EK Development Board using Dataflashcard + +config BR2_TARGET_AT91RM9200SE + bool "Atmel AT91RM9200 Generic Dataflash(Card) Board Support (SE)" + depends BR2_TARGET_AT91RM9200 + help + The Atmel AT91RM9200EK Development Board using Dataflashcard (SE) + +config BR2_TARGET_AT91RM9200EK + bool "Atmel AT91RM9200EK Development Board Support" + depends BR2_TARGET_AT91RM9200 + help + The Atmel AT91RM9200EK Development Board + +config BR2_TARGET_AT91RM9200DK + bool "Atmel AT91RM9200DK Development Board Support" + depends BR2_TARGET_AT91RM9200 + help + The Atmel AT91RM9200DK Development Board + +config BR2_TARGET_AT91SAM9260DFC + bool "Atmel AT91SAM9260DFC" + depends BR2_TARGET_AT91SAM9260 || BR2_TARGET_AT91SAM9260A || BR2_TARGET_AT91SAM9XE + help + The Atmel AT91SAM9260 Development Board Booting from Dataflash + +config BR2_TARGET_AT91SAM9260EK + bool "Atmel AT91SAM9260EK" + depends BR2_TARGET_AT91SAM9260 || BR2_TARGET_AT91SAM9260A || BR2_TARGET_AT91SAM9XE + help + The Atmel AT91SAM9260 Development Board + +config BR2_TARGET_AT91SAM9261EK + bool "Atmel AT91SAM9261EK" + depends BR2_TARGET_AT91SAM9261 || BR2_TARGET_AT91SAM9261S + help + The Atmel AT91SAM9261 Development Board + +config BR2_TARGET_AT91SAM9262EK + bool "Atmel AT91SAM9262EK" + depends BR2_TARGET_AT91SAM9262 + help + The Atmel AT91SAM9262 Development Board (Not Yet Implemented) + +config BR2_TARGET_AT91SAM9263EK + bool "Atmel AT91SAM9263EK" + depends BR2_TARGET_AT91SAM9263 + help + The Atmel AT91SAM9263 Development Board (Not Yet Implemented) + +config BR2_TARGET_AT91SAM9XEEK + bool "Atmel AT91SAM9XE-EK" + depends BR2_TARGET_AT91SAM9260 || BR2_TARGET_AT91SAM9260 || BR2_TARGET_AT91SAM9260A || BR2_TARGET_AT91SAM9XE + help + The Atmel AT91SAM9xe Development Board (Not Yet Implemented) + +endchoice + +choice + prompt "SPI Mode" + depends BR2_TARGET_AT91SAM9261EK + default BR2_TARGET_AT91SAM9261EK_SPIMODE0 + help + Select SPI Mode 0 or 3 + +config BR2_TARGET_AT91SAM9261EK_SPIMODE0 + bool "SPI Mode 0" + depends BR2_TARGET_AT91SAM9261EK + help + Use SPI Mode 0, Required for AT45DB642D chips + +config BR2_TARGET_AT91SAM9261EK_SPIMODE3 + bool "SPI Mode 3" + depends BR2_TARGET_AT91SAM9261EK + help + Use SPI Mode 3 + +endchoice + diff --git a/target/device/Atmel/AVR32_Config.in b/target/device/Atmel/AVR32_Config.in new file mode 100644 index 0000000000..38fb3712a9 --- /dev/null +++ b/target/device/Atmel/AVR32_Config.in @@ -0,0 +1,89 @@ +comment "Atmel AVR32 Specific Device Support" + depends BR2_avr32 + +config BR2_TARGET_AVR32 + bool "Board support for the Atmel AP7000 range of microprocessors" + depends BR2_avr32 + default n + help + Atmel AT32AP7XXX AVR32 based systems + +choice + prompt "AVR32 device" + depends BR2_TARGET_AVR32 + default BR2_TARGET_AT32AP7000 + help + Select the specific AVR32 chip you wish to use. + +config BR2_TARGET_AT32AP7000 + bool "Board support for the Atmel AT32AP7000 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7000 AVR32 based systems + +config BR2_TARGET_AT32AP7001 + bool "Board support for the Atmel AT32AP7001 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7001 AVR32 based systems + +config BR2_TARGET_AT32AP7002 + bool "Board support for the Atmel AT32AP7002 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7002 AVR32 based systems + +config BR2_TARGET_AT32AP7200 + bool "Board support for the Atmel AT32AP7200 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7200 AVR32 based systems + +config BR2_TARGET_AT32AP7010 + bool "Board support for the Atmel AT32AP7010 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7010 AVR32 based systems + +config BR2_TARGET_AT32AP7020 + bool "Board support for the Atmel AT32AP7020 Microprocessor" + depends BR2_TARGET_AVR32 + help + Atmel AT32AP7020 AVR32 based systems + +endchoice + +comment "Development Board support" + depends BR2_TARGET_AVR32 + +choice + prompt "Development Board support" + depends BR2_TARGET_AVR32 + default BR2_TARGET_STK1000 + help + Select the specific AVR32 development board you wish to use. + +config BR2_TARGET_STK1002 + bool "Atmel STK1000/2 AVR32 Development Board Support" + depends BR2_TARGET_AT32AP7000 + select BR2_PACKAGE_LINUX + help + The Atmel STK1000 AVR32 Development Board + +config BR2_TARGET_AVR32_GATEWAY + bool "Atmel AVR32 Network Gateway Board Support" + depends BR2_TARGET_AT32AP7000 + select BR2_PACKAGE_LINUX + help + The Atmel AVR32 Network Gateway Board + +config BR2_TARGET_AVR32_COM + bool "Atmel AVR32 Computer On Module Support" + depends BR2_TARGET_AT32AP7200 + select BR2_PACKAGE_LINUX + help + The Atmel AVR32 Computer On Module (Not Yet Implemented) + +endchoice + + diff --git a/target/device/Atmel/Config.in b/target/device/Atmel/Config.in index 42dbf59715..95dd6520c9 100644 --- a/target/device/Atmel/Config.in +++ b/target/device/Atmel/Config.in @@ -1,9 +1,69 @@ menuconfig BR2_TARGET_ATMEL bool "Atmel Device Support" depends on BR2_arm || BR2_avr32 - default n + default n if BR2_TARGET_ATMEL -comment "Add Atmel Target here" + +source "target/device/Atmel/AT91_Config.in" +source "target/device/Atmel/AVR32_Config.in" + +config BR2_BOARD_NAME + string + default "at91rm9200df" if BR2_TARGET_AT91RM9200DF + default "at91rm9200se" if BR2_TARGET_AT91RM9200SE + default "at91rm9200ek" if BR2_TARGET_AT91RM9200EK + default "at91rm9200dk" if BR2_TARGET_AT91RM9200DK + default "at91sam9260ek" if BR2_TARGET_AT91SAM9260EK + default "at91sam9260dfc" if BR2_TARGET_AT91SAM9260DFC + default "at91sam9261ek" if BR2_TARGET_AT91SAM9261EK + default "at91sam9262ek" if BR2_TARGET_AT91SAM9262EK + default "at91sam9263ek" if BR2_TARGET_AT91SAM9263EK + default "at91sam9xeek" if BR2_TARGET_AT91SAM9XEEK + default "atstk1002" if BR2_TARGET_STK1002 + default "avr32_com" if BR2_TARGET_AVR32_COM + default "avr32_ngw" if BR2_TARGET_AVR32_GATEWAY + +config BR2_TARGET_AT91_ADVANCED_INFO + bool "Remove work in progress" + depends BR2_TARGET_AT91 + default y + help + Atmel AT91 ARM based systems + +comment "Package support" + depends on BR2_TARGET_AT91 || BR2_TARGET_AVR32 + + +menu "Secondary locations" + +config BR2_AT91_LINUXPATCH_SITE + string "AT91 Linux Patch mirror site" + depends on BR2_TARGET_AT91 || BR2_TARGET_AVR32 + default "http://maxim.org.za/AT91RM9200/2.6" + help + Main download location for AT91 Linux stuff + +config BR2_TARGET_ATMEL_COPYTO + string "also copy the image to..." + depends on BR2_TARGET_AT91 || BR2_TARGET_AVR32 + default "/tftpboot" + help + Copies the resulting image to a secondary location. + +config BR2_BOARD_PATH + string "Atmel board repository" + depends on BR2_TARGET_AT91 || BR2_TARGET_AVR32 + default "target/device/Atmel/$(BR2_BOARD_NAME)" + help + Top directory of Atmel board configurations + +endmenu + +source "target/device/Atmel/u-boot/Config.in" + +source "target/device/Atmel/DataFlashBoot/Config.in" + +source "target/device/Atmel/at91bootstrap/Config.in" endif diff --git a/target/device/Atmel/DataFlashBoot/Config.in b/target/device/Atmel/DataFlashBoot/Config.in new file mode 100644 index 0000000000..1da5e62742 --- /dev/null +++ b/target/device/Atmel/DataFlashBoot/Config.in @@ -0,0 +1,23 @@ +config BR2_TARGET_DATAFLASHBOOT + depends on BR2_TARGET_AT91RM9200 || BR2_TARGET_AT91SAM9261 || BR2_TARGET_AT91SAM9261S + bool "Build Dataflashboot for selected chip" + +choice + prompt "Target Architecture" + default BR2_TARGET_DATAFLASHBOOT_AT91RM9200 + depends on BR2_TARGET_DATAFLASHBOOT + help + Select Chip for which Dataflash boot should be built + Currently only AT91RM9200 Supported + +config BR2_TARGET_DATAFLASHBOOT_AT91RM9200 + depends on BR2_TARGET_AT91RM9200 + bool "AT91RM9200" +config BR2_TARGET_DATAFLASHBOOT_AT91SAM9261 + depends on BR2_TARGET_AT91SAM9261 + bool "AT91SAM9261" +config BR2_TARGET_DATAFLASHBOOT_AT91SAM9261S + depends on BR2_TARGET_AT91SAM9261S + bool "AT91SAM9261S" + +endchoice diff --git a/target/device/Atmel/DataFlashBoot/DataflashBoot.mk b/target/device/Atmel/DataFlashBoot/DataflashBoot.mk new file mode 100644 index 0000000000..b0c5fff6e6 --- /dev/null +++ b/target/device/Atmel/DataFlashBoot/DataflashBoot.mk @@ -0,0 +1,47 @@ +############################################################# +# +# DataFlashBoot +# +############################################################# +DATAFLASHBOOT_VERSION:=1.05 +DATAFLASHBOOT_NAME:=DataflashBoot-$(DATAFLASHBOOT_VERSION) +ATMEL_MIRROR:=$(strip $(subst ",, $(BR2_ATMEL_MIRROR))) +DATAFLASHBOOT_SITE:=$(ATMEL_MIRROR)/Source +DATAFLASHBOOT_SOURCE:=$(DATAFLASHBOOT_NAME).tar.bz2 +DATAFLASHBOOT_DIR:=$(PROJECT_BUILD_DIR)/$(DATAFLASHBOOT_NAME) +DATAFLASHBOOT_BINARY:=$(DATAFLASHBOOT_NAME).bin + +$(DL_DIR)/$(DATAFLASHBOOT_SOURCE): + $(WGET) -P $(DL_DIR) $(DATAFLASHBOOT_SITE)/$(DATAFLASHBOOT_SOURCE) + +$(DATAFLASHBOOT_DIR)/.unpacked: $(DL_DIR)/$(DATAFLASHBOOT_SOURCE) + mkdir -p $(PROJECT_BUILD_DIR) + ls $(DL_DIR)/$(DATAFLASHBOOT_SOURCE) + $(BZCAT) $(DL_DIR)/$(DATAFLASHBOOT_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) - + touch $(DATAFLASHBOOT_DIR)/.unpacked + +$(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY): $(DATAFLASHBOOT_DIR)/.unpacked + ls $(DATAFLASHBOOT_DIR)/.unpacked + make -C $(DATAFLASHBOOT_DIR) CROSS_COMPILE=$(TARGET_CROSS) + +DataflashBoot-clean: + make -C $(DATAFLASHBOOT_DIR) clean + +DataflashBoot-dirclean: + rm -rf $(DATAFLASHBOOT_DIR) + +dataflash: $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) + mkdir -p $(BINARIES_DIR) + cp $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) $(BINARIES_DIR)/$(BOARD_NAME)-$(DATAFLASHBOOT_BINARY) +ifneq ($(TARGET_ATMEL_COPYTO),) + cp $(DATAFLASHBOOT_DIR)/$(DATAFLASHBOOT_BINARY) /tftpboot/$(BOARD_NAME)-$(DATAFLASHBOOT_BINARY) +endif + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_TARGET_DATAFLASHBOOT)),y) +TARGETS+=dataflash +endif diff --git a/target/device/Atmel/Linux/kernel-patches-2.6.20.4/linux-2.6.20.4-atmel.patch b/target/device/Atmel/Linux/kernel-patches-2.6.20.4/linux-2.6.20.4-atmel.patch new file mode 100644 index 0000000000..9cd3334294 --- /dev/null +++ b/target/device/Atmel/Linux/kernel-patches-2.6.20.4/linux-2.6.20.4-atmel.patch @@ -0,0 +1,26777 @@ +diff -urN linux-2.6.20.4-0rig/arch/arm/configs/at91sam9263ek_defconfig linux-2.6.20.4-atmel/arch/arm/configs/at91sam9263ek_defconfig +--- linux-2.6.20.4-0rig/arch/arm/configs/at91sam9263ek_defconfig 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/configs/at91sam9263ek_defconfig 2007-03-24 16:39:15.000000000 +0100 +@@ -0,0 +1,1184 @@ ++# ++# Automatically generated make config: don't edit ++# Linux kernel version: 2.6.20-rc1 ++# Mon Jan 8 16:06:54 2007 ++# ++CONFIG_ARM=y ++# CONFIG_GENERIC_TIME is not set ++CONFIG_MMU=y ++CONFIG_GENERIC_HARDIRQS=y ++CONFIG_TRACE_IRQFLAGS_SUPPORT=y ++CONFIG_HARDIRQS_SW_RESEND=y ++CONFIG_GENERIC_IRQ_PROBE=y ++CONFIG_RWSEM_GENERIC_SPINLOCK=y ++# CONFIG_ARCH_HAS_ILOG2_U32 is not set ++# CONFIG_ARCH_HAS_ILOG2_U64 is not set ++CONFIG_GENERIC_HWEIGHT=y ++CONFIG_GENERIC_CALIBRATE_DELAY=y ++CONFIG_VECTORS_BASE=0xffff0000 ++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ++ ++# ++# Code maturity level options ++# ++CONFIG_EXPERIMENTAL=y ++CONFIG_BROKEN_ON_SMP=y ++CONFIG_INIT_ENV_ARG_LIMIT=32 ++ ++# ++# General setup ++# ++CONFIG_LOCALVERSION="" ++# CONFIG_LOCALVERSION_AUTO is not set ++# CONFIG_SWAP is not set ++CONFIG_SYSVIPC=y ++# CONFIG_IPC_NS is not set ++# CONFIG_POSIX_MQUEUE is not set ++# CONFIG_BSD_PROCESS_ACCT is not set ++# CONFIG_TASKSTATS is not set ++# CONFIG_UTS_NS is not set ++# CONFIG_AUDIT is not set ++# CONFIG_IKCONFIG is not set ++CONFIG_SYSFS_DEPRECATED=y ++# CONFIG_RELAY is not set ++CONFIG_INITRAMFS_SOURCE="" ++CONFIG_CC_OPTIMIZE_FOR_SIZE=y ++CONFIG_SYSCTL=y ++# CONFIG_EMBEDDED is not set ++CONFIG_UID16=y ++CONFIG_SYSCTL_SYSCALL=y ++CONFIG_KALLSYMS=y ++# CONFIG_KALLSYMS_ALL is not set ++# CONFIG_KALLSYMS_EXTRA_PASS is not set ++CONFIG_HOTPLUG=y ++CONFIG_PRINTK=y ++CONFIG_BUG=y ++CONFIG_ELF_CORE=y ++CONFIG_BASE_FULL=y ++CONFIG_FUTEX=y ++CONFIG_EPOLL=y ++CONFIG_SHMEM=y ++CONFIG_SLAB=y ++CONFIG_VM_EVENT_COUNTERS=y ++CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set ++CONFIG_BASE_SMALL=0 ++# CONFIG_SLOB is not set ++ ++# ++# Loadable module support ++# ++CONFIG_MODULES=y ++CONFIG_MODULE_UNLOAD=y ++# CONFIG_MODULE_FORCE_UNLOAD is not set ++# CONFIG_MODVERSIONS is not set ++# CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y ++ ++# ++# Block layer ++# ++CONFIG_BLOCK=y ++# CONFIG_LBD is not set ++# CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set ++ ++# ++# IO Schedulers ++# ++CONFIG_IOSCHED_NOOP=y ++CONFIG_IOSCHED_AS=y ++# CONFIG_IOSCHED_DEADLINE is not set ++# CONFIG_IOSCHED_CFQ is not set ++CONFIG_DEFAULT_AS=y ++# CONFIG_DEFAULT_DEADLINE is not set ++# CONFIG_DEFAULT_CFQ is not set ++# CONFIG_DEFAULT_NOOP is not set ++CONFIG_DEFAULT_IOSCHED="anticipatory" ++ ++# ++# System Type ++# ++# CONFIG_ARCH_AAEC2000 is not set ++# CONFIG_ARCH_INTEGRATOR is not set ++# CONFIG_ARCH_REALVIEW is not set ++# CONFIG_ARCH_VERSATILE is not set ++CONFIG_ARCH_AT91=y ++# CONFIG_ARCH_CLPS7500 is not set ++# CONFIG_ARCH_CLPS711X is not set ++# CONFIG_ARCH_CO285 is not set ++# CONFIG_ARCH_EBSA110 is not set ++# CONFIG_ARCH_EP93XX is not set ++# CONFIG_ARCH_FOOTBRIDGE is not set ++# CONFIG_ARCH_NETX is not set ++# CONFIG_ARCH_H720X is not set ++# CONFIG_ARCH_IMX is not set ++# CONFIG_ARCH_IOP32X is not set ++# CONFIG_ARCH_IOP33X is not set ++# CONFIG_ARCH_IOP13XX is not set ++# CONFIG_ARCH_IXP4XX is not set ++# CONFIG_ARCH_IXP2000 is not set ++# CONFIG_ARCH_IXP23XX is not set ++# CONFIG_ARCH_L7200 is not set ++# CONFIG_ARCH_PNX4008 is not set ++# CONFIG_ARCH_PXA is not set ++# CONFIG_ARCH_RPC is not set ++# CONFIG_ARCH_SA1100 is not set ++# CONFIG_ARCH_S3C2410 is not set ++# CONFIG_ARCH_SHARK is not set ++# CONFIG_ARCH_LH7A40X is not set ++# CONFIG_ARCH_OMAP is not set ++ ++# ++# Atmel AT91 System-on-Chip ++# ++# CONFIG_ARCH_AT91RM9200 is not set ++# CONFIG_ARCH_AT91SAM9260 is not set ++# CONFIG_ARCH_AT91SAM9261 is not set ++CONFIG_ARCH_AT91SAM9263=y ++ ++# ++# AT91SAM9263 Board Type ++# ++CONFIG_MACH_AT91SAM9263EK=y ++ ++# ++# AT91 Board Options ++# ++CONFIG_MTD_AT91_DATAFLASH_CARD=y ++# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set ++ ++# ++# AT91 Feature Selections ++# ++# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set ++ ++# ++# Processor Type ++# ++CONFIG_CPU_32=y ++CONFIG_CPU_ARM926T=y ++CONFIG_CPU_32v5=y ++CONFIG_CPU_ABRT_EV5TJ=y ++CONFIG_CPU_CACHE_VIVT=y ++CONFIG_CPU_COPY_V4WB=y ++CONFIG_CPU_TLB_V4WBI=y ++CONFIG_CPU_CP15=y ++CONFIG_CPU_CP15_MMU=y ++ ++# ++# Processor Features ++# ++# CONFIG_ARM_THUMB is not set ++# CONFIG_CPU_ICACHE_DISABLE is not set ++# CONFIG_CPU_DCACHE_DISABLE is not set ++# CONFIG_CPU_DCACHE_WRITETHROUGH is not set ++# CONFIG_CPU_CACHE_ROUND_ROBIN is not set ++ ++# ++# Bus support ++# ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# ++# CONFIG_PCCARD is not set ++ ++# ++# Kernel Features ++# ++# CONFIG_PREEMPT is not set ++# CONFIG_NO_IDLE_HZ is not set ++CONFIG_HZ=100 ++# CONFIG_AEABI is not set ++# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set ++CONFIG_SELECT_MEMORY_MODEL=y ++CONFIG_FLATMEM_MANUAL=y ++# CONFIG_DISCONTIGMEM_MANUAL is not set ++# CONFIG_SPARSEMEM_MANUAL is not set ++CONFIG_FLATMEM=y ++CONFIG_FLAT_NODE_MEM_MAP=y ++# CONFIG_SPARSEMEM_STATIC is not set ++CONFIG_SPLIT_PTLOCK_CPUS=4096 ++# CONFIG_RESOURCES_64BIT is not set ++# CONFIG_LEDS is not set ++CONFIG_ALIGNMENT_TRAP=y ++ ++# ++# Boot options ++# ++CONFIG_ZBOOT_ROM_TEXT=0x0 ++CONFIG_ZBOOT_ROM_BSS=0x0 ++CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw" ++# CONFIG_XIP_KERNEL is not set ++ ++# ++# Floating point emulation ++# ++ ++# ++# At least one emulation must be selected ++# ++CONFIG_FPE_NWFPE=y ++# CONFIG_FPE_NWFPE_XP is not set ++# CONFIG_FPE_FASTFPE is not set ++# CONFIG_VFP is not set ++ ++# ++# Userspace binary formats ++# ++CONFIG_BINFMT_ELF=y ++# CONFIG_BINFMT_AOUT is not set ++# CONFIG_BINFMT_MISC is not set ++# CONFIG_ARTHUR is not set ++ ++# ++# Power management options ++# ++# CONFIG_PM is not set ++# CONFIG_APM is not set ++ ++# ++# Networking ++# ++CONFIG_NET=y ++ ++# ++# Networking options ++# ++# CONFIG_NETDEBUG is not set ++CONFIG_PACKET=y ++# CONFIG_PACKET_MMAP is not set ++CONFIG_UNIX=y ++# CONFIG_NET_KEY is not set ++CONFIG_INET=y ++# CONFIG_IP_MULTICAST is not set ++# CONFIG_IP_ADVANCED_ROUTER is not set ++CONFIG_IP_FIB_HASH=y ++CONFIG_IP_PNP=y ++# CONFIG_IP_PNP_DHCP is not set ++CONFIG_IP_PNP_BOOTP=y ++CONFIG_IP_PNP_RARP=y ++# CONFIG_NET_IPIP is not set ++# CONFIG_NET_IPGRE is not set ++# CONFIG_ARPD is not set ++# CONFIG_SYN_COOKIES is not set ++# CONFIG_INET_AH is not set ++# CONFIG_INET_ESP is not set ++# CONFIG_INET_IPCOMP is not set ++# CONFIG_INET_XFRM_TUNNEL is not set ++# CONFIG_INET_TUNNEL is not set ++# CONFIG_INET_XFRM_MODE_TRANSPORT is not set ++# CONFIG_INET_XFRM_MODE_TUNNEL is not set ++# CONFIG_INET_XFRM_MODE_BEET is not set ++# CONFIG_INET_DIAG is not set ++# CONFIG_TCP_CONG_ADVANCED is not set ++CONFIG_TCP_CONG_CUBIC=y ++CONFIG_DEFAULT_TCP_CONG="cubic" ++# CONFIG_TCP_MD5SIG is not set ++# CONFIG_IPV6 is not set ++# CONFIG_INET6_XFRM_TUNNEL is not set ++# CONFIG_INET6_TUNNEL is not set ++# CONFIG_NETWORK_SECMARK is not set ++# CONFIG_NETFILTER is not set ++ ++# ++# DCCP Configuration (EXPERIMENTAL) ++# ++# CONFIG_IP_DCCP is not set ++ ++# ++# SCTP Configuration (EXPERIMENTAL) ++# ++# CONFIG_IP_SCTP is not set ++ ++# ++# TIPC Configuration (EXPERIMENTAL) ++# ++# CONFIG_TIPC is not set ++# CONFIG_ATM is not set ++# CONFIG_BRIDGE is not set ++# CONFIG_VLAN_8021Q is not set ++# CONFIG_DECNET is not set ++# CONFIG_LLC2 is not set ++# CONFIG_IPX is not set ++# CONFIG_ATALK is not set ++# CONFIG_X25 is not set ++# CONFIG_LAPB is not set ++# CONFIG_ECONET is not set ++# CONFIG_WAN_ROUTER is not set ++ ++# ++# QoS and/or fair queueing ++# ++# CONFIG_NET_SCHED is not set ++ ++# ++# Network testing ++# ++# CONFIG_NET_PKTGEN is not set ++# CONFIG_HAMRADIO is not set ++# CONFIG_IRDA is not set ++# CONFIG_BT is not set ++# CONFIG_IEEE80211 is not set ++ ++# ++# Device Drivers ++# ++ ++# ++# Generic Driver Options ++# ++CONFIG_STANDALONE=y ++CONFIG_PREVENT_FIRMWARE_BUILD=y ++# CONFIG_FW_LOADER is not set ++# CONFIG_DEBUG_DRIVER is not set ++# CONFIG_SYS_HYPERVISOR is not set ++ ++# ++# Connector - unified userspace <-> kernelspace linker ++# ++# CONFIG_CONNECTOR is not set ++ ++# ++# Memory Technology Devices (MTD) ++# ++CONFIG_MTD=y ++# CONFIG_MTD_DEBUG is not set ++# CONFIG_MTD_CONCAT is not set ++CONFIG_MTD_PARTITIONS=y ++# CONFIG_MTD_REDBOOT_PARTS is not set ++CONFIG_MTD_CMDLINE_PARTS=y ++# CONFIG_MTD_AFS_PARTS is not set ++ ++# ++# User Modules And Translation Layers ++# ++CONFIG_MTD_CHAR=y ++CONFIG_MTD_BLKDEVS=y ++CONFIG_MTD_BLOCK=y ++# CONFIG_FTL is not set ++# CONFIG_NFTL is not set ++# CONFIG_INFTL is not set ++# CONFIG_RFD_FTL is not set ++# CONFIG_SSFDC is not set ++ ++# ++# RAM/ROM/Flash chip drivers ++# ++# CONFIG_MTD_CFI is not set ++# CONFIG_MTD_JEDECPROBE is not set ++CONFIG_MTD_MAP_BANK_WIDTH_1=y ++CONFIG_MTD_MAP_BANK_WIDTH_2=y ++CONFIG_MTD_MAP_BANK_WIDTH_4=y ++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set ++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set ++# CONFIG_MTD_MAP_BANK_WIDTH_32 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_RAM is not set ++# CONFIG_MTD_ROM is not set ++# CONFIG_MTD_ABSENT is not set ++# CONFIG_MTD_OBSOLETE_CHIPS is not set ++ ++# ++# Mapping drivers for chip access ++# ++# CONFIG_MTD_COMPLEX_MAPPINGS is not set ++# CONFIG_MTD_PLATRAM is not set ++ ++# ++# Self-contained MTD device drivers ++# ++CONFIG_MTD_DATAFLASH=y ++# CONFIG_MTD_M25P80 is not set ++# CONFIG_MTD_SLRAM is not set ++# CONFIG_MTD_PHRAM is not set ++# CONFIG_MTD_MTDRAM is not set ++# CONFIG_MTD_BLOCK2MTD is not set ++ ++# ++# Disk-On-Chip Device Drivers ++# ++# CONFIG_MTD_DOC2000 is not set ++# CONFIG_MTD_DOC2001 is not set ++# CONFIG_MTD_DOC2001PLUS is not set ++ ++# ++# NAND Flash Device Drivers ++# ++CONFIG_MTD_NAND=y ++# CONFIG_MTD_NAND_VERIFY_WRITE is not set ++# CONFIG_MTD_NAND_ECC_SMC is not set ++CONFIG_MTD_NAND_IDS=y ++# CONFIG_MTD_NAND_DISKONCHIP is not set ++CONFIG_MTD_NAND_AT91=y ++# CONFIG_MTD_NAND_NANDSIM is not set ++ ++# ++# OneNAND Flash Device Drivers ++# ++# CONFIG_MTD_ONENAND is not set ++ ++# ++# Parallel port support ++# ++# CONFIG_PARPORT is not set ++ ++# ++# Plug and Play support ++# ++ ++# ++# Block devices ++# ++# CONFIG_BLK_DEV_COW_COMMON is not set ++CONFIG_BLK_DEV_LOOP=y ++# CONFIG_BLK_DEV_CRYPTOLOOP is not set ++# CONFIG_BLK_DEV_NBD is not set ++# CONFIG_BLK_DEV_UB is not set ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_COUNT=16 ++CONFIG_BLK_DEV_RAM_SIZE=8192 ++CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 ++CONFIG_BLK_DEV_INITRD=y ++# CONFIG_CDROM_PKTCDVD is not set ++# CONFIG_ATA_OVER_ETH is not set ++ ++# ++# SCSI device support ++# ++# CONFIG_RAID_ATTRS is not set ++CONFIG_SCSI=y ++# CONFIG_SCSI_TGT is not set ++# CONFIG_SCSI_NETLINK is not set ++CONFIG_SCSI_PROC_FS=y ++ ++# ++# SCSI support type (disk, tape, CD-ROM) ++# ++CONFIG_BLK_DEV_SD=y ++# CONFIG_CHR_DEV_ST is not set ++# CONFIG_CHR_DEV_OSST is not set ++# CONFIG_BLK_DEV_SR is not set ++# CONFIG_CHR_DEV_SG is not set ++# CONFIG_CHR_DEV_SCH is not set ++ ++# ++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs ++# ++CONFIG_SCSI_MULTI_LUN=y ++# CONFIG_SCSI_CONSTANTS is not set ++# CONFIG_SCSI_LOGGING is not set ++# CONFIG_SCSI_SCAN_ASYNC is not set ++ ++# ++# SCSI Transports ++# ++# CONFIG_SCSI_SPI_ATTRS is not set ++# CONFIG_SCSI_FC_ATTRS is not set ++# CONFIG_SCSI_ISCSI_ATTRS is not set ++# CONFIG_SCSI_SAS_ATTRS is not set ++# CONFIG_SCSI_SAS_LIBSAS is not set ++ ++# ++# SCSI low-level drivers ++# ++# CONFIG_ISCSI_TCP is not set ++# CONFIG_SCSI_DEBUG is not set ++ ++# ++# Serial ATA (prod) and Parallel ATA (experimental) drivers ++# ++# CONFIG_ATA is not set ++ ++# ++# Multi-device support (RAID and LVM) ++# ++# CONFIG_MD is not set ++ ++# ++# Fusion MPT device support ++# ++# CONFIG_FUSION is not set ++ ++# ++# IEEE 1394 (FireWire) support ++# ++ ++# ++# I2O device support ++# ++ ++# ++# Network device support ++# ++CONFIG_NETDEVICES=y ++# CONFIG_DUMMY is not set ++# CONFIG_BONDING is not set ++# CONFIG_EQUALIZER is not set ++# CONFIG_TUN is not set ++ ++# ++# PHY device support ++# ++# CONFIG_PHYLIB is not set ++ ++# ++# Ethernet (10 or 100Mbit) ++# ++CONFIG_NET_ETHERNET=y ++CONFIG_MII=y ++# CONFIG_SMC91X is not set ++# CONFIG_DM9000 is not set ++ ++# ++# Ethernet (1000 Mbit) ++# ++ ++# ++# Ethernet (10000 Mbit) ++# ++ ++# ++# Token Ring devices ++# ++ ++# ++# Wireless LAN (non-hamradio) ++# ++# CONFIG_NET_RADIO is not set ++ ++# ++# Wan interfaces ++# ++# CONFIG_WAN is not set ++# CONFIG_PPP is not set ++# CONFIG_SLIP is not set ++# CONFIG_SHAPER is not set ++# CONFIG_NETCONSOLE is not set ++# CONFIG_NETPOLL is not set ++# CONFIG_NET_POLL_CONTROLLER is not set ++ ++# ++# ISDN subsystem ++# ++# CONFIG_ISDN is not set ++ ++# ++# Input device support ++# ++CONFIG_INPUT=y ++# CONFIG_INPUT_FF_MEMLESS is not set ++ ++# ++# Userland interfaces ++# ++CONFIG_INPUT_MOUSEDEV=y ++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set ++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 ++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 ++# CONFIG_INPUT_JOYDEV is not set ++CONFIG_INPUT_TSDEV=y ++CONFIG_INPUT_TSDEV_SCREEN_X=240 ++CONFIG_INPUT_TSDEV_SCREEN_Y=320 ++CONFIG_INPUT_EVDEV=y ++# CONFIG_INPUT_EVBUG is not set ++ ++# ++# Input Device Drivers ++# ++# CONFIG_INPUT_KEYBOARD is not set ++# CONFIG_INPUT_MOUSE is not set ++# CONFIG_INPUT_JOYSTICK is not set ++CONFIG_INPUT_TOUCHSCREEN=y ++CONFIG_TOUCHSCREEN_ADS7846=y ++# CONFIG_TOUCHSCREEN_GUNZE is not set ++# CONFIG_TOUCHSCREEN_ELO is not set ++# CONFIG_TOUCHSCREEN_MTOUCH is not set ++# CONFIG_TOUCHSCREEN_MK712 is not set ++# CONFIG_TOUCHSCREEN_PENMOUNT is not set ++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set ++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set ++# CONFIG_TOUCHSCREEN_UCB1400 is not set ++# CONFIG_INPUT_MISC is not set ++ ++# ++# Hardware I/O ports ++# ++# CONFIG_SERIO is not set ++# CONFIG_GAMEPORT is not set ++ ++# ++# Character devices ++# ++CONFIG_VT=y ++CONFIG_VT_CONSOLE=y ++CONFIG_HW_CONSOLE=y ++# CONFIG_VT_HW_CONSOLE_BINDING is not set ++# CONFIG_SERIAL_NONSTANDARD is not set ++ ++# ++# Serial drivers ++# ++# CONFIG_SERIAL_8250 is not set ++ ++# ++# Non-8250 serial port support ++# ++CONFIG_SERIAL_ATMEL=y ++CONFIG_SERIAL_ATMEL_CONSOLE=y ++# CONFIG_SERIAL_ATMEL_TTYAT is not set ++CONFIG_SERIAL_CORE=y ++CONFIG_SERIAL_CORE_CONSOLE=y ++CONFIG_UNIX98_PTYS=y ++CONFIG_LEGACY_PTYS=y ++CONFIG_LEGACY_PTY_COUNT=256 ++ ++# ++# IPMI ++# ++# CONFIG_IPMI_HANDLER is not set ++ ++# ++# Watchdog Cards ++# ++CONFIG_WATCHDOG=y ++CONFIG_WATCHDOG_NOWAYOUT=y ++ ++# ++# Watchdog Device Drivers ++# ++# CONFIG_SOFT_WATCHDOG is not set ++ ++# ++# USB-based Watchdog Cards ++# ++# CONFIG_USBPCWATCHDOG is not set ++CONFIG_HW_RANDOM=y ++# CONFIG_NVRAM is not set ++# CONFIG_DTLK is not set ++# CONFIG_R3964 is not set ++# CONFIG_RAW_DRIVER is not set ++ ++# ++# TPM devices ++# ++# CONFIG_TCG_TPM is not set ++ ++# ++# I2C support ++# ++CONFIG_I2C=y ++CONFIG_I2C_CHARDEV=y ++ ++# ++# I2C Algorithms ++# ++# CONFIG_I2C_ALGOBIT is not set ++# CONFIG_I2C_ALGOPCF is not set ++# CONFIG_I2C_ALGOPCA is not set ++ ++# ++# I2C Hardware Bus support ++# ++CONFIG_I2C_AT91=y ++# CONFIG_I2C_OCORES is not set ++# CONFIG_I2C_PARPORT_LIGHT is not set ++# CONFIG_I2C_STUB is not set ++# CONFIG_I2C_PCA is not set ++# CONFIG_I2C_PCA_ISA is not set ++ ++# ++# Miscellaneous I2C Chip support ++# ++# CONFIG_SENSORS_DS1337 is not set ++# CONFIG_SENSORS_DS1374 is not set ++# CONFIG_SENSORS_EEPROM is not set ++# CONFIG_SENSORS_PCF8574 is not set ++# CONFIG_SENSORS_PCA9539 is not set ++# CONFIG_SENSORS_PCF8591 is not set ++# CONFIG_SENSORS_MAX6875 is not set ++# CONFIG_I2C_DEBUG_CORE is not set ++# CONFIG_I2C_DEBUG_ALGO is not set ++# CONFIG_I2C_DEBUG_BUS is not set ++# CONFIG_I2C_DEBUG_CHIP is not set ++ ++# ++# SPI support ++# ++CONFIG_SPI=y ++# CONFIG_SPI_DEBUG is not set ++CONFIG_SPI_MASTER=y ++ ++# ++# SPI Master Controller Drivers ++# ++CONFIG_SPI_ATMEL=y ++# CONFIG_SPI_BITBANG is not set ++ ++# ++# SPI Protocol Masters ++# ++ ++# ++# Dallas's 1-wire bus ++# ++# CONFIG_W1 is not set ++ ++# ++# Hardware Monitoring support ++# ++# CONFIG_HWMON is not set ++# CONFIG_HWMON_VID is not set ++ ++# ++# Misc devices ++# ++# CONFIG_TIFM_CORE is not set ++ ++# ++# LED devices ++# ++# CONFIG_NEW_LEDS is not set ++ ++# ++# LED drivers ++# ++ ++# ++# LED Triggers ++# ++ ++# ++# Multimedia devices ++# ++# CONFIG_VIDEO_DEV is not set ++ ++# ++# Digital Video Broadcasting Devices ++# ++# CONFIG_DVB is not set ++# CONFIG_USB_DABUSB is not set ++ ++# ++# Graphics support ++# ++# CONFIG_FIRMWARE_EDID is not set ++CONFIG_FB=y ++# CONFIG_FB_CFB_FILLRECT is not set ++# CONFIG_FB_CFB_COPYAREA is not set ++# CONFIG_FB_CFB_IMAGEBLIT is not set ++# CONFIG_FB_MACMODES is not set ++# CONFIG_FB_BACKLIGHT is not set ++# CONFIG_FB_MODE_HELPERS is not set ++# CONFIG_FB_TILEBLITTING is not set ++# CONFIG_FB_S1D13XXX is not set ++# CONFIG_FB_VIRTUAL is not set ++ ++# ++# Console display driver support ++# ++# CONFIG_VGA_CONSOLE is not set ++CONFIG_DUMMY_CONSOLE=y ++# CONFIG_FRAMEBUFFER_CONSOLE is not set ++ ++# ++# Logo configuration ++# ++# CONFIG_LOGO is not set ++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set ++ ++# ++# Sound ++# ++# CONFIG_SOUND is not set ++ ++# ++# HID Devices ++# ++CONFIG_HID=y ++ ++# ++# USB support ++# ++CONFIG_USB_ARCH_HAS_HCD=y ++CONFIG_USB_ARCH_HAS_OHCI=y ++# CONFIG_USB_ARCH_HAS_EHCI is not set ++CONFIG_USB=y ++# CONFIG_USB_DEBUG is not set ++ ++# ++# Miscellaneous USB options ++# ++CONFIG_USB_DEVICEFS=y ++# CONFIG_USB_BANDWIDTH is not set ++# CONFIG_USB_DYNAMIC_MINORS is not set ++# CONFIG_USB_MULTITHREAD_PROBE is not set ++# CONFIG_USB_OTG is not set ++ ++# ++# USB Host Controller Drivers ++# ++# CONFIG_USB_ISP116X_HCD is not set ++CONFIG_USB_OHCI_HCD=y ++# CONFIG_USB_OHCI_BIG_ENDIAN is not set ++CONFIG_USB_OHCI_LITTLE_ENDIAN=y ++# CONFIG_USB_SL811_HCD is not set ++ ++# ++# USB Device Class drivers ++# ++# CONFIG_USB_ACM is not set ++# CONFIG_USB_PRINTER is not set ++ ++# ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ++# ++ ++# ++# may also be needed; see USB_STORAGE Help for more information ++# ++CONFIG_USB_STORAGE=y ++# CONFIG_USB_STORAGE_DEBUG is not set ++# CONFIG_USB_STORAGE_DATAFAB is not set ++# CONFIG_USB_STORAGE_FREECOM is not set ++# CONFIG_USB_STORAGE_DPCM is not set ++# CONFIG_USB_STORAGE_USBAT is not set ++# CONFIG_USB_STORAGE_SDDR09 is not set ++# CONFIG_USB_STORAGE_SDDR55 is not set ++# CONFIG_USB_STORAGE_JUMPSHOT is not set ++# CONFIG_USB_STORAGE_ALAUDA is not set ++# CONFIG_USB_STORAGE_ONETOUCH is not set ++# CONFIG_USB_STORAGE_KARMA is not set ++# CONFIG_USB_LIBUSUAL is not set ++ ++# ++# USB Input Devices ++# ++# CONFIG_USB_HID is not set ++ ++# ++# USB HID Boot Protocol drivers ++# ++# CONFIG_USB_KBD is not set ++# CONFIG_USB_MOUSE is not set ++# CONFIG_USB_AIPTEK is not set ++# CONFIG_USB_WACOM is not set ++# CONFIG_USB_ACECAD is not set ++# CONFIG_USB_KBTAB is not set ++# CONFIG_USB_POWERMATE is not set ++# CONFIG_USB_TOUCHSCREEN is not set ++# CONFIG_USB_YEALINK is not set ++# CONFIG_USB_XPAD is not set ++# CONFIG_USB_ATI_REMOTE is not set ++# CONFIG_USB_ATI_REMOTE2 is not set ++# CONFIG_USB_KEYSPAN_REMOTE is not set ++# CONFIG_USB_APPLETOUCH is not set ++ ++# ++# USB Imaging devices ++# ++# CONFIG_USB_MDC800 is not set ++# CONFIG_USB_MICROTEK is not set ++ ++# ++# USB Network Adapters ++# ++# CONFIG_USB_CATC is not set ++# CONFIG_USB_KAWETH is not set ++# CONFIG_USB_PEGASUS is not set ++# CONFIG_USB_RTL8150 is not set ++# CONFIG_USB_USBNET_MII is not set ++# CONFIG_USB_USBNET is not set ++CONFIG_USB_MON=y ++ ++# ++# USB port drivers ++# ++ ++# ++# USB Serial Converter support ++# ++# CONFIG_USB_SERIAL is not set ++ ++# ++# USB Miscellaneous drivers ++# ++# CONFIG_USB_EMI62 is not set ++# CONFIG_USB_EMI26 is not set ++# CONFIG_USB_ADUTUX is not set ++# CONFIG_USB_AUERSWALD is not set ++# CONFIG_USB_RIO500 is not set ++# CONFIG_USB_LEGOTOWER is not set ++# CONFIG_USB_LCD is not set ++# CONFIG_USB_LED is not set ++# CONFIG_USB_CYPRESS_CY7C63 is not set ++# CONFIG_USB_CYTHERM is not set ++# CONFIG_USB_PHIDGET is not set ++# CONFIG_USB_IDMOUSE is not set ++# CONFIG_USB_FTDI_ELAN is not set ++# CONFIG_USB_APPLEDISPLAY is not set ++# CONFIG_USB_LD is not set ++# CONFIG_USB_TRANCEVIBRATOR is not set ++# CONFIG_USB_TEST is not set ++ ++# ++# USB DSL modem support ++# ++ ++# ++# USB Gadget Support ++# ++CONFIG_USB_GADGET=y ++# CONFIG_USB_GADGET_DEBUG_FILES is not set ++CONFIG_USB_GADGET_SELECTED=y ++# CONFIG_USB_GADGET_NET2280 is not set ++# CONFIG_USB_GADGET_PXA2XX is not set ++# CONFIG_USB_GADGET_GOKU is not set ++# CONFIG_USB_GADGET_LH7A40X is not set ++# CONFIG_USB_GADGET_OMAP is not set ++CONFIG_USB_GADGET_AT91=y ++CONFIG_USB_AT91=y ++# CONFIG_USB_GADGET_DUMMY_HCD is not set ++# CONFIG_USB_GADGET_DUALSPEED is not set ++CONFIG_USB_ZERO=m ++# CONFIG_USB_ETH is not set ++CONFIG_USB_GADGETFS=m ++CONFIG_USB_FILE_STORAGE=m ++# CONFIG_USB_FILE_STORAGE_TEST is not set ++CONFIG_USB_G_SERIAL=m ++# CONFIG_USB_MIDI_GADGET is not set ++ ++# ++# MMC/SD Card support ++# ++CONFIG_MMC=y ++# CONFIG_MMC_DEBUG is not set ++CONFIG_MMC_BLOCK=y ++CONFIG_MMC_AT91=m ++# CONFIG_MMC_TIFM_SD is not set ++ ++# ++# Real Time Clock ++# ++CONFIG_RTC_LIB=y ++# CONFIG_RTC_CLASS is not set ++ ++# ++# File systems ++# ++CONFIG_EXT2_FS=y ++# CONFIG_EXT2_FS_XATTR is not set ++# CONFIG_EXT2_FS_XIP is not set ++# CONFIG_EXT3_FS is not set ++# CONFIG_EXT4DEV_FS is not set ++# CONFIG_REISERFS_FS is not set ++# CONFIG_JFS_FS is not set ++# CONFIG_FS_POSIX_ACL is not set ++# CONFIG_XFS_FS is not set ++# CONFIG_GFS2_FS is not set ++# CONFIG_OCFS2_FS is not set ++# CONFIG_MINIX_FS is not set ++# CONFIG_ROMFS_FS is not set ++CONFIG_INOTIFY=y ++CONFIG_INOTIFY_USER=y ++# CONFIG_QUOTA is not set ++CONFIG_DNOTIFY=y ++# CONFIG_AUTOFS_FS is not set ++# CONFIG_AUTOFS4_FS is not set ++# CONFIG_FUSE_FS is not set ++ ++# ++# CD-ROM/DVD Filesystems ++# ++# CONFIG_ISO9660_FS is not set ++# CONFIG_UDF_FS is not set ++ ++# ++# DOS/FAT/NT Filesystems ++# ++CONFIG_FAT_FS=y ++# CONFIG_MSDOS_FS is not set ++CONFIG_VFAT_FS=y ++CONFIG_FAT_DEFAULT_CODEPAGE=437 ++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" ++# CONFIG_NTFS_FS is not set ++ ++# ++# Pseudo filesystems ++# ++CONFIG_PROC_FS=y ++CONFIG_PROC_SYSCTL=y ++CONFIG_SYSFS=y ++CONFIG_TMPFS=y ++# CONFIG_TMPFS_POSIX_ACL is not set ++# CONFIG_HUGETLB_PAGE is not set ++CONFIG_RAMFS=y ++# CONFIG_CONFIGFS_FS is not set ++ ++# ++# Miscellaneous filesystems ++# ++# CONFIG_ADFS_FS is not set ++# CONFIG_AFFS_FS is not set ++# CONFIG_HFS_FS is not set ++# CONFIG_HFSPLUS_FS is not set ++# CONFIG_BEFS_FS is not set ++# CONFIG_BFS_FS is not set ++# CONFIG_EFS_FS is not set ++CONFIG_JFFS2_FS=y ++CONFIG_JFFS2_FS_DEBUG=0 ++CONFIG_JFFS2_FS_WRITEBUFFER=y ++# CONFIG_JFFS2_SUMMARY is not set ++# CONFIG_JFFS2_FS_XATTR is not set ++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set ++CONFIG_JFFS2_ZLIB=y ++CONFIG_JFFS2_RTIME=y ++# CONFIG_JFFS2_RUBIN is not set ++CONFIG_CRAMFS=y ++# CONFIG_VXFS_FS is not set ++# CONFIG_HPFS_FS is not set ++# CONFIG_QNX4FS_FS is not set ++# CONFIG_SYSV_FS is not set ++# CONFIG_UFS_FS is not set ++ ++# ++# Network File Systems ++# ++CONFIG_NFS_FS=y ++# CONFIG_NFS_V3 is not set ++# CONFIG_NFS_V4 is not set ++# CONFIG_NFS_DIRECTIO is not set ++# CONFIG_NFSD is not set ++CONFIG_ROOT_NFS=y ++CONFIG_LOCKD=y ++CONFIG_NFS_COMMON=y ++CONFIG_SUNRPC=y ++# CONFIG_RPCSEC_GSS_KRB5 is not set ++# CONFIG_RPCSEC_GSS_SPKM3 is not set ++# CONFIG_SMB_FS is not set ++# CONFIG_CIFS is not set ++# CONFIG_NCP_FS is not set ++# CONFIG_CODA_FS is not set ++# CONFIG_AFS_FS is not set ++# CONFIG_9P_FS is not set ++ ++# ++# Partition Types ++# ++# CONFIG_PARTITION_ADVANCED is not set ++CONFIG_MSDOS_PARTITION=y ++ ++# ++# Native Language Support ++# ++CONFIG_NLS=y ++CONFIG_NLS_DEFAULT="iso8859-1" ++CONFIG_NLS_CODEPAGE_437=y ++# CONFIG_NLS_CODEPAGE_737 is not set ++# CONFIG_NLS_CODEPAGE_775 is not set ++CONFIG_NLS_CODEPAGE_850=y ++# CONFIG_NLS_CODEPAGE_852 is not set ++# CONFIG_NLS_CODEPAGE_855 is not set ++# CONFIG_NLS_CODEPAGE_857 is not set ++# CONFIG_NLS_CODEPAGE_860 is not set ++# CONFIG_NLS_CODEPAGE_861 is not set ++# CONFIG_NLS_CODEPAGE_862 is not set ++# CONFIG_NLS_CODEPAGE_863 is not set ++# CONFIG_NLS_CODEPAGE_864 is not set ++# CONFIG_NLS_CODEPAGE_865 is not set ++# CONFIG_NLS_CODEPAGE_866 is not set ++# CONFIG_NLS_CODEPAGE_869 is not set ++# CONFIG_NLS_CODEPAGE_936 is not set ++# CONFIG_NLS_CODEPAGE_950 is not set ++# CONFIG_NLS_CODEPAGE_932 is not set ++# CONFIG_NLS_CODEPAGE_949 is not set ++# CONFIG_NLS_CODEPAGE_874 is not set ++# CONFIG_NLS_ISO8859_8 is not set ++# CONFIG_NLS_CODEPAGE_1250 is not set ++# CONFIG_NLS_CODEPAGE_1251 is not set ++# CONFIG_NLS_ASCII is not set ++CONFIG_NLS_ISO8859_1=y ++# CONFIG_NLS_ISO8859_2 is not set ++# CONFIG_NLS_ISO8859_3 is not set ++# CONFIG_NLS_ISO8859_4 is not set ++# CONFIG_NLS_ISO8859_5 is not set ++# CONFIG_NLS_ISO8859_6 is not set ++# CONFIG_NLS_ISO8859_7 is not set ++# CONFIG_NLS_ISO8859_9 is not set ++# CONFIG_NLS_ISO8859_13 is not set ++# CONFIG_NLS_ISO8859_14 is not set ++# CONFIG_NLS_ISO8859_15 is not set ++# CONFIG_NLS_KOI8_R is not set ++# CONFIG_NLS_KOI8_U is not set ++# CONFIG_NLS_UTF8 is not set ++ ++# ++# Distributed Lock Manager ++# ++# CONFIG_DLM is not set ++ ++# ++# Profiling support ++# ++# CONFIG_PROFILING is not set ++ ++# ++# Kernel hacking ++# ++# CONFIG_PRINTK_TIME is not set ++CONFIG_ENABLE_MUST_CHECK=y ++# CONFIG_MAGIC_SYSRQ is not set ++# CONFIG_UNUSED_SYMBOLS is not set ++# CONFIG_DEBUG_FS is not set ++# CONFIG_HEADERS_CHECK is not set ++CONFIG_DEBUG_KERNEL=y ++CONFIG_LOG_BUF_SHIFT=14 ++CONFIG_DETECT_SOFTLOCKUP=y ++# CONFIG_SCHEDSTATS is not set ++# CONFIG_DEBUG_SLAB is not set ++# CONFIG_DEBUG_RT_MUTEXES is not set ++# CONFIG_RT_MUTEX_TESTER is not set ++# CONFIG_DEBUG_SPINLOCK is not set ++# CONFIG_DEBUG_MUTEXES is not set ++# CONFIG_DEBUG_RWSEMS is not set ++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set ++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set ++# CONFIG_DEBUG_KOBJECT is not set ++CONFIG_DEBUG_BUGVERBOSE=y ++# CONFIG_DEBUG_INFO is not set ++# CONFIG_DEBUG_VM is not set ++# CONFIG_DEBUG_LIST is not set ++CONFIG_FRAME_POINTER=y ++CONFIG_FORCED_INLINING=y ++# CONFIG_RCU_TORTURE_TEST is not set ++CONFIG_DEBUG_USER=y ++# CONFIG_DEBUG_ERRORS is not set ++CONFIG_DEBUG_LL=y ++# CONFIG_DEBUG_ICEDCC is not set ++ ++# ++# Security options ++# ++# CONFIG_KEYS is not set ++# CONFIG_SECURITY is not set ++ ++# ++# Cryptographic options ++# ++# CONFIG_CRYPTO is not set ++ ++# ++# Library routines ++# ++CONFIG_BITREVERSE=y ++# CONFIG_CRC_CCITT is not set ++# CONFIG_CRC16 is not set ++CONFIG_CRC32=y ++# CONFIG_LIBCRC32C is not set ++CONFIG_ZLIB_INFLATE=y ++CONFIG_PLIST=y ++CONFIG_IOMAP_COPY=y +diff -urN linux-2.6.20.4-0rig/arch/arm/configs/csb337_defconfig linux-2.6.20.4-atmel/arch/arm/configs/csb337_defconfig +--- linux-2.6.20.4-0rig/arch/arm/configs/csb337_defconfig 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/configs/csb337_defconfig 2007-03-24 16:39:15.000000000 +0100 +@@ -355,10 +355,12 @@ + # Mapping drivers for chip access + # + # CONFIG_MTD_COMPLEX_MAPPINGS is not set +-# CONFIG_MTD_PHYSMAP is not set ++CONFIG_MTD_PHYSMAP=y ++CONFIG_MTD_PHYSMAP_START=0 ++CONFIG_MTD_PHYSMAP_LEN=0 ++CONFIG_MTD_PHYSMAP_BANKWIDTH=0 + # CONFIG_MTD_ARM_INTEGRATOR is not set + # CONFIG_MTD_PLATRAM is not set +-CONFIG_MTD_CSB337=y + + # + # Self-contained MTD device drivers +diff -urN linux-2.6.20.4-0rig/arch/arm/configs/csb637_defconfig linux-2.6.20.4-atmel/arch/arm/configs/csb637_defconfig +--- linux-2.6.20.4-0rig/arch/arm/configs/csb637_defconfig 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/configs/csb637_defconfig 2007-03-24 16:39:15.000000000 +0100 +@@ -355,10 +355,12 @@ + # Mapping drivers for chip access + # + # CONFIG_MTD_COMPLEX_MAPPINGS is not set +-# CONFIG_MTD_PHYSMAP is not set ++CONFIG_MTD_PHYSMAP=y ++CONFIG_MTD_PHYSMAP_START=0 ++CONFIG_MTD_PHYSMAP_LEN=0 ++CONFIG_MTD_PHYSMAP_BANKWIDTH=0 + # CONFIG_MTD_ARM_INTEGRATOR is not set + # CONFIG_MTD_PLATRAM is not set +-CONFIG_MTD_CSB637=y + + # + # Self-contained MTD device drivers +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200.c 2007-03-24 16:39:15.000000000 +0100 +@@ -117,6 +117,36 @@ + .pmc_mask = 1 << AT91RM9200_ID_PIOD, + .type = CLK_TYPE_PERIPHERAL, + }; ++static struct clk tc0_clk = { ++ .name = "tc0_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC0, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc1_clk = { ++ .name = "tc1_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC1, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc2_clk = { ++ .name = "tc2_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC2, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc3_clk = { ++ .name = "tc3_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC3, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc4_clk = { ++ .name = "tc4_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC4, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc5_clk = { ++ .name = "tc5_clk", ++ .pmc_mask = 1 << AT91RM9200_ID_TC5, ++ .type = CLK_TYPE_PERIPHERAL, ++}; + + static struct clk *periph_clocks[] __initdata = { + &pioA_clk, +@@ -132,7 +162,12 @@ + &twi_clk, + &spi_clk, + // ssc 0 .. ssc2 +- // tc0 .. tc5 ++ &tc0_clk, ++ &tc1_clk, ++ &tc2_clk, ++ &tc3_clk, ++ &tc4_clk, ++ &tc5_clk, + &ohci_clk, + ðer_clk, + // irq0 .. irq6 +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200_devices.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200_devices.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200_devices.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200_devices.c 2007-03-24 16:39:15.000000000 +0100 +@@ -315,7 +315,7 @@ + .num_resources = ARRAY_SIZE(mmc_resources), + }; + +-void __init at91_add_device_mmc(struct at91_mmc_data *data) ++void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) + { + if (!data) + return; +@@ -361,7 +361,7 @@ + platform_device_register(&at91rm9200_mmc_device); + } + #else +-void __init at91_add_device_mmc(struct at91_mmc_data *data) {} ++void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} + #endif + + +@@ -480,7 +480,18 @@ + * SPI + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_SPI_AT91) || defined(CONFIG_SPI_AT91_MODULE) || defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE) ++#if defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE) /* legacy SPI driver */ ++#define SPI_DEVNAME "at91_spi" ++ ++#elif defined(CONFIG_SPI_AT91) || defined(CONFIG_SPI_AT91_MODULE) /* SPI bitbanging driver */ ++#define SPI_DEVNAME "at91_spi" ++ ++#elif defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE) /* new SPI driver */ ++#define SPI_DEVNAME "atmel_spi" ++ ++#endif ++ ++#ifdef SPI_DEVNAME + static u64 spi_dmamask = 0xffffffffUL; + + static struct resource spi_resources[] = { +@@ -497,7 +508,7 @@ + }; + + static struct platform_device at91rm9200_spi_device = { +- .name = "at91_spi", ++ .name = SPI_DEVNAME, + .id = 0, + .dev = { + .dma_mask = &spi_dmamask, +@@ -594,6 +605,10 @@ + + void __init at91_init_leds(u8 cpu_led, u8 timer_led) + { ++ /* Enable GPIO to access the LEDs */ ++ at91_set_gpio_output(cpu_led, 1); ++ at91_set_gpio_output(timer_led, 1); ++ + at91_leds_cpu = cpu_led; + at91_leds_timer = timer_led; + } +@@ -602,6 +617,32 @@ + #endif + + ++#if defined(CONFIG_NEW_LEDS) ++ ++static struct platform_device at91_leds = { ++ .name = "at91_leds", ++ .id = -1, ++}; ++ ++void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) ++{ ++ if (!nr) ++ return; ++ ++ at91_leds.dev.platform_data = leds; ++ ++ for ( ; nr; nr--, leds++) { ++ leds->index = nr; /* first record stores number of leds */ ++ at91_set_gpio_output(leds->gpio, (leds->flags & 1) == 0); ++ } ++ ++ platform_device_register(&at91_leds); ++} ++#else ++void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) {} ++#endif ++ ++ + /* -------------------------------------------------------------------- + * UART + * -------------------------------------------------------------------- */ +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200_time.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200_time.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91rm9200_time.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91rm9200_time.c 2007-03-24 16:39:15.000000000 +0100 +@@ -38,7 +38,8 @@ + * The ST_CRTR is updated asynchronously to the master clock. It is therefore + * necessary to read it twice (with the same value) to ensure accuracy. + */ +-static inline unsigned long read_CRTR(void) { ++static inline unsigned long read_CRTR(void) ++{ + unsigned long x1, x2; + + do { +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9260.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9260.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9260.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9260.c 2007-03-24 16:39:15.000000000 +0100 +@@ -14,6 +14,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -27,7 +28,11 @@ + .pfn = __phys_to_pfn(AT91_BASE_SYS), + .length = SZ_16K, + .type = MT_DEVICE, +- }, { ++ } ++}; ++ ++static struct map_desc at91sam9260_sram_desc[] __initdata = { ++ { + .virtual = AT91_IO_VIRT_BASE - AT91SAM9260_SRAM0_SIZE, + .pfn = __phys_to_pfn(AT91SAM9260_SRAM0_BASE), + .length = AT91SAM9260_SRAM0_SIZE, +@@ -37,7 +42,14 @@ + .pfn = __phys_to_pfn(AT91SAM9260_SRAM1_BASE), + .length = AT91SAM9260_SRAM1_SIZE, + .type = MT_DEVICE, +- }, ++ } ++}; ++ ++static struct map_desc at91sam9xe_sram_desc[] __initdata = { ++ { ++ .pfn = __phys_to_pfn(AT91SAM9XE_SRAM_BASE), ++ .type = MT_DEVICE, ++ } + }; + + /* -------------------------------------------------------------------- +@@ -107,13 +119,28 @@ + .pmc_mask = 1 << AT91SAM9260_ID_SPI1, + .type = CLK_TYPE_PERIPHERAL, + }; ++static struct clk tc0_clk = { ++ .name = "tc0_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC0, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc1_clk = { ++ .name = "tc1_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC1, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc2_clk = { ++ .name = "tc2_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC2, ++ .type = CLK_TYPE_PERIPHERAL, ++}; + static struct clk ohci_clk = { + .name = "ohci_clk", + .pmc_mask = 1 << AT91SAM9260_ID_UHP, + .type = CLK_TYPE_PERIPHERAL, + }; +-static struct clk ether_clk = { +- .name = "ether_clk", ++static struct clk macb_clk = { ++ .name = "macb_clk", + .pmc_mask = 1 << AT91SAM9260_ID_EMAC, + .type = CLK_TYPE_PERIPHERAL, + }; +@@ -137,6 +164,21 @@ + .pmc_mask = 1 << AT91SAM9260_ID_US5, + .type = CLK_TYPE_PERIPHERAL, + }; ++static struct clk tc3_clk = { ++ .name = "tc3_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC3, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc4_clk = { ++ .name = "tc4_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC4, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc5_clk = { ++ .name = "tc5_clk", ++ .pmc_mask = 1 << AT91SAM9260_ID_TC5, ++ .type = CLK_TYPE_PERIPHERAL, ++}; + + static struct clk *periph_clocks[] __initdata = { + &pioA_clk, +@@ -152,14 +194,18 @@ + &spi0_clk, + &spi1_clk, + // ssc +- // tc0 .. tc2 ++ &tc0_clk, ++ &tc1_clk, ++ &tc2_clk, + &ohci_clk, +- ðer_clk, ++ &macb_clk, + &isi_clk, + &usart3_clk, + &usart4_clk, + &usart5_clk, +- // tc3 .. tc5 ++ &tc3_clk, ++ &tc4_clk, ++ &tc5_clk, + // irq0 .. irq2 + }; + +@@ -213,7 +259,7 @@ + + static void at91sam9260_reset(void) + { +- at91_sys_write(AT91_RSTC_CR, (0xA5 << 24) | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); ++ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); + } + + +@@ -221,10 +267,36 @@ + * AT91SAM9260 processor initialization + * -------------------------------------------------------------------- */ + ++static void __init at91sam9xe_initialize(void) ++{ ++ unsigned long cidr, sram_size; ++ ++ cidr = at91_sys_read(AT91_DBGU_CIDR); ++ ++ switch (cidr & AT91_CIDR_SRAMSIZ) { ++ case AT91_CIDR_SRAMSIZ_32K: ++ sram_size = 2 * SZ_16K; ++ break; ++ case AT91_CIDR_SRAMSIZ_16K: ++ default: ++ sram_size = SZ_16K; ++ } ++ ++ at91sam9xe_sram_desc->virtual = AT91_IO_VIRT_BASE - sram_size; ++ at91sam9xe_sram_desc->length = sram_size; ++ ++ iotable_init(at91sam9xe_sram_desc, ARRAY_SIZE(at91sam9xe_sram_desc)); ++} ++ + void __init at91sam9260_initialize(unsigned long main_clock) + { + /* Map peripherals */ + iotable_init(at91sam9260_io_desc, ARRAY_SIZE(at91sam9260_io_desc)); ++ ++ if (cpu_is_at91sam9xe()) ++ at91sam9xe_initialize(); ++ else ++ iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc)); + + at91_arch_reset = at91sam9260_reset; + at91_extern_irq = (1 << AT91SAM9260_ID_IRQ0) | (1 << AT91SAM9260_ID_IRQ1) +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9260_devices.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9260_devices.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9260_devices.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9260_devices.c 2007-03-24 16:39:15.000000000 +0100 +@@ -128,7 +128,7 @@ + + #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE) + static u64 eth_dmamask = 0xffffffffUL; +-static struct eth_platform_data eth_data; ++static struct at91_eth_data eth_data; + + static struct resource eth_resources[] = { + [0] = { +@@ -155,7 +155,7 @@ + .num_resources = ARRAY_SIZE(eth_resources), + }; + +-void __init at91_add_device_eth(struct eth_platform_data *data) ++void __init at91_add_device_eth(struct at91_eth_data *data) + { + if (!data) + return; +@@ -192,7 +192,7 @@ + platform_device_register(&at91sam9260_eth_device); + } + #else +-void __init at91_add_device_eth(struct eth_platform_data *data) {} ++void __init at91_add_device_eth(struct at91_eth_data *data) {} + #endif + + +@@ -229,7 +229,7 @@ + .num_resources = ARRAY_SIZE(mmc_resources), + }; + +-void __init at91_add_device_mmc(struct at91_mmc_data *data) ++void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) + { + if (!data) + return; +@@ -275,7 +275,7 @@ + platform_device_register(&at91sam9260_mmc_device); + } + #else +-void __init at91_add_device_mmc(struct at91_mmc_data *data) {} ++void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} + #endif + + +@@ -515,6 +515,10 @@ + + void __init at91_init_leds(u8 cpu_led, u8 timer_led) + { ++ /* Enable GPIO to access the LEDs */ ++ at91_set_gpio_output(cpu_led, 1); ++ at91_set_gpio_output(timer_led, 1); ++ + at91_leds_cpu = cpu_led; + at91_leds_timer = timer_led; + } +@@ -523,6 +527,32 @@ + #endif + + ++#if defined(CONFIG_NEW_LEDS) ++ ++static struct platform_device at91_leds = { ++ .name = "at91_leds", ++ .id = -1, ++}; ++ ++void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) ++{ ++ if (!nr) ++ return; ++ ++ at91_leds.dev.platform_data = leds; ++ ++ for ( ; nr; nr--, leds++) { ++ leds->index = nr; /* first record stores number of leds */ ++ at91_set_gpio_output(leds->gpio, (leds->flags & 1) == 0); ++ } ++ ++ platform_device_register(&at91_leds); ++} ++#else ++void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) {} ++#endif ++ ++ + /* -------------------------------------------------------------------- + * UART + * -------------------------------------------------------------------- */ +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9261.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9261.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9261.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9261.c 2007-03-24 16:39:15.000000000 +0100 +@@ -97,6 +97,21 @@ + .pmc_mask = 1 << AT91SAM9261_ID_SPI1, + .type = CLK_TYPE_PERIPHERAL, + }; ++static struct clk tc0_clk = { ++ .name = "tc0_clk", ++ .pmc_mask = 1 << AT91SAM9261_ID_TC0, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc1_clk = { ++ .name = "tc1_clk", ++ .pmc_mask = 1 << AT91SAM9261_ID_TC1, ++ .type = CLK_TYPE_PERIPHERAL, ++}; ++static struct clk tc2_clk = { ++ .name = "tc2_clk", ++ .pmc_mask = 1 << AT91SAM9261_ID_TC2, ++ .type = CLK_TYPE_PERIPHERAL, ++}; + static struct clk ohci_clk = { + .name = "ohci_clk", + .pmc_mask = 1 << AT91SAM9261_ID_UHP, +@@ -121,7 +136,9 @@ + &spi0_clk, + &spi1_clk, + // ssc 0 .. ssc2 +- // tc0 .. tc2 ++ &tc0_clk, ++ &tc1_clk, ++ &tc2_clk, + &ohci_clk, + &lcdc_clk, + // irq0 .. irq2 +@@ -208,7 +225,7 @@ + + static void at91sam9261_reset(void) + { +- at91_sys_write(AT91_RSTC_CR, (0xA5 << 24) | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); ++ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); + } + + +diff -urN linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9261_devices.c linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9261_devices.c +--- linux-2.6.20.4-0rig/arch/arm/mach-at91rm9200/at91sam9261_devices.c 2007-03-23 20:52:51.000000000 +0100 ++++ linux-2.6.20.4-atmel/arch/arm/mach-at91rm9200/at91sam9261_devices.c 2007-03-24 16:39:15.000000000 +0100 +@@ -14,6 +14,9 @@ + #include + + #include ++#include ++ ++#include