Improve something for A22:

1、use SPI0 init LCD to avoid SPI1 conflict between WM831X and lcd while system resume;
2、use polling instead of intterupt to read touch screen data to reduce CPU working;
3、reduce time of light backlight when charging to reduce power consumption;
This commit is contained in:
root 2011-06-30 19:22:42 +08:00
parent b2086e0141
commit a64838fe31
3 changed files with 33 additions and 19 deletions

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.27
# Thu Jun 16 18:40:20 2011
# Thu Jun 30 19:14:37 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@ -203,6 +203,7 @@ CONFIG_WIFI_CONTROL_FUNC=y
# CONFIG_MACH_RK29_PHONESDK is not set
CONFIG_MACH_RK29_A22=y
# CONFIG_MACH_RK29_PHONEPADSDK is not set
# CONFIG_MACH_RK29_newton is not set
# CONFIG_DDR_TYPE_DDRII is not set
CONFIG_DDR_TYPE_LPDDR=y
# CONFIG_DDR_TYPE_DDR3_800D is not set
@ -227,6 +228,8 @@ CONFIG_DDR_TYPE_LPDDR=y
# CONFIG_DDR_TYPE_DDR3_2133M is not set
# CONFIG_DDR_TYPE_DDR3_2133N is not set
# CONFIG_DDR_TYPE_DDR3_DEFAULT is not set
CONFIG_RK29_MEM_SIZE_512M=y
# CONFIG_RK29_MEM_SIZE_1G is not set
CONFIG_RK29_MEM_SIZE_M=512
CONFIG_DDR_SDRAM_FREQ=192
@ -239,8 +242,10 @@ CONFIG_RK29_VPU=y
CONFIG_RK29_LAST_LOG=y
#
# The control interface support for RK29 suspend
# support for RK29 power manage
#
# CONFIG_RK29_CLK_SWITCH_TO_32K is not set
# CONFIG_RK29_GPIO_SUSPEND is not set
CONFIG_RK29_SPI_INSRAM=y
#
@ -597,6 +602,7 @@ CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_RKNAND=y
CONFIG_MTD_NAND_RK29XX=y
CONFIG_MTD_RKNAND_BUFFER=y
# CONFIG_MTD_EMMC_CLK_POWER_SAVE is not set
# CONFIG_MTD_NAND_RK29XX_DEBUG is not set
# CONFIG_MTD_ONENAND is not set
@ -633,6 +639,7 @@ CONFIG_APANIC_PLABEL="kpanic"
CONFIG_MTK23D=y
# CONFIG_FM580X is not set
# CONFIG_MU509 is not set
# CONFIG_RK29_NEWTON is not set
# CONFIG_C2PORT is not set
#
@ -860,7 +867,9 @@ CONFIG_TOUCHSCREEN_ILI2102_IIC=y
# CONFIG_EETI_EGALAX is not set
# CONFIG_TOUCHSCREEN_IT7260 is not set
# CONFIG_TOUCHSCREEN_GT801_IIC is not set
# CONFIG_TOUCHSCREEN_GT818_IIC is not set
# CONFIG_D70_L3188A is not set
# CONFIG_TOUCHSCREEN_FT5406 is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_LPSENSOR_ISL29028 is not set
# CONFIG_INPUT_LPSENSOR_CM3602 is not set
@ -916,13 +925,17 @@ CONFIG_DEVKMEM=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_RK29=y
CONFIG_SERIAL_RK29_STANDARD=y
CONFIG_UART0_RK29=y
CONFIG_UART0_CTS_RTS_RK29=y
# CONFIG_UART0_DMA_RK29 is not set
CONFIG_UART1_RK29=y
CONFIG_UART2_RK29=y
CONFIG_UART2_CTS_RTS_RK29=y
# CONFIG_UART2_DMA_RK29 is not set
CONFIG_UART3_RK29=y
# CONFIG_UART3_CTS_RTS_RK29 is not set
# CONFIG_UART3_DMA_RK29 is not set
CONFIG_SERIAL_RK29_CONSOLE=y
# CONFIG_SERIAL_SC8800 is not set
CONFIG_UNIX98_PTYS=y
@ -985,6 +998,8 @@ CONFIG_SPIM_RK29=y
CONFIG_SPIM0_RK29=y
CONFIG_SPIM1_RK29=y
CONFIG_LCD_USE_SPIM_CONTROL=y
CONFIG_LCD_USE_SPI0=y
# CONFIG_LCD_USE_SPI1 is not set
#
# SPI Protocol Masters
@ -1271,6 +1286,7 @@ CONFIG_LCD_NT35510=y
# CONFIG_LCD_ILI9803_CPT4_3 is not set
# CONFIG_DEFAULT_OUT_HDMI is not set
# CONFIG_LCD_AT070TNA2 is not set
# CONFIG_LCD_AT070TN93 is not set
#
# HDMI
@ -1322,6 +1338,7 @@ CONFIG_SND_RK29_SOC_I2S_8CH=y
# CONFIG_SND_RK29_SOC_alc5631 is not set
# CONFIG_SND_RK29_SOC_RT5625 is not set
CONFIG_SND_RK29_SOC_WM8994=y
# CONFIG_SND_RK29_SOC_CS42L52 is not set
# CONFIG_SND_RK29_CODEC_SOC_MASTER is not set
CONFIG_SND_RK29_CODEC_SOC_SLAVE=y
CONFIG_SND_SOC_I2C_AND_SPI=y
@ -1471,6 +1488,7 @@ CONFIG_RTC_INTF_ALARM_DEV=y
# I2C RTC drivers
#
# CONFIG_RTC_HYM8563 is not set
# CONFIG_RTC_M41T66 is not set
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
@ -1546,14 +1564,6 @@ CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION_POLYNOMIAL=0x11d
CONFIG_ANDROID_TIMED_OUTPUT=y
CONFIG_ANDROID_TIMED_GPIO=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
#
# Qualcomm MSM Camera And Video
#
#
# Camera Sensor Selection
#
# CONFIG_DST is not set
# CONFIG_POHMELFS is not set
# CONFIG_PLAN9AUTH is not set

View File

@ -26,8 +26,8 @@ static int ts_dbg_enable = 0;
#define TOUCH_NUMBER 2
static int touch_state[TOUCH_NUMBER] = {TOUCH_UP,TOUCH_UP};
static unsigned int g_x[TOUCH_NUMBER] = {0},g_y[TOUCH_NUMBER] = {0};
static volatile int touch_state[TOUCH_NUMBER] = {TOUCH_UP,TOUCH_UP};
static volatile unsigned int g_x[TOUCH_NUMBER] = {0},g_y[TOUCH_NUMBER] = {0};
struct ili2102_ts_data {
u16 model; /* 801. */
@ -316,7 +316,7 @@ static int ili2102_init_panel(struct ili2102_ts_data *ts)
static void ili2102_ts_work_func(struct work_struct *work)
{
int i,ret;
int i,ret,num=1;
int syn_flag = 0;
unsigned int x, y;
struct i2c_msg msg[2];
@ -349,8 +349,12 @@ static void ili2102_ts_work_func(struct work_struct *work)
printk("%s:i2c_transfer fail, ret=%d\n",__FUNCTION__,ret);
goto out;
}
for(i=0; i<TOUCH_NUMBER; i++)
if(buf[0]&0x02 == 0x02)
num = 2;
else
num = 1;
for(i=0; i<num; i++)
{
if(!((buf[0]>>i)&0x01))
@ -404,10 +408,10 @@ static void ili2102_ts_work_func(struct work_struct *work)
if(syn_flag)
input_sync(ts->input_dev);
out:
#if 0
#if 1
if(ts->pendown)
{
schedule_delayed_work(&ts->work, msecs_to_jiffies(10));
schedule_delayed_work(&ts->work, msecs_to_jiffies(12));
ts->pendown = 0;
}
else

View File

@ -343,8 +343,8 @@ static int rk29_charger_display(struct wm831x_chg *wm831x_chg)
wm831x_check_on_pin(wm831x_chg);
}
//suspend when timeout(100*200ms)
if(wm831x_chg->cnt_disp++ > 100)
//suspend when timeout(about 50*200ms)
if(wm831x_chg->cnt_disp++ > 50)
{
if(wm831x_chg->flag_suspend == 0)
{