This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, kernel-update has been updated via 430fb015456b4b3802dcd0c6a191d5646816b9bb (commit) via 5ca1c0b97cd3035f2e017622692fb3b5d4476bd6 (commit) via eb17d0fd69ae2c21becfee831b32d3441ec6652c (commit) via fa4762fbf8732a1e48015ee07a422f293d7be1f7 (commit) from 36480f231881d88be7b4083db78689f1a344c00f (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 430fb015456b4b3802dcd0c6a191d5646816b9bb Merge: 5ca1c0b eb17d0f Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sat Mar 3 19:34:55 2012 +0100
Merge commit 'origin/master' into kernel-update
commit 5ca1c0b97cd3035f2e017622692fb3b5d4476bd6 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sat Mar 3 19:33:40 2012 +0100
kernel: Add Iomega iConnect setup to kirkwood kernel.
-----------------------------------------------------------------------
Summary of changes: .../kernel/kernel.config.armv5tel-ipfire-kirkwood | 21 +- config/rootfiles/core/57/filelists/files | 1 + lfs/linux | 2 +- make.sh | 2 +- src/initscripts/init.d/networking/any | 16 +- ...h => linux-2.6.32.57-arm_kirkwood_setups.patch} | 299 ++++++++++++++++++-- 6 files changed, 294 insertions(+), 47 deletions(-) rename src/patches/{linux-2.6.32.45-arm_kirkwood_setups.patch => linux-2.6.32.57-arm_kirkwood_setups.patch} (59%)
Difference in files: diff --git a/config/kernel/kernel.config.armv5tel-ipfire-kirkwood b/config/kernel/kernel.config.armv5tel-ipfire-kirkwood index 2c09a57..dace245 100644 --- a/config/kernel/kernel.config.armv5tel-ipfire-kirkwood +++ b/config/kernel/kernel.config.armv5tel-ipfire-kirkwood @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.32.45 -# Sat Oct 15 08:52:52 2011 +# Linux kernel version: 2.6.32.57 +# Fri Mar 2 20:47:53 2012 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -199,6 +199,7 @@ CONFIG_MACH_DREAMPLUG=y CONFIG_MACH_GURUPLUG=y CONFIG_MACH_TS219=y CONFIG_MACH_OPENRD_BASE=y +CONFIG_MACH_ICONNECT=y CONFIG_MACH_NAS6210=y CONFIG_PLAT_ORION=y
@@ -1309,6 +1310,9 @@ CONFIG_PCNET32=m CONFIG_AMD8111_ETH=m CONFIG_ADAPTEC_STARFIRE=m CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y CONFIG_FORCEDETH=m # CONFIG_FORCEDETH_NAPI is not set CONFIG_E100=m @@ -1809,7 +1813,7 @@ CONFIG_IPWIRELESS=m # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set CONFIG_DEVPORT=y -CONFIG_I2C=m +CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=m @@ -1843,7 +1847,7 @@ CONFIG_I2C_VIAPRO=m # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_GPIO=m -CONFIG_I2C_MV64XXX=m +CONFIG_I2C_MV64XXX=y CONFIG_I2C_OCORES=m CONFIG_I2C_SIMTEC=m
@@ -2068,8 +2072,10 @@ CONFIG_MFD_SM501=m CONFIG_HTC_PASIC3=m # CONFIG_UCB1400_CORE is not set CONFIG_TPS65010=m +# CONFIG_TWL4030_CORE is not set # CONFIG_MFD_TMIO is not set # CONFIG_MFD_TC6393XB is not set +# CONFIG_PMIC_DA903X is not set CONFIG_MFD_WM8400=m CONFIG_MFD_WM831X=m CONFIG_MFD_WM8350=m @@ -2661,7 +2667,6 @@ CONFIG_USB_ISP116X_HCD=m # CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1362_HCD is not set CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_SSB=y # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y @@ -2672,10 +2677,6 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_R8A66597_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m - -# -# Enable Host or Gadget support to see Inventra options -# # CONFIG_USB_MUSB_HDRC is not set
# @@ -2874,7 +2875,7 @@ CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
# # iptables trigger is under Netfilter config (LED target) diff --git a/config/rootfiles/core/57/filelists/files b/config/rootfiles/core/57/filelists/files index a678ee8..2f80b5f 100644 --- a/config/rootfiles/core/57/filelists/files +++ b/config/rootfiles/core/57/filelists/files @@ -2,3 +2,4 @@ etc/system-release etc/issue etc/rc.d/init.d/networking/red.up/10-static-routes etc/rc.d/init.d/networking/red.down/10-static-routes +etc/rc.d/init.d/networking/any diff --git a/lfs/linux b/lfs/linux index 0f47427..f79dc5a 100644 --- a/lfs/linux +++ b/lfs/linux @@ -165,7 +165,7 @@ endif
ifeq "$(KCFG)" "-kirkwood" # Add dreamplug,guruplug and icy 62x0 support on ARM-kirkwood - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.45-arm_kirkwood_setups.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-2.6.32.57-arm_kirkwood_setups.patch endif
ifeq "$(MACHINE_TYPE)" "arm" diff --git a/make.sh b/make.sh index f425428..598681d 100755 --- a/make.sh +++ b/make.sh @@ -26,7 +26,7 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.11" # Version number CORE="57" # Core Level (Filename) -PAKFIRE_CORE="56" # Core Level (PAKFIRE) +PAKFIRE_CORE="57" # Core Level (PAKFIRE) GIT_BRANCH=`git status | head -n1 | cut -d" " -f4` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir diff --git a/src/initscripts/init.d/networking/any b/src/initscripts/init.d/networking/any index b88d21e..5609a9e 100644 --- a/src/initscripts/init.d/networking/any +++ b/src/initscripts/init.d/networking/any @@ -80,15 +80,19 @@ case "${1}" in # Create & Enable vnstat data collection /usr/bin/vnstat -u -i ${DEVICE} -r --enable --force > /dev/null 2>&1 - boot_mesg "Adding IPv4 address ${ADDRESS} to the ${DEVICE} interface..." - ip addr add ${args} dev ${DEVICE} - evaluate_retval + if [ ! "${ADDRESS}" == "1.1.1.1" ]; then + boot_mesg "Adding IPv4 address ${ADDRESS} to the ${DEVICE} interface..." + ip addr add ${args} dev ${DEVICE} + evaluate_retval + fi ;;
stop) - boot_mesg "Removing IPv4 addresses from the ${DEVICE} interface..." - ip addr flush dev ${DEVICE} - evaluate_retval + if [ ! "${ADDRESS}" == "1.1.1.1" ]; then + boot_mesg "Removing IPv4 addresses from the ${DEVICE} interface..." + ip addr flush dev ${DEVICE} + evaluate_retval + fi
# Disable vnstat collection /usr/bin/vnstat -u -i ${DEVICE} -r --disable > /dev/null 2>&1 diff --git a/src/patches/linux-2.6.32.45-arm_kirkwood_setups.patch b/src/patches/linux-2.6.32.45-arm_kirkwood_setups.patch deleted file mode 100644 index 9db9c2e..0000000 --- a/src/patches/linux-2.6.32.45-arm_kirkwood_setups.patch +++ /dev/null @@ -1,522 +0,0 @@ -diff -Naur linux-2.6.32.45.org/arch/arm/mach-kirkwood/dreamplug-setup.c linux-2.6.32.45/arch/arm/mach-kirkwood/dreamplug-setup.c ---- linux-2.6.32.45.org/arch/arm/mach-kirkwood/dreamplug-setup.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.32.45/arch/arm/mach-kirkwood/dreamplug-setup.c 2011-10-11 15:35:37.000000000 +0200 -@@ -0,0 +1,140 @@ -+/* -+ * arch/arm/mach-kirkwood/dreamplug-setup.c -+ * -+ * Marvell DreamPlug Reference 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/leds.h> -+#include <linux/spi/flash.h> -+#include <linux/spi/spi.h> -+#include <linux/spi/orion_spi.h> -+#include <asm/mach-types.h> -+#include <asm/mach/arch.h> -+#include <mach/kirkwood.h> -+#include <plat/mvsdio.h> -+#include "common.h" -+#include "mpp.h" -+ -+static const struct flash_platform_data dreamplug_spi_slave_data = { -+ .type = "mx25l1606e", -+}; -+ -+static struct spi_board_info __initdata dreamplug_spi_slave_info[] = { -+ { -+ .modalias = "m25p80", -+ .platform_data = &dreamplug_spi_slave_data, -+ .irq = -1, -+ .max_speed_hz = 50000000, -+ .bus_num = 0, -+ .chip_select = 0, -+ }, -+}; -+ -+static struct mv643xx_eth_platform_data dreamplug_ge00_data = { -+ .phy_addr = MV643XX_ETH_PHY_ADDR(0), -+}; -+ -+static struct mv643xx_eth_platform_data dreamplug_ge01_data = { -+ .phy_addr = MV643XX_ETH_PHY_ADDR(1), -+}; -+ -+static struct mv_sata_platform_data dreamplug_sata_data = { -+ .n_ports = 1, -+}; -+ -+static struct mvsdio_platform_data dreamplug_mvsdio_data = { -+ /* unfortunately the CD signal has not been connected */ -+}; -+ -+static struct gpio_led dreamplug_led_pins[] = { -+ { -+ .name = "dreamplug:blue:bluetooth", -+ .gpio = 47, -+ .active_low = 1, -+ }, -+ { -+ .name = "dreamplug:green:wlan", -+ .gpio = 48, -+ .active_low = 1, -+ }, -+ { -+ .name = "dreamplug:blue:wlanap", -+ .gpio = 49, -+ .active_low = 1, -+ }, -+}; -+ -+static struct gpio_led_platform_data dreamplug_led_data = { -+ .leds = dreamplug_led_pins, -+ .num_leds = ARRAY_SIZE(dreamplug_led_pins), -+}; -+ -+static struct platform_device dreamplug_leds = { -+ .name = "leds-gpio", -+ .id = -1, -+ .dev = { -+ .platform_data = &dreamplug_led_data, -+ } -+}; -+ -+static unsigned int dreamplug_mpp_config[] __initdata = { -+ MPP0_SPI_SCn, -+ MPP1_SPI_MOSI, -+ MPP2_SPI_SCK, -+ MPP3_SPI_MISO, -+ MPP4_GPIO, -+ MPP5_GPO, -+ MPP7_GPO, -+ MPP18_GPO, -+ MPP19_GPO, -+ MPP47_GPIO, /* B_BLED */ -+ MPP48_GPIO, /* W_GLED */ -+ MPP49_GPIO, /* W_BLED */ -+ 0 -+}; -+ -+static void __init dreamplug_init(void) -+{ -+ /* -+ * Basic setup. Needs to be called early. -+ */ -+ kirkwood_init(); -+ kirkwood_mpp_conf(dreamplug_mpp_config); -+ -+ kirkwood_uart0_init(); -+ -+ spi_register_board_info(dreamplug_spi_slave_info, -+ ARRAY_SIZE(dreamplug_spi_slave_info)); -+ -+ kirkwood_spi_init(); -+ kirkwood_ehci_init(); -+ -+ kirkwood_ge00_init(&dreamplug_ge00_data); -+ kirkwood_ge01_init(&dreamplug_ge01_data); -+ kirkwood_sata_init(&dreamplug_sata_data); -+ kirkwood_sdio_init(&dreamplug_mvsdio_data); -+ -+ platform_device_register(&dreamplug_leds); -+} -+ -+MACHINE_START(DREAMPLUG, "Marvell DreamPlug Reference Board") -+ /* Maintainer: Siddarth Gore <gores <at> marvell.com> */ -+ .phys_io = KIRKWOOD_REGS_PHYS_BASE, -+ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, -+ .boot_params = 0x00000100, -+ .init_machine = dreamplug_init, -+ .map_io = kirkwood_map_io, -+ .init_irq = kirkwood_init_irq, -+ .timer = &kirkwood_timer, -+MACHINE_END -diff -Naur linux-2.6.32.45.org/arch/arm/mach-kirkwood/guruplug-setup.c linux-2.6.32.45/arch/arm/mach-kirkwood/guruplug-setup.c ---- linux-2.6.32.45.org/arch/arm/mach-kirkwood/guruplug-setup.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.32.45/arch/arm/mach-kirkwood/guruplug-setup.c 2011-10-11 15:35:37.000000000 +0200 -@@ -0,0 +1,131 @@ -+/* -+ * arch/arm/mach-kirkwood/guruplug-setup.c -+ * -+ * Marvell GuruPlug Reference 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/leds.h> -+#include <asm/mach-types.h> -+#include <asm/mach/arch.h> -+#include <mach/kirkwood.h> -+#include <plat/mvsdio.h> -+#include "common.h" -+#include "mpp.h" -+ -+static struct mtd_partition guruplug_nand_parts[] = { -+ { -+ .name = "u-boot", -+ .offset = 0, -+ .size = SZ_1M -+ }, { -+ .name = "uImage", -+ .offset = MTDPART_OFS_NXTBLK, -+ .size = SZ_4M -+ }, { -+ .name = "root", -+ .offset = MTDPART_OFS_NXTBLK, -+ .size = MTDPART_SIZ_FULL -+ }, -+}; -+ -+static struct mv643xx_eth_platform_data guruplug_ge00_data = { -+ .phy_addr = MV643XX_ETH_PHY_ADDR(0), -+}; -+ -+static struct mv643xx_eth_platform_data guruplug_ge01_data = { -+ .phy_addr = MV643XX_ETH_PHY_ADDR(1), -+}; -+ -+static struct mv_sata_platform_data guruplug_sata_data = { -+ .n_ports = 1, -+}; -+ -+static struct mvsdio_platform_data guruplug_mvsdio_data = { -+ /* unfortunately the CD signal has not been connected */ -+}; -+ -+static struct gpio_led guruplug_led_pins[] = { -+ { -+ .name = "guruplug:red:health", -+ .gpio = 46, -+ .active_low = 1, -+ }, -+ { -+ .name = "guruplug:green:health", -+ .gpio = 47, -+ .active_low = 1, -+ }, -+ { -+ .name = "guruplug:red:wmode", -+ .gpio = 48, -+ .active_low = 1, -+ }, -+ { -+ .name = "guruplug:green:wmode", -+ .gpio = 49, -+ .active_low = 1, -+ }, -+}; -+ -+static struct gpio_led_platform_data guruplug_led_data = { -+ .leds = guruplug_led_pins, -+ .num_leds = ARRAY_SIZE(guruplug_led_pins), -+}; -+ -+static struct platform_device guruplug_leds = { -+ .name = "leds-gpio", -+ .id = -1, -+ .dev = { -+ .platform_data = &guruplug_led_data, -+ } -+}; -+ -+static unsigned int guruplug_mpp_config[] __initdata = { -+ MPP46_GPIO, /* M_RLED */ -+ MPP47_GPIO, /* M_GLED */ -+ MPP48_GPIO, /* B_RLED */ -+ MPP49_GPIO, /* B_GLED */ -+ 0 -+}; -+ -+static void __init guruplug_init(void) -+{ -+ /* -+ * Basic setup. Needs to be called early. -+ */ -+ kirkwood_init(); -+ kirkwood_mpp_conf(guruplug_mpp_config); -+ -+ kirkwood_uart0_init(); -+ kirkwood_nand_init(ARRAY_AND_SIZE(guruplug_nand_parts), 25); -+ -+ kirkwood_ehci_init(); -+ kirkwood_ge00_init(&guruplug_ge00_data); -+ kirkwood_ge01_init(&guruplug_ge01_data); -+ kirkwood_sata_init(&guruplug_sata_data); -+ kirkwood_sdio_init(&guruplug_mvsdio_data); -+ -+ platform_device_register(&guruplug_leds); -+} -+ -+MACHINE_START(GURUPLUG, "Marvell GuruPlug Reference Board") -+ /* Maintainer: Siddarth Gore gores@marvell.com */ -+ .phys_io = KIRKWOOD_REGS_PHYS_BASE, -+ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, -+ .boot_params = 0x00000100, -+ .init_machine = guruplug_init, -+ .map_io = kirkwood_map_io, -+ .init_irq = kirkwood_init_irq, -+ .timer = &kirkwood_timer, -+MACHINE_END -diff -Naur linux-2.6.32.45.org/arch/arm/mach-kirkwood/Kconfig linux-2.6.32.45/arch/arm/mach-kirkwood/Kconfig ---- linux-2.6.32.45.org/arch/arm/mach-kirkwood/Kconfig 2011-08-16 03:57:37.000000000 +0200 -+++ linux-2.6.32.45/arch/arm/mach-kirkwood/Kconfig 2011-10-15 17:06:55.816070291 +0200 -@@ -32,6 +32,18 @@ - Say 'Y' here if you want your kernel to support the - Marvell SheevaPlug Reference Board. - -+config MACH_DREAMPLUG -+ bool "Marvell DreamPlug Reference Board" -+ help -+ Say 'Y' here if you want your kernel to support the -+ Marvell DreamPlug Reference Board. -+ -+config MACH_GURUPLUG -+ bool "Marvell GuruPlug Reference Board" -+ help -+ Say 'Y' here if you want your kernel to support the -+ Marvell GuruPlug Reference Board. -+ - config MACH_TS219 - bool "QNAP TS-119 and TS-219 Turbo NAS" - help -@@ -44,6 +56,12 @@ - Say 'Y' here if you want your kernel to support the - Marvell OpenRD Base Board. - -+config MACH_NAS6210 -+ bool "RaidSonic ICY BOX IB-NAS62x0" -+ help -+ Say 'Y' here if you want your kernel to support the -+ RaidSonic ICY BOX IB-NAS62x0 device. -+ - endmenu - - endif -diff -Naur linux-2.6.32.45.org/arch/arm/mach-kirkwood/Makefile linux-2.6.32.45/arch/arm/mach-kirkwood/Makefile ---- linux-2.6.32.45.org/arch/arm/mach-kirkwood/Makefile 2011-08-16 03:57:37.000000000 +0200 -+++ linux-2.6.32.45/arch/arm/mach-kirkwood/Makefile 2011-10-15 17:07:16.346068829 +0200 -@@ -5,7 +5,10 @@ - obj-$(CONFIG_MACH_RD88F6281) += rd88f6281-setup.o - obj-$(CONFIG_MACH_MV88F6281GTW_GE) += mv88f6281gtw_ge-setup.o - obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o -+obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o -+obj-$(CONFIG_MACH_DREAMPLUG) += dreamplug-setup.o - obj-$(CONFIG_MACH_TS219) += ts219-setup.o - obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o -+obj-$(CONFIG_MACH_NAS6210) += nas6210-setup.o - - obj-$(CONFIG_CPU_IDLE) += cpuidle.o -diff -Naur linux-2.6.32.45.org/arch/arm/mach-kirkwood/nas6210-setup.c linux-2.6.32.45/arch/arm/mach-kirkwood/nas6210-setup.c ---- linux-2.6.32.45.org/arch/arm/mach-kirkwood/nas6210-setup.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.6.32.45/arch/arm/mach-kirkwood/nas6210-setup.c 2011-10-16 09:57:35.268409525 +0200 -@@ -0,0 +1,180 @@ -+/* -+ * arch/arm/mach-kirkwood/nas6210-setup.c -+ * -+ * Raidsonic ICYBOX NAS6210 and 6220 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 = (SZ_1M*6) -+ }, { -+ .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 = "nas6210:green:power", -+ .default_trigger = "default-on", -+ .gpio = 25, -+ .active_low = 0, -+ }, -+ { -+ .name = "nas6210:red:power", -+ .default_trigger = "none", -+ .gpio = 22, -+ .active_low = 0, -+ }, -+ { -+ .name = "nas6210: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 */ -+ MPP25_GPIO, /* Power LED green */ -+ MPP27_GPIO, /* USB transfer LED */ -+ MPP28_GPIO, /* Reset button */ -+ MPP29_GPIO, /* USB Copy button */ -+ 0 -+}; -+ -+void nas6210_power_off(void) -+{ -+ gpio_set_value(NAS6210_GPIO_POWER_OFF, 1); -+ while(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 pin"); -+} -+ -+static int __init nas6210_pci_init(void) -+{ -+ if (machine_is_nas6210()) { -+ kirkwood_pcie_init(); -+ } -+ return 0; -+} -+subsys_initcall(nas6210_pci_init); -+ -+MACHINE_START(NAS6210, "RaidSonic ICY BOX IB-NAS62x0") -+ /* Maintainer: Arne Fitzenreiter arne_f@ipfire.org */ -+ .boot_params = 0x00000100, -+ .init_machine = nas6210_init, -+ .map_io = kirkwood_map_io, -+ .init_irq = kirkwood_init_irq, -+ .timer = &kirkwood_timer, -+MACHINE_END -diff -Naur linux-2.6.32.45.org/arch/arm/tools/mach-types linux-2.6.32.45/arch/arm/tools/mach-types ---- linux-2.6.32.45.org/arch/arm/tools/mach-types 2011-08-16 03:57:37.000000000 +0200 -+++ linux-2.6.32.45/arch/arm/tools/mach-types 2011-10-15 17:05:46.486069811 +0200 -@@ -2536,3 +2536,6 @@ - mxt_td60 MACH_MXT_TD60 MXT_TD60 2550 - esyx MACH_ESYX ESYX 2551 - bulldog MACH_BULLDOG BULLDOG 2553 -+guruplug MACH_GURUPLUG GURUPLUG 2601 -+dreamplug MACH_DREAMPLUG DREAMPLUG 2659 -+nas6210 MACH_NAS6210 NAS6210 3104 diff --git a/src/patches/linux-2.6.32.57-arm_kirkwood_setups.patch b/src/patches/linux-2.6.32.57-arm_kirkwood_setups.patch new file mode 100644 index 0000000..77db60b --- /dev/null +++ b/src/patches/linux-2.6.32.57-arm_kirkwood_setups.patch @@ -0,0 +1,763 @@ +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/dreamplug-setup.c linux-2.6.32.57/arch/arm/mach-kirkwood/dreamplug-setup.c +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/dreamplug-setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/dreamplug-setup.c 2012-03-02 09:22:40.107199269 +0100 +@@ -0,0 +1,140 @@ ++/* ++ * arch/arm/mach-kirkwood/dreamplug-setup.c ++ * ++ * Marvell DreamPlug Reference 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/leds.h> ++#include <linux/spi/flash.h> ++#include <linux/spi/spi.h> ++#include <linux/spi/orion_spi.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <mach/kirkwood.h> ++#include <plat/mvsdio.h> ++#include "common.h" ++#include "mpp.h" ++ ++static const struct flash_platform_data dreamplug_spi_slave_data = { ++ .type = "mx25l1606e", ++}; ++ ++static struct spi_board_info __initdata dreamplug_spi_slave_info[] = { ++ { ++ .modalias = "m25p80", ++ .platform_data = &dreamplug_spi_slave_data, ++ .irq = -1, ++ .max_speed_hz = 50000000, ++ .bus_num = 0, ++ .chip_select = 0, ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data dreamplug_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(0), ++}; ++ ++static struct mv643xx_eth_platform_data dreamplug_ge01_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(1), ++}; ++ ++static struct mv_sata_platform_data dreamplug_sata_data = { ++ .n_ports = 1, ++}; ++ ++static struct mvsdio_platform_data dreamplug_mvsdio_data = { ++ /* unfortunately the CD signal has not been connected */ ++}; ++ ++static struct gpio_led dreamplug_led_pins[] = { ++ { ++ .name = "dreamplug:blue:bluetooth", ++ .gpio = 47, ++ .active_low = 1, ++ }, ++ { ++ .name = "dreamplug:green:wlan", ++ .gpio = 48, ++ .active_low = 1, ++ }, ++ { ++ .name = "dreamplug:blue:wlanap", ++ .gpio = 49, ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_led_platform_data dreamplug_led_data = { ++ .leds = dreamplug_led_pins, ++ .num_leds = ARRAY_SIZE(dreamplug_led_pins), ++}; ++ ++static struct platform_device dreamplug_leds = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev = { ++ .platform_data = &dreamplug_led_data, ++ } ++}; ++ ++static unsigned int dreamplug_mpp_config[] __initdata = { ++ MPP0_SPI_SCn, ++ MPP1_SPI_MOSI, ++ MPP2_SPI_SCK, ++ MPP3_SPI_MISO, ++ MPP4_GPIO, ++ MPP5_GPO, ++ MPP7_GPO, ++ MPP18_GPO, ++ MPP19_GPO, ++ MPP47_GPIO, /* B_BLED */ ++ MPP48_GPIO, /* W_GLED */ ++ MPP49_GPIO, /* W_BLED */ ++ 0 ++}; ++ ++static void __init dreamplug_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(dreamplug_mpp_config); ++ ++ kirkwood_uart0_init(); ++ ++ spi_register_board_info(dreamplug_spi_slave_info, ++ ARRAY_SIZE(dreamplug_spi_slave_info)); ++ ++ kirkwood_spi_init(); ++ kirkwood_ehci_init(); ++ ++ kirkwood_ge00_init(&dreamplug_ge00_data); ++ kirkwood_ge01_init(&dreamplug_ge01_data); ++ kirkwood_sata_init(&dreamplug_sata_data); ++ kirkwood_sdio_init(&dreamplug_mvsdio_data); ++ ++ platform_device_register(&dreamplug_leds); ++} ++ ++MACHINE_START(DREAMPLUG, "Marvell DreamPlug Reference Board") ++ /* Maintainer: Siddarth Gore <gores <at> marvell.com> */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = dreamplug_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/guruplug-setup.c linux-2.6.32.57/arch/arm/mach-kirkwood/guruplug-setup.c +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/guruplug-setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/guruplug-setup.c 2012-03-02 23:36:51.627514981 +0100 +@@ -0,0 +1,133 @@ ++/* ++ * arch/arm/mach-kirkwood/guruplug-setup.c ++ * ++ * Marvell GuruPlug Reference 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/mtd.h> ++#include <linux/mtd/partitions.h> ++#include <linux/ata_platform.h> ++#include <linux/mv643xx_eth.h> ++#include <linux/gpio.h> ++#include <linux/leds.h> ++#include <asm/mach-types.h> ++#include <asm/mach/arch.h> ++#include <mach/kirkwood.h> ++#include <plat/mvsdio.h> ++#include "common.h" ++#include "mpp.h" ++ ++static struct mtd_partition guruplug_nand_parts[] = { ++ { ++ .name = "u-boot", ++ .offset = 0, ++ .size = SZ_1M, ++ .mask_flags = MTD_WRITEABLE, /* read only */ ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = SZ_4M, ++ }, { ++ .name = "root", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = MTDPART_SIZ_FULL, ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data guruplug_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(0), ++}; ++ ++static struct mv643xx_eth_platform_data guruplug_ge01_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(1), ++}; ++ ++static struct mv_sata_platform_data guruplug_sata_data = { ++ .n_ports = 1, ++}; ++ ++static struct mvsdio_platform_data guruplug_mvsdio_data = { ++ /* unfortunately the CD signal has not been connected */ ++}; ++ ++static struct gpio_led guruplug_led_pins[] = { ++ { ++ .name = "guruplug:red:health", ++ .gpio = 46, ++ .active_low = 1, ++ }, ++ { ++ .name = "guruplug:green:health", ++ .gpio = 47, ++ .active_low = 1, ++ }, ++ { ++ .name = "guruplug:red:wmode", ++ .gpio = 48, ++ .active_low = 1, ++ }, ++ { ++ .name = "guruplug:green:wmode", ++ .gpio = 49, ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_led_platform_data guruplug_led_data = { ++ .leds = guruplug_led_pins, ++ .num_leds = ARRAY_SIZE(guruplug_led_pins), ++}; ++ ++static struct platform_device guruplug_leds = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev = { ++ .platform_data = &guruplug_led_data, ++ } ++}; ++ ++static unsigned int guruplug_mpp_config[] __initdata = { ++ MPP46_GPIO, /* M_RLED */ ++ MPP47_GPIO, /* M_GLED */ ++ MPP48_GPIO, /* B_RLED */ ++ MPP49_GPIO, /* B_GLED */ ++ 0 ++}; ++ ++static void __init guruplug_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(guruplug_mpp_config); ++ ++ kirkwood_uart0_init(); ++ kirkwood_nand_init(ARRAY_AND_SIZE(guruplug_nand_parts), 25); ++ ++ kirkwood_ehci_init(); ++ kirkwood_ge00_init(&guruplug_ge00_data); ++ kirkwood_ge01_init(&guruplug_ge01_data); ++ kirkwood_sata_init(&guruplug_sata_data); ++ kirkwood_sdio_init(&guruplug_mvsdio_data); ++ ++ platform_device_register(&guruplug_leds); ++} ++ ++MACHINE_START(GURUPLUG, "Marvell GuruPlug Reference Board") ++ /* Maintainer: Siddarth Gore gores@marvell.com */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = guruplug_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/iconnect-setup.c linux-2.6.32.57/arch/arm/mach-kirkwood/iconnect-setup.c +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/iconnect-setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/iconnect-setup.c 2012-03-03 00:15:42.757514706 +0100 +@@ -0,0 +1,211 @@ ++/* ++ * arch/arm/mach-kirkwood/iconnect-setup.c ++ * ++ * Iomega iConnect Wireless Data Station 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/mtd.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/i2c.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" ++ ++static struct mtd_partition iconnect_nand_parts[] = { ++ { ++ .name = "u-boot", ++ .offset = 0, ++ .size = SZ_1M, ++ .mask_flags = MTD_WRITEABLE, /* read only */ ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = 0x440000, ++ }, { ++ .name = "uInit", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = 0x440000, ++ }, { ++ .name = "root", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = MTDPART_SIZ_FULL, ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data iconnect_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(0xB), ++}; ++ ++static struct gpio_led iconnect_led_pins[] = { ++ { ++ .name = "iconnect:led_level", ++ .default_trigger = "default-on", ++ .gpio = 41, ++ .active_low = 0, ++ }, ++ ++ { ++ .name = "iconnect:blue:power", ++ .default_trigger = "default-on", ++ .gpio = 42, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:red:power", ++ .default_trigger = "none", ++ .gpio = 43, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:blue:usb_1", ++ .default_trigger = "none", ++ .gpio = 44, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:blue:usb_2", ++ .default_trigger = "none", ++ .gpio = 45, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:blue:usb_3", ++ .default_trigger = "none", ++ .gpio = 46, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:blue:usb_4", ++ .default_trigger = "none", ++ .gpio = 47, ++ .active_low = 0, ++ }, ++ { ++ .name = "iconnect:blue:otb", ++ .default_trigger = "none", ++ .gpio = 48, ++ .active_low = 0, ++ }, ++}; ++ ++static struct gpio_led_platform_data iconnect_led_data = { ++ .leds = iconnect_led_pins, ++ .num_leds = ARRAY_SIZE(iconnect_led_pins), ++}; ++ ++static struct platform_device iconnect_leds = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev = { ++ .platform_data = &iconnect_led_data, ++ } ++}; ++ ++static struct gpio_keys_button iconnect_buttons[] = { ++ { ++ .code = KEY_COPY, ++ .gpio = 35, ++ .desc = "OTB Button", ++ .active_low = 1, ++ }, ++ { ++ .code = KEY_RESTART, ++ .gpio = 12, ++ .desc = "Reset", ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_keys_platform_data iconnect_button_data = { ++ .buttons = iconnect_buttons, ++ .nbuttons = ARRAY_SIZE(iconnect_buttons), ++}; ++ ++static struct platform_device iconnect_button_device = { ++ .name = "gpio-keys", ++ .id = -1, ++ .num_resources = 0, ++ .dev = { ++ .platform_data = &iconnect_button_data, ++ } ++}; ++ ++static unsigned int iconnect_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, ++ MPP12_GPIO, /* Reset Button */ ++ MPP35_GPIO, /* OTB Button */ ++ ++ MPP41_GPIO, /* LED Level */ ++ MPP42_GPIO, /* Power LED blue */ ++ MPP43_GPIO, /* Power LED red */ ++ MPP44_GPIO, /* USB LED 1 */ ++ MPP45_GPIO, /* USB LED 2 */ ++ MPP46_GPIO, /* USB LED 3 */ ++ MPP47_GPIO, /* USB LED 4 */ ++ MPP48_GPIO, /* OTB LED */ ++ 0 ++}; ++ ++static struct i2c_board_info __initdata iconnect_i2c = { ++ I2C_BOARD_INFO("lm63", 0x4c), ++}; ++ ++static void __init iconnect_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(iconnect_mpp_config); ++ ++ kirkwood_nand_init(ARRAY_AND_SIZE(iconnect_nand_parts), 25); ++ kirkwood_ehci_init(); ++ kirkwood_ge00_init(&iconnect_ge00_data); ++ ++ kirkwood_uart0_init(); ++ platform_device_register(&iconnect_leds); ++ platform_device_register(&iconnect_button_device); ++ ++ kirkwood_i2c_init(); ++ i2c_register_board_info(0, &iconnect_i2c,1); ++} ++ ++static int __init iconnect_pci_init(void) ++{ ++ if (machine_is_iconnect()) { ++ kirkwood_pcie_init(); ++ } ++ return 0; ++} ++subsys_initcall(iconnect_pci_init); ++ ++MACHINE_START(ICONNECT, "Iomega iConnect Wireless Data Station") ++ /* Maintainer: Arne Fitzenreiter arne_f@ipfire.org */ ++ .boot_params = 0x00000100, ++ .init_machine = iconnect_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/Kconfig linux-2.6.32.57/arch/arm/mach-kirkwood/Kconfig +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/Kconfig 2012-02-13 20:29:11.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/Kconfig 2012-03-02 09:28:49.387192309 +0100 +@@ -32,6 +32,18 @@ + Say 'Y' here if you want your kernel to support the + Marvell SheevaPlug Reference Board. + ++config MACH_DREAMPLUG ++ bool "Marvell DreamPlug Reference Board" ++ help ++ Say 'Y' here if you want your kernel to support the ++ Marvell DreamPlug Reference Board. ++ ++config MACH_GURUPLUG ++ bool "Marvell GuruPlug Reference Board" ++ help ++ Say 'Y' here if you want your kernel to support the ++ Marvell GuruPlug Reference Board. ++ + config MACH_TS219 + bool "QNAP TS-119 and TS-219 Turbo NAS" + help +@@ -44,6 +56,18 @@ + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Base Board. + ++config MACH_ICONNECT ++ bool "Iomega iConnect Wireless Data Station" ++ help ++ Say 'Y' here if you want your kernel to support the ++ Iomega iConnect Wireless Data Station. ++ ++config MACH_NAS6210 ++ bool "RaidSonic ICY BOX IB-NAS62x0" ++ help ++ Say 'Y' here if you want your kernel to support the ++ RaidSonic ICY BOX IB-NAS62x0 device. ++ + endmenu + + endif +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/Makefile linux-2.6.32.57/arch/arm/mach-kirkwood/Makefile +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/Makefile 2012-02-13 20:29:11.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/Makefile 2012-03-02 09:26:39.447195212 +0100 +@@ -5,7 +5,11 @@ + obj-$(CONFIG_MACH_RD88F6281) += rd88f6281-setup.o + obj-$(CONFIG_MACH_MV88F6281GTW_GE) += mv88f6281gtw_ge-setup.o + obj-$(CONFIG_MACH_SHEEVAPLUG) += sheevaplug-setup.o ++obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o ++obj-$(CONFIG_MACH_DREAMPLUG) += dreamplug-setup.o + obj-$(CONFIG_MACH_TS219) += ts219-setup.o + obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o ++obj-$(CONFIG_MACH_ICONNECT) += iconnect-setup.o ++obj-$(CONFIG_MACH_NAS6210) += nas6210-setup.o + + obj-$(CONFIG_CPU_IDLE) += cpuidle.o +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/mpp.h linux-2.6.32.57/arch/arm/mach-kirkwood/mpp.h +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/mpp.h 2012-02-13 20:29:11.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/mpp.h 2012-03-02 10:26:53.987196429 +0100 +@@ -102,7 +102,9 @@ + #define MPP11_PTP_CLK MPP( 11, 0xd, 1, 0, 1, 1, 1, 1 ) + #define MPP11_SATA0_ACTn MPP( 11, 0x5, 0, 1, 0, 1, 1, 1 ) + ++ + #define MPP12_GPO MPP( 12, 0x0, 0, 1, 1, 1, 1, 1 ) ++#define MPP12_GPIO MPP( 12, 0x0, 1, 1, 1, 1, 1, 1 ) + #define MPP12_SD_CLK MPP( 12, 0x1, 0, 1, 1, 1, 1, 1 ) + + #define MPP13_GPIO MPP( 13, 0x0, 1, 1, 1, 1, 1, 1 ) +diff -Naur linux-2.6.32.57.org/arch/arm/mach-kirkwood/nas6210-setup.c linux-2.6.32.57/arch/arm/mach-kirkwood/nas6210-setup.c +--- linux-2.6.32.57.org/arch/arm/mach-kirkwood/nas6210-setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/mach-kirkwood/nas6210-setup.c 2012-03-02 23:37:35.077514152 +0100 +@@ -0,0 +1,183 @@ ++/* ++ * arch/arm/mach-kirkwood/nas6210-setup.c ++ * ++ * Raidsonic ICYBOX NAS6210 and 6220 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/mtd.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/i2c.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, ++ .mask_flags = MTD_WRITEABLE, /* read only */ ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = (SZ_1M*6), ++ }, { ++ .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 = "nas6210:green:power", ++ .default_trigger = "default-on", ++ .gpio = 25, ++ .active_low = 0, ++ }, ++ { ++ .name = "nas6210:red:power", ++ .default_trigger = "none", ++ .gpio = 22, ++ .active_low = 0, ++ }, ++ { ++ .name = "nas6210: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 */ ++ MPP25_GPIO, /* Power LED green */ ++ MPP27_GPIO, /* USB transfer LED */ ++ MPP28_GPIO, /* Reset button */ ++ MPP29_GPIO, /* USB Copy button */ ++ 0 ++}; ++ ++void nas6210_power_off(void) ++{ ++ gpio_set_value(NAS6210_GPIO_POWER_OFF, 1); ++ while(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 pin"); ++} ++ ++static int __init nas6210_pci_init(void) ++{ ++ if (machine_is_nas6210()) { ++ kirkwood_pcie_init(); ++ } ++ return 0; ++} ++subsys_initcall(nas6210_pci_init); ++ ++MACHINE_START(NAS6210, "RaidSonic ICY BOX IB-NAS62x0") ++ /* Maintainer: Arne Fitzenreiter arne_f@ipfire.org */ ++ .boot_params = 0x00000100, ++ .init_machine = nas6210_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END +diff -Naur linux-2.6.32.57.org/arch/arm/tools/mach-types linux-2.6.32.57/arch/arm/tools/mach-types +--- linux-2.6.32.57.org/arch/arm/tools/mach-types 2012-02-13 20:29:11.000000000 +0100 ++++ linux-2.6.32.57/arch/arm/tools/mach-types 2012-03-02 09:25:26.787196718 +0100 +@@ -2536,3 +2536,7 @@ + mxt_td60 MACH_MXT_TD60 MXT_TD60 2550 + esyx MACH_ESYX ESYX 2551 + bulldog MACH_BULLDOG BULLDOG 2553 ++guruplug MACH_GURUPLUG GURUPLUG 2601 ++dreamplug MACH_DREAMPLUG DREAMPLUG 2659 ++iconnect MACH_ICONNECT ICONNECT 2870 ++nas6210 MACH_NAS6210 NAS6210 3104
hooks/post-receive -- IPFire 2.x development tree