diff options
Diffstat (limited to 'packages/linux/linux-2.6.18/avr32-network-gateway-support.patch')
-rw-r--r-- | packages/linux/linux-2.6.18/avr32-network-gateway-support.patch | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/packages/linux/linux-2.6.18/avr32-network-gateway-support.patch b/packages/linux/linux-2.6.18/avr32-network-gateway-support.patch deleted file mode 100644 index 420e859bd4..0000000000 --- a/packages/linux/linux-2.6.18/avr32-network-gateway-support.patch +++ /dev/null @@ -1,233 +0,0 @@ -From 16655aecb1a151c1f1707c64a571cd06e6a194af Mon Sep 17 00:00:00 2001 -From: Haavard Skinnemoen <hskinnemoen@atmel.com> -Date: Mon, 30 Oct 2006 09:35:44 +0100 -Subject: [PATCH] Add support for the AVR32 Network Gateway ---- - arch/avr32/Kconfig | 3 + - arch/avr32/Makefile | 1 - arch/avr32/boards/atngw/Makefile | 1 - arch/avr32/boards/atngw/flash.c | 95 +++++++++++++++++++++++++++++++++++++++ - arch/avr32/boards/atngw/setup.c | 81 +++++++++++++++++++++++++++++++++ - 5 files changed, 181 insertions(+) - -Index: linux-2.6.18/arch/avr32/Kconfig -=================================================================== ---- linux-2.6.18.orig/arch/avr32/Kconfig 2006-12-13 09:45:34.000000000 +0100 -+++ linux-2.6.18/arch/avr32/Kconfig 2006-12-13 09:45:34.000000000 +0100 -@@ -97,6 +97,9 @@ - config BOARD_ATSTK1000 - bool "ATSTK1000 evaluation board" - select BOARD_ATSTK1002 if CPU_AT32AP7000 -+ -+config BOARD_ATNGW -+ bool "AVR32 Network Gateway" - endchoice - - choice -Index: linux-2.6.18/arch/avr32/Makefile -=================================================================== ---- linux-2.6.18.orig/arch/avr32/Makefile 2006-12-13 09:45:34.000000000 +0100 -+++ linux-2.6.18/arch/avr32/Makefile 2006-12-13 09:45:34.000000000 +0100 -@@ -27,6 +27,7 @@ - head-y += arch/avr32/kernel/head.o - core-$(CONFIG_PLATFORM_AT32AP) += arch/avr32/mach-at32ap/ - core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/ -+core-$(CONFIG_BOARD_ATNGW) += arch/avr32/boards/atngw/ - core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/ - core-y += arch/avr32/kernel/ - core-y += arch/avr32/mm/ -Index: linux-2.6.18/arch/avr32/boards/atngw/Makefile -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/arch/avr32/boards/atngw/Makefile 2006-12-13 09:45:34.000000000 +0100 -@@ -0,0 +1 @@ -+obj-y += setup.o flash.o -Index: linux-2.6.18/arch/avr32/boards/atngw/flash.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/arch/avr32/boards/atngw/flash.c 2006-12-13 09:45:34.000000000 +0100 -@@ -0,0 +1,95 @@ -+/* -+ * ATNGW board-specific flash initialization -+ * -+ * Copyright (C) 2005-2006 Atmel Corporation -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+#include <linux/init.h> -+#include <linux/platform_device.h> -+#include <linux/mtd/mtd.h> -+#include <linux/mtd/partitions.h> -+#include <linux/mtd/physmap.h> -+ -+#include <asm/arch/smc.h> -+ -+static struct smc_config flash_config __initdata = { -+ .ncs_read_setup = 0, -+ .nrd_setup = 40, -+ .ncs_write_setup = 0, -+ .nwe_setup = 10, -+ -+ .ncs_read_pulse = 80, -+ .nrd_pulse = 40, -+ .ncs_write_pulse = 65, -+ .nwe_pulse = 55, -+ -+ .read_cycle = 120, -+ .write_cycle = 120, -+ -+ .bus_width = 2, -+ .nrd_controlled = 1, -+ .nwe_controlled = 1, -+ .byte_write = 1, -+}; -+ -+static struct mtd_partition flash_parts[] = { -+ { -+ .name = "u-boot", -+ .offset = 0x00000000, -+ .size = 0x00020000, /* 128 KiB */ -+ .mask_flags = MTD_WRITEABLE, -+ }, -+ { -+ .name = "root", -+ .offset = 0x00020000, -+ .size = 0x007d0000, -+ }, -+ { -+ .name = "env", -+ .offset = 0x007f0000, -+ .size = 0x00010000, -+ .mask_flags = MTD_WRITEABLE, -+ }, -+}; -+ -+static struct physmap_flash_data flash_data = { -+ .width = 2, -+ .nr_parts = ARRAY_SIZE(flash_parts), -+ .parts = flash_parts, -+}; -+ -+static struct resource flash_resource = { -+ .start = 0x00000000, -+ .end = 0x007fffff, -+ .flags = IORESOURCE_MEM, -+}; -+ -+static struct platform_device flash_device = { -+ .name = "physmap-flash", -+ .id = 0, -+ .resource = &flash_resource, -+ .num_resources = 1, -+ .dev = { -+ .platform_data = &flash_data, -+ }, -+}; -+ -+/* This needs to be called after the SMC has been initialized */ -+static int __init atngw_flash_init(void) -+{ -+ int ret; -+ -+ ret = smc_set_configuration(0, &flash_config); -+ if (ret < 0) { -+ printk(KERN_ERR "atngw: failed to set NOR flash timing\n"); -+ return ret; -+ } -+ -+ platform_device_register(&flash_device); -+ -+ return 0; -+} -+device_initcall(atngw_flash_init); -Index: linux-2.6.18/arch/avr32/boards/atngw/setup.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/arch/avr32/boards/atngw/setup.c 2006-12-13 09:59:44.000000000 +0100 -@@ -0,0 +1,84 @@ -+/* -+ * Board-specific setup code for the Atmel Network Gateway -+ * -+ * Copyright (C) 2005-2006 Atmel Corporation -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+#include <linux/bootmem.h> -+#include <linux/device.h> -+#include <linux/init.h> -+#include <linux/types.h> -+#include <linux/linkage.h> -+#include <linux/spi/spi.h> -+ -+#include <asm/setup.h> -+ -+#include <asm/arch/at32ap7000.h> -+#include <asm/arch/board.h> -+#include <asm/arch/init.h> -+ -+/* Initialized by bootloader-specific startup code. */ -+struct tag *bootloader_tags __initdata; -+ -+static struct eth_platform_data __initdata eth_data[2]; -+ -+static struct spi_board_info spi_board_info[] __initdata = { -+ { -+ .modalias = "mtd_dataflash", -+ .controller_data = (void *)GPIO_PIN_PA(3), -+ .max_speed_hz = 66000000, -+ .bus_num = 0, -+ .chip_select = 0, -+ }, -+}; -+ -+static int __init parse_tag_ethernet(struct tag *tag) -+{ -+ int i; -+ -+ i = tag->u.ethernet.mac_index; -+ if (i < ARRAY_SIZE(eth_data)) { -+ eth_data[i].mii_phy_addr = tag->u.ethernet.mii_phy_addr; -+ memcpy(ð_data[i].hw_addr, tag->u.ethernet.hw_address, -+ sizeof(eth_data[i].hw_addr)); -+ eth_data[i].valid = 1; -+ } -+ return 0; -+} -+__tagtable(ATAG_ETHERNET, parse_tag_ethernet); -+ -+void __init setup_board(void) -+{ -+ at32_map_usart(1, 0); /* /dev/ttyS0 */ -+ -+ at32_setup_serial_console(0); -+} -+ -+static int __init atngw_init(void) -+{ -+ at32_add_system_devices(); -+ -+ at32_add_device_usart(0); -+ -+ if (eth_data[0].valid) -+ at32_add_device_eth(0, ð_data[0]); -+ if (eth_data[1].valid) -+ at32_add_device_eth(1, ð_data[1]); -+ -+ spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); -+ -+ at32_add_device_spi(0); -+ at32_add_device_mmci(0); -+ at32_add_device_usb(0); -+ -+ return 0; -+} -+postcore_initcall(atngw_init); -+ -+void board_setup_fbmem(unsigned long fbmem_start, unsigned long fbmem_size) -+{ -+ -+} |