From: john.holland@cellent-fs.de (John Holland)
To: linux-arm-kernel@lists.infradead.org
Subject: RFC patch set - kirkwood/sheeva - enable eSATA port
Date: Fri, 19 Feb 2010 21:55:38 +0100 [thread overview]
Message-ID: <1266612938.8172.76.camel@oklahoma> (raw)
Hi there,
included are two patches. The first enables Kconfig and basic board
support for the eSATA version of the SheevaPlug found at
http://www.newit.co.uk/store/index.php?main_page=index&cPath=3. No, I
have no affiliation. The second enables the SATA interfaces on the SoC
to allow eSATA visibility.
I'm opening a discussion to help us decide if the first patch is
necessary. Please keep in mind, I also have a third non-disclosed patch
that enables SD WP/CD on the same hardware: I have seen that the SoC MPP
is also connected to the SD card interface.
http://plugcomputer.org/data/docs/Sheeva-PowerPlug-V1.3-GTI-090906.pdf
Please pardon my git ignorance, but I couldn't find any guidelines
forcing me to use it here.
diff -Naur linux-2.6-2.6.32/arch/arm/mach-kirkwood/Kconfig linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/Kconfig
--- linux-2.6-2.6.32/arch/arm/mach-kirkwood/Kconfig 2009-12-03 04:51:21.000000000 +0100
+++ linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/Kconfig 2010-02-19 18:49:14.099872716 +0100
@@ -32,6 +32,12 @@
Say 'Y' here if you want your kernel to support the
Marvell SheevaPlug Reference Board.
+config MACH_ESATA_SHEEVAPLUG
+ bool "Marvell eSATA SheevaPlug Reference Board"
+ help
+ Say 'Y' here if you want your kernel to support the
+ Marvell eSATA SheevaPlug Reference Board.
+
config MACH_TS219
bool "QNAP TS-119 and TS-219 Turbo NAS"
help
diff -Naur linux-2.6-2.6.32/arch/arm/mach-kirkwood/Makefile linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/Makefile
--- linux-2.6-2.6.32/arch/arm/mach-kirkwood/Makefile 2009-12-03 04:51:21.000000000 +0100
+++ linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/Makefile 2010-02-19 18:49:14.099872716 +0100
@@ -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_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
obj-$(CONFIG_MACH_TS219) += ts219-setup.o
obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o
diff -Naur linux-2.6-2.6.32/arch/arm/mach-kirkwood/sheevaplug-setup.c linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/sheevaplug-setup.c
--- linux-2.6-2.6.32/arch/arm/mach-kirkwood/sheevaplug-setup.c 2009-12-03 04:51:21.000000000 +0100
+++ linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/sheevaplug-setup.c 2010-02-19 18:49:47.403810163 +0100
@@ -96,6 +96,7 @@
platform_device_register(&sheevaplug_leds);
}
+#ifdef CONFIG_MACH_SHEEVAPLUG
MACHINE_START(SHEEVAPLUG, "Marvell SheevaPlug Reference Board")
/* Maintainer: shadi Ammouri <shadi@marvell.com> */
.phys_io = KIRKWOOD_REGS_PHYS_BASE,
@@ -106,3 +107,16 @@
.init_irq = kirkwood_init_irq,
.timer = &kirkwood_timer,
MACHINE_END
+#endif
+
+#ifdef CONFIG_MACH_ESATA_SHEEVAPLUG
+MACHINE_START(ESATA_SHEEVAPLUG, "Marvell eSATA SheevaPlug Reference Board")
+ .phys_io = KIRKWOOD_REGS_PHYS_BASE,
+ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
+ .boot_params = 0x00000100,
+ .init_machine = sheevaplug_init,
+ .map_io = kirkwood_map_io,
+ .init_irq = kirkwood_init_irq,
+ .timer = &kirkwood_timer,
+MACHINE_END
+#endif
This to allows people to choose the hardware they want to configure in
u-boot, depending on the application: using the hardware for something
intolerant of "wasted" energy. And leads to the following...
diff -Naur linux-2.6-2.6.32/arch/arm/mach-kirkwood/sheevaplug-setup.c linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/sheevaplug-setup.c
--- linux-2.6-2.6.32/arch/arm/mach-kirkwood/sheevaplug-setup.c 2010-02-19 19:11:30.714071286 +0100
+++ linux-2.6-2.6.32.new/arch/arm/mach-kirkwood/sheevaplug-setup.c 2010-02-19 19:13:51.910761448 +0100
@@ -11,6 +11,7 @@
#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>
@@ -42,6 +43,10 @@
.phy_addr = MV643XX_ETH_PHY_ADDR(0),
};
+static struct mv_sata_platform_data sheeva_esata_sata_data = {
+ .n_ports = 2,
+};
+
static struct mvsdio_platform_data sheevaplug_mvsdio_data = {
/* unfortunately the CD signal has not been connected */
};
@@ -91,6 +96,11 @@
kirkwood_ehci_init();
kirkwood_ge00_init(&sheevaplug_ge00_data);
+
+ /* honor lower power consumption for plugs with out eSATA */
+ if (machine_is_sheeva_esata())
+ kirkwood_sata_init(&sheeva_esata_sata_data);
+
kirkwood_sdio_init(&sheevaplug_mvsdio_data);
platform_device_register(&sheevaplug_leds);
For completeness, these patches do require a current
arm/tools/mach-types.
During my excursions with the new hardware, it was pointed out that the
Sheeva u-boot 3.4.19 does not properly initialize the SoC SATA ports
disallowing further usage; indifferent to the above patches. The "net"
http://plugcomputer.org/plugforum/index.php?topic=927.0 told me to use
u-boot 3.4.19 intended for the openrd hardware, and it worked.
--
John Holland
___________________________________________
Cellent Finance Solutions AG
Firmensitz: Calwer Stra?e 33, 70173 Stuttgart
Registergericht: Amtsgericht Stuttgart, HRB 720743
Vorstand: Thomas Wild
Vorsitzender des Aufsichtsrats: Rudolf Zipf
next reply other threads:[~2010-02-19 20:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-19 20:55 John Holland [this message]
2010-02-19 21:34 ` RFC patch set - kirkwood/sheeva - enable eSATA port Nicolas Pitre
2010-02-19 22:10 ` [PATCH] 1/3 kirkwood/sheeva: basic board support John Holland
2010-02-19 22:11 ` [PATCH] 2/3 kirkwood/sheeva: configure SoC SATA interface John Holland
2010-02-19 22:11 ` [PATCH] 3/3 kirkwood/sheeva: correlate MPP to SD CD and SD WP John Holland
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=1266612938.8172.76.camel@oklahoma \
--to=john.holland@cellent-fs.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).