1 /* linux/arch/arm/plat-s3c/dev-hsmmc2.c
3 * Copyright (c) 2009 Samsung Electronics
5 * S3C series device definition for hsmmc device 2
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
12 #include <linux/kernel.h>
13 #include <linux/platform_device.h>
14 #include <linux/mmc/host.h>
17 #include <plat/sdhci.h>
18 #include <plat/devs.h>
20 #define S3C_SZ_HSMMC (0x1000)
22 static struct resource s3c_hsmmc2_resource
[] = {
24 .start
= S3C_PA_HSMMC2
,
25 .end
= S3C_PA_HSMMC2
+ S3C_SZ_HSMMC
- 1,
26 .flags
= IORESOURCE_MEM
,
31 .flags
= IORESOURCE_IRQ
,
35 static u64 s3c_device_hsmmc2_dmamask
= 0xffffffffUL
;
37 struct s3c_sdhci_platdata s3c_hsmmc2_def_platdata
= {
39 .host_caps
= (MMC_CAP_4_BIT_DATA
|
40 MMC_CAP_MMC_HIGHSPEED
| MMC_CAP_SD_HIGHSPEED
),
43 struct platform_device s3c_device_hsmmc2
= {
46 .num_resources
= ARRAY_SIZE(s3c_hsmmc2_resource
),
47 .resource
= s3c_hsmmc2_resource
,
49 .dma_mask
= &s3c_device_hsmmc2_dmamask
,
50 .coherent_dma_mask
= 0xffffffffUL
,
51 .platform_data
= &s3c_hsmmc2_def_platdata
,
55 void s3c_sdhci2_set_platdata(struct s3c_sdhci_platdata
*pd
)
57 struct s3c_sdhci_platdata
*set
= &s3c_hsmmc2_def_platdata
;
59 set
->max_width
= pd
->max_width
;
62 set
->cfg_gpio
= pd
->cfg_gpio
;
64 set
->cfg_card
= pd
->cfg_card
;