diff options
author | Rajeshwari Shinde <rajeshwari.s@samsung.com> | 2011-12-26 02:33:00 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-12-26 02:33:00 -0500 |
commit | 6640790ce294b2783d02751e2b64a98575b8f542 (patch) | |
tree | 9c073cd729297482cb5a2a0e175be40a871ee9af /arch/arm/mach-s5p64x0 | |
parent | 0818c52756f46ab8f3e7d14a3a9e6e0a7d87b98f (diff) |
ARM: S5P64X0: Enable SDHCI support
Enables SDHCI supports for SMDK6440 and SMDK6450.
Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s5p64x0')
-rw-r--r-- | arch/arm/mach-s5p64x0/mach-smdk6440.c | 25 | ||||
-rw-r--r-- | arch/arm/mach-s5p64x0/mach-smdk6450.c | 26 |
2 files changed, 50 insertions, 1 deletions
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6440.c b/arch/arm/mach-s5p64x0/mach-smdk6440.c index 4a1250cd1356..fe168a087531 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6440.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6440.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
25 | #include <linux/pwm_backlight.h> | 25 | #include <linux/pwm_backlight.h> |
26 | #include <linux/fb.h> | 26 | #include <linux/fb.h> |
27 | #include <linux/mmc/host.h> | ||
27 | 28 | ||
28 | #include <video/platform_lcd.h> | 29 | #include <video/platform_lcd.h> |
29 | 30 | ||
@@ -52,6 +53,7 @@ | |||
52 | #include <plat/backlight.h> | 53 | #include <plat/backlight.h> |
53 | #include <plat/fb.h> | 54 | #include <plat/fb.h> |
54 | #include <plat/regs-fb.h> | 55 | #include <plat/regs-fb.h> |
56 | #include <plat/sdhci.h> | ||
55 | 57 | ||
56 | #define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ | 58 | #define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ |
57 | S3C2410_UCON_RXILEVEL | \ | 59 | S3C2410_UCON_RXILEVEL | \ |
@@ -161,6 +163,25 @@ static struct platform_device *smdk6440_devices[] __initdata = { | |||
161 | &s5p6440_device_iis, | 163 | &s5p6440_device_iis, |
162 | &s3c_device_fb, | 164 | &s3c_device_fb, |
163 | &smdk6440_lcd_lte480wv, | 165 | &smdk6440_lcd_lte480wv, |
166 | &s3c_device_hsmmc0, | ||
167 | &s3c_device_hsmmc1, | ||
168 | &s3c_device_hsmmc2, | ||
169 | }; | ||
170 | |||
171 | static struct s3c_sdhci_platdata smdk6440_hsmmc0_pdata __initdata = { | ||
172 | .cd_type = S3C_SDHCI_CD_NONE, | ||
173 | }; | ||
174 | |||
175 | static struct s3c_sdhci_platdata smdk6440_hsmmc1_pdata __initdata = { | ||
176 | .cd_type = S3C_SDHCI_CD_INTERNAL, | ||
177 | #if defined(CONFIG_S5P64X0_SD_CH1_8BIT) | ||
178 | .max_width = 8, | ||
179 | .host_caps = MMC_CAP_8_BIT_DATA, | ||
180 | #endif | ||
181 | }; | ||
182 | |||
183 | static struct s3c_sdhci_platdata smdk6440_hsmmc2_pdata __initdata = { | ||
184 | .cd_type = S3C_SDHCI_CD_NONE, | ||
164 | }; | 185 | }; |
165 | 186 | ||
166 | static struct s3c2410_platform_i2c s5p6440_i2c0_data __initdata = { | 187 | static struct s3c2410_platform_i2c s5p6440_i2c0_data __initdata = { |
@@ -234,6 +255,10 @@ static void __init smdk6440_machine_init(void) | |||
234 | s5p6440_set_lcd_interface(); | 255 | s5p6440_set_lcd_interface(); |
235 | s3c_fb_set_platdata(&smdk6440_lcd_pdata); | 256 | s3c_fb_set_platdata(&smdk6440_lcd_pdata); |
236 | 257 | ||
258 | s3c_sdhci0_set_platdata(&smdk6440_hsmmc0_pdata); | ||
259 | s3c_sdhci1_set_platdata(&smdk6440_hsmmc1_pdata); | ||
260 | s3c_sdhci2_set_platdata(&smdk6440_hsmmc2_pdata); | ||
261 | |||
237 | platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices)); | 262 | platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices)); |
238 | } | 263 | } |
239 | 264 | ||
diff --git a/arch/arm/mach-s5p64x0/mach-smdk6450.c b/arch/arm/mach-s5p64x0/mach-smdk6450.c index 0ab129ecf009..242a415dcf6b 100644 --- a/arch/arm/mach-s5p64x0/mach-smdk6450.c +++ b/arch/arm/mach-s5p64x0/mach-smdk6450.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
25 | #include <linux/pwm_backlight.h> | 25 | #include <linux/pwm_backlight.h> |
26 | #include <linux/fb.h> | 26 | #include <linux/fb.h> |
27 | #include <linux/mmc/host.h> | ||
27 | 28 | ||
28 | #include <video/platform_lcd.h> | 29 | #include <video/platform_lcd.h> |
29 | 30 | ||
@@ -52,6 +53,7 @@ | |||
52 | #include <plat/backlight.h> | 53 | #include <plat/backlight.h> |
53 | #include <plat/fb.h> | 54 | #include <plat/fb.h> |
54 | #include <plat/regs-fb.h> | 55 | #include <plat/regs-fb.h> |
56 | #include <plat/sdhci.h> | ||
55 | 57 | ||
56 | #define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ | 58 | #define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \ |
57 | S3C2410_UCON_RXILEVEL | \ | 59 | S3C2410_UCON_RXILEVEL | \ |
@@ -179,10 +181,28 @@ static struct platform_device *smdk6450_devices[] __initdata = { | |||
179 | &s5p6450_device_iis0, | 181 | &s5p6450_device_iis0, |
180 | &s3c_device_fb, | 182 | &s3c_device_fb, |
181 | &smdk6450_lcd_lte480wv, | 183 | &smdk6450_lcd_lte480wv, |
182 | 184 | &s3c_device_hsmmc0, | |
185 | &s3c_device_hsmmc1, | ||
186 | &s3c_device_hsmmc2, | ||
183 | /* s5p6450_device_spi0 will be added */ | 187 | /* s5p6450_device_spi0 will be added */ |
184 | }; | 188 | }; |
185 | 189 | ||
190 | static struct s3c_sdhci_platdata smdk6450_hsmmc0_pdata __initdata = { | ||
191 | .cd_type = S3C_SDHCI_CD_NONE, | ||
192 | }; | ||
193 | |||
194 | static struct s3c_sdhci_platdata smdk6450_hsmmc1_pdata __initdata = { | ||
195 | .cd_type = S3C_SDHCI_CD_NONE, | ||
196 | #if defined(CONFIG_S5P64X0_SD_CH1_8BIT) | ||
197 | .max_width = 8, | ||
198 | .host_caps = MMC_CAP_8_BIT_DATA, | ||
199 | #endif | ||
200 | }; | ||
201 | |||
202 | static struct s3c_sdhci_platdata smdk6450_hsmmc2_pdata __initdata = { | ||
203 | .cd_type = S3C_SDHCI_CD_NONE, | ||
204 | }; | ||
205 | |||
186 | static struct s3c2410_platform_i2c s5p6450_i2c0_data __initdata = { | 206 | static struct s3c2410_platform_i2c s5p6450_i2c0_data __initdata = { |
187 | .flags = 0, | 207 | .flags = 0, |
188 | .slave_addr = 0x10, | 208 | .slave_addr = 0x10, |
@@ -254,6 +274,10 @@ static void __init smdk6450_machine_init(void) | |||
254 | s5p6450_set_lcd_interface(); | 274 | s5p6450_set_lcd_interface(); |
255 | s3c_fb_set_platdata(&smdk6450_lcd_pdata); | 275 | s3c_fb_set_platdata(&smdk6450_lcd_pdata); |
256 | 276 | ||
277 | s3c_sdhci0_set_platdata(&smdk6450_hsmmc0_pdata); | ||
278 | s3c_sdhci1_set_platdata(&smdk6450_hsmmc1_pdata); | ||
279 | s3c_sdhci2_set_platdata(&smdk6450_hsmmc2_pdata); | ||
280 | |||
257 | platform_add_devices(smdk6450_devices, ARRAY_SIZE(smdk6450_devices)); | 281 | platform_add_devices(smdk6450_devices, ARRAY_SIZE(smdk6450_devices)); |
258 | } | 282 | } |
259 | 283 | ||