linux/cybook.config:
* Use new epaper driver instead of qisda fb driver linux/arch/arm/mach-s3c2416/orizon-devs.c: * Rename old cyio-dev.c linux/arch/arm/mach-s3c2416/mach-cybook_orizon.c, linux/arch/arm/mach-s3c2416/orizon-devs.c: + Add support for new drivers in platform device list linux/drivers/video/Makefile, linux/drivers/video/Kconfig, linux/drivers/video/epaper/*: + Add new epaper driver for tcon (resolve #9) linux/drivers/input/misc/orizon_tilt.c: + Add new driver for the tilt sensor linux/drivers/char/s3c-adc.c: - Remove bloated code (this code must be audited, see ticket #8) linux/include/cybook.h: * Extend the CAPABILITY Field
This commit is contained in:
@@ -546,432 +546,7 @@ static int s3c_adc_ioctl(struct inode *inode, struct file *file,
|
||||
ret = put_user(data_mask, (unsigned long __user *)arg);
|
||||
break;
|
||||
case ADC_SET_PM_FUNCTION_POWER:
|
||||
printk("ADC_SET_PM_FUNCTION_POWER\n");
|
||||
#if defined(CONFIG_QISDA_AS090B00_EVT1_1) || defined(CONFIG_QISDA_AS090B00_EVT1) || defined(CONFIG_QISDA_QD060N00_DVT1_1) || defined(CONFIG_QISDA_QD090B00_EVT1)
|
||||
if((arg & ADC_PM_DEBUG_PORT)==0){
|
||||
printk("ADC_PM_DEBUG_PORT, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPB6, S3C2410_GPB6_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPB6, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH0, S3C2410_GPH0_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH0, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH1, 0);
|
||||
}
|
||||
else if((arg & ADC_PM_DEBUG_PORT)==1){
|
||||
printk("ADC_PM_DEBUG_PORT, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPB6, S3C2410_GPB6_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPB6, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH0, S3C2410_GPH0_nCTS0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH1, S3C2410_GPH1_nRTS0);
|
||||
}
|
||||
else if((arg & ADC_PM_DEBUG_PORT)==2){
|
||||
printk("ADC_PM_DEBUG_PORT, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_DEBUG_PORT, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//WIFI
|
||||
if(((arg & ADC_PM_WIFI) >> 2)==0){
|
||||
printk("ADC_PM_WIFI, 0\n");
|
||||
/*
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH12, S3C2410_GPH12_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH12, 0);
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<13)) | (1<<12)), S3C2416_GPKCON);
|
||||
writel(((readl(S3C2416_GPKDAT) | 0<<6)), S3C2416_GPKDAT);
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<11)) | (1<<10)), S3C2416_GPKCON);
|
||||
writel(((readl(S3C2416_GPKDAT) | 0<<5)), S3C2416_GPKDAT);
|
||||
//Signal
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE11, S3C2410_GPE11_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE11, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE12, S3C2410_GPE12_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE12, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE13, S3C2410_GPE13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE13, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF3, S3C2410_GPF3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG4, S3C2410_GPG4_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG4, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD8, S3C2410_GPD8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPL13, S3C2410_GPL13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPL13, 0);
|
||||
*/
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD8, S3C2410_GPD8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 0);
|
||||
msleep(100);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE11, S3C2410_GPE11_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE11, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE12, S3C2410_GPE12_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE12, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE13, S3C2410_GPE13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE13, 0);
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF3, S3C2410_GPF3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG4, S3C2410_GPG4_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG4, 0);
|
||||
|
||||
writel(((readl(S3C2410_GPHCON) & ~(1<<25)) | (1<<24)), S3C2410_GPHCON); /* GPH12, 3.3V */
|
||||
writel((readl(S3C2410_GPHDAT) & ~(1<<12)), S3C2410_GPHDAT);
|
||||
writel(((readl(S3C2410_GPHUP) & ~(1<<25)) | (1<<24)), S3C2410_GPHUP);
|
||||
msleep(100);
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPL13, S3C2410_GPL13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPL13, 0);
|
||||
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<13)) | (1<<12)), S3C2416_GPKCON);
|
||||
writel((readl(S3C2416_GPKDAT) & ~(1<<6)), S3C2416_GPKDAT);
|
||||
msleep(100);
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<11)) | (1<<10)), S3C2416_GPKCON);
|
||||
writel((readl(S3C2416_GPKDAT) & ~(1<<5)), S3C2416_GPKDAT);
|
||||
msleep(100);
|
||||
}
|
||||
else if(((arg & ADC_PM_WIFI) >> 2)==1){
|
||||
printk("ADC_PM_WIFI, 1\n");
|
||||
// Powering on wifi is via the script file
|
||||
/*
|
||||
//power
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH12, S3C2410_GPH12_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH12, 1);
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<13)) | (1<<12)), S3C2416_GPKCON);
|
||||
writel(((readl(S3C2416_GPKDAT) | 1<<6)), S3C2416_GPKDAT);
|
||||
writel(((readl(S3C2416_GPKCON) & ~(1<<11)) | (1<<10)), S3C2416_GPKCON);
|
||||
writel(((readl(S3C2416_GPKDAT) | 1<<5)), S3C2416_GPKDAT);
|
||||
//Signal
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE11, S3C2410_GPE11_SPIMISO0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE12, S3C2410_GPE12_SPIMOSI0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE13, S3C2410_GPE13_SPICLK0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF3, S3C2410_GPF3_EINT3);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG4, S3C2410_GPG4_EINT12);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD8, S3C2410_GPD8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPL13, S3C2410_GPL13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPL13, 1);
|
||||
*/
|
||||
/*
|
||||
s3c2410_gpio_setpin(S3C2410_GPH12, 1);
|
||||
msleep(100);
|
||||
s3c2410_gpio_setpin(S3C2410_GPIONO(S3C2416_GPIO_BANKK, 5), 1);
|
||||
msleep(100);
|
||||
s3c2410_gpio_setpin(S3C2410_GPIONO(S3C2416_GPIO_BANKK, 6), 1);
|
||||
msleep(100);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 1);
|
||||
msleep(100);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 0);
|
||||
msleep(100);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD8, 1);
|
||||
msleep(100);
|
||||
*/
|
||||
}
|
||||
else if(((arg & ADC_PM_WIFI) >> 2)==2){
|
||||
printk("ADC_PM_WIFI, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_WIFI, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//Audio ok
|
||||
if(((arg & ADC_PM_AUDIO) >> 4)==0){
|
||||
printk("ADC_PM_AUDIO, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPB10, S3C2410_GPB10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPB10, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE0, S3C2410_GPE0_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE0, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE1, S3C2410_GPE1_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE1, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE2, S3C2410_GPE2_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE2, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE3, S3C2410_GPE3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE4, S3C2410_GPE4_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE4, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF4, S3C2410_GPF4_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF4, 0);
|
||||
#ifdef CONFIG_QISDA_AS090B00_EVT1
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPG3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG3, 0);
|
||||
#endif
|
||||
#if defined(CONFIG_QISDA_AS090B00_EVT1_1)|| defined (CONFIG_QISDA_QD090B00_EVT1) || defined(CONFIG_QISDA_QD060N00_DVT1_1)
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPA1, S3C2410_GPA1_OUT); //s02 ????S3C2410_GPA1_OUT
|
||||
s3c2410_gpio_setpin(S3C2410_GPA1, 0);
|
||||
#endif
|
||||
|
||||
}
|
||||
else if(((arg & ADC_PM_AUDIO) >> 4)==1){
|
||||
printk("ADC_PM_AUDIO, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPB10, S3C2410_GPB10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPB10, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE0, S3C2410_GPE0_I2SLRCK);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE1, S3C2410_GPE1_I2SSCLK);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE2, S3C2410_GPE2_CDCLK);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE3, S3C2410_GPE3_I2SSDI);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE4, S3C2410_GPE4_I2SSDO);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF4, S3C2410_GPF4_EINT4);
|
||||
s3c2410_gpio_pullup(S3C2410_GPF4, 2);
|
||||
#ifdef CONFIG_QISDA_AS090B00_EVT1
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPG3_OUTP); //s01
|
||||
s3c2410_gpio_setpin(S3C2410_GPG3, 1);
|
||||
#endif
|
||||
#if defined(CONFIG_QISDA_AS090B00_EVT1_1) || defined (CONFIG_QISDA_QD090B00_EVT1) || defined(CONFIG_QISDA_QD060N00_DVT1_1)
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPA1, S3C2410_GPA1_OUT); //s02 ????S3C2410_GPA1_OUT
|
||||
s3c2410_gpio_setpin(S3C2410_GPA1, 1);
|
||||
#endif
|
||||
}
|
||||
else if(((arg & ADC_PM_AUDIO) >> 4)==2){
|
||||
printk("ADC_PM_AUDIO, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_AUDIO, 3 do nothing\n");
|
||||
}
|
||||
|
||||
|
||||
//SD ok
|
||||
if(((arg & ADC_PM_SD) >> 6)==0){
|
||||
printk("ADC_PM_SD, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPG2_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG2, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2410_GPE5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE5, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE6, S3C2410_GPE6_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE6, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE7, S3C2410_GPE7_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE7, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE8, S3C2410_GPE8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE8, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE9, S3C2410_GPE9_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE9, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE10, S3C2410_GPE10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE10, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF1, S3C2410_GPF1_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF1, 0);
|
||||
|
||||
}
|
||||
else if(((arg & ADC_PM_SD) >> 6)==1){
|
||||
printk("ADC_PM_SD, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPG2_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG2, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2450_GPE5_SD0_CLK);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE6, S3C2450_GPE6_SD0_CMD);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE7, S3C2450_GPE7_SD0_DAT0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE8, S3C2450_GPE8_SD0_DAT1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE9, S3C2450_GPE9_SD0_DAT2);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE10, S3C2450_GPE10_SD0_DAT3);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF1, S3C2410_GPF1_EINT1);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF1, 0);
|
||||
}
|
||||
else if(((arg & ADC_PM_SD) >> 6)==2){
|
||||
printk("ADC_PM_SD, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_SD, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//TCON ivan interface ok
|
||||
if(((arg & ADC_PM_TCON) >> 8)==0){
|
||||
//power and signal
|
||||
printk("ADC_PM_TCON, 0\n");
|
||||
//AUO T-CON Standby
|
||||
Epaper_Enter_Standby_Mode(1);
|
||||
//AUO T-CON Sleep
|
||||
Epaper_Enter_Sleep_Mode(1);
|
||||
msleep(250);
|
||||
//Shutdown T-CON Power
|
||||
Epaper_Power(0);
|
||||
//Shutdown i80 of s3c
|
||||
EPaper_CloseLcdPort();
|
||||
msleep(1000);
|
||||
}
|
||||
else if(((arg & ADC_PM_TCON) >> 8)==1){
|
||||
//power and signal
|
||||
printk("ADC_PM_TCON, 1\n");
|
||||
Epaper_SetLcdPort();
|
||||
msleep(100); //sleep for RST_N pull high
|
||||
}
|
||||
else if(((arg & ADC_PM_TCON) >> 8)==2){
|
||||
printk("ADC_PM_TCON, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_TCON, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//USB ok
|
||||
if(((arg & ADC_PM_USB) >> 10)==0){
|
||||
printk("ADC_PM_USB, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD13, S3C2410_GPD13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD13, 0); /* usb power enbale */
|
||||
s3c2410_gpio_cfgpin(S3C2443_GPH14, S3C2443_GPH14_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2443_GPH14, 0);
|
||||
}
|
||||
else if(((arg & ADC_PM_USB) >> 10)==1){
|
||||
printk("ADC_PM_USB, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD13, S3C2410_GPD13_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD13, 1); /* usb power enbale */
|
||||
s3c2410_gpio_cfgpin(S3C2443_GPH14, S3C2443_GPH14_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2443_GPH14, 1);
|
||||
}
|
||||
else if(((arg & ADC_PM_USB) >> 10)==2){
|
||||
printk("ADC_PM_USB, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_USB, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//Touch GPIO ok, 12~15
|
||||
if(((arg & ADC_PM_TOUCH) >> 12)==0){
|
||||
printk("ADC_PM_TOUCH, 0\n");
|
||||
// s3c2410_gpio_cfgpin(S3C2410_GPB3, S3C2410_GPB3_OUTP);
|
||||
// s3c2410_gpio_setpin(S3C2410_GPB3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF2, 0);
|
||||
|
||||
#ifdef CONFIG_QISDA_BK060B00
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD10, S3C2410_GPD10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD10, 0);
|
||||
#else
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF5, 0);
|
||||
#endif
|
||||
}
|
||||
else if(((arg & ADC_PM_TOUCH) >> 12)==1){
|
||||
//power on
|
||||
printk("ADC_PM_TOUCH, 1\n");
|
||||
// s3c2410_gpio_cfgpin(S3C2410_GPB3, S3C2410_GPB3_OUTP);
|
||||
// s3c2410_gpio_setpin(S3C2410_GPB3, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_INP);
|
||||
|
||||
#ifdef CONFIG_QISDA_BK060B00
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD10, S3C2410_GPD10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD10, 1);
|
||||
#else
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF5, 1);
|
||||
#endif
|
||||
}
|
||||
else if(((arg & ADC_PM_TOUCH) >> 12)==2){
|
||||
//power on () + touch active mode (touch ioctl)
|
||||
printk("ADC_PM_TOUCH, 2 Touch GPIO on and Enter Active\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_INP);
|
||||
|
||||
#ifdef CONFIG_QISDA_BK060B00
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD10, S3C2410_GPD10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD10, 1);
|
||||
#else
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF5, 1);
|
||||
#endif
|
||||
}
|
||||
else if(((arg & ADC_PM_TOUCH) >> 12)==3){
|
||||
//power on + touch sleep mode (via touch ioctl)
|
||||
printk("ADC_PM_TOUCH, 3 Touch GPIO on and Enter Sleep\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_INP);
|
||||
|
||||
#ifdef CONFIG_QISDA_BK060B00
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD10, S3C2410_GPD10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD10, 1);
|
||||
#else
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF5, 1);
|
||||
#endif
|
||||
}
|
||||
else if(((arg & ADC_PM_TOUCH) >> 12)==4){
|
||||
//power on + touch deep sleep mode (via touch ioctl)
|
||||
printk("ADC_PM_TOUCH, 4 Touch GPIO on and Enter Deep sleep\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_INP);
|
||||
|
||||
#ifdef CONFIG_QISDA_BK060B00
|
||||
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPD10, S3C2410_GPD10_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPD10, 1);
|
||||
#else
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPF5, 1);
|
||||
#endif
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_TOUCH, 5~15 do nothing\n");
|
||||
}
|
||||
|
||||
//SMART_CARD ok
|
||||
if(((arg & ADC_PM_SMART_CARD) >> 16)==0){
|
||||
printk("ADC_PM_SMART_CARD, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPC3, S3C2410_GPC3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPC3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH2, S3C2410_GPH2_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH2, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH3, S3C2410_GPH3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH3, 0);
|
||||
}
|
||||
else if(((arg & ADC_PM_SMART_CARD) >> 16)==1){
|
||||
printk("ADC_PM_SMART_CARD, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPC3, S3C2410_GPC3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPC3, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH2, S3C2410_GPH2_TXD0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH3, S3C2410_GPH3_RXD0);
|
||||
}
|
||||
else if(((arg & ADC_PM_SMART_CARD) >> 16)==2){
|
||||
printk("ADC_PM_SMART_CARD, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_SMART_CARD, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//SMART_CARD ok
|
||||
if(((arg & ADC_PM_3G_MODULE) >> 18)==0){
|
||||
printk("ADC_PM_3G_MODULE, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPG3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG3, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH8, S3C2410_GPH8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH8, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH9, S3C2410_GPH9_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH9, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH11, S3C2410_GPH11_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH11, 0);
|
||||
}
|
||||
else if(((arg & ADC_PM_3G_MODULE) >> 18)==1){
|
||||
printk("ADC_PM_3G_MODULE, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPG3_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPG3, 1);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH8, S3C2410_GPH8_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH8, 1);
|
||||
// s3c2410_gpio_cfgpin(S3C2410_GPH9, S3C2410_GPH9_OUTP);
|
||||
// s3c2410_gpio_setpin(S3C2410_GPH9, 0);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPH11, S3C2410_GPH11_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPH11, 1);
|
||||
}
|
||||
else if(((arg & ADC_PM_3G_MODULE) >> 18)==2){
|
||||
printk("ADC_PM_3G_MODULE, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_3G_MODULE, 3 do nothing\n");
|
||||
}
|
||||
|
||||
//ADC_PM_I2C ok
|
||||
if(((arg & ADC_PM_I2C) >> 20)==0){
|
||||
printk("ADC_PM_I2C, 0\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE14, 0); // IICSCL
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE15, S3C2410_GPE15_OUTP);
|
||||
s3c2410_gpio_setpin(S3C2410_GPE15, 0); // IICSDA
|
||||
}
|
||||
else if(((arg & ADC_PM_I2C) >> 20)==1){
|
||||
printk("ADC_PM_I2C, 1\n");
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE15, S3C2410_GPE15_IICSDA);
|
||||
s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_IICSCL);
|
||||
}
|
||||
else if(((arg & ADC_PM_I2C) >> 20)==2){
|
||||
printk("ADC_PM_I2C, 2 do special test\n");
|
||||
}
|
||||
else{
|
||||
printk("ADC_PM_I2C, 3 do nothing\n");
|
||||
}
|
||||
#endif
|
||||
ret = 0;
|
||||
|
||||
break;
|
||||
#ifdef CONFIG_PM_CPU_MODE
|
||||
case ADC_SET_CPU_PM_MODE:
|
||||
|
||||
Reference in New Issue
Block a user