summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJohn Holland <john.holland@cellent-fs.de>2010-02-19 23:11:01 +0100
committerNicolas Pitre <nico@fluxnic.net>2010-02-23 16:44:01 -0500
commitd7b222d708e6eff0cf47928f439c8bcf49f10bb6 (patch)
treedc7ea1ea89c4ce2953e1094f4f21925bb16d3f67 /arch
parentd8ecb3490050b33bf46ce77c7f239e0fc51a6835 (diff)
downloadlinux-d7b222d708e6eff0cf47928f439c8bcf49f10bb6.tar.gz
linux-d7b222d708e6eff0cf47928f439c8bcf49f10bb6.tar.bz2
linux-d7b222d708e6eff0cf47928f439c8bcf49f10bb6.zip
[ARM] eSATA SheevaPlug: configure SoC SATA interface
Enable the kirkwood SATA SoC interface on the eSATA SheevaPlug. Signed-off-by: John Holland <john.holland@cellent-fs.de> Signed-off-by: Nicolas Pitre <nico@marvell.com> --
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-kirkwood/sheevaplug-setup.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/sheevaplug-setup.c
index 629ce84ae433..bb9bc70381ef 100644
--- a/arch/arm/mach-kirkwood/sheevaplug-setup.c
+++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c
@@ -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 @@ static struct mv643xx_eth_platform_data sheevaplug_ge00_data = {
.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 @@ static void __init sheevaplug_init(void)
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);