All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.