0001
0002
0003
0004
0005
0006
0007
0008 #include <linux/kernel.h>
0009 #include <linux/gpio.h>
0010 #include <linux/io.h>
0011
0012 #include <linux/platform_data/ata-samsung_cf.h>
0013
0014 #include "map.h"
0015 #include "regs-clock.h"
0016 #include "gpio-cfg.h"
0017 #include "gpio-samsung.h"
0018
0019 void s3c64xx_ide_setup_gpio(void)
0020 {
0021 u32 reg;
0022
0023 reg = readl(S3C_MEM_SYS_CFG) & (~0x3f);
0024
0025
0026 writel(reg | MEM_SYS_CFG_INDEP_CF |
0027 MEM_SYS_CFG_EBI_FIX_PRI_CFCON, S3C_MEM_SYS_CFG);
0028
0029 s3c_gpio_cfgpin(S3C64XX_GPB(4), S3C_GPIO_SFN(4));
0030
0031
0032 s3c_gpio_cfgpin_range(S3C64XX_GPK(0), 16, S3C_GPIO_SFN(5));
0033
0034
0035 s3c_gpio_cfgpin_range(S3C64XX_GPL(0), 3, S3C_GPIO_SFN(6));
0036
0037
0038 s3c_gpio_cfgpin(S3C64XX_GPM(5), S3C_GPIO_SFN(1));
0039 s3c_gpio_cfgpin_range(S3C64XX_GPM(0), 5, S3C_GPIO_SFN(6));
0040 }