From 1a1cdab0ac4bbf2ac7ae0bc736f126111e2c9a0a Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Sat, 17 Sep 2011 22:30:02 +0000 Subject: [PATCH] arm-kernel: add dreamplug patch. --- ...nux-2.6.32.45-arm_kirkwood_dreamplug.patch | 179 ++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch diff --git a/src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch b/src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch new file mode 100644 index 0000000000..8d10362d5e --- /dev/null +++ b/src/patches/linux-2.6.32.45-arm_kirkwood_dreamplug.patch @@ -0,0 +1,179 @@ +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 00:00:00.000000000 +0000 ++++ linux-2.6.32.45/arch/arm/mach-kirkwood/dreamplug-setup.c 2011-09-15 19:23:01.000000000 +0000 +@@ -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 ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#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 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/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 01:57:37.000000000 +0000 ++++ linux-2.6.32.45/arch/arm/mach-kirkwood/Kconfig 2011-09-15 18:34:19.000000000 +0000 +@@ -32,6 +32,12 @@ + 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_TS219 + bool "QNAP TS-119 and TS-219 Turbo NAS" + help +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 01:57:37.000000000 +0000 ++++ linux-2.6.32.45/arch/arm/mach-kirkwood/Makefile 2011-09-15 18:36:51.000000000 +0000 +@@ -5,6 +5,7 @@ + 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_DREAMPLUG) += dreamplug-setup.o + obj-$(CONFIG_MACH_TS219) += ts219-setup.o + obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o + +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 01:57:37.000000000 +0000 ++++ linux-2.6.32.45/arch/arm/tools/mach-types 2011-09-15 19:12:48.000000000 +0000 +@@ -2536,3 +2536,4 @@ + mxt_td60 MACH_MXT_TD60 MXT_TD60 2550 + esyx MACH_ESYX ESYX 2551 + bulldog MACH_BULLDOG BULLDOG 2553 ++dreamplug MACH_DREAMPLUG DREAMPLUG 2659 -- 2.39.5