diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1024-s3c_mci-gta01.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1024-s3c_mci-gta01.patch.patch | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1024-s3c_mci-gta01.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1024-s3c_mci-gta01.patch.patch deleted file mode 100644 index cd5fb3aa97..0000000000 --- a/target/linux/s3c24xx/patches-2.6.24/1024-s3c_mci-gta01.patch.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 948f60af720f34294629041773d9947bcefc0a9a Mon Sep 17 00:00:00 2001 -From: mokopatches <mokopatches@openmoko.org> -Date: Fri, 4 Apr 2008 11:33:24 +0100 -Subject: [PATCH] s3c_mci-gta01.patch - ---- - arch/arm/mach-s3c2410/mach-gta01.c | 56 ++++++++++++++++++++++++++++++++++++ - 1 files changed, 56 insertions(+), 0 deletions(-) - -diff --git a/arch/arm/mach-s3c2410/mach-gta01.c b/arch/arm/mach-s3c2410/mach-gta01.c -index 3462c7f..87bb189 100644 ---- a/arch/arm/mach-s3c2410/mach-gta01.c -+++ b/arch/arm/mach-s3c2410/mach-gta01.c -@@ -59,6 +59,7 @@ - - #include <asm/arch/regs-gpio.h> - #include <asm/arch/fb.h> -+#include <asm/arch/mci.h> - #include <asm/arch/spi.h> - #include <asm/arch/spi-gpio.h> - #include <asm/arch/usb-control.h> -@@ -382,6 +383,59 @@ static struct s3c2410_platform_nand gta01_nand_info = { - .sets = gta01_nand_sets, - }; - -+static void gta01_mmc_set_power(unsigned char power_mode, unsigned short vdd) -+{ -+ int bit; -+ int mv = 1700; /* 1.7V for MMC_VDD_165_195 */ -+ -+ printk(KERN_DEBUG "mmc_set_power(power_mode=%u, vdd=%u\n", -+ power_mode, vdd); -+ -+ switch (system_rev) { -+ case GTA01v3_SYSTEM_REV: -+ switch (power_mode) { -+ case MMC_POWER_OFF: -+ pcf50606_onoff_set(pcf50606_global, -+ PCF50606_REGULATOR_D2REG, 0); -+ break; -+ case MMC_POWER_ON: -+ /* translate MMC_VDD_* VDD bit to mv */ -+ for (bit = 8; bit != 24; bit++) -+ if (vdd == (1 << bit)) -+ mv += 100 * (bit - 4); -+ pcf50606_voltage_set(pcf50606_global, -+ PCF50606_REGULATOR_D2REG, mv); -+ pcf50606_onoff_set(pcf50606_global, -+ PCF50606_REGULATOR_D2REG, 1); -+ break; -+ } -+ break; -+ case GTA01v4_SYSTEM_REV: -+ case GTA01Bv2_SYSTEM_REV: -+ case GTA01Bv3_SYSTEM_REV: -+ case GTA01Bv4_SYSTEM_REV: -+ switch (power_mode) { -+ case MMC_POWER_OFF: -+ s3c2410_gpio_setpin(GTA01_GPIO_SDMMC_ON, 1); -+ break; -+ case MMC_POWER_ON: -+ s3c2410_gpio_setpin(GTA01_GPIO_SDMMC_ON, 0); -+ break; -+ } -+ break; -+ } -+} -+ -+static struct s3c24xx_mci_pdata gta01_mmc_cfg = { -+ .gpio_detect = GTA01_GPIO_nSD_DETECT, -+ .set_power = >a01_mmc_set_power, -+ .ocr_avail = MMC_VDD_165_195|MMC_VDD_20_21| -+ MMC_VDD_21_22|MMC_VDD_22_23|MMC_VDD_23_24| -+ MMC_VDD_24_25|MMC_VDD_25_26|MMC_VDD_26_27| -+ MMC_VDD_27_28|MMC_VDD_28_29|MMC_VDD_29_30| -+ MMC_VDD_30_31|MMC_VDD_31_32|MMC_VDD_32_33, -+}; -+ - static void gta01_udc_command(enum s3c2410_udc_cmd_e cmd) - { - printk(KERN_DEBUG "%s(%d)\n", __func__, cmd); -@@ -598,10 +652,12 @@ static void __init gta01_machine_init(void) - system_rev == GTA01Bv3_SYSTEM_REV || - system_rev == GTA01Bv4_SYSTEM_REV) { - gta01_udc_cfg.udc_command = gta01_udc_command; -+ gta01_mmc_cfg.ocr_avail = MMC_VDD_32_33; - } - - s3c_device_usb.dev.platform_data = >a01_usb_info; - s3c_device_nand.dev.platform_data = >a01_nand_info; -+ s3c_device_sdi.dev.platform_data = >a01_mmc_cfg; - - s3c24xx_fb_set_platdata(>a01_lcd_cfg); - --- -1.5.6.5 - |