|
@@ -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:
|