summaryrefslogtreecommitdiff
path: root/arch/arm/plat-samsung/dev-ide.c
diff options
context:
space:
mode:
authorAbhilash Kesavan <a.kesavan@samsung.com>2010-06-08 11:38:20 +0400
committerKukjin Kim <kgene.kim@samsung.com>2010-08-05 13:32:50 +0400
commitdb90005b5bdb7195b55e295548d7a7eb2014d94c (patch)
treeaaaa5d9392b50eb8c470ca226b35b36ce2d68bd4 /arch/arm/plat-samsung/dev-ide.c
parent3911dab8ad582fd4db5e79eda5320c37c3dfb9bb (diff)
downloadlinux-db90005b5bdb7195b55e295548d7a7eb2014d94c.tar.xz
ARM: SAMSUNG: Add Compact Flash device support for Samsung SoCs
Following has been added: - Common CF Platform device definition - Platform data strucure definition - CF controller register definitions Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-samsung/dev-ide.c')
-rw-r--r--arch/arm/plat-samsung/dev-ide.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/dev-ide.c b/arch/arm/plat-samsung/dev-ide.c
new file mode 100644
index 000000000000..b497982795a7
--- /dev/null
+++ b/arch/arm/plat-samsung/dev-ide.c
@@ -0,0 +1,44 @@
+/* linux/arch/arm/plat-samsung/dev-ide.c
+ *
+ * Copyright (c) 2010 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Samsung CF-ATA device definition.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <linux/kernel.h>
+#include <linux/interrupt.h>
+#include <linux/platform_device.h>
+
+#include <mach/map.h>
+#include <plat/ata.h>
+#include <plat/devs.h>
+
+static struct resource s3c_cfcon_resource[] = {
+ [0] = {
+ .start = SAMSUNG_PA_CFCON,
+ .end = SAMSUNG_PA_CFCON + SZ_16K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+ .start = IRQ_CFCON,
+ .end = IRQ_CFCON,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+
+struct platform_device s3c_device_cfcon = {
+ .id = 0,
+ .num_resources = ARRAY_SIZE(s3c_cfcon_resource),
+ .resource = s3c_cfcon_resource,
+};
+
+void s3c_ide_set_platdata(struct s3c_ide_platdata *pdata)
+{
+ s3c_set_platdata(pdata, sizeof(struct s3c_ide_platdata),
+ &s3c_device_cfcon);
+}