From: thomas.weber.linux@googlemail.com (Thomas Weber)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] support for Seagate DockStar
Date: Wed, 15 Sep 2010 09:07:24 +0200 [thread overview]
Message-ID: <4C9070AC.3000601@gmail.com> (raw)
In-Reply-To: <1281044326-15058-1-git-send-email-ecc@cmu.edu>
Am 05.08.2010 23:38, schrieb Eric Cooper:
> This patch adds support for the Seagate FreeAgent DockStar, a Marvell
> Sheevaplug derivative. I have already registered the DOCKSTAR machine
> ID.
>
> Signed-off-by: Eric Cooper <ecc@cmu.edu>
> ---
> arch/arm/mach-kirkwood/Kconfig | 6 ++
> arch/arm/mach-kirkwood/Makefile | 1 +
> arch/arm/mach-kirkwood/dockstar-setup.c | 112 +++++++++++++++++++++++++++++++
> arch/arm/tools/mach-types | 1 +
> 4 files changed, 120 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-kirkwood/dockstar-setup.c
>
> diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
> index 29b2163..74d832f 100644
> --- a/arch/arm/mach-kirkwood/Kconfig
> +++ b/arch/arm/mach-kirkwood/Kconfig
> @@ -58,6 +58,12 @@ config MACH_TS41X
> QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS
> devices.
>
> +config MACH_DOCKSTAR
> + bool "Seagate FreeAgent DockStar"
> + help
> + Say 'Y' here if you want your kernel to support the
> + Seagate FreeAgent DockStar.
> +
> config MACH_OPENRD
> bool
>
> diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
> index c0cd5d3..025b256 100644
> --- a/arch/arm/mach-kirkwood/Makefile
> +++ b/arch/arm/mach-kirkwood/Makefile
> @@ -9,6 +9,7 @@ obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
> obj-$(CONFIG_MACH_GURUPLUG) += guruplug-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_DOCKSTAR) += dockstar-setup.o
> obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
> obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o
> obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o
> diff --git a/arch/arm/mach-kirkwood/dockstar-setup.c b/arch/arm/mach-kirkwood/dockstar-setup.c
> new file mode 100644
> index 0000000..a90475d
> --- /dev/null
> +++ b/arch/arm/mach-kirkwood/dockstar-setup.c
> @@ -0,0 +1,112 @@
> +/*
> + * arch/arm/mach-kirkwood/dockstar-setup.c
> + *
> + * Seagate FreeAgent DockStar 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/ata_platform.h>
> +#include <linux/mtd/partitions.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 dockstar_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 dockstar_ge00_data = {
> + .phy_addr = MV643XX_ETH_PHY_ADDR(0),
> +};
> +
> +static struct gpio_led dockstar_led_pins[] = {
> + {
> + .name = "dockstar:green:health",
> + .default_trigger = "default-on",
> + .gpio = 46,
> + .active_low = 1,
> + },
> + {
> + .name = "dockstar:orange:misc",
> + .default_trigger = "none",
> + .gpio = 47,
> + .active_low = 1,
> + },
> +};
> +
> +static struct gpio_led_platform_data dockstar_led_data = {
> + .leds = dockstar_led_pins,
> + .num_leds = ARRAY_SIZE(dockstar_led_pins),
> +};
> +
> +static struct platform_device dockstar_leds = {
> + .name = "leds-gpio",
> + .id = -1,
> + .dev = {
> + .platform_data = &dockstar_led_data,
> + }
> +};
> +
> +static unsigned int dockstar_mpp_config[] __initdata = {
> + MPP29_GPIO, /* USB Power Enable */
> + MPP46_GPIO, /* LED green */
> + MPP47_GPIO, /* LED orange */
> + 0
> +};
> +
> +static void __init dockstar_init(void)
> +{
> + /*
> + * Basic setup. Needs to be called early.
> + */
> + kirkwood_init();
> +
> + /* setup gpio pin select */
> + kirkwood_mpp_conf(dockstar_mpp_config);
> +
> + kirkwood_uart0_init();
> + kirkwood_nand_init(ARRAY_AND_SIZE(dockstar_nand_parts), 25);
> +
> + if (gpio_request(29, "USB Power Enable") != 0 ||
> + gpio_direction_output(29, 1) != 0)
> + printk(KERN_ERR "can't set up GPIO 29 (USB Power Enable)\n");
> + kirkwood_ehci_init();
> +
> + kirkwood_ge00_init(&dockstar_ge00_data);
> +
> + platform_device_register(&dockstar_leds);
> +}
> +
> +MACHINE_START(DOCKSTAR, "Seagate FreeAgent DockStar")
> + .phys_io = KIRKWOOD_REGS_PHYS_BASE,
> + .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
> + .boot_params = 0x00000100,
> + .init_machine = dockstar_init,
> + .map_io = kirkwood_map_io,
> + .init_irq = kirkwood_init_irq,
> + .timer = &kirkwood_timer,
> +MACHINE_END
> diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
> index 48cbdcb..8d56837 100644
> --- a/arch/arm/tools/mach-types
> +++ b/arch/arm/tools/mach-types
> @@ -2950,3 +2950,4 @@ davinci_dm365_dvr MACH_DAVINCI_DM365_DVR DAVINCI_DM365_DVR 2963
> netviz MACH_NETVIZ NETVIZ 2964
> flexibity MACH_FLEXIBITY FLEXIBITY 2965
> wlan_computer MACH_WLAN_COMPUTER WLAN_COMPUTER 2966
> +dockstar MACH_DOCKSTAR DOCKSTAR 2998
Hello Eric,
please remove the changes to the mach-types entry.
And can you add an entry to the kirkwood_defconfig.
Thomas
next prev parent reply other threads:[~2010-09-15 7:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-05 21:38 [PATCH] support for Seagate DockStar Eric Cooper
2010-09-15 7:07 ` Thomas Weber [this message]
2010-09-15 14:49 ` [PATCH v2] " Eric Cooper
2010-09-17 2:40 ` Nicolas Pitre
-- strict thread matches above, loose matches on Subject: below --
2010-08-03 22:13 [PATCH] " Eric Cooper
2010-08-03 22:13 ` Eric Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C9070AC.3000601@gmail.com \
--to=thomas.weber.linux@googlemail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.