📄 2.6.20-at91.patch
字号:
+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=ydiff -urN -x CVS linux-2.6.20.orig/arch/arm/configs/csb337_defconfig linux-2.6/arch/arm/configs/csb337_defconfig--- linux-2.6.20.orig/arch/arm/configs/csb337_defconfig Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/configs/csb337_defconfig Thu Feb 1 17:09:09 2007@@ -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 driversdiff -urN -x CVS linux-2.6.20.orig/arch/arm/configs/csb637_defconfig linux-2.6/arch/arm/configs/csb637_defconfig--- linux-2.6.20.orig/arch/arm/configs/csb637_defconfig Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/configs/csb637_defconfig Thu Feb 1 17:09:08 2007@@ -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 driversdiff -urN -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/Kconfig linux-2.6/arch/arm/mach-at91rm9200/Kconfig--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/Kconfig Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/Kconfig Wed Jan 31 13:01:55 2007@@ -14,6 +14,9 @@ config ARCH_AT91SAM9261 bool "AT91SAM9261" +config ARCH_AT91SAM9263+ bool "AT91SAM9263"+ endchoice # ----------------------------------------------------------@@ -118,21 +121,50 @@ # ---------------------------------------------------------- +if ARCH_AT91SAM9263++comment "AT91SAM9263 Board Type"++config MACH_AT91SAM9263EK+ bool "Atmel AT91SAM9263-EK Evaluation Kit"+ depends on ARCH_AT91SAM9263+ help+ Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.+ <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>++endif++# ----------------------------------------------------------+ comment "AT91 Board Options" config MTD_AT91_DATAFLASH_CARD bool "Enable DataFlash Card support"- depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK)+ depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK) help Enable support for the DataFlash card. config MTD_NAND_AT91_BUSWIDTH_16 bool "Enable 16-bit data bus interface to NAND flash"- depends on (MACH_AT91SAM9261EK || MACH_AT91SAM9260EK)+ depends on (MACH_AT91SAM9261EK || MACH_AT91SAM9260EK || MACH_AT91SAM9263EK) help On AT91SAM926x boards both types of NAND flash can be present (8 and 16 bit data bus width). +config CSB300_WAKE_SW0+ bool "CSB300 SW0 irq0 wakeup"+ depends on MACH_CSB337 && PM+ help+ If you have a CSB300 connected to your CSB337, this lets+ SW0 serve as a wakeup button. It uses IRQ0.++config CSB300_WAKE_SW1+ bool "CSB300 SW1 gpio wakeup"+ depends on MACH_CSB337 && PM+ help+ If you have a CSB300 connected to your CSB337, this lets+ SW1 serve as a wakeup button. It uses GPIO.+ # ---------------------------------------------------------- comment "AT91 Feature Selections"@@ -143,6 +175,13 @@ 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 uses slow clock mode (EXPERIMENTAL)"+ depends on PM && EXPERIMENTAL+ help+ Select this if you wish to put the CPU into slow clock mode+ while in the "Suspend to RAM" state, to save more power.+ endmenu endifdiff -urN -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/Makefile linux-2.6/arch/arm/mach-at91rm9200/Makefile--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/Makefile Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/Makefile Tue Jan 16 10:16:20 2007@@ -8,11 +8,13 @@ obj- := obj-$(CONFIG_PM) += pm.o+obj-$(CONFIG_AT91_SLOW_CLOCK) += pm_slowclock.o # CPU-specific support obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devices.o obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o+obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o # AT91RM9200 board-specific support obj-$(CONFIG_MACH_ONEARM) += board-1arm.o@@ -31,6 +33,9 @@ # AT91SAM9261 board-specific support obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o +# AT91SAM9263 board-specific support+obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o+ # LEDs support led-$(CONFIG_ARCH_AT91RM9200DK) += leds.o led-$(CONFIG_MACH_AT91RM9200EK) += leds.o@@ -41,7 +46,7 @@ obj-$(CONFIG_LEDS) += $(led-y) # VGA support-#obj-$(CONFIG_FB_S1D13XXX) += ics1523.o+obj-$(CONFIG_FB_S1D13XXX) += ics1523.o ifeq ($(CONFIG_PM_DEBUG),y)diff -urN -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200.c linux-2.6/arch/arm/mach-at91rm9200/at91rm9200.c--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200.c Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/at91rm9200.c Tue Jan 16 17:41:32 2007@@ -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 .. irq6diff -urN -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200_devices.c linux-2.6/arch/arm/mach-at91rm9200/at91rm9200_devices.c--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200_devices.c Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/at91rm9200_devices.c Tue Feb 6 12:39:33 2007@@ -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 -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200_time.c linux-2.6/arch/arm/mach-at91rm9200/at91rm9200_time.c--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91rm9200_time.c Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/at91rm9200_time.c Wed Jan 31 14:14:47 2007@@ -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 -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91sam9260.c linux-2.6/arch/arm/mach-at91rm9200/at91sam9260.c--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91sam9260.c Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/at91sam9260.c Tue Feb 6 11:11:30 2007@@ -107,6 +107,21 @@ .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,@@ -137,6 +152,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 +182,18 @@ &spi0_clk, &spi1_clk, // ssc- // tc0 .. tc2+ &tc0_clk,+ &tc1_clk,+ &tc2_clk, &ohci_clk, ðer_clk, &isi_clk, &usart3_clk, &usart4_clk, &usart5_clk,- // tc3 .. tc5+ &tc3_clk,+ &tc4_clk,+ &tc5_clk, // irq0 .. irq2 }; @@ -213,7 +247,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); } diff -urN -x CVS linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91sam9260_devices.c linux-2.6/arch/arm/mach-at91rm9200/at91sam9260_devices.c--- linux-2.6.20.orig/arch/arm/mach-at91rm9200/at91sam9260_devices.c Fri Feb 9 09:25:58 2007+++ linux-2.6/arch/arm/mach-at91rm9200/at91sam9260_devices.c Tue Feb 6 12:39:33 2007
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -