diff options
Diffstat (limited to 'target/linux/patches/2.6.37/foxg20.patch')
-rw-r--r-- | target/linux/patches/2.6.37/foxg20.patch | 520 |
1 files changed, 0 insertions, 520 deletions
diff --git a/target/linux/patches/2.6.37/foxg20.patch b/target/linux/patches/2.6.37/foxg20.patch deleted file mode 100644 index d00c4c111..000000000 --- a/target/linux/patches/2.6.37/foxg20.patch +++ /dev/null @@ -1,520 +0,0 @@ -diff -Nur linux-2.6.37.orig/arch/arm/Kconfig linux-2.6.37/arch/arm/Kconfig ---- linux-2.6.37.orig/arch/arm/Kconfig 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/Kconfig 2011-01-19 22:07:18.000000000 +0100 -@@ -16,6 +16,8 @@ - select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) - select HAVE_GENERIC_DMA_COHERENT - select HAVE_KERNEL_GZIP -+ select HAVE_KERNEL_BZIP2 -+ select HAVE_KERNEL_LZMA - select HAVE_KERNEL_LZO - select HAVE_KERNEL_LZMA - select HAVE_IRQ_WORK -diff -Nur linux-2.6.37.orig/arch/arm/include/asm/setup.h linux-2.6.37/arch/arm/include/asm/setup.h ---- linux-2.6.37.orig/arch/arm/include/asm/setup.h 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/include/asm/setup.h 2011-01-19 22:07:18.000000000 +0100 -@@ -18,6 +18,8 @@ - - #define COMMAND_LINE_SIZE 1024 - -+const char *get_system_type(void); -+ - /* The list ends with an ATAG_NONE node. */ - #define ATAG_NONE 0x00000000 - -diff -Nur linux-2.6.37.orig/arch/arm/kernel/setup.c linux-2.6.37/arch/arm/kernel/setup.c ---- linux-2.6.37.orig/arch/arm/kernel/setup.c 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/kernel/setup.c 2011-01-19 22:07:18.000000000 +0100 -@@ -935,8 +935,12 @@ - - static int c_show(struct seq_file *m, void *v) - { -+ unsigned long n = (unsigned long) v - 1; - int i; - -+ if (n == 0) -+ seq_printf(m, "system type\t\t: %s\n", get_system_type()); -+ - seq_printf(m, "Processor\t: %s rev %d (%s)\n", - cpu_name, read_cpuid_id() & 15, elf_platform); - -diff -Nur linux-2.6.37.orig/arch/arm/mach-at91/Kconfig linux-2.6.37/arch/arm/mach-at91/Kconfig ---- linux-2.6.37.orig/arch/arm/mach-at91/Kconfig 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/mach-at91/Kconfig 2011-01-19 22:08:47.000000000 +0100 -@@ -347,6 +347,15 @@ - Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit - that embeds only one SD/MMC slot. - -+config MACH_FOXG20 -+ bool "Acme Systems FOX G20" -+ select HAVE_AT91_DATAFLASH_CARD -+ select HAVE_NAND_ATMEL_BUSWIDTH_16 -+ depends on ARCH_AT91SAM9G20 -+ help -+ Select this if you are using Acme Systems -+ FOX Board G20 <http://netus.acmesystems.it> -+ - config MACH_AT91SAM9G20EK_2MMC - depends on MACH_AT91SAM9G20EK - bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots" -diff -Nur linux-2.6.37.orig/arch/arm/mach-at91/Makefile linux-2.6.37/arch/arm/mach-at91/Makefile ---- linux-2.6.37.orig/arch/arm/mach-at91/Makefile 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/mach-at91/Makefile 2011-01-19 22:07:18.000000000 +0100 -@@ -73,6 +73,9 @@ - # AT91SAM9G45 board-specific support - obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o - -+# FOXG20 board-specific support -+obj-$(CONFIG_MACH_FOXG20) += board-foxg20.o -+ - # AT91CAP9 board-specific support - obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o - -diff -Nur linux-2.6.37.orig/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6.37/arch/arm/mach-at91/at91sam9260_devices.c ---- linux-2.6.37.orig/arch/arm/mach-at91/at91sam9260_devices.c 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/arch/arm/mach-at91/at91sam9260_devices.c 2011-01-19 22:07:18.000000000 +0100 -@@ -454,7 +454,15 @@ - .sda_is_open_drain = 1, - .scl_pin = AT91_PIN_PA24, - .scl_is_open_drain = 1, -+#if defined(CONFIG_MACH_FOXG20) -+ /* Some I2C devices are limited to 100 kHz and i2c-gpio.h -+ * says "frequency is (500 / udelay) kHz" so 5 is best (and is -+ * used in i2c-gpio.c) -+ */ -+ .udelay = 5, /* ~100 kHz */ -+#else - .udelay = 2, /* ~100 kHz */ -+#endif - }; - - static struct platform_device at91sam9260_twi_device = { -diff -Nur linux-2.6.37.orig/arch/arm/mach-at91/board-foxg20.c linux-2.6.37/arch/arm/mach-at91/board-foxg20.c ---- linux-2.6.37.orig/arch/arm/mach-at91/board-foxg20.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.37/arch/arm/mach-at91/board-foxg20.c 2011-01-19 22:30:43.000000000 +0100 -@@ -0,0 +1,374 @@ -+/* -+ * Copyright (C) 2005 SAN People -+ * Copyright (C) 2008 Atmel -+ * Copyright (C) 2010 Lee McLoughlin - lee@lmmrtech.com -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+ */ -+ -+#include <linux/types.h> -+#include <linux/init.h> -+#include <linux/mm.h> -+#include <linux/module.h> -+#include <linux/platform_device.h> -+#include <linux/spi/spi.h> -+#include <linux/spi/at73c213.h> -+#include <linux/gpio_keys.h> -+#include <linux/input.h> -+#include <linux/clk.h> -+#include <linux/w1-gpio.h> -+ -+#include <mach/hardware.h> -+#include <asm/setup.h> -+#include <asm/mach-types.h> -+#include <asm/irq.h> -+ -+#include <asm/mach/arch.h> -+#include <asm/mach/map.h> -+#include <asm/mach/irq.h> -+ -+#include <mach/board.h> -+#include <mach/gpio.h> -+#include <mach/at91sam9_smc.h> -+ -+#include "sam9_smc.h" -+#include "generic.h" -+ -+/* -+ * The FOX hardware comes as the "Netus" board with just the cpu, ram, -+ * dataflash and two header connectors. This is plugged into the Fox board -+ * which provides the ethernet, usb, rtc, leds, switch, ... -+ * Other version of the Fox board are planned which could contain -+ * both NAND and sound (WM8731). -+ * -+ * By default USART4 and USART5 are not enabled (freeing up those pins -+ * for general use) -+ * -+ * Note: Enabling the NAND without a NAND device present doesn't cause -+ * any issues as on boot the probe will fail. -+ */ -+/* #define FOXG20_NAND */ -+/* #define FOXG20_WM8731 */ -+/* #define FOX_USART4 */ -+/* #define FOX_USART5 */ -+ -+const char *get_system_type(void) -+{ -+ return "FoxBoard FOXG20"; -+} -+ -+static void __init foxg20_map_io(void) -+{ -+ /* Initialize processor: 18.432 MHz crystal */ -+ at91sam9260_initialize(18432000); -+ -+ /* DBGU on ttyS0. (Rx & Tx only) */ -+ at91_register_uart(0, 0, 0); -+ -+ /* USART0 on ttyS1. (Rx, Tx, CTS, RTS, DTR, DSR, DCD, RI) */ -+ at91_register_uart(AT91SAM9260_ID_US0, 1, ATMEL_UART_CTS | ATMEL_UART_RTS -+ | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD -+ | ATMEL_UART_RI); -+ -+ /* USART1 on ttyS2. (Rx, Tx, RTS, CTS) */ -+ at91_register_uart(AT91SAM9260_ID_US1, 2, ATMEL_UART_CTS | ATMEL_UART_RTS); -+ -+ /* USART2 on ttyS3. (Rx & Tx only) */ -+ at91_register_uart(AT91SAM9260_ID_US2, 3, 0); -+ -+ /* USART3 on ttyS4. (Rx, Tx, RTS, CTS) */ -+ at91_register_uart(AT91SAM9260_ID_US3, 4, ATMEL_UART_CTS | ATMEL_UART_RTS); -+ -+#if defined(FOX_USART4) -+ /* USART4 on ttyS5. (Rx & Tx only) */ -+ at91_register_uart(AT91SAM9260_ID_US4, 5, 0); -+#endif -+ -+#if defined(FOX_USART5) -+ /* USART5 on ttyS6. (Rx & Tx only) */ -+ at91_register_uart(AT91SAM9260_ID_US5, 6, 0); -+#endif -+ -+ /* set serial console to ttyS0 (ie, DBGU) */ -+ at91_set_serial_console(0); -+} -+ -+static void __init foxg20_init_irq(void) -+{ -+ at91sam9260_init_interrupts(NULL); -+} -+ -+ -+/* -+ * USB Host port -+ */ -+static struct at91_usbh_data __initdata foxg20_usbh_data = { -+ .ports = 2, -+}; -+ -+/* -+ * USB Device port -+ */ -+static struct at91_udc_data __initdata foxg20_udc_data = { -+ .vbus_pin = AT91_PIN_PC6, -+ .pullup_pin = 0, /* pull-up driven by UDC */ -+}; -+ -+ -+/* -+ * SPI devices. -+ */ -+static struct spi_board_info foxg20_spi_devices[] = { -+#if !defined(CONFIG_MMC_AT91) -+ { -+ .modalias = "mtd_dataflash", -+ .chip_select = 1, -+ .max_speed_hz = 15 * 1000 * 1000, -+ .bus_num = 0, -+ }, -+#endif -+}; -+ -+ -+/* -+ * MACB Ethernet device -+ */ -+static struct at91_eth_data __initdata foxg20_macb_data = { -+ .phy_irq_pin = AT91_PIN_PA7, -+ .is_rmii = 1, -+}; -+ -+ -+#ifdef FOXG20_NAND -+/* The Fox doesn't have NAND memory */ -+/* -+ * NAND flash -+ */ -+static struct mtd_partition __initdata foxg20_nand_partition[] = { -+ { -+ .name = "Bootstrap", -+ .offset = 0, -+ .size = 4 * SZ_1M, -+ }, -+ { -+ .name = "Partition 1", -+ .offset = MTDPART_OFS_NXTBLK, -+ .size = 60 * SZ_1M, -+ }, -+ { -+ .name = "Partition 2", -+ .offset = MTDPART_OFS_NXTBLK, -+ .size = MTDPART_SIZ_FULL, -+ }, -+}; -+ -+static struct mtd_partition * __init nand_partitions(int size, int *num_partitions) -+{ -+ *num_partitions = ARRAY_SIZE(foxg20_nand_partition); -+ return foxg20_nand_partition; -+} -+ -+/* det_pin is not connected */ -+static struct atmel_nand_data __initdata foxg20_nand_data = { -+ .ale = 21, -+ .cle = 22, -+ .rdy_pin = AT91_PIN_PC13, -+ .enable_pin = AT91_PIN_PC14, -+ .partition_info = nand_partitions, -+#if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16) -+ .bus_width_16 = 1, -+#else -+ .bus_width_16 = 0, -+#endif -+}; -+ -+static struct sam9_smc_config __initdata foxg20_nand_smc_config = { -+ .ncs_read_setup = 0, -+ .nrd_setup = 2, -+ .ncs_write_setup = 0, -+ .nwe_setup = 2, -+ -+ .ncs_read_pulse = 4, -+ .nrd_pulse = 4, -+ .ncs_write_pulse = 4, -+ .nwe_pulse = 4, -+ -+ .read_cycle = 7, -+ .write_cycle = 7, -+ -+ .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE, -+ .tdf_cycles = 3, -+}; -+ -+static void __init foxg20_add_device_nand(void) -+{ -+ /* setup bus-width (8 or 16) */ -+ if (foxg20_nand_data.bus_width_16) -+ foxg20_nand_smc_config.mode |= AT91_SMC_DBW_16; -+ else -+ foxg20_nand_smc_config.mode |= AT91_SMC_DBW_8; -+ -+ /* configure chip-select 3 (NAND) */ -+ sam9_smc_configure(3, &foxg20_nand_smc_config); -+ -+ at91_add_device_nand(&foxg20_nand_data); -+} -+#endif -+ -+ -+/* -+ * MCI (SD/MMC) -+ * det_pin, wp_pin and vcc_pin are not connected -+ */ -+static struct at91_mmc_data __initdata foxg20_mmc_data = { -+ .slot_b = 1, -+ .wire4 = 1, -+}; -+ -+ -+/* -+ * LEDs -+ */ -+static struct gpio_led foxg20_leds[] = { -+ { /* user led, red */ -+ .name = "user_led", -+ .gpio = AT91_PIN_PC7, -+ .active_low = 0, -+ .default_trigger = "heartbeat", -+ }, -+}; -+ -+ -+/* -+ * GPIO Buttons -+ */ -+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) -+static struct gpio_keys_button foxg20_buttons[] = { -+ { -+ .gpio = AT91_PIN_PC4, -+ .code = BTN_1, -+ .desc = "Button 1", -+ .active_low = 1, -+ .wakeup = 1, -+ }, -+}; -+ -+static struct gpio_keys_platform_data foxg20_button_data = { -+ .buttons = foxg20_buttons, -+ .nbuttons = ARRAY_SIZE(foxg20_buttons), -+}; -+ -+static struct platform_device foxg20_button_device = { -+ .name = "gpio-keys", -+ .id = -1, -+ .num_resources = 0, -+ .dev = { -+ .platform_data = &foxg20_button_data, -+ } -+}; -+ -+static void __init foxg20_add_device_buttons(void) -+{ -+ at91_set_gpio_input(AT91_PIN_PC4, 1); /* btn1 */ -+ at91_set_deglitch(AT91_PIN_PC4, 1); -+ -+ platform_device_register(&foxg20_button_device); -+} -+#else -+static void __init foxg20_add_device_buttons(void) {} -+#endif -+ -+ -+#if !defined(FOXG20_WM8731) -+#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE) -+static struct w1_gpio_platform_data w1_gpio_pdata = { -+ /* If you choose to use a pin other than PB16 it needs to be 3.3V */ -+ .pin = AT91_PIN_PB16, -+ .is_open_drain = 1, -+}; -+ -+static struct platform_device w1_device = { -+ .name = "w1-gpio", -+ .id = -1, -+ .dev.platform_data = &w1_gpio_pdata, -+}; -+ -+static void __init at91_add_device_w1(void) -+{ -+ at91_set_GPIO_periph(w1_gpio_pdata.pin, 1); -+ at91_set_multi_drive(w1_gpio_pdata.pin, 1); -+ platform_device_register(&w1_device); -+} -+ -+#endif -+#endif -+ -+ -+static struct i2c_board_info __initdata foxg20_i2c_devices[] = { -+ { -+ I2C_BOARD_INFO("24c512", 0x50), -+#ifdef FOXG20_WM8731 -+ I2C_BOARD_INFO("wm8731", 0x1b), -+#endif -+ }, -+}; -+ -+ -+static void __init foxg20_board_init(void) -+{ -+ /* Serial */ -+ at91_add_device_serial(); -+ /* USB Host */ -+ at91_add_device_usbh(&foxg20_usbh_data); -+ /* USB Device */ -+ at91_add_device_udc(&foxg20_udc_data); -+ /* SPI */ -+ at91_add_device_spi(foxg20_spi_devices, ARRAY_SIZE(foxg20_spi_devices)); -+#ifdef FOXG20_NAND -+ /* The Fox doesn't have NAND memory */ -+ /* NAND */ -+ foxg20_add_device_nand(); -+#endif -+ /* Ethernet */ -+ at91_add_device_eth(&foxg20_macb_data); -+ /* MMC */ -+ at91_add_device_mmc(0, &foxg20_mmc_data); -+ /* I2C */ -+ at91_add_device_i2c(foxg20_i2c_devices, ARRAY_SIZE(foxg20_i2c_devices)); -+ /* LEDs */ -+ at91_gpio_leds(foxg20_leds, ARRAY_SIZE(foxg20_leds)); -+ /* Push Buttons */ -+ foxg20_add_device_buttons(); -+#ifdef FOXG20_WM8731 -+ /* The Fox doesn't have this sound chip */ -+ /* PCK0 provides MCLK to the WM8731 */ -+ at91_set_B_periph(AT91_PIN_PC1, 0); -+ /* SSC (for WM8731) */ -+ at91_add_device_ssc(AT91SAM9260_ID_SSC, ATMEL_SSC_TX); -+#else -+#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE) -+ at91_add_device_w1(); -+#endif -+#endif -+} -+ -+MACHINE_START(AT91SAM9G20EK, "Acme Systems FOXG20") -+ /* Maintainer: Lee McLoughlin */ -+ .boot_params = AT91_SDRAM_BASE + 0x100, -+ .timer = &at91sam926x_timer, -+ .map_io = foxg20_map_io, -+ .init_irq = foxg20_init_irq, -+ .init_machine = foxg20_board_init, -+MACHINE_END -diff -Nur linux-2.6.37.orig/drivers/mmc/host/Kconfig linux-2.6.37/drivers/mmc/host/Kconfig ---- linux-2.6.37.orig/drivers/mmc/host/Kconfig 2011-01-05 01:50:19.000000000 +0100 -+++ linux-2.6.37/drivers/mmc/host/Kconfig 2011-01-19 22:07:18.000000000 +0100 -@@ -230,12 +230,12 @@ - - If unsure, say N. - --choice -- prompt "Atmel SD/MMC Driver" -- depends on AVR32 || ARCH_AT91 -- default MMC_ATMELMCI if AVR32 -- help -- Choose which driver to use for the Atmel MCI Silicon -+#choice -+# prompt "Atmel SD/MMC Driver" -+# depends on AVR32 || ARCH_AT91 -+# default MMC_ATMELMCI if AVR32 -+# help -+# Choose which driver to use for the Atmel MCI Silicon - - config MMC_AT91 - tristate "AT91 SD/MMC Card Interface support" -@@ -245,17 +245,17 @@ - - If unsure, say N. - --config MMC_ATMELMCI -- tristate "Atmel Multimedia Card Interface support" -- depends on AVR32 || ARCH_AT91 -- help -- This selects the Atmel Multimedia Card Interface driver. If -- you have an AT32 (AVR32) or AT91 platform with a Multimedia -- Card slot, say Y or M here. -- -- If unsure, say N. -- --endchoice -+#config MMC_ATMELMCI -+# tristate "Atmel Multimedia Card Interface support" -+# depends on AVR32 || ARCH_AT91 -+# help -+# This selects the Atmel Multimedia Card Interface driver. If -+# you have an AT32 (AVR32) or AT91 platform with a Multimedia -+# Card slot, say Y or M here. -+# -+# If unsure, say N. -+# -+#endchoice - - config MMC_ATMELMCI_DMA - bool "Atmel MCI DMA support (EXPERIMENTAL)" |