All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Kirkwood: Marvell GuruPlug support
@ 2010-03-22  9:28 Siddarth Gore
  2010-03-22 12:05 ` Alexander Clouter
  0 siblings, 1 reply; 6+ messages in thread
From: Siddarth Gore @ 2010-03-22  9:28 UTC (permalink / raw)
  To: linux-arm-kernel

GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot

References:
http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
http://plugcomputer.org

This patch is for GuruPlug Plus, but it supports Standard version
as well.

Signed-off-by: Siddarth Gore <gores@marvell.com>
---
 arch/arm/mach-kirkwood/Kconfig          |    6 ++
 arch/arm/mach-kirkwood/Makefile         |    1 +
 arch/arm/mach-kirkwood/guruplug-setup.c |  131 +++++++++++++++++++++++++++++++
 3 files changed, 138 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-kirkwood/guruplug-setup.c

diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 17879a8..05a8552 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -38,6 +38,12 @@ config MACH_ESATA_SHEEVAPLUG
 	  Say 'Y' here if you want your kernel to support the
 	  Marvell eSATA SheevaPlug 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-110, TS-119, TS-210, TS-219 and TS-219P Turbo NAS"
 	help
diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
index a5530e3..85b3a39 100644
--- a/arch/arm/mach-kirkwood/Makefile
+++ b/arch/arm/mach-kirkwood/Makefile
@@ -6,6 +6,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_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_OPENRD)		+= openrd-setup.o
diff --git a/arch/arm/mach-kirkwood/guruplug-setup.c b/arch/arm/mach-kirkwood/guruplug-setup.c
new file mode 100644
index 0000000..54d07c8
--- /dev/null
+++ b/arch/arm/mach-kirkwood/guruplug-setup.c
@@ -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
-- 
1.6.0.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] Kirkwood: Marvell GuruPlug support
  2010-03-22  9:28 [PATCH] Kirkwood: Marvell GuruPlug support Siddarth Gore
@ 2010-03-22 12:05 ` Alexander Clouter
  2010-03-23 12:43   ` Siddarth Gore
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Clouter @ 2010-03-22 12:05 UTC (permalink / raw)
  To: linux-arm-kernel

Siddarth Gore <gores@marvell.com> wrote:
>
> GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
> GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
> 
> References:
> http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
> http://plugcomputer.org
> 
> This patch is for GuruPlug Plus, but it supports Standard version
> as well.
> 
> Signed-off-by: Siddarth Gore <gores@marvell.com>
> ---
> arch/arm/mach-kirkwood/Kconfig          |    6 ++
> arch/arm/mach-kirkwood/Makefile         |    1 +
> arch/arm/mach-kirkwood/guruplug-setup.c |  131 +++++++++++++++++++++++++++++++
> 3 files changed, 138 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-kirkwood/guruplug-setup.c
> 
> diff --git a/arch/arm/mach-kirkwood/guruplug-setup.c b/arch/arm/mach-kirkwood/guruplug-setup.c
> new file mode 100644
> index 0000000..54d07c8
> --- /dev/null
> +++ b/arch/arm/mach-kirkwood/guruplug-setup.c
> @@ -0,0 +1,131 @@
>
Any harm in merging this into the sheevaplug-setup code, like the openrd 
code?

http://git.marvell.com/?p=orion.git;a=commit;h=b2fdb5660fccc060e47658baad8911a963397ced

Cheers

-- 
Alexander Clouter
.sigmonster says: BOFH excuse #179:
                  multicasts on broken packets

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] Kirkwood: Marvell GuruPlug support
  2010-03-22 12:05 ` Alexander Clouter
@ 2010-03-23 12:43   ` Siddarth Gore
  2010-03-23 13:23     ` Alexander Clouter
  0 siblings, 1 reply; 6+ messages in thread
From: Siddarth Gore @ 2010-03-23 12:43 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 2010-03-22 at 05:05 -0700, Alexander Clouter wrote:
> Siddarth Gore <gores@marvell.com> wrote:
> >
> > GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0
> > GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
> > 
> > References:
> > http://www.globalscaletechnologies.com/t-guruplugdetails.aspx
> > http://plugcomputer.org
> > 
> > This patch is for GuruPlug Plus, but it supports Standard version
> > as well.
> > 
> > Signed-off-by: Siddarth Gore <gores@marvell.com>
> > ---
> > arch/arm/mach-kirkwood/Kconfig          |    6 ++
> > arch/arm/mach-kirkwood/Makefile         |    1 +
> > arch/arm/mach-kirkwood/guruplug-setup.c |  131 +++++++++++++++++++++++++++++++
> > 3 files changed, 138 insertions(+), 0 deletions(-)
> > create mode 100644 arch/arm/mach-kirkwood/guruplug-setup.c
> > 
> > diff --git a/arch/arm/mach-kirkwood/guruplug-setup.c b/arch/arm/mach-kirkwood/guruplug-setup.c
> > new file mode 100644
> > index 0000000..54d07c8
> > --- /dev/null
> > +++ b/arch/arm/mach-kirkwood/guruplug-setup.c
> > @@ -0,0 +1,131 @@
> >
> Any harm in merging this into the sheevaplug-setup code, like the openrd 
> code?
> 
> http://git.marvell.com/?p=orion.git;a=commit;h=b2fdb5660fccc060e47658baad8911a963397ced
> 

No harm as such. but i think having separate setup files will be a
cleaner approach, instead of adding more if(machine_is_<>) statements.

Looks like openrd base/client are same boards with client having an
extra ethernet port. sheevaplug and guruplug are two different boards
(pcb's) having different gpio settings, peripherals, etc.

-siddarth

> Cheers
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] Kirkwood: Marvell GuruPlug support
  2010-03-23 12:43   ` Siddarth Gore
@ 2010-03-23 13:23     ` Alexander Clouter
  2010-03-23 16:48       ` Nicolas Pitre
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Clouter @ 2010-03-23 13:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

* Siddarth Gore <gores@marvell.com> [2010-03-23 18:13:23+0530]:
>
> On Mon, 2010-03-22 at 05:05 -0700, Alexander Clouter wrote:
>
> > Any harm in merging this into the sheevaplug-setup code, like the openrd 
> > code?
> > 
> > http://git.marvell.com/?p=orion.git;a=commit;h=b2fdb5660fccc060e47658baad8911a963397ced
> 
> No harm as such. but i think having separate setup files will be a
> cleaner approach, instead of adding more if(machine_is_<>) statements.
> 
> Looks like openrd base/client are same boards with client having an
> extra ethernet port. sheevaplug and guruplug are two different boards
> (pcb's) having different gpio settings, peripherals, etc.
> 
Fair enough, I thought (with the exception of the shameful removal of 
the onboard questionable serial/jtag) the boards were identical, just 
with extra USB/NIC ports added.

Cheers

-- 
Alexander Clouter
.sigmonster says: Real Users know your home telephone number.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] Kirkwood: Marvell GuruPlug support
  2010-03-23 13:23     ` Alexander Clouter
@ 2010-03-23 16:48       ` Nicolas Pitre
  2010-03-23 18:35         ` Alexander Clouter
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Pitre @ 2010-03-23 16:48 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 23 Mar 2010, Alexander Clouter wrote:

> Hi,
> 
> * Siddarth Gore <gores@marvell.com> [2010-03-23 18:13:23+0530]:
> >
> > On Mon, 2010-03-22 at 05:05 -0700, Alexander Clouter wrote:
> >
> > > Any harm in merging this into the sheevaplug-setup code, like the openrd 
> > > code?
> > > 
> > > http://git.marvell.com/?p=orion.git;a=commit;h=b2fdb5660fccc060e47658baad8911a963397ced
> > 
> > No harm as such. but i think having separate setup files will be a
> > cleaner approach, instead of adding more if(machine_is_<>) statements.
> > 
> > Looks like openrd base/client are same boards with client having an
> > extra ethernet port. sheevaplug and guruplug are two different boards
> > (pcb's) having different gpio settings, peripherals, etc.
> > 
> Fair enough, I thought (with the exception of the shameful removal of 
> the onboard questionable serial/jtag) the boards were identical, just 
> with extra USB/NIC ports added.

"questionable" ??


Nicolas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] Kirkwood: Marvell GuruPlug support
  2010-03-23 16:48       ` Nicolas Pitre
@ 2010-03-23 18:35         ` Alexander Clouter
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Clouter @ 2010-03-23 18:35 UTC (permalink / raw)
  To: linux-arm-kernel

Nicolas Pitre <nico@fluxnic.net> wrote:
>> 
>> Fair enough, I thought (with the exception of the shameful removal of 
>> the onboard questionable serial/jtag) the boards were identical, just 
>> with extra USB/NIC ports added.
> 
> "questionable" ??
>
Yeah, I rejigged that sentence when originally slapping it together and 
forgot to remove 'questionable'.

It was a shame the onboard readily available serial/jtag was removed on 
the Guruplug.  The SheevaPlug makes a great home router[1] or streaming 
radio client[2], but having to remember to carry a separate box to just 
serial into it is a plain pain :-/

Now if I could get a 4GB RAM version, I would have me some low power 
HTTP proxy servers for work :)

Cheers

[1] USB xDSL modem plugged in
[2] the student radio bods at my workplace love them for just this

-- 
Alexander Clouter
.sigmonster says: Oatmeal raisin.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-03-23 18:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-22  9:28 [PATCH] Kirkwood: Marvell GuruPlug support Siddarth Gore
2010-03-22 12:05 ` Alexander Clouter
2010-03-23 12:43   ` Siddarth Gore
2010-03-23 13:23     ` Alexander Clouter
2010-03-23 16:48       ` Nicolas Pitre
2010-03-23 18:35         ` Alexander Clouter

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.