Merge branch 'develop' of 10.10.10.29:/home/rockchip/kernel into develop

This commit is contained in:
cwz
2011-04-21 19:45:57 -07:00
4 changed files with 80 additions and 17 deletions

View File

@@ -992,7 +992,7 @@ CONFIG_ADC=y
# CONFIG_ADC_RK28 is not set
CONFIG_ADC_RK29=y
# CONFIG_SPI_FPGA is not set
CONFIG_HEADSET_DET=y
# CONFIG_HEADSET_DET is not set
#
# PPS support

View File

@@ -534,6 +534,20 @@ static struct i2c_board_info __initdata board_i2c0_devices[] = {
.flags = 0,
},
#endif
#if defined (CONFIG_SND_SOC_alc5621)
{
.type = "ALC5621",
.addr = 0x1a,
.flags = 0,
},
#endif
#if defined (CONFIG_SND_SOC_alc5631)
{
.type = "rt5631",
.addr = 0x1a,
.flags = 0,
},
#endif
#if defined (CONFIG_SND_SOC_RK1000)
{
.type = "rk1000_i2c_codec",
@@ -626,9 +640,10 @@ static struct i2c_board_info __initdata board_i2c2_devices[] = {
{
.type = "p1003_touch",
.addr = 0x04,
.flags = 0,
.flags = 0, //I2C_M_NEED_DELAY
.irq = RK29_PIN0_PA2,
.platform_data = &p1003_info,
//.udelay = 100
},
#endif
#if defined (CONFIG_EETI_EGALAX)
@@ -916,13 +931,35 @@ static int rk29_sensor_ioctrl(struct device *dev,enum rk29camera_ioctrl_cmd cmd,
{
if (camera_flash != INVALID_GPIO) {
if (camera_io_init & RK29_CAM_FLASHACTIVE_MASK) {
if (on) {
gpio_set_value(camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
//printk("\n%s..%s..FlashPin=%d ..PinLevel = %x \n",__FUNCTION__,dev_name(dev),camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
} else {
gpio_set_value(camera_flash,(((~camera_ioflag)&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
//printk("\n%s..%s..FlashPin= %d..PinLevel = %x \n",__FUNCTION__,dev_name(dev), camera_flash, (((~camera_ioflag)&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
}
switch (on)
{
case Flash_Off:
{
gpio_set_value(camera_flash,(((~camera_ioflag)&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
//printk("\n%s..%s..FlashPin= %d..PinLevel = %x \n",__FUNCTION__,dev_name(dev), camera_flash, (((~camera_ioflag)&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
break;
}
case Flash_On:
{
gpio_set_value(camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
//printk("\n%s..%s..FlashPin=%d ..PinLevel = %x \n",__FUNCTION__,dev_name(dev),camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
break;
}
case Flash_Torch:
{
gpio_set_value(camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
//printk("\n%s..%s..FlashPin=%d ..PinLevel = %x \n",__FUNCTION__,dev_name(dev),camera_flash, ((camera_ioflag&RK29_CAM_FLASHACTIVE_MASK)>>RK29_CAM_FLASHACTIVE_BITPOS));
break;
}
default:
{
printk("\n%s..%s..Flash command(%d) is invalidate \n",__FUNCTION__,dev_name(dev),on);
break;
}
}
} else {
ret = RK29_CAM_EIO_REQUESTFAIL;
printk("\n%s..%s..FlashPin=%d request failed!\n",__FUNCTION__,dev_name(dev),camera_flash);

View File

@@ -139,6 +139,13 @@ struct rk29_nand_platform_data rk29_nand_data = {
#define FB_LCD_STANDBY_VALUE GPIO_HIGH
//#endif
/*****************************************************************************************
* touch screen devices
* author: cf@rock-chips.com
*****************************************************************************************/
#define TOUCH_SCREEN_STANDBY_PIN INVALID_GPIO
#define TOUCH_SCREEN_STANDBY_VALUE GPIO_HIGH
static int rk29_lcd_io_init(void)
{
int ret = 0;
@@ -183,14 +190,28 @@ static int rk29_fb_io_init(struct rk29_fb_setting_info *fb_setting)
}
}
if(fb_setting->disp_on_en && (FB_LCD_STANDBY_PIN != INVALID_GPIO))
if(fb_setting->disp_on_en)
{
ret = gpio_request(FB_LCD_STANDBY_PIN, NULL);
if(ret != 0)
if(FB_LCD_STANDBY_PIN != INVALID_GPIO)
{
gpio_free(FB_LCD_STANDBY_PIN);
printk(">>>>>> FB_LCD_STANDBY_PIN gpio_request err \n ");
ret = gpio_request(FB_LCD_STANDBY_PIN, NULL);
if(ret != 0)
{
gpio_free(FB_LCD_STANDBY_PIN);
printk(">>>>>> FB_LCD_STANDBY_PIN gpio_request err \n ");
}
}
else
{
ret = gpio_request(TOUCH_SCREEN_STANDBY_PIN, NULL);
if(ret != 0)
{
gpio_free(TOUCH_SCREEN_STANDBY_PIN);
printk(">>>>>> TOUCH_SCREEN_STANDBY_PIN gpio_request err \n ");
}
gpio_direction_output(TOUCH_SCREEN_STANDBY_PIN, 0);
gpio_set_value(TOUCH_SCREEN_STANDBY_PIN, TOUCH_SCREEN_STANDBY_VALUE);
}
}
if(FB_LCD_CABC_EN_PIN != INVALID_GPIO)
@@ -387,7 +408,8 @@ static int EETI_EGALAX_init_platform_hw(void)
static struct eeti_egalax_platform_data eeti_egalax_info = {
.model= 1003,
.init_platform_hw= EETI_EGALAX_init_platform_hw,
.standby_pin = TOUCH_SCREEN_STANDBY_PIN,
.standby_value = TOUCH_SCREEN_STANDBY_VALUE,
};
#endif
/*MMA8452 gsensor*/

View File

@@ -24,6 +24,7 @@
#include <linux/delay.h>
#include <linux/ktime.h>
#define BL_SET 255
#define BL_MISC_VALUE 20
#define BL_INIT_VALUE 102
struct wm831x_backlight_data {
struct wm831x *wm831x;
@@ -117,8 +118,11 @@ err:
static int wm831x_backlight_update_status(struct backlight_device *bl)
{
int brightness = bl->props.brightness;
if (brightness<=BL_INIT_VALUE) {
brightness = 111*brightness/51;
if (brightness<=BL_MISC_VALUE) {
brightness = 8*brightness;
}
else if (brightness<=BL_INIT_VALUE) {
brightness = 31*brightness/41 + 145;
}
else {
brightness = 33*brightness/153 + 200;