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>
This commit is contained in:
parent
0818c52756
commit
6640790ce2
2 changed files with 50 additions and 1 deletions
|
@ -24,6 +24,7 @@
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/pwm_backlight.h>
|
#include <linux/pwm_backlight.h>
|
||||||
#include <linux/fb.h>
|
#include <linux/fb.h>
|
||||||
|
#include <linux/mmc/host.h>
|
||||||
|
|
||||||
#include <video/platform_lcd.h>
|
#include <video/platform_lcd.h>
|
||||||
|
|
||||||
|
@ -52,6 +53,7 @@
|
||||||
#include <plat/backlight.h>
|
#include <plat/backlight.h>
|
||||||
#include <plat/fb.h>
|
#include <plat/fb.h>
|
||||||
#include <plat/regs-fb.h>
|
#include <plat/regs-fb.h>
|
||||||
|
#include <plat/sdhci.h>
|
||||||
|
|
||||||
#define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
|
#define SMDK6440_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
|
||||||
S3C2410_UCON_RXILEVEL | \
|
S3C2410_UCON_RXILEVEL | \
|
||||||
|
@ -161,6 +163,25 @@ static struct platform_device *smdk6440_devices[] __initdata = {
|
||||||
&s5p6440_device_iis,
|
&s5p6440_device_iis,
|
||||||
&s3c_device_fb,
|
&s3c_device_fb,
|
||||||
&smdk6440_lcd_lte480wv,
|
&smdk6440_lcd_lte480wv,
|
||||||
|
&s3c_device_hsmmc0,
|
||||||
|
&s3c_device_hsmmc1,
|
||||||
|
&s3c_device_hsmmc2,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6440_hsmmc0_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6440_hsmmc1_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_INTERNAL,
|
||||||
|
#if defined(CONFIG_S5P64X0_SD_CH1_8BIT)
|
||||||
|
.max_width = 8,
|
||||||
|
.host_caps = MMC_CAP_8_BIT_DATA,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6440_hsmmc2_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_NONE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct s3c2410_platform_i2c s5p6440_i2c0_data __initdata = {
|
static struct s3c2410_platform_i2c s5p6440_i2c0_data __initdata = {
|
||||||
|
@ -234,6 +255,10 @@ static void __init smdk6440_machine_init(void)
|
||||||
s5p6440_set_lcd_interface();
|
s5p6440_set_lcd_interface();
|
||||||
s3c_fb_set_platdata(&smdk6440_lcd_pdata);
|
s3c_fb_set_platdata(&smdk6440_lcd_pdata);
|
||||||
|
|
||||||
|
s3c_sdhci0_set_platdata(&smdk6440_hsmmc0_pdata);
|
||||||
|
s3c_sdhci1_set_platdata(&smdk6440_hsmmc1_pdata);
|
||||||
|
s3c_sdhci2_set_platdata(&smdk6440_hsmmc2_pdata);
|
||||||
|
|
||||||
platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices));
|
platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/pwm_backlight.h>
|
#include <linux/pwm_backlight.h>
|
||||||
#include <linux/fb.h>
|
#include <linux/fb.h>
|
||||||
|
#include <linux/mmc/host.h>
|
||||||
|
|
||||||
#include <video/platform_lcd.h>
|
#include <video/platform_lcd.h>
|
||||||
|
|
||||||
|
@ -52,6 +53,7 @@
|
||||||
#include <plat/backlight.h>
|
#include <plat/backlight.h>
|
||||||
#include <plat/fb.h>
|
#include <plat/fb.h>
|
||||||
#include <plat/regs-fb.h>
|
#include <plat/regs-fb.h>
|
||||||
|
#include <plat/sdhci.h>
|
||||||
|
|
||||||
#define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
|
#define SMDK6450_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
|
||||||
S3C2410_UCON_RXILEVEL | \
|
S3C2410_UCON_RXILEVEL | \
|
||||||
|
@ -179,10 +181,28 @@ static struct platform_device *smdk6450_devices[] __initdata = {
|
||||||
&s5p6450_device_iis0,
|
&s5p6450_device_iis0,
|
||||||
&s3c_device_fb,
|
&s3c_device_fb,
|
||||||
&smdk6450_lcd_lte480wv,
|
&smdk6450_lcd_lte480wv,
|
||||||
|
&s3c_device_hsmmc0,
|
||||||
|
&s3c_device_hsmmc1,
|
||||||
|
&s3c_device_hsmmc2,
|
||||||
/* s5p6450_device_spi0 will be added */
|
/* s5p6450_device_spi0 will be added */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6450_hsmmc0_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6450_hsmmc1_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_NONE,
|
||||||
|
#if defined(CONFIG_S5P64X0_SD_CH1_8BIT)
|
||||||
|
.max_width = 8,
|
||||||
|
.host_caps = MMC_CAP_8_BIT_DATA,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_sdhci_platdata smdk6450_hsmmc2_pdata __initdata = {
|
||||||
|
.cd_type = S3C_SDHCI_CD_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
static struct s3c2410_platform_i2c s5p6450_i2c0_data __initdata = {
|
static struct s3c2410_platform_i2c s5p6450_i2c0_data __initdata = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.slave_addr = 0x10,
|
.slave_addr = 0x10,
|
||||||
|
@ -254,6 +274,10 @@ static void __init smdk6450_machine_init(void)
|
||||||
s5p6450_set_lcd_interface();
|
s5p6450_set_lcd_interface();
|
||||||
s3c_fb_set_platdata(&smdk6450_lcd_pdata);
|
s3c_fb_set_platdata(&smdk6450_lcd_pdata);
|
||||||
|
|
||||||
|
s3c_sdhci0_set_platdata(&smdk6450_hsmmc0_pdata);
|
||||||
|
s3c_sdhci1_set_platdata(&smdk6450_hsmmc1_pdata);
|
||||||
|
s3c_sdhci2_set_platdata(&smdk6450_hsmmc2_pdata);
|
||||||
|
|
||||||
platform_add_devices(smdk6450_devices, ARRAY_SIZE(smdk6450_devices));
|
platform_add_devices(smdk6450_devices, ARRAY_SIZE(smdk6450_devices));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue