[kernel] r11110 - in dists/trunk/linux-2.6/debian: . config/arm patches/features/arm patches/series
Martin Michlmayr
tbm at alioth.debian.org
Sun Apr 20 14:15:41 UTC 2008
Author: tbm
Date: Sun Apr 20 14:15:39 2008
New Revision: 11110
Log:
Add preliminary support for HP mv2120.
Added:
dists/trunk/linux-2.6/debian/patches/features/arm/mv2120.patch
Modified:
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/config/arm/config.orion5x
dists/trunk/linux-2.6/debian/patches/series/1~experimental.1
Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog (original)
+++ dists/trunk/linux-2.6/debian/changelog Sun Apr 20 14:15:39 2008
@@ -59,6 +59,7 @@
* [arm/orion] Add support for Buffalo Linkstation Pro/Live (Byron Bradley).
* [arm/orion] Fix hang when Write Allocate is enabled (Lennert Buytenhek).
* [arm/orion] Add support for QNAP TS-409 (Sylver Bruneau).
+ * [arm/orion] Add preliminary support for HP mv2120.
[ Daniel Baumann ]
* Added patch from unionfs upstream to export release_open_intent symbol.
Modified: dists/trunk/linux-2.6/debian/config/arm/config.orion5x
==============================================================================
--- dists/trunk/linux-2.6/debian/config/arm/config.orion5x (original)
+++ dists/trunk/linux-2.6/debian/config/arm/config.orion5x Sun Apr 20 14:15:39 2008
@@ -95,6 +95,7 @@
CONFIG_MACH_TS209=y
CONFIG_MACH_TS409=y
CONFIG_MACH_LINKSTATION_PRO=y
+CONFIG_MACH_MV2120=y
##
## file: arch/arm/mm/Kconfig
@@ -354,6 +355,7 @@
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_S35390A=y
+CONFIG_RTC_DRV_PCF8563=y
##
## file: drivers/serial/Kconfig
Added: dists/trunk/linux-2.6/debian/patches/features/arm/mv2120.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/features/arm/mv2120.patch Sun Apr 20 14:15:39 2008
@@ -0,0 +1,247 @@
+--- a/arch/arm/mach-orion/Kconfig~ 2008-04-20 14:09:56.000000000 +0000
++++ b/arch/arm/mach-orion/Kconfig 2008-04-20 14:11:39.000000000 +0000
+@@ -50,6 +50,12 @@
+ Say 'Y' here if you want your kernel to support the
+ QNAP TS-409 platform.
+
++config MACH_MV2120
++ bool "HP Media Vault mv2120"
++ help
++ Say 'Y' here if you want your kernel to support the
++ HP Media Vault mv2120 or mv5100.
++
+ endmenu
+
+ endif
+--- a/arch/arm/mach-orion/Makefile~ 2008-04-20 14:10:07.000000000 +0000
++++ b/arch/arm/mach-orion/Makefile 2008-04-20 14:12:25.000000000 +0000
+@@ -6,3 +6,4 @@
+ obj-$(CONFIG_MACH_DNS323) += dns323-setup.o
+ obj-$(CONFIG_MACH_TS209) += ts209-setup.o
+ obj-$(CONFIG_MACH_TS409) += ts409-setup.o
++obj-$(CONFIG_MACH_MV2120) += mv2120-setup.o
+--- a/arch/arm/tools/mach-types
++++ b/arch/arm/tools/mach-types
+@@ -1611,3 +1611,4 @@ kb9263 MACH_KB9263 KB9263 1612
+ mt7108 MACH_MT7108 MT7108 1613
+ smtr2440 MACH_SMTR2440 SMTR2440 1614
+ manao MACH_MANAO MANAO 1615
++mv2120 MACH_MV2120 MV2120 1693
+--- /dev/null 2007-09-25 12:43:17.000000000 +0000
++++ b/arch/arm/mach-orion/mv2120-setup.c 2008-04-20 14:08:20.000000000 +0000
+@@ -0,0 +1,215 @@
++/*
++ *
++ * Copyright (C) 2007 Herbert Valerio Riedel <hvr at gnu.org>
++ * Copyright (C) 2008 Martin Michlmayr <tbm at cyrius.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License as
++ * published by the Free Software Foundation; either version 2 of the
++ * License, or (at your option) any later version.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/platform_device.h>
++#include <linux/pci.h>
++#include <linux/irq.h>
++#include <linux/mtd/physmap.h>
++#include <linux/mv643xx_eth.h>
++#include <linux/leds.h>
++#include <linux/gpio_keys.h>
++#include <linux/input.h>
++#include <linux/i2c.h>
++#include <linux/ata_platform.h>
++#include <asm/mach-types.h>
++#include <asm/gpio.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/pci.h>
++#include <asm/arch/orion.h>
++#include <asm/arch/platform.h>
++#include "common.h"
++
++#define MV2120_GPIO_KEY_RESET 17
++#define MV2120_GPIO_KEY_POWER 18
++#define MV2120_GPIO_POWER_OFF 19
++
++/****************************************************************************
++ * PCI setup
++ */
++
++static int __init mv2120_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
++{
++ /* PCI-E */
++ if (dev->bus->number == orion_pcie_local_bus_nr())
++ return IRQ_ORION_PCIE0_INT;
++
++ pr_err("%s: requested mapping for unknown bus\n", __func__);
++
++ return -1;
++}
++
++static struct hw_pci mv2120_pci __initdata = {
++ .nr_controllers = 1,
++ .swizzle = pci_std_swizzle,
++ .setup = orion_pci_sys_setup,
++ .scan = orion_pci_sys_scan_bus,
++ .map_irq = mv2120_pci_map_irq,
++};
++
++static int __init mv2120_pci_init(void)
++{
++ if (machine_is_mv2120())
++ pci_common_init(&mv2120_pci);
++
++ return 0;
++}
++
++subsys_initcall(mv2120_pci_init);
++
++static struct mv643xx_eth_platform_data mv2120_eth_data = {
++ .phy_addr = 8,
++ .force_phy_addr = 1,
++};
++
++static struct mv_sata_platform_data mv2120_sata_data = {
++ .n_ports = 2,
++};
++
++#define MV2120_NOR_BOOT_BASE 0xf4000000
++#define MV2120_NOR_BOOT_SIZE SZ_512K
++
++static struct mtd_partition mv2120_partitions[] = {
++ {
++ .name = "firmware",
++ .size = 0x00080000,
++ .offset = 0,
++ }
++};
++
++static struct physmap_flash_data mv2120_nor_flash_data = {
++ .width = 1,
++ .parts = mv2120_partitions,
++ .nr_parts = ARRAY_SIZE(mv2120_partitions)
++};
++
++static struct resource mv2120_nor_flash_resource = {
++ .flags = IORESOURCE_MEM,
++ .start = MV2120_NOR_BOOT_BASE,
++ .end = MV2120_NOR_BOOT_BASE + MV2120_NOR_BOOT_SIZE - 1,
++};
++
++static struct platform_device mv2120_nor_flash = {
++ .name = "physmap-flash",
++ .id = 0,
++ .dev = { .platform_data = &mv2120_nor_flash_data, },
++ .resource = &mv2120_nor_flash_resource,
++ .num_resources = 1,
++};
++
++
++static struct gpio_keys_button mv2120_buttons[] = {
++ {
++ .code = KEY_RESTART,
++ .gpio = MV2120_GPIO_KEY_RESET,
++ .desc = "Reset Button",
++ .active_low = 1,
++ },
++ {
++ .code = KEY_POWER,
++ .gpio = MV2120_GPIO_POWER_OFF,
++//MV2120_GPIO_KEY_POWER,
++ .desc = "Power Button",
++ .active_low = 1,
++ }
++};
++
++static struct gpio_keys_platform_data mv2120_button_data = {
++ .buttons = mv2120_buttons,
++ .nbuttons = ARRAY_SIZE(mv2120_buttons),
++};
++
++static struct platform_device mv2120_button_device = {
++ .name = "gpio-keys",
++ .id = -1,
++ .num_resources = 0,
++ .dev = { .platform_data = &mv2120_button_data, },
++};
++
++/****************************************************************************
++ * General Setup
++ */
++
++static struct platform_device *mv2120_plat_devices[] __initdata = {
++ &mv2120_nor_flash,
++ &mv2120_button_device,
++};
++
++/*
++ *
++ */
++
++#define MV2120_RTC_GPIO 3
++
++static struct i2c_board_info __initdata mv2120_i2c_rtc = {
++ I2C_BOARD_INFO("rtc-pcf8563", 0x51),
++ .irq = 0,
++};
++
++static void mv2120_power_off(void)
++{
++ pr_info("%s: triggering power-off...\n", __func__);
++ gpio_set_value(MV2120_GPIO_POWER_OFF, 1);
++}
++
++static void __init mv2120_init(void)
++{
++ /* Setup basic Orion functions. Need to be called early. */
++ orion_init();
++
++ /* setup flash mapping */
++ orion_setup_cpu_win(ORION_DEV_BOOT, MV2120_NOR_BOOT_BASE,
++ MV2120_NOR_BOOT_SIZE, -1);
++
++ /* * Open a special address decode windows for the PCIE WA. */
++ orion_write(ORION_REGS_VIRT_BASE | 0x20074, ORION_PCIE_WA_PHYS_BASE);
++ orion_write(ORION_REGS_VIRT_BASE | 0x20070,
++ (0x7941 | (((ORION_PCIE_WA_SIZE >> 16) - 1)) << 16));
++
++ orion_write(MPP_0_7_CTRL, 0x00000003);
++ orion_write(MPP_8_15_CTRL, 0x0);
++ orion_write(MPP_16_19_CTRL, 0x00005555);
++
++ /* register mv2120 specific power-off method */
++ if ((gpio_request(MV2120_GPIO_POWER_OFF, "POWEROFF") != 0)
++ || (gpio_direction_output(MV2120_GPIO_POWER_OFF, 0) != 0))
++ pr_err("mv2120: failed to setup power-off GPIO\n");
++
++ pm_power_off = mv2120_power_off;
++
++ /* register flash and other platform devices */
++ platform_add_devices(mv2120_plat_devices,
++ ARRAY_SIZE(mv2120_plat_devices));
++
++ if (gpio_request(MV2120_RTC_GPIO, "rtc") == 0) {
++ if (gpio_direction_input(MV2120_RTC_GPIO) == 0)
++ mv2120_i2c_rtc.irq = gpio_to_irq(MV2120_RTC_GPIO);
++ else
++ gpio_free(MV2120_RTC_GPIO);
++ }
++ i2c_register_board_info(0, &mv2120_i2c_rtc, 1);
++
++ orion_eth_init(&mv2120_eth_data);
++ orion_sata_init(&mv2120_sata_data);
++}
++
++MACHINE_START(MV2120, "HP Media Vault mv2120")
++ .phys_io = ORION_REGS_PHYS_BASE,
++ .io_pg_offst = ((ORION_REGS_VIRT_BASE) >> 18) & 0xFFFC,
++ .boot_params = 0x00000100,
++ .init_machine = mv2120_init,
++ .map_io = orion_map_io,
++ .init_irq = orion_init_irq,
++ .timer = &orion_timer,
++ .fixup = tag_fixup_mem32
++MACHINE_END
Modified: dists/trunk/linux-2.6/debian/patches/series/1~experimental.1
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/1~experimental.1 (original)
+++ dists/trunk/linux-2.6/debian/patches/series/1~experimental.1 Sun Apr 20 14:15:39 2008
@@ -23,6 +23,7 @@
+ bugfix/arm/ts209-set-mac.patch
+ features/arm/orion-mv88f5281-d0.patch
+ features/arm/ts409.patch
++ features/arm/mv2120.patch
+ bugfix/sparc/drivers_net-broken.patch
+ bugfix/ia64/hardcode-arch-script-output.patch
+ bugfix/mips/disable-advansys.patch
More information about the Kernel-svn-changes
mailing list