diff options
Diffstat (limited to 'arch/arm/mach-orion/common.c')
-rw-r--r-- | arch/arm/mach-orion/common.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/arch/arm/mach-orion/common.c b/arch/arm/mach-orion/common.c index 5e20b6b32508..5f41fc537fa5 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 ****************************************************************************/ |