diff --git a/core/linux/PKGBUILD b/core/linux/PKGBUILD index 284d49f5b..f982017fe 100644 --- a/core/linux/PKGBUILD +++ b/core/linux/PKGBUILD @@ -10,7 +10,7 @@ pkgname=('linux' 'linux-headers') _kernelname=${pkgname#linux} _basekernel=3.1 pkgver=${_basekernel}.10 -pkgrel=1 +pkgrel=2 arch=('arm') url="http://www.kernel.org/" license=('GPL2') @@ -30,13 +30,13 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.bz2 'usb-add-reset-resume-quirk-for-several-webcams.patch') md5sums=('8d43453f8159b2332ad410b19d86a931' 'a8e1c25a93a685ec2a1c3a808715fe9d' - '7f3ec25d5ab2e368a05376d59e400850' + 'f7b581e728911995dee392c11fd2b2fd' 'f5d3635da03cb45904bedd69b47133de' '3f64ed9d71499fe9293dc671f4e4087e' '29628745258df910abfb8cb24ca3ccd9' 'c9e6e8bb0774a89f7f9bd30a13be7532' '55b04499a4578e586cf5a4d0b69fc5aa' - '1bc999c824910b5eab108a48e75302ad' + 'e9c48e4c43e1044122bc4832dcbe065c' 'ca6fec585152e0488ee04bc0b311ecf3' '9d3c56a4b999c8bfbd4018089a62f662' 'd00814b57448895e65fbbc800e8a58ba') diff --git a/core/linux/archlinuxarm.patch b/core/linux/archlinuxarm.patch index 9e4f99e6c..39efa7b44 100644 --- a/core/linux/archlinuxarm.patch +++ b/core/linux/archlinuxarm.patch @@ -600,8 +600,8 @@ diff -urN a/arch/arm/mach-kirkwood/iconnect-setup.c b/arch/arm/mach-kirkwood/ico +MACHINE_END diff -urN a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig --- a/arch/arm/mach-kirkwood/Kconfig 2011-10-24 07:10:05.000000000 +0000 -+++ b/arch/arm/mach-kirkwood/Kconfig 2012-01-29 18:11:29.007972046 +0000 -@@ -64,6 +64,36 @@ ++++ b/arch/arm/mach-kirkwood/Kconfig 2012-01-31 01:24:44.229451005 +0000 +@@ -64,6 +64,42 @@ Say 'Y' here if you want your kernel to support the Seagate FreeAgent DockStar. @@ -634,14 +634,20 @@ diff -urN a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig + help + Say 'Y' here if you want your kernel to support the + CloudEngines Pogoplug e02. ++ ++config MACH_NAS6210 ++ bool "RaidSonic ICY BOX IB-NAS6210" ++ help ++ Say 'Y' here if you want your kernel to support the ++ RaidSonic ICY BOX IB-NAS6210 device. + config MACH_OPENRD bool diff -urN a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile --- a/arch/arm/mach-kirkwood/Makefile 2011-10-24 07:10:05.000000000 +0000 -+++ b/arch/arm/mach-kirkwood/Makefile 2012-01-29 18:11:44.610037721 +0000 -@@ -8,6 +8,11 @@ ++++ b/arch/arm/mach-kirkwood/Makefile 2012-01-31 01:24:14.197201753 +0000 +@@ -8,6 +8,12 @@ obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o @@ -650,6 +656,7 @@ diff -urN a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile +obj-$(CONFIG_MACH_ICONNECT) += iconnect-setup.o +obj-$(CONFIG_MACH_POGOPLUGV4) += pogoplugv4-setup.o +obj-$(CONFIG_MACH_POGO_E02) += pogo_e02-setup.o ++obj-$(CONFIG_MACH_NAS6210) += nas6210-setup.o obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o @@ -664,6 +671,195 @@ diff -urN a/arch/arm/mach-kirkwood/mpp.h b/arch/arm/mach-kirkwood/mpp.h #define MPP12_SD_CLK MPP( 12, 0x1, 0, 1, 1, 1, 1, 1, 1 ) #define MPP12_AU_SPDIF0 MPP( 12, 0xa, 0, 1, 0, 0, 0, 0, 1 ) #define MPP12_SPI_MOSI MPP( 12, 0xb, 0, 1, 0, 0, 0, 0, 1 ) +diff -urN a/arch/arm/mach-kirkwood/nas6210-setup.c b/arch/arm/mach-kirkwood/nas6210-setup.c +--- a/arch/arm/mach-kirkwood/nas6210-setup.c 1970-01-01 00:00:00.000000000 +0000 ++++ b/arch/arm/mach-kirkwood/nas6210-setup.c 2012-01-31 01:28:32.440124460 +0000 +@@ -0,0 +1,185 @@ ++/* ++ * arch/arm/mach-kirkwood/nas6210-setup.c ++ * ++ * Raidsonic ICYBOX NAS6210 Board Setup ++ * ++ * This file is licensed under the terms of the GNU General Public ++ * License version 2. This program is licensed "as is" without any ++ * warranty of any kind, whether express or implied. ++ */ ++ ++#include <linux/kernel.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++#include <linux/mtd/partitions.h> ++#include <linux/ata_platform.h> ++#include <linux/mv643xx_eth.h> ++#include <linux/gpio.h> ++#include <linux/gpio_keys.h> ++#include <linux/input.h> ++#include <linux/leds.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <mach/kirkwood.h> ++#include "common.h" ++#include "mpp.h" ++ ++#define NAS6210_GPIO_POWER_OFF 24 ++ ++static struct mtd_partition nas6210_nand_parts[] = { ++ { ++ .name = "u-boot", ++ .offset = 0, ++ .size = SZ_1M ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = 6*SZ_1M ++ }, { ++ .name = "root", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = MTDPART_SIZ_FULL ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data nas6210_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(8), ++}; ++ ++static struct mv_sata_platform_data nas6210_sata_data = { ++ .n_ports = 2, ++}; ++ ++static struct gpio_led nas6210_led_pins[] = { ++ { ++ .name = "status:green:power", ++ .default_trigger = "default-on", ++ .gpio = 25, ++ .active_low = 0, ++ }, ++ { ++ .name = "status:red:power", ++ .default_trigger = "none", ++ .gpio = 22, ++ .active_low = 0, ++ }, ++ { ++ .name = "status:red:usb_copy", ++ .default_trigger = "none", ++ .gpio = 27, ++ .active_low = 0, ++ }, ++}; ++ ++static struct gpio_led_platform_data nas6210_led_data = { ++ .leds = nas6210_led_pins, ++ .num_leds = ARRAY_SIZE(nas6210_led_pins), ++}; ++ ++static struct platform_device nas6210_leds = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev = { ++ .platform_data = &nas6210_led_data, ++ } ++}; ++ ++static struct gpio_keys_button nas6210_buttons[] = { ++ { ++ .code = KEY_COPY, ++ .gpio = 29, ++ .desc = "USB Copy", ++ .active_low = 1, ++ }, ++ { ++ .code = KEY_RESTART, ++ .gpio = 28, ++ .desc = "Reset", ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_keys_platform_data nas6210_button_data = { ++ .buttons = nas6210_buttons, ++ .nbuttons = ARRAY_SIZE(nas6210_buttons), ++}; ++ ++static struct platform_device nas6210_button_device = { ++ .name = "gpio-keys", ++ .id = -1, ++ .num_resources = 0, ++ .dev = { ++ .platform_data = &nas6210_button_data, ++ } ++}; ++ ++static unsigned int nas6210_mpp_config[] __initdata = { ++ MPP0_NF_IO2, ++ MPP1_NF_IO3, ++ MPP2_NF_IO4, ++ MPP3_NF_IO5, ++ MPP4_NF_IO6, ++ MPP5_NF_IO7, ++ MPP18_NF_IO0, ++ MPP19_NF_IO1, ++ MPP22_GPIO, /* Power LED red */ ++ MPP24_GPIO, /* Power off device */ ++ MPP25_GPIO, /* Power LED green */ ++ MPP27_GPIO, /* USB transfer LED */ ++ MPP28_GPIO, /* Reset button */ ++ MPP29_GPIO, /* USB Copy button */ ++ 0 ++}; ++ ++static void nas6210_power_off(void) ++{ ++ gpio_set_value(NAS6210_GPIO_POWER_OFF, 1); ++} ++ ++static void __init nas6210_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(nas6210_mpp_config); ++ ++ kirkwood_nand_init(ARRAY_AND_SIZE(nas6210_nand_parts), 25); ++ kirkwood_ehci_init(); ++ kirkwood_ge00_init(&nas6210_ge00_data); ++ kirkwood_sata_init(&nas6210_sata_data); ++ kirkwood_uart0_init(); ++ platform_device_register(&nas6210_leds); ++ platform_device_register(&nas6210_button_device); ++ if (gpio_request(NAS6210_GPIO_POWER_OFF, "power-off") == 0 && ++ gpio_direction_output(NAS6210_GPIO_POWER_OFF, 0) == 0) ++ pm_power_off = nas6210_power_off; ++ else ++ pr_err("nas6210: failed to configure power-off GPIO\n"); ++} ++ ++static int __init nas6210_pci_init(void) ++{ ++ if (machine_is_nas6210()) { ++ u32 dev, rev; ++ ++ kirkwood_pcie_id(&dev, &rev); ++ if (dev == MV88F6282_DEV_ID) ++ kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0); ++ else ++ kirkwood_pcie_init(KW_PCIE0); ++ } ++ ++ return 0; ++} ++subsys_initcall(nas6210_pci_init); ++ ++MACHINE_START(NAS6210, "RaidSonic ICY BOX IB-NAS6210") ++ /* Maintainer: <gmbnomis at gmail dot com> */ ++ .boot_params = 0x00000100, ++ .init_machine = nas6210_init, ++ .map_io = kirkwood_map_io, ++ .init_early = kirkwood_init_early, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END diff -urN a/arch/arm/mach-kirkwood/pogo_e02-setup.c b/arch/arm/mach-kirkwood/pogo_e02-setup.c --- a/arch/arm/mach-kirkwood/pogo_e02-setup.c 1970-01-01 00:00:00.000000000 +0000 +++ b/arch/arm/mach-kirkwood/pogo_e02-setup.c 2012-01-29 18:56:18.062423780 +0000 diff --git a/core/linux/config b/core/linux/config index 287c472ec..3975dd10c 100644 --- a/core/linux/config +++ b/core/linux/config @@ -287,6 +287,7 @@ CONFIG_MACH_GOFLEXHOME=y CONFIG_MACH_ICONNECT=y CONFIG_MACH_POGOPLUGV4=y CONFIG_MACH_POGO_E02=y +CONFIG_MACH_NAS6210=y CONFIG_MACH_OPENRD=y CONFIG_MACH_OPENRD_BASE=y CONFIG_MACH_OPENRD_CLIENT=y @@ -3136,7 +3137,7 @@ CONFIG_DMA_ENGINE=y # # DMA Clients # -CONFIG_NET_DMA=y +# CONFIG_NET_DMA is not set CONFIG_ASYNC_TX_DMA=y # CONFIG_DMATEST is not set # CONFIG_AUXDISPLAY is not set diff --git a/core/linux/linux.install b/core/linux/linux.install index 76ed7e233..a65a9c876 100644 --- a/core/linux/linux.install +++ b/core/linux/linux.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.1.10-1-ARCH +KERNEL_VERSION=3.1.10-2-ARCH post_install () { # updating module dependencies