diff options
Diffstat (limited to 'arch/arm/mach-s5pv310/mach-smdkc210.c')
-rw-r--r-- | arch/arm/mach-s5pv310/mach-smdkc210.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/arm/mach-s5pv310/mach-smdkc210.c b/arch/arm/mach-s5pv310/mach-smdkc210.c index b0623976b884..da5e7e7788b1 100644 --- a/arch/arm/mach-s5pv310/mach-smdkc210.c +++ b/arch/arm/mach-s5pv310/mach-smdkc210.c | |||
@@ -9,6 +9,9 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/serial_core.h> | 11 | #include <linux/serial_core.h> |
12 | #include <linux/gpio.h> | ||
13 | #include <linux/mmc/host.h> | ||
14 | #include <linux/platform_device.h> | ||
12 | 15 | ||
13 | #include <asm/mach/arch.h> | 16 | #include <asm/mach/arch.h> |
14 | #include <asm/mach-types.h> | 17 | #include <asm/mach-types.h> |
@@ -18,6 +21,7 @@ | |||
18 | #include <plat/s5pv310.h> | 21 | #include <plat/s5pv310.h> |
19 | #include <plat/cpu.h> | 22 | #include <plat/cpu.h> |
20 | #include <plat/devs.h> | 23 | #include <plat/devs.h> |
24 | #include <plat/sdhci.h> | ||
21 | 25 | ||
22 | #include <mach/map.h> | 26 | #include <mach/map.h> |
23 | 27 | ||
@@ -66,7 +70,43 @@ static struct s3c2410_uartcfg smdkc210_uartcfgs[] __initdata = { | |||
66 | }, | 70 | }, |
67 | }; | 71 | }; |
68 | 72 | ||
73 | static struct s3c_sdhci_platdata smdkc210_hsmmc0_pdata __initdata = { | ||
74 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
75 | .ext_cd_gpio = S5PV310_GPK0(2), | ||
76 | .ext_cd_gpio_invert = 1, | ||
77 | #ifdef CONFIG_S5PV310_SDHCI_CH0_8BIT | ||
78 | .max_width = 8, | ||
79 | .host_caps = MMC_CAP_8_BIT_DATA, | ||
80 | #endif | ||
81 | }; | ||
82 | |||
83 | static struct s3c_sdhci_platdata smdkc210_hsmmc1_pdata __initdata = { | ||
84 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
85 | .ext_cd_gpio = S5PV310_GPK0(2), | ||
86 | .ext_cd_gpio_invert = 1, | ||
87 | }; | ||
88 | |||
89 | static struct s3c_sdhci_platdata smdkc210_hsmmc2_pdata __initdata = { | ||
90 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
91 | .ext_cd_gpio = S5PV310_GPK2(2), | ||
92 | .ext_cd_gpio_invert = 1, | ||
93 | #ifdef CONFIG_S5PV310_SDHCI_CH2_8BIT | ||
94 | .max_width = 8, | ||
95 | .host_caps = MMC_CAP_8_BIT_DATA, | ||
96 | #endif | ||
97 | }; | ||
98 | |||
99 | static struct s3c_sdhci_platdata smdkc210_hsmmc3_pdata __initdata = { | ||
100 | .cd_type = S3C_SDHCI_CD_GPIO, | ||
101 | .ext_cd_gpio = S5PV310_GPK2(2), | ||
102 | .ext_cd_gpio_invert = 1, | ||
103 | }; | ||
104 | |||
69 | static struct platform_device *smdkc210_devices[] __initdata = { | 105 | static struct platform_device *smdkc210_devices[] __initdata = { |
106 | &s3c_device_hsmmc0, | ||
107 | &s3c_device_hsmmc1, | ||
108 | &s3c_device_hsmmc2, | ||
109 | &s3c_device_hsmmc3, | ||
70 | &s3c_device_rtc, | 110 | &s3c_device_rtc, |
71 | &s3c_device_wdt, | 111 | &s3c_device_wdt, |
72 | }; | 112 | }; |
@@ -80,6 +120,11 @@ static void __init smdkc210_map_io(void) | |||
80 | 120 | ||
81 | static void __init smdkc210_machine_init(void) | 121 | static void __init smdkc210_machine_init(void) |
82 | { | 122 | { |
123 | s3c_sdhci0_set_platdata(&smdkc210_hsmmc0_pdata); | ||
124 | s3c_sdhci1_set_platdata(&smdkc210_hsmmc1_pdata); | ||
125 | s3c_sdhci2_set_platdata(&smdkc210_hsmmc2_pdata); | ||
126 | s3c_sdhci3_set_platdata(&smdkc210_hsmmc3_pdata); | ||
127 | |||
83 | #ifdef CONFIG_CACHE_L2X0 | 128 | #ifdef CONFIG_CACHE_L2X0 |
84 | l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff); | 129 | l2x0_init(S5P_VA_L2CC, 1 << 28, 0xffffffff); |
85 | #endif | 130 | #endif |