本文整理汇总了C++中s3c_gpio_setpull函数的典型用法代码示例。如果您正苦于以下问题:C++ s3c_gpio_setpull函数的具体用法?C++ s3c_gpio_setpull怎么用?C++ s3c_gpio_setpull使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了s3c_gpio_setpull函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: modem_link_pm_config_gpio
static void modem_link_pm_config_gpio(void)
{
int err = 0;
unsigned gpio_link_enable = modem_link_pm_data.gpio_link_enable;
unsigned gpio_link_active = modem_link_pm_data.gpio_link_active;
unsigned gpio_link_hostwake = modem_link_pm_data.gpio_link_hostwake;
unsigned gpio_link_slavewake = modem_link_pm_data.gpio_link_slavewake;
/* unsigned irq_link_hostwake = umts_modem_res[1].start; */
if (gpio_link_enable) {
err = gpio_request(gpio_link_enable, "LINK_EN");
if (err) {
printk(KERN_ERR "fail to request gpio %s : %d\n",
"LINK_EN", err);
}
gpio_direction_output(gpio_link_enable, 0);
}
if (gpio_link_active) {
err = gpio_request(gpio_link_active, "LINK_ACTIVE");
if (err) {
printk(KERN_ERR "fail to request gpio %s : %d\n",
"LINK_ACTIVE", err);
}
gpio_direction_output(gpio_link_active, 0);
}
if (gpio_link_hostwake) {
err = gpio_request(gpio_link_hostwake, "HOSTWAKE");
if (err) {
printk(KERN_ERR "fail to request gpio %s : %d\n",
"HOSTWAKE", err);
}
gpio_direction_input(gpio_link_hostwake);
s3c_gpio_cfgpin(gpio_link_hostwake, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(gpio_link_hostwake, S3C_GPIO_PULL_NONE);
}
if (gpio_link_slavewake) {
err = gpio_request(gpio_link_slavewake, "SLAVEWAKE");
if (err) {
printk(KERN_ERR "fail to request gpio %s : %d\n",
"SLAVEWAKE", err);
}
gpio_direction_output(gpio_link_slavewake, 0);
s3c_gpio_setpull(gpio_link_slavewake, S3C_GPIO_PULL_NONE);
}
if (gpio_link_hostwake)
irq_set_irq_type(gpio_to_irq(gpio_link_hostwake),
IRQ_TYPE_EDGE_BOTH);
active_ctl.gpio_initialized = 1;
if (active_ctl.gpio_request_host_active) {
pr_err(" [MODEM_IF] Active States = 1, %s\n", __func__);
gpio_direction_output(modem_link_pm_data.gpio_link_active, 1);
}
printk(KERN_INFO "modem_link_pm_config_gpio done\n");
}
示例2: max8997_motor_init
static void max8997_motor_init(void)
{
gpio_request(GPIO_VIBTONE_EN, "VIBTONE_EN");
s3c_gpio_cfgpin(GPIO_VIBTONE_EN, S3C_GPIO_OUTPUT);
s3c_gpio_setpull(GPIO_VIBTONE_EN, S3C_GPIO_PULL_NONE);
}
示例3: modemctl_cfg_gpio
static void modemctl_cfg_gpio(void)
{
int err = 0;
unsigned gpio_phone_on = mdmctl_data.gpio_phone_on;
unsigned gpio_phone_active = mdmctl_data.gpio_phone_active;
unsigned gpio_cp_rst = mdmctl_data.gpio_cp_reset;
unsigned gpio_pda_active = mdmctl_data.gpio_pda_active;
unsigned gpio_sim_ndetect = mdmctl_data.gpio_sim_ndetect;
#if defined(CONFIG_ARIES_NTT)
unsigned gpio_flm_sel = mdmctl_data.gpio_flm_sel;
unsigned gpio_usim_boot = mdmctl_data.gpio_usim_boot;
err = gpio_request(gpio_phone_on, "PHONE_ON");
if (err) {
printk("fail to request gpio %s\n","PHONE_ON");
} else {
gpio_direction_output(gpio_phone_on, GPIO_LEVEL_LOW);
s3c_gpio_setpull(gpio_phone_on, S3C_GPIO_PULL_NONE);
}
#endif
err = gpio_request(gpio_cp_rst, "CP_RST");
if (err) {
printk("fail to request gpio %s\n","CP_RST");
} else {
gpio_direction_output(gpio_cp_rst, GPIO_LEVEL_LOW);
s3c_gpio_setpull(gpio_cp_rst, S3C_GPIO_PULL_NONE);
}
err = gpio_request(gpio_pda_active, "PDA_ACTIVE");
if (err) {
printk("fail to request gpio %s\n","PDA_ACTIVE");
} else {
gpio_direction_output(gpio_pda_active, GPIO_LEVEL_HIGH);
s3c_gpio_setpull(gpio_pda_active, S3C_GPIO_PULL_NONE);
}
if (mdmctl_data.gpio_reset_req_n) {
err = gpio_request(mdmctl_data.gpio_reset_req_n, "RST_REQN");
if (err) {
printk("fail to request gpio %s\n","RST_REQN");
}
}
#if defined(CONFIG_ARIES_NTT)
err = gpio_request(gpio_flm_sel, "FLM_SEL");
if (err) {
printk("fail to request gpio %s\n","FLM_SEL");
} else {
gpio_direction_output(gpio_flm_sel, GPIO_LEVEL_LOW);
s3c_gpio_setpull(gpio_flm_sel, S3C_GPIO_PULL_NONE);
}
err = gpio_request(gpio_usim_boot, "USIM_BOOT");
if (err) {
printk("fail to request gpio %s\n","USIM_BOOT");
} else {
gpio_direction_output(gpio_usim_boot, GPIO_LEVEL_LOW);
s3c_gpio_setpull(gpio_usim_boot, S3C_GPIO_PULL_NONE);
}
#endif
s3c_gpio_cfgpin(gpio_phone_active, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(gpio_phone_active, S3C_GPIO_PULL_NONE);
set_irq_type(gpio_phone_active, IRQ_TYPE_EDGE_BOTH);
s3c_gpio_cfgpin(gpio_sim_ndetect, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(gpio_sim_ndetect, S3C_GPIO_PULL_NONE);
set_irq_type(gpio_sim_ndetect, IRQ_TYPE_EDGE_BOTH);
}
示例4: wacom_init
void __init wacom_init(void)
{
int gpio;
int ret;
#ifdef GPIO_PEN_RESET_N_18V
/*Reset*/
gpio = GPIO_PEN_RESET_N_18V;
ret = gpio_request(gpio, "PEN_RESET_N");
if (ret) {
printk(KERN_ERR "epen:failed to request PEN_RESET_N.(%d)\n",
ret);
return ;
}
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0x1));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
gpio_direction_output(gpio, 0);
#endif
/*SLP & FWE1*/
gpio = GPIO_PEN_FWE1_18V;
ret = gpio_request(gpio, "PEN_FWE1");
if (ret) {
printk(KERN_ERR "epen:failed to request PEN_FWE1.(%d)\n",
ret);
return ;
}
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0x1));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
gpio_direction_output(gpio, 0);
/*PDCT*/
gpio = GPIO_PEN_PDCT_18V;
ret = gpio_request(gpio, "PEN_PDCT");
if (ret) {
printk(KERN_ERR "epen:failed to request PEN_PDCT.(%d)\n",
ret);
return ;
}
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(gpio);
gpio_direction_input(gpio);
irq_set_irq_type(gpio_to_irq(gpio), IRQ_TYPE_EDGE_BOTH);
/*IRQ*/
gpio = GPIO_PEN_IRQ_18V;
ret = gpio_request(gpio, "PEN_IRQ");
if (ret) {
printk(KERN_ERR "epen:failed to request PEN_IRQ.(%d)\n",
ret);
return ;
}
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_register_gpio_interrupt(gpio);
gpio_direction_input(gpio);
wacom_i2c_devs[0].irq = gpio_to_irq(gpio);
irq_set_irq_type(wacom_i2c_devs[0].irq, IRQ_TYPE_EDGE_RISING);
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
/*LDO_EN*/
#ifdef GPIO_PEN_LDO_EN
gpio = GPIO_PEN_LDO_EN;
ret = gpio_request(gpio, "PEN_LDO_EN");
if (ret) {
printk(KERN_ERR "epen:failed to request PEN_LDO_EN.(%d)\n",
ret);
return ;
}
s3c_gpio_cfgpin(gpio, S3C_GPIO_OUTPUT);
gpio_direction_output(gpio, 0);
#else
wacom_power(0);
#endif
/*WACOM_SET_I2C(3, NULL, wacom_i2c_devs);*/
exynos5_hs_i2c4_set_platdata(NULL);
i2c_register_board_info(8, wacom_i2c_devs, ARRAY_SIZE(wacom_i2c_devs));
printk(KERN_INFO "epen:: wacom IC initialized.\n");
}
示例5: setup_sdhci0_gpio_wp
static void setup_sdhci0_gpio_wp(void)
{
s3c_gpio_cfgpin(S5PV210_GPH0(7), S3C_GPIO_INPUT);
s3c_gpio_setpull(S5PV210_GPH0(7), S3C_GPIO_PULL_DOWN);
}
示例6: sr200pc20_power
/* 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;
}
示例7: fpga_open
static int fpga_open(struct inode *inode, struct file *file)
{
int r = 0;
unsigned n;
unsigned long timeout;
pr_info("%s:\n", __func__);
mutex_lock(&fpga_mutex);
if (fpga_open_count) {
mutex_unlock(&fpga_mutex);
return -EBUSY;
}
fpga_open_count++;
for (n = 0; n < ARRAY_SIZE(fpga_pins); n++) {
r = gpio_request(fpga_pins[n].pin, fpga_pins[n].name);
if (r) {
pr_warning("%s: failed to allocate gpio %s (%u)\n",
__func__,
fpga_pins[n].name,
fpga_pins[n].pin);
}
else
fpga_pin_requested[n] = 1;
}
s3c_gpio_setpull(FPGA_INIT_B, S3C_GPIO_PULL_UP);
s3c_gpio_setpull(FPGA_DONE, S3C_GPIO_PULL_UP);
s3c_gpio_setpull(FPGA_DIN, S3C_GPIO_PULL_UP);
gpio_direction_output(FPGA_PROG_B, 0);
gpio_direction_input(FPGA_INIT_B);
gpio_direction_input(FPGA_DONE);
gpio_direction_output(FPGA_CCLK, 0);
gpio_direction_output(FPGA_DIN, 1);
msleep(1);
printk("INIT_B %u\n", gpio_get_value(FPGA_INIT_B));
gpio_set_value(FPGA_PROG_B, 1);
printk("INIT_B %u\n", gpio_get_value(FPGA_INIT_B));
timeout = jiffies + HZ;
while (!gpio_get_value(FPGA_INIT_B)) {
if (time_after(jiffies, timeout)) {
pr_err("%s: timeout waiting for INIT_B to go high\n",
__func__);
r = -ETIMEDOUT;
goto err;
}
msleep(1);
}
printk("INIT_B %u\n", gpio_get_value(FPGA_INIT_B));
printk("DONE %u\n", gpio_get_value(FPGA_DONE));
msleep(1);
mutex_unlock(&fpga_mutex);
return 0;
err:
for (n = 0; n < ARRAY_SIZE(fpga_pins); n++) {
if (fpga_pin_requested[n]) {
gpio_free(fpga_pins[n].pin);
fpga_pin_requested[n] = 0;
}
}
fpga_open_count--;
mutex_unlock(&fpga_mutex);
return r;
}
示例8: smm6260_cfg
void smm6260_cfg(void)
{
static int smm6260_initialed=0;
int err = 0;
if(smm6260_initialed)
return;
/*TODO: check uart init func AP FLM BOOT RX -- */
//printk("\n---%s()Start\n",__FUNCTION__);
// USB_SEL
err = gpio_request(EXYNOS4_GPK3(2), "USB_SEL");
if(err){
printk(KERN_ERR "fail to request gpio %s\n", "USB_SEL");
}else{
gpio_direction_output(EXYNOS4_GPK3(2), 0);
s3c_gpio_setpull(EXYNOS4_GPK3(2), S3C_GPIO_PULL_NONE);
gpio_free(EXYNOS4_GPK3(2));
}
msleep(100);
// Reset_BB
err = gpio_request(GPIO_CP_RST, "CP_RST");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "CP_RST");
} else {
gpio_direction_output(GPIO_CP_RST, 0);
s3c_gpio_cfgpin(GPIO_CP_RST, S3C_GPIO_INPUT);
s3c_gpio_setpull(GPIO_CP_RST, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_CP_RST);
}
// ResetN
err = gpio_request(GPIO_CP_PMU_RST, "CP_PMU_RST");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "CP_PMU_RST");
} else {
gpio_direction_output(GPIO_CP_PMU_RST, 1);
s3c_gpio_setpull(GPIO_CP_PMU_RST, S3C_GPIO_PULL_NONE);
//gpio_free(GPIO_CP_PMU_RST);
}
msleep(100);
err = gpio_request(GPIO_PHONE_ON, "PHONE_ON");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "PHONE_ON");
} else {
gpio_direction_output(GPIO_PHONE_ON, 0);//[email protected] modify for ON1/2 compatible gpio_direction_output(GPIO_PHONE_ON, 0);
s3c_gpio_setpull(GPIO_PHONE_ON, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_PHONE_ON);
}
msleep(100);
#if 0
err = gpio_request(GPIO_PHONE_ON, "PHONE_ON");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "PHONE_ON");
} else {
gpio_direction_output(GPIO_PHONE_ON, 0);
s3c_gpio_setpull(GPIO_PHONE_ON, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_PHONE_ON);
}
#endif
udelay(80);
err = gpio_request(GPIO_IPC_SLAVE_WAKEUP, "IPC_SLAVE_WAKEUP");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n",
"IPC_SLAVE_WAKEUP");
} else {
gpio_direction_output(GPIO_IPC_SLAVE_WAKEUP, 0);
s3c_gpio_setpull(GPIO_IPC_SLAVE_WAKEUP, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_IPC_SLAVE_WAKEUP);
}
err = gpio_request(GPIO_IPC_HOST_WAKEUP, "IPC_HOST_WAKEUP");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "IPC_HOST_WAKEUP");
} else {
gpio_direction_output(GPIO_IPC_HOST_WAKEUP, 0);
s3c_gpio_cfgpin(GPIO_IPC_HOST_WAKEUP, S3C_GPIO_INPUT);
s3c_gpio_setpull(GPIO_IPC_HOST_WAKEUP, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_IPC_HOST_WAKEUP);
}
err = gpio_request(GPIO_SUSPEND_REQUEST, "IPC_SUSPEND_REQUEST");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "IPC_SUSPEND_REQUEST");
} else {
gpio_direction_output(GPIO_SUSPEND_REQUEST, 0);
s3c_gpio_cfgpin(GPIO_SUSPEND_REQUEST, S3C_GPIO_INPUT);
s3c_gpio_setpull(GPIO_SUSPEND_REQUEST, S3C_GPIO_PULL_NONE);
gpio_free(GPIO_SUSPEND_REQUEST);
}
err = gpio_request(GPIO_ACTIVE_STATE, "ACTIVE_STATE");
if (err) {
printk(KERN_ERR "fail to request gpio %s\n", "ACTIVE_STATE");
} else {
//.........这里部分代码省略.........
示例9: s6evr01_probe
//.........这里部分代码省略.........
ret = device_create_file(&lcd->ld->dev, &dev_attr_window_type);
if (ret < 0)
dev_err(&lcd->ld->dev, "failed to add sysfs entries, %d\n", __LINE__);
ret = device_create_file(&lcd->ld->dev, &dev_attr_gamma_table);
if (ret < 0)
dev_err(&lcd->ld->dev, "failed to add sysfs entries, %d\n", __LINE__);
ret = device_create_file(&lcd->bd->dev, &dev_attr_auto_brightness);
if (ret < 0)
dev_err(&lcd->ld->dev, "failed to add sysfs entries, %d\n", __LINE__);
dev_set_drvdata(dev, lcd);
mutex_init(&lcd->lock);
mutex_init(&lcd->bl_lock);
s6evr01_read_id(lcd, lcd->id);
dev_info(&lcd->ld->dev, "ID: %x, %x, %x\n", lcd->id[0], lcd->id[1], lcd->id[2]);
dev_info(&lcd->ld->dev, "%s lcd panel driver has been probed.\n", dev_name(dev));
#ifdef SMART_DIMMING
for (i = 0; i < LDI_ID_LEN; i++) {
lcd->smart.panelid[i] = lcd->id[i];
}
init_table_info(&lcd->smart);
ret = s6evr01_read_mtp(lcd, mtp_data);
/*
for (i = 0; i < LDI_MTP_LENGTH ; i++)
printk(" %dth mtp value is %x\n", i, mtp_data[i]);
*/
if (!ret) {
printk(KERN_ERR "[LCD:ERROR] : %s read mtp failed\n", __func__);
/*return -EPERM;*/
}
calc_voltage_table(&lcd->smart, mtp_data);
ret = init_elvss_table(lcd);
ret += init_gamma_table(lcd, mtp_data);
ret += init_aid_dimming_table(lcd);
if (ret)
printk(KERN_ERR "gamma table generation is failed\n");
update_brightness(lcd, 1);
#endif
#if defined(GPIO_ERR_FG)
if (lcd->connected) {
INIT_DELAYED_WORK(&lcd->err_fg_detection, err_fg_detection_work);
lcd->irq = gpio_to_irq(GPIO_ERR_FG);
irq_set_irq_type(lcd->irq, IRQ_TYPE_EDGE_RISING);
s3c_gpio_cfgpin(GPIO_ERR_FG, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(GPIO_ERR_FG, S3C_GPIO_PULL_NONE);
if (request_irq(lcd->irq, err_fg_detection_int,
IRQF_TRIGGER_RISING, "err_fg_detection", lcd))
pr_err("failed to reqeust irq. %d\n", lcd->irq);
}
#endif
#if defined(GPIO_OLED_DET)
if (lcd->connected) {
INIT_DELAYED_WORK(&lcd->oled_detection, oled_detection_work);
s3c_gpio_cfgpin(GPIO_OLED_DET, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(GPIO_OLED_DET, S3C_GPIO_PULL_NONE);
if (request_irq(gpio_to_irq(GPIO_OLED_DET), oled_detection_int,
IRQF_TRIGGER_FALLING, "oled_detection", lcd))
pr_err("failed to reqeust irq. %d\n", gpio_to_irq(GPIO_OLED_DET));
}
#endif
lcd_early_suspend = s6evr01_early_suspend;
lcd_late_resume = s6evr01_late_resume;
return 0;
out_free_backlight:
lcd_device_unregister(lcd->ld);
kfree(lcd);
return ret;
out_free_lcd:
kfree(lcd);
return ret;
err_alloc:
return ret;
}
示例10: p4_tsp_init
void __init p4_tsp_init(u32 system_rev)
{
int gpio = 0, irq = 0;
hw_rev = system_rev;
printk(KERN_DEBUG "[TSP] %s rev : %u\n",
__func__, hw_rev);
printk(KERN_DEBUG "[TSP] TSP IC : %s\n",
(5 <= hw_rev) ? "Atmel" : "Synaptics");
if (5 <= hw_rev) {
gpio = GPIO_TSP_LDO_ON2;
gpio_request(gpio, "TSP_LDO_ON2");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_LDO_ON1;
gpio_request(gpio, "TSP_LDO_ON1");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_LDO_ON;
gpio_request(gpio, "TSP_LDO_ON");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
gpio = GPIO_TSP_RST;
gpio_request(gpio, "TSP_RST");
gpio_direction_output(gpio, 0);
gpio_export(gpio, 0);
switch_config(hw_rev);
} else {
gpio = GPIO_TSP_RST;
gpio_request(gpio, "TSP_RST");
gpio_direction_output(gpio, 1);
gpio_export(gpio, 0);
gpio = GPIO_TSP_LDO_ON;
gpio_request(gpio, "TSP_LDO_ON");
gpio_direction_output(gpio, 1);
gpio_export(gpio, 0);
if (1 <= hw_rev)
have_tsp_ldo = true;
}
gpio = GPIO_TSP_INT;
gpio_request(gpio, "TSP_INT");
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_UP);
s5p_register_gpio_interrupt(gpio);
irq = gpio_to_irq(gpio);
#ifdef CONFIG_S3C_DEV_I2C3
s3c_i2c3_set_platdata(NULL);
#if defined(CONFIG_TOUCHSCREEN_ATMEL_MXT1664S) && \
defined(CONFIG_TOUCHSCREEN_SYNAPTICS_S7301)
if (5 <= system_rev) {
i2c_mxt1664s[0].irq = irq;
i2c_register_board_info(3, i2c_mxt1664s,
ARRAY_SIZE(i2c_mxt1664s));
} else {
i2c_synaptics[0].irq = irq;
i2c_register_board_info(3, i2c_synaptics,
ARRAY_SIZE(i2c_synaptics));
}
#endif
#endif /* CONFIG_S3C_DEV_I2C3 */
}
示例11: EXT_LED_Init
void EXT_LED_Init(void){
//GPB_0,1,4,5,6,7 : Output
//Outp32(GPBCON,(Inp32(GPBCON) &= (~0xFFFF00FF)));
//Outp32(GPBCON,(Inp32(GPBCON) |= 0x11110011));
//GPB_0,1,4,5,6,7 : Pull-up
//Outp32(GPBPUD,(Inp32(GPBPUD) &= (~0x0000FF0F)));
//Outp32(GPBPUD,(Inp32(GPBPUD) |= 0x0000AA0A));
s3c_gpio_cfgpin(LED_D0, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_D0, S3C_GPIO_PULL_NONE);
s3c_gpio_cfgpin(LED_D1, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_D1, S3C_GPIO_PULL_NONE);
s3c_gpio_cfgpin(LED_D2, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_D2, S3C_GPIO_PULL_NONE);
s3c_gpio_cfgpin(LED_D3, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_D3, S3C_GPIO_PULL_NONE);
s3c_gpio_cfgpin(LED_C0, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_C0, S3C_GPIO_PULL_NONE);
//GPA0_2 : Output
//Outp32(GPA0CON,(Inp32(GPA0CON) &= (~0x00000F00)));
//Outp32(GPA0CON,(Inp32(GPA0CON) |= 0x00000100 ));
//GPA0_2 : Pull-up
//Outp32(GPA0PUD,(Inp32(GPA0PUD) &= (~0x00000030)));
//Outp32(GPA0PUD,(Inp32(GPA0PUD) |= 0x00000020));
s3c_gpio_cfgpin(LED_C1, S3C_GPIO_SFN(MODE_OUT));
s3c_gpio_setpull(LED_C1, S3C_GPIO_PULL_NONE);
//GPB_4,5,6,7 : 0 -> 1
//Outp32(GPBDAT,(Inp32(GPBDAT) &= (~0x000000F0)));
//Outp32(GPBDAT,(Inp32(GPBDAT) |= 0x000000F0));
s3c_gpio_setpin(LED_D0, 1);
s3c_gpio_setpin(LED_D1, 1);
s3c_gpio_setpin(LED_D2, 1);
s3c_gpio_setpin(LED_D3, 1);
#if 1
//GPB_1 : 0 -> 1 -> 0
//Outp32(GPBDAT,(Inp32(GPBDAT) &= (~0x00000002)));
//Outp32(GPBDAT,(Inp32(GPBDAT) |= (0x00000002)));
//Outp32(GPBDAT,(Inp32(GPBDAT) &= (~0x00000002)));
s3c_gpio_setpin(LED_C0, 0);
s3c_gpio_setpin(LED_C0, 1);
s3c_gpio_setpin(LED_C0, 0);
//GPA0_2 : 0 -> 1 -> 0
//Outp32(GPA0DAT,(Inp32(GPBDAT) &= (~0x00000004)));
//Outp32(GPA0DAT,(Inp32(GPBDAT) |= (0x00000004)));
//Outp32(GPA0DAT,(Inp32(GPBDAT) &= (~0x00000004)));
s3c_gpio_setpin(LED_C1, 0);
s3c_gpio_setpin(LED_C1, 1);
s3c_gpio_setpin(LED_C1, 0);
#endif
#if 1
//GPB_0 : 1
//Outp32(GPBDAT,(Inp32(GPBDAT) |= 0x00000001));
s3c_gpio_setpin(KEY_CTL, 1);
#endif
}
示例12: smdk5410_drd1_init
static void __init __maybe_unused smdk5410_drd1_init(void)
{
/* Initialize DRD1 gpio */
if (gpio_request(EXYNOS5410_GPK2(4), "UDRD3_1_OVERCUR_U2")) {
pr_err("failed to request UDRD3_1_OVERCUR_U2\n");
} else {
s3c_gpio_cfgpin(EXYNOS5410_GPK2(4), (0x2 << 16));
s3c_gpio_setpull(EXYNOS5410_GPK2(4), S3C_GPIO_PULL_NONE);
gpio_free(EXYNOS5410_GPK2(4));
}
if (gpio_request(EXYNOS5410_GPK2(5), "UDRD3_1_OVERCUR_U3")) {
pr_err("failed to request UDRD3_1_OVERCUR_U3\n");
} else {
s3c_gpio_cfgpin(EXYNOS5410_GPK2(5), (0x2 << 20));
s3c_gpio_setpull(EXYNOS5410_GPK2(5), S3C_GPIO_PULL_NONE);
gpio_free(EXYNOS5410_GPK2(5));
}
if (gpio_request_one(EXYNOS5410_GPK2(6), GPIOF_OUT_INIT_LOW,
"UDRD3_1_VBUSCTRL_U2")) {
pr_err("failed to request UDRD3_1_VBUSCTRL_U2\n");
} else {
s3c_gpio_setpull(EXYNOS5410_GPK2(6), S3C_GPIO_PULL_NONE);
gpio_free(EXYNOS5410_GPK2(6));
}
if (gpio_request_one(EXYNOS5410_GPK2(7), GPIOF_OUT_INIT_LOW,
"UDRD3_1_VBUSCTRL_U3")) {
pr_err("failed to request UDRD3_1_VBUSCTRL_U3\n");
} else {
s3c_gpio_setpull(EXYNOS5410_GPK2(7), S3C_GPIO_PULL_NONE);
gpio_free(EXYNOS5410_GPK2(7));
}
#if defined(CONFIG_USB_EXYNOS5_USB3_DRD_CH1)
if (gpio_request_one(SMDK5410_ID1_GPIO, GPIOF_IN, "UDRD3_1_ID")) {
pr_err("failed to request UDRD3_1_ID\n");
smdk5410_drd_pdata.id_irq = -1;
} else {
s3c_gpio_cfgpin(SMDK5410_ID1_GPIO, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(SMDK5410_ID1_GPIO, S3C_GPIO_PULL_NONE);
gpio_free(SMDK5410_ID1_GPIO);
smdk5410_drd_pdata.id_irq = gpio_to_irq(SMDK5410_ID1_GPIO);
}
if (gpio_request_one(SMDK5410_VBUS1_GPIO, GPIOF_IN, "UDRD3_1_VBUS")) {
pr_err("failed to request UDRD3_1_VBUS\n");
smdk5410_drd_pdata.vbus_irq = -1;
} else {
s3c_gpio_cfgpin(SMDK5410_VBUS1_GPIO, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(SMDK5410_VBUS1_GPIO, S3C_GPIO_PULL_NONE);
gpio_free(SMDK5410_VBUS1_GPIO);
smdk5410_drd_pdata.vbus_irq = gpio_to_irq(SMDK5410_VBUS1_GPIO);
}
smdk5410_drd_pdata.quirks = 0;
#if !defined(CONFIG_USB_XHCI_EXYNOS)
smdk5410_drd_pdata.quirks |= FORCE_RUN_PERIPHERAL;
#endif
#else
smdk5410_drd_pdata.id_irq = -1;
smdk5410_drd_pdata.vbus_irq = -1;
smdk5410_drd_pdata.quirks = DUMMY_DRD;
#endif
exynos5_usb3_drd1_set_platdata(&smdk5410_drd_pdata);
}
示例13: midas_power_set_muic_pdata
void midas_power_set_muic_pdata(void *pdata, int gpio)
{
gpio_request(gpio, "AP_PMIC_IRQ");
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
}
示例14: universal5410_gpio_keys_config_setup
static void universal5410_gpio_keys_config_setup(void)
{
s3c_gpio_setpull(EXYNOS5410_GPX0(2), S3C_GPIO_PULL_UP);
s3c_gpio_setpull(EXYNOS5410_GPX0(3), S3C_GPIO_PULL_UP);
}
示例15: smdk5250_usbswitch_init
static void __init smdk5250_usbswitch_init(void)
{
struct s5p_usbswitch_platdata *pdata = &smdk5250_usbswitch_pdata;
int err;
/* USB 2.0 detect GPIO */
if (samsung_rev() < EXYNOS5250_REV_1_0) {
pdata->gpio_device_detect = 0;
pdata->gpio_host_vbus = 0;
} else {
pdata->gpio_host_detect = EXYNOS5_GPX1(6);
err = gpio_request_one(pdata->gpio_host_detect, GPIOF_IN,
"HOST_DETECT");
if (err) {
printk(KERN_ERR "failed to request host gpio\n");
return;
}
s3c_gpio_cfgpin(pdata->gpio_host_detect, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(pdata->gpio_host_detect, S3C_GPIO_PULL_NONE);
gpio_free(pdata->gpio_host_detect);
pdata->gpio_device_detect = EXYNOS5_GPX3(4);
err = gpio_request_one(pdata->gpio_device_detect, GPIOF_IN,
"DEVICE_DETECT");
if (err) {
printk(KERN_ERR "failed to request device gpio\n");
return;
}
s3c_gpio_cfgpin(pdata->gpio_device_detect, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(pdata->gpio_device_detect, S3C_GPIO_PULL_NONE);
gpio_free(pdata->gpio_device_detect);
pdata->gpio_host_vbus = EXYNOS5_GPX2(6);
err = gpio_request_one(pdata->gpio_host_vbus,
GPIOF_OUT_INIT_LOW,
"HOST_VBUS_CONTROL");
if (err) {
printk(KERN_ERR "failed to request host_vbus gpio\n");
return;
}
s3c_gpio_setpull(pdata->gpio_host_vbus, S3C_GPIO_PULL_NONE);
gpio_free(pdata->gpio_host_vbus);
}
/* USB 3.0 DRD detect GPIO */
if (samsung_rev() < EXYNOS5250_REV_1_0) {
pdata->gpio_drd_host_detect = 0;
pdata->gpio_drd_device_detect = 0;
} else {
pdata->gpio_drd_host_detect = EXYNOS5_GPX1(7);
err = gpio_request_one(pdata->gpio_drd_host_detect, GPIOF_IN,
"DRD_HOST_DETECT");
if (err) {
printk(KERN_ERR "failed to request drd_host gpio\n");
return;
}
s3c_gpio_cfgpin(pdata->gpio_drd_host_detect, S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(pdata->gpio_drd_host_detect,
S3C_GPIO_PULL_NONE);
gpio_free(pdata->gpio_drd_host_detect);
pdata->gpio_drd_device_detect = EXYNOS5_GPX0(6);
err = gpio_request_one(pdata->gpio_drd_device_detect, GPIOF_IN,
"DRD_DEVICE_DETECT");
if (err) {
printk(KERN_ERR "failed to request drd_device\n");
return;
}
s3c_gpio_cfgpin(pdata->gpio_drd_device_detect,
S3C_GPIO_SFN(0xF));
s3c_gpio_setpull(pdata->gpio_drd_device_detect,
S3C_GPIO_PULL_NONE);
gpio_free(pdata->gpio_drd_device_detect);
}
s5p_usbswitch_set_platdata(pdata);
}