Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f244baa3cafb4a49934d1fd944e29885a0fdbc3e
Commit:     f244baa3cafb4a49934d1fd944e29885a0fdbc3e
Parent:     a4ffc0a0b240a29cbe489f6db9dae112a49ef1c1
Author:     Saeed Bishara <[EMAIL PROTECTED]>
AuthorDate: Tue Jan 29 11:33:32 2008 -1100
Committer:  Nicolas Pitre <[EMAIL PROTECTED]>
CommitDate: Fri Feb 8 11:52:23 2008 -0500

    [ARM] Orion: Use the sata_mv driver for the integrated SATA controller
    
    This patch adds instantiation for the sata_mv driver, enabling the
    integrated SATA controller.
    
    Signed-off-by: Saeed Bishara <[EMAIL PROTECTED]>
    Signed-off-by: Nicolas Pitre <[EMAIL PROTECTED]>
---
 arch/arm/mach-orion/common.c          |   36 ++++++++++++++++++++++++++++++++-
 arch/arm/mach-orion/common.h          |    8 +++++++
 arch/arm/mach-orion/rd88f5182-setup.c |    9 ++++++++
 3 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-orion/common.c b/arch/arm/mach-orion/common.c
index 5e20b6b..5f41fc5 100644
--- a/arch/arm/mach-orion/common.c
+++ b/arch/arm/mach-orion/common.c
@@ -19,7 +19,7 @@
 #include <asm/page.h>
 #include <asm/timex.h>
 #include <asm/mach/map.h>
-#include <asm/arch/orion.h>
+#include <asm/arch/hardware.h>
 #include "common.h"
 
 /*****************************************************************************
@@ -250,6 +250,40 @@ static struct platform_device orion_i2c = {
 };
 
 /*****************************************************************************
+ * Sata port
+ ****************************************************************************/
+static struct resource orion_sata_resources[] = {
+        {
+                .name   = "sata base",
+                .start  = ORION_SATA_REG_BASE,
+                .end    = ORION_SATA_REG_BASE + 0x5000 - 1,
+                .flags  = IORESOURCE_MEM,
+        },
+       {
+                .name   = "sata irq",
+                .start  = IRQ_ORION_SATA,
+                .end    = IRQ_ORION_SATA,
+                .flags  = IORESOURCE_IRQ,
+        },
+};
+
+static struct platform_device orion_sata = {
+       .name           = "sata_mv",
+       .id             = 0,
+       .dev            = {
+               .coherent_dma_mask      = 0xffffffff,
+       },
+       .num_resources  = ARRAY_SIZE(orion_sata_resources),
+       .resource       = orion_sata_resources,
+};
+
+void __init orion_sata_init(struct mv_sata_platform_data *sata_data)
+{
+       orion_sata.dev.platform_data = sata_data;
+       platform_device_register(&orion_sata);
+}
+
+/*****************************************************************************
  * General
  ****************************************************************************/
 
diff --git a/arch/arm/mach-orion/common.h b/arch/arm/mach-orion/common.h
index 06c10c0..10154ec 100644
--- a/arch/arm/mach-orion/common.h
+++ b/arch/arm/mach-orion/common.h
@@ -75,4 +75,12 @@ struct mv643xx_eth_platform_data;
 
 void __init orion_eth_init(struct mv643xx_eth_platform_data *eth_data);
 
+/*
+ * Orion Sata platform_data, used by machine-setup
+ */
+
+struct mv_sata_platform_data;
+
+void __init orion_sata_init(struct mv_sata_platform_data *sata_data);
+
 #endif /* __ARCH_ORION_COMMON_H__ */
diff --git a/arch/arm/mach-orion/rd88f5182-setup.c 
b/arch/arm/mach-orion/rd88f5182-setup.c
index 026d743..797c54c 100644
--- a/arch/arm/mach-orion/rd88f5182-setup.c
+++ b/arch/arm/mach-orion/rd88f5182-setup.c
@@ -17,6 +17,7 @@
 #include <linux/irq.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mv643xx_eth.h>
+#include <linux/ata_platform.h>
 #include <linux/i2c.h>
 #include <asm/mach-types.h>
 #include <asm/gpio.h>
@@ -230,6 +231,13 @@ static struct i2c_board_info __initdata rd88f5182_i2c_rtc 
= {
 };
 
 /*****************************************************************************
+ * Sata
+ ****************************************************************************/
+static struct mv_sata_platform_data rd88f5182_sata_data = {
+       .n_ports        = 2,
+};
+
+/*****************************************************************************
  * General Setup
  ****************************************************************************/
 
@@ -292,6 +300,7 @@ static void __init rd88f5182_init(void)
        platform_add_devices(rd88f5182_devices, ARRAY_SIZE(rd88f5182_devices));
        i2c_register_board_info(0, &rd88f5182_i2c_rtc, 1);
        orion_eth_init(&rd88f5182_eth_data);
+       orion_sata_init(&rd88f5182_sata_data);
 }
 
 MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to