void s3cfb_cfg_gpio(struct platform_device *pdev) { int err; /* add by cym 20150120 */ #if 1 err = gpio_request(EXYNOS4_GPC0(2), "VGA_EN"); if (err) { printk(KERN_ERR "failed to request VGA_EN\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(2), 0); s3c_gpio_cfgpin(EXYNOS4_GPC0(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(2)); msleep(250); err = gpio_request(EXYNOS4_GPL0(4), "BK_VDD_EN"); if (err) { printk(KERN_ERR "failed to request BK_VDD_EN\n"); //return err; } gpio_direction_output(EXYNOS4_GPL0(4), 1); s3c_gpio_cfgpin(EXYNOS4_GPL0(4), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL0(4)); printk("(%s, %d): BK_VDD_ON\n", __FUNCTION__, __LINE__); msleep(100); #endif s3cfb_gpio_setup_24bpp(EXYNOS4_GPF0(0), 8, S3C_GPIO_SFN(2), S5P_GPIO_DRVSTR_LV4); s3cfb_gpio_setup_24bpp(EXYNOS4_GPF1(0), 8, S3C_GPIO_SFN(2), S5P_GPIO_DRVSTR_LV4); s3cfb_gpio_setup_24bpp(EXYNOS4_GPF2(0), 8, S3C_GPIO_SFN(2), S5P_GPIO_DRVSTR_LV4); s3cfb_gpio_setup_24bpp(EXYNOS4_GPF3(0), 4, S3C_GPIO_SFN(2), S5P_GPIO_DRVSTR_LV4); #if 1 // TC4 //LVDS_PWDN err = gpio_request(EXYNOS4_GPL1(0), "GPL1_0"); if (err) { printk(KERN_ERR "failed to request GPL1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPL1(0), 1); s3c_gpio_cfgpin(EXYNOS4_GPL1(0), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL1(0)); printk("(%s, %d): LCD_PWDN ON\n", __FUNCTION__, __LINE__); #endif }
void midas_power_gpio_init(void) { #ifdef CONFIG_REGULATOR_MAX8997 int gpio; gpio = EXYNOS4212_GPJ1(1); gpio_request(gpio, "BUCK_SET1"); s3c_gpio_cfgpin(gpio, S3C_GPIO_OUTPUT); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); gpio = EXYNOS4212_GPJ1(2); gpio_request(gpio, "BUCK_SET2"); s3c_gpio_cfgpin(gpio, S3C_GPIO_OUTPUT); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); gpio = EXYNOS4_GPL0(0); gpio_request(gpio, "BUCK_SET3"); s3c_gpio_cfgpin(gpio, S3C_GPIO_OUTPUT); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); #endif }
{ MAX8997_LDO15, &ldo15_init_data, }, { MAX8997_LDO16, &ldo16_init_data, }, { MAX8997_LDO17, &ldo17_init_data, }, { MAX8997_LDO18, &ldo18_init_data, }, }; struct max8997_platform_data exynos4_max8997_info = { .irq_base = IRQ_BOARD_PMIC_START, .num_regulators = ARRAY_SIZE(max8997_regulators), .regulators = max8997_regulators, .buck1_max_vol = 1100000, .buck2_max_vol = 1100000, .buck5_max_vol = 1100000, .buck_set1 = EXYNOS4212_GPJ1(1), .buck_set2 = EXYNOS4212_GPJ1(2), .buck_set3 = EXYNOS4_GPL0(0), #ifdef CONFIG_VIBETONZ .motor = &max8997_motor, #endif }; #elif defined(CONFIG_REGULATOR_MAX77686) /* max77686 */ #ifdef CONFIG_SND_SOC_WM8994 static struct regulator_consumer_supply ldo3_supply[] = { REGULATOR_SUPPLY("AVDD2", NULL), REGULATOR_SUPPLY("CPVDD", NULL), REGULATOR_SUPPLY("DBVDD1", NULL), REGULATOR_SUPPLY("DBVDD2", NULL), REGULATOR_SUPPLY("DBVDD3", NULL), };
}, }, { .base = (S5P_VA_GPIO2 + 0xA0), .eint_offset = 0x14, .group = 19, .chip = { .base = EXYNOS4_GPK3(0), .ngpio = EXYNOS4_GPIO_K3_NR, .label = "GPK3", }, }, { .base = (S5P_VA_GPIO2 + 0xC0), .eint_offset = 0x18, .group = 20, .chip = { .base = EXYNOS4_GPL0(0), .ngpio = EXYNOS4_GPIO_L0_NR, .label = "GPL0", }, }, { .base = (S5P_VA_GPIO2 + 0xE0), .eint_offset = 0x1C, .group = 21, .chip = { .base = EXYNOS4_GPL1(0), .ngpio = EXYNOS4_GPIO_L1_NR, .label = "GPL1", }, }, { .base = (S5P_VA_GPIO2 + 0x100), .eint_offset = 0x20,
{ MAX8997_ENVICHG, &max8997_vichg_data }, { MAX8997_ESAFEOUT1, &max8997_esafeout1_data }, { MAX8997_ESAFEOUT2, &max8997_esafeout2_data }, { MAX8997_CHARGER_CV, &max8997_charger_cv_data }, { MAX8997_CHARGER, &max8997_charger_data }, { MAX8997_CHARGER_TOPOFF, &max8997_charger_topoff_data }, }; static struct max8997_platform_data __initdata nuri_max8997_pdata = { .wakeup = 1, .num_regulators = ARRAY_SIZE(nuri_max8997_regulators), .regulators = nuri_max8997_regulators, .buck125_gpios = { EXYNOS4_GPX0(5), EXYNOS4_GPX0(6), EXYNOS4_GPL0(0) }, .buck1_voltage[0] = 1350000, /* 1.35V */ .buck1_voltage[1] = 1300000, /* 1.3V */ .buck1_voltage[2] = 1250000, /* 1.25V */ .buck1_voltage[3] = 1200000, /* 1.2V */ .buck1_voltage[4] = 1150000, /* 1.15V */ .buck1_voltage[5] = 1100000, /* 1.1V */ .buck1_voltage[6] = 1000000, /* 1.0V */ .buck1_voltage[7] = 950000, /* 0.95V */ .buck2_voltage[0] = 1100000, /* 1.1V */ .buck2_voltage[1] = 1000000, /* 1.0V */ .buck2_voltage[2] = 950000, /* 0.95V */ .buck2_voltage[3] = 900000, /* 0.9V */ .buck2_voltage[4] = 1100000, /* 1.1V */
S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF2(6), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF2(7), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF3(0), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF3(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF3(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPF3(3), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4_GPL0(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* PS_ALS_SCL_1.8V */ {EXYNOS4_GPL0(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* PS_ALS_SDA_1.8V */ #endif #if defined(CONFIG_QC_MODEM) {EXYNOS4_GPL2(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* BUCK2_SEL */ {EXYNOS4_GPL2(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* BUCK3_SEL */ #endif {EXYNOS4_GPX0(0), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* ACC_INT */ {EXYNOS4_GPX0(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE,
default: printk(KERN_ERR "%s: invalid type:%d\n", __func__, cable_type); return -EINVAL; } #ifdef CONFIG_JACK_MON jack_event_handler("charger", is_cable_attached); #endif return 0; } static struct max8997_muic_data midas_muic_pdata = { .usb_cb = midas_usb_cb, .charger_cb = midas_charger_cb, .gpio_usb_sel = EXYNOS4_GPL0(7), /* done */ .uart_path = -1, /* muic does not control uart path*/ }; #endif /* vbatt device (for WM8994) */ static struct regulator_consumer_supply vbatt_supplies[] = { REGULATOR_SUPPLY("LDO1VDD", NULL), REGULATOR_SUPPLY("SPKVDD1", NULL), REGULATOR_SUPPLY("SPKVDD2", NULL), }; static struct regulator_init_data vbatt_initdata = { .constraints = { .always_on = 1, },
/* add by cym 20121121 */ static int sr200pc20_power(int flag) { int err; printk("cym: sensor is power %s\n",flag == 1 ?"on":"off"); //Attention: Power On the all the camera module when system turn on //Here only control the reset&&powerdown pin /* Camera A */ if(flag == 1) { //poweron // for TC4 zhuxuezhen //poweron #ifndef CONFIG_TC4_EVT regulator_enable(vdd18_cam_regulator); udelay(10); regulator_enable(vdd28_cam_regulator); udelay(10); regulator_enable(VDD28_AF); udelay(10); regulator_enable(VDD28_CAM); udelay(10); regulator_enable(VDD18_CAM); udelay(10); #endif err = gpio_request(EXYNOS4_GPL0(3), "GPL0_3"); if (err) printk(KERN_ERR "#### failed to request GPL0_3 ####\n"); s3c_gpio_setpull(EXYNOS4_GPL0(3), S3C_GPIO_PULL_NONE); gpio_direction_output(EXYNOS4_GPL0(3), 0); gpio_free(EXYNOS4_GPL0(3)); //VDD //PMIC_Control_Set(PMIC_CONTROL_VDD18_CAM,POWERON); //reset err = gpio_request(EXYNOS4_GPL0(1), "GPL0_1"); if (err) printk(KERN_ERR "#### failed to request GPL0_1 ####\n"); s3c_gpio_setpull(EXYNOS4_GPL0(1), S3C_GPIO_PULL_NONE); gpio_direction_output(EXYNOS4_GPL0(1), 1); msleep(5); gpio_direction_output(EXYNOS4_GPL0(1), 0); msleep(5); gpio_direction_output(EXYNOS4_GPL0(1), 1); gpio_free(EXYNOS4_GPL0(1)); msleep(1); //VDD_PLL //PMIC_Control_Set(PMIC_CONTROL_VDD28_CAM,POWERON); } else { // for TC4 zhuxuezhen //PMIC_Control_Set(PMIC_CONTROL_VDD28_CAM,POWEROFF); err = gpio_request(EXYNOS4_GPL0(1), "GPL0_1"); if (err) printk(KERN_ERR "#### failed to request GPL0_1 ####\n"); s3c_gpio_setpull(EXYNOS4_GPL0(1), S3C_GPIO_PULL_NONE); gpio_direction_output(EXYNOS4_GPL0(1), 0); gpio_free(EXYNOS4_GPL0(1)); //powerdown err = gpio_request(EXYNOS4_GPL0(3), "GPL0_3"); if (err) printk(KERN_ERR "#### failed to request GPL0_3 ####\n"); s3c_gpio_setpull(EXYNOS4_GPL0(3), S3C_GPIO_PULL_NONE); gpio_direction_output(EXYNOS4_GPL0(3), 1); gpio_free(EXYNOS4_GPL0(3)); #ifndef CONFIG_TC4_EVT regulator_disable(vdd18_cam_regulator); udelay(10); regulator_disable(vdd28_cam_regulator); udelay(10); regulator_disable(VDD28_AF); udelay(10); regulator_disable(VDD28_CAM); udelay(10); regulator_disable(VDD18_CAM); udelay(10); #endif //PMIC_Control_Set(PMIC_CONTROL_VDD18_CAM,POWEROFF); } return 0; }
{EXYNOS4_GPK2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK3(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL0(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL0(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL0(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL0(4), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* HDMI_EN */ /* {EXYNOS4_GPL0(5), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL0(6), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* {EXYNOS4_GPL0(7), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL1(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* {EXYNOS4_GPL1(2), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL2(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
int s3cfb_backlight_off(struct platform_device *pdev) { int err; //err = gpio_request(EXYNOS4_GPD0(1), "GPD0"); //if (err) { // printk(KERN_ERR "failed to request GPD0 for " // "lcd backlight control\n"); // return err; //} /* modify by cym 20121017 */ #if 0 gpio_direction_output(EXYNOS4_GPD0(1), 0); //gpio_free(EXYNOS4_GPD0(1)); //LED_EN18 err = gpio_request(EXYNOS4_GPC1(1), "GPC1_1"); if (err) { printk(KERN_ERR "failed to request GPC1_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC1(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPC1(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC1(1)); //VLED_EN err = gpio_request(EXYNOS4_GPC1(2), "GPC1_2"); if (err) { printk(KERN_ERR "failed to request GPC1_2 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC1(2), 0); s3c_gpio_cfgpin(EXYNOS4_GPC1(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC1(2)); //VLED_ON err = gpio_request(EXYNOS4_GPC0(1), "GPC0_1"); if (err) { printk(KERN_ERR "failed to request GPC0_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPC0(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(1)); #else //gpio_direction_output(EXYNOS4_GPD0(1), 0); //gpio_free(EXYNOS4_GPD0(1)); //printk("(%s, %d): LCD_PWM_OFF\n", __FUNCTION__, __LINE__); #if 0 //TP1_EN err = gpio_request(EXYNOS4_GPL0(2), "TP1_EN"); if (err) { printk(KERN_ERR "failed to request TP1_EN for " "I2C control\n"); return err; } gpio_direction_output(EXYNOS4_GPL0(2), 0); s3c_gpio_cfgpin(EXYNOS4_GPL0(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL0(2)); mdelay(5); printk("(%s, %d): TP1_EN_OFF\n", __FUNCTION__, __LINE__); #endif //VLED_ON #if 0 err = gpio_request(EXYNOS4_GPC0(1), "GPC0_1"); if (err) { printk(KERN_ERR "failed to request GPC0_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPC0(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(1)); printk("(%s, %d): VLED_OFF\n", __FUNCTION__, __LINE__); #endif #endif /* end modify */ /* add by cym 20150120 */ #if 1 err = gpio_request(EXYNOS4_GPD0(1), "GPD0_1"); if (err) { printk(KERN_ERR "failed to request GPD0 for " "lcd backlight control\n"); //return err; } gpio_direction_output(EXYNOS4_GPD0(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPD0(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPD0(1)); printk("(%s, %d): LCD_PWM_OFF\n", __FUNCTION__, __LINE__); #endif //LVDS_PWDN err = gpio_request(EXYNOS4_GPL1(0), "GPL1_0"); if (err) { printk(KERN_ERR "failed to request GPL1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPL1(0), 0); s3c_gpio_cfgpin(EXYNOS4_GPL1(0), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL1(0)); #if 0 err = gpio_request_one(EXYNOS4_GPL1(1), 0, "GPL1_1"); if (err) { printk(KERN_ERR "failed to request GPL1_1 for " "4.3 LCD control\n"); return err; } s3c_gpio_setpull(EXYNOS4_GPL1(1), S3C_GPIO_PULL_UP); gpio_set_value(EXYNOS4_GPL1(1), 1); gpio_free(EXYNOS4_GPL1(1)); #endif /* add by cym 20141125 */ err = gpio_request(EXYNOS4_GPC0(2), "VGA_EN"); if (err) { printk(KERN_ERR "failed to request VGA_EN\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(2), 0); s3c_gpio_cfgpin(EXYNOS4_GPC0(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(2)); printk("(%s, %d): VGA_EN_OFF\n", __FUNCTION__, __LINE__); /* end add */ /* add by cym 20150120 */ err = gpio_request(EXYNOS4_GPL0(4), "BK_VDD_EN"); if (err) { printk(KERN_ERR "failed to request BK_VDD_EN for\n"); return err; } gpio_direction_output(EXYNOS4_GPL0(4), 0); s3c_gpio_cfgpin(EXYNOS4_GPL0(4), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL0(4)); printk("(%s, %d): BK_VDD_OFF\n", __FUNCTION__, __LINE__); /* end add */ return 0; }
int s3cfb_backlight_on(struct platform_device *pdev) { int err; #if 0 //VLED_EN err = gpio_request(EXYNOS4_GPC1(2), "GPC1_2"); if (err) { printk(KERN_ERR "failed to request GPC1_2 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC1(2), 1); s3c_gpio_cfgpin(EXYNOS4_GPC1(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC1(2)); mdelay(5); printk("(%s, %d): BK_LCD_EN\n", __FUNCTION__, __LINE__); #endif /*modify by cym 20121017 */ #if 0 //VLED_ON err = gpio_request(EXYNOS4_GPC0(1), "GPC0_1"); if (err) { printk(KERN_ERR "failed to request GPC0_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(1), 1); s3c_gpio_cfgpin(EXYNOS4_GPC0(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(1)); mdelay(5); //err = gpio_request(EXYNOS4_GPD0(1), "GPD0_1"); if (err) { printk(KERN_ERR "failed to request GPD0 for " "lcd backlight control\n"); //return err; } #if !defined(CONFIG_BACKLIGHT_PWM) gpio_direction_output(EXYNOS4_GPD0(1), 1); gpio_free(EXYNOS4_GPD0(1)); #else gpio_direction_output(EXYNOS4_GPD0(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPD0(1), EXYNOS4_GPD_0_1_TOUT_1); //gpio_free(EXYNOS4_GPD0(1)); #endif mdelay(5); //LED_EN18 err = gpio_request(EXYNOS4_GPC1(1), "GPC1_1"); if (err) { printk(KERN_ERR "failed to request GPC1_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC1(1), 1); s3c_gpio_cfgpin(EXYNOS4_GPC1(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC1(1)); mdelay(5); #else //VLED_ON #if 0 err = gpio_request(EXYNOS4_GPC0(1), "GPC0_1"); if (err) { printk(KERN_ERR "failed to request GPC0_1 for " "lcd power control\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(1), 1); s3c_gpio_cfgpin(EXYNOS4_GPC0(1), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(1)); printk("(%s, %d): VLED_ON\n", __FUNCTION__, __LINE__); #endif //mdelay(5); mdelay(250); //PWM err = gpio_request(EXYNOS4_GPD0(1), "GPD0_1"); if (err) { printk(KERN_ERR "failed to request GPD0 for " "lcd backlight control\n"); //return err; } #if !defined(CONFIG_BACKLIGHT_PWM) gpio_direction_output(EXYNOS4_GPD0(1), 1); gpio_free(EXYNOS4_GPD0(1)); #else /* modify by cym 20130417 for TSC2007 TouchScreen */ //#ifdef CONFIG_TOUCHSCREEN_TSC2007 // gpio_direction_output(EXYNOS4_GPD0(1), 0); //#else gpio_direction_output(EXYNOS4_GPD0(1), 0); s3c_gpio_cfgpin(EXYNOS4_GPD0(1), EXYNOS4_GPD_0_1_TOUT_1); gpio_free(EXYNOS4_GPD0(1)); printk("(%s, %d): LCD_PWM_ON\n", __FUNCTION__, __LINE__); //#endif /* end modify */ #endif mdelay(5); #if 0 //TP1_EN err = gpio_request(EXYNOS4_GPL0(2), "TP1_EN"); if (err) { printk(KERN_ERR "failed to request TP1_EN for " "I2C control\n"); return err; } //because in uboot we enable,we want to enable it again we must disable it 20121109 //gpio_direction_output(EXYNOS4_GPL0(2), 0); 20130508 //mdelay(100); gpio_direction_output(EXYNOS4_GPL0(2), 1); s3c_gpio_cfgpin(EXYNOS4_GPL0(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPL0(2)); printk("(%s, %d): TP1_EN_ON\n", __FUNCTION__, __LINE__); mdelay(5); #endif #endif #if 1 err = gpio_request_one(EXYNOS4_GPC0(2), 0, "GPC0_2"); if (err) { printk(KERN_ERR "failed to request GPC0_2 for " "4.3 LCD control\n"); return err; } s3c_gpio_setpull(EXYNOS4_GPC0(2), S3C_GPIO_PULL_UP); //gpio_set_value(EXYNOS4_GPC0(2), 0); //mdelay(10); gpio_set_value(EXYNOS4_GPC0(2), 1); gpio_free(EXYNOS4_GPC0(2)); #endif #if 0 err = gpio_request_one(EXYNOS4_GPL1(1), 0, "GPL1_1"); if (err) { printk(KERN_ERR "failed to request GPL1_1 for " "4.3 LCD control\n"); return err; } s3c_gpio_setpull(EXYNOS4_GPL1(1), S3C_GPIO_PULL_UP); gpio_set_value(EXYNOS4_GPL1(1), 0); gpio_free(EXYNOS4_GPL1(1)); #endif /*end modify */ /* add by cym 20141125 */ err = gpio_request(EXYNOS4_GPC0(2), "VGA_EN"); if (err) { printk(KERN_ERR "failed to request VGA_EN\n"); return err; } gpio_direction_output(EXYNOS4_GPC0(2), 1); s3c_gpio_cfgpin(EXYNOS4_GPC0(2), S3C_GPIO_OUTPUT); gpio_free(EXYNOS4_GPC0(2)); printk("(%s, %d): VGA_EN_ON\n", __FUNCTION__, __LINE__); /* end add */ return 0; }
{EXYNOS4_GPK2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK3(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, #if defined(CONFIG_SEC_MODEM) {EXYNOS4_GPL0(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, /* ACTIVE_STATE_HSIC */ #else {EXYNOS4_GPL0(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ #endif {EXYNOS4_GPL0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* PS_ALS_SCL_1.8V */ {EXYNOS4_GPL0(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* PS_ALS_SDA_1.8V */ {EXYNOS4_GPL0(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC(IRDA_CONTROL) */ {EXYNOS4_GPL0(4), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* HDMI_EN */ /* {EXYNOS4_GPL0(5), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL0(6), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* {EXYNOS4_GPL0(7), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ #if defined(CONFIG_SEC_MODEM) {EXYNOS4_GPL1(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, /* PDA_ACTIVE */ #else {EXYNOS4_GPL1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
{EXYNOS4_GPK2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* T_FLASH_CMD */ {EXYNOS4_GPK2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* T_FLASH_D(0) */ {EXYNOS4_GPK2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* T_FLASH_D(1) */ {EXYNOS4_GPK2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* T_FLASH_D(2) */ {EXYNOS4_GPK2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* T_FLASH_D(3) */ {EXYNOS4_GPK3(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_CLK */ {EXYNOS4_GPK3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_CMD */ {EXYNOS4_GPK3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_D(0) */ {EXYNOS4_GPK3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_D(1) */ {EXYNOS4_GPK3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_D(2) */ {EXYNOS4_GPK3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_D(3) */ {EXYNOS4_GPL0(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ #if defined(CONFIG_MACH_BAFFIN_KOR_LGT) {EXYNOS4_GPL0(3), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* GPIO_FM34_PWDN */ #elif defined(CONFIG_MACH_SUPERIOR_KOR_SKT) {EXYNOS4_GPL0(3), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* LINEOUT_EN */ #else {EXYNOS4_GPL0(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ #endif {EXYNOS4_GPL0(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ /* {EXYNOS4_GPL0(5), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL0(6), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* BT_EN */ /* {EXYNOS4_GPL0(7), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
{EXYNOS4_GPD0(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPD0(3), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPD1(0), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* NFC_SDA_1.8V */ {EXYNOS4_GPD1(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* NFC_SCL_1.8V */ {EXYNOS4_GPD1(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* GSENSE_SDA_1.8V */ {EXYNOS4_GPD1(3), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* GSENSE_SCL_1.8V */ {EXYNOS4_GPL0(3), S3C_GPIO_OUTPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* POGO_VBATT_EN */ {EXYNOS4_GPL0(4), S3C_GPIO_OUTPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* POGO_VBUS_EN */ {EXYNOS4_GPX0(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* PS_ALS_INT */ {EXYNOS4_GPX0(3), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPX0(4), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPX0(5), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPX0(6), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPX0(7), S3C_GPIO_SFN(0xF), S3C_GPIO_SETPIN_NONE,
S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4210_GPJ1(0), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4210_GPJ1(1), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ {EXYNOS4210_GPJ1(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /* NC */ #endif {EXYNOS4_GPK1(1), S3C_GPIO_OUTPUT, S3C_GPIO_SETPIN_ZERO, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, {EXYNOS4_GPK2(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* PS_ALS_SDA_2.8V */ #if defined(CONFIG_TARGET_LOCALE_NA) /* GPIO_BT_EN */ {EXYNOS4_GPL0(4), S3C_GPIO_OUTPUT, S3C_GPIO_SETPIN_ZERO, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV4}, /* GPIO_BT_nRST */ {EXYNOS4_GPL1(0), S3C_GPIO_OUTPUT, S3C_GPIO_SETPIN_ZERO, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV4}, #endif /*CONFIG_TARGET_LOCALE_NA*/ #if defined(CONFIG_TARGET_LOCALE_NA) /* PS_ALS_SCL_2.8V */ {EXYNOS4_GPK3(2), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_NONE, S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1}, /* NC */ /*BUCK2_EN for PMIC 8997*/ {EXYNOS4_GPL0(6), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_ZERO, S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1}, /*WLAN_EN*/
#include <linux/regulator/consumer.h> //#include "gps.h" #include <linux/delay.h> #define RST_DEBUG #ifdef RST_DEBUG #define DPRINTK(x...) printk("RST_CTL DEBUG:" x) #else #define DPRINTK(x...) #endif #define DRIVER_NAME "rst" static int rst_gpios[] = { EXYNOS4_GPZ(6), EXYNOS4_GPL0(2), }; #define RST_NUM ARRAY_SIZE(rst_gpios) int rst_open(struct inode *inode,struct file *filp) { DPRINTK("Device Opened Success!\n"); return nonseekable_open(inode,filp); } int rst_close(struct inode *inode,struct file *filp) { DPRINTK("Device Closed Success!\n"); return 0; }
{EXYNOS4_GPK2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK3(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL0(0), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL0(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPL0(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL0(6), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL0(7), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL1(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL1(2), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL2(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL2(2), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE},
{EXYNOS4_GPK2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK2(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, {EXYNOS4_GPK3(0), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_CLK */ //?? {EXYNOS4_GPK3(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, /* WLAN_SDIO_CMD */ //?? {EXYNOS4_GPK3(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPK3(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPK3(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE}, {EXYNOS4_GPL0(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ // ?? {EXYNOS4_GPL0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* TOUCH_SCL */ {EXYNOS4_GPL0(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* TOUCH_SDA */ {EXYNOS4_GPL0(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* VPS_SOUND_EN */ {EXYNOS4_GPL0(4), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* HDMI_EN */ /* {EXYNOS4_GPL0(5), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL0(6), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, /* BT_EN */ /* {EXYNOS4_GPL0(7), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ //?? {EXYNOS4_GPL1(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ //?? /* {EXYNOS4_GPL1(2), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE}, */ {EXYNOS4_GPL2(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* GYRO_DE */ {EXYNOS4_GPL2(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */ {EXYNOS4_GPL2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* GPS_EN */