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

This commit is contained in:
yangkai
2011-06-17 15:13:35 +08:00
4 changed files with 134 additions and 20 deletions

37
arch/arm/configs/rk29_phonesdk_defconfig Executable file → Normal file
View File

@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.27
# Fri May 6 11:36:42 2011
# Fri Jun 17 00:55:13 2011
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -52,11 +52,6 @@ CONFIG_RCU_FANOUT=32
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
# CONFIG_USER_SCHED is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
# CONFIG_CGROUP_NS is not set
@@ -66,6 +61,9 @@ CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
# CONFIG_CGROUP_MEM_RES_CTLR is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set
@@ -204,6 +202,7 @@ CONFIG_WIFI_CONTROL_FUNC=y
# CONFIG_MACH_RK29_MALATA is not set
CONFIG_MACH_RK29_PHONESDK=y
# CONFIG_MACH_RK29_A22 is not set
# CONFIG_MACH_RK29_PHONEPADSDK is not set
# CONFIG_DDR_TYPE_DDRII is not set
CONFIG_DDR_TYPE_LPDDR=y
# CONFIG_DDR_TYPE_DDR3_800D is not set
@@ -237,6 +236,12 @@ CONFIG_DDR_SDRAM_FREQ=192
CONFIG_RK29_VPU=y
# CONFIG_RK29_VPU_DEBUG is not set
CONFIG_RK29_JTAG=y
CONFIG_RK29_LAST_LOG=y
#
# The control interface support for RK29 suspend
#
# CONFIG_RK29_SPI_INSRAM is not set
#
# Processor Type
@@ -595,7 +600,6 @@ CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND is not set
CONFIG_MTD_RKNAND=y
CONFIG_MTD_NAND_RK29XX=y
CONFIG_RKFTL_PAGECACHE_SIZE=64
CONFIG_MTD_RKNAND_BUFFER=y
# CONFIG_MTD_NAND_RK29XX_DEBUG is not set
# CONFIG_MTD_ONENAND is not set
@@ -633,6 +637,7 @@ CONFIG_APANIC_PLABEL="kpanic"
# CONFIG_STE is not set
CONFIG_MTK23D=y
# CONFIG_FM580X is not set
# CONFIG_MU509 is not set
# CONFIG_C2PORT is not set
#
@@ -891,6 +896,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_EETI_EGALAX is not set
# CONFIG_TOUCHSCREEN_IT7260 is not set
CONFIG_TOUCHSCREEN_GT801_IIC=y
# CONFIG_D70_L3188A is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_LPSENSOR_ISL29028 is not set
# CONFIG_INPUT_LPSENSOR_CM3602 is not set
@@ -976,9 +982,17 @@ CONFIG_I2C_RK29=y
# Now, there are four I2C interfaces selected by developer.
#
CONFIG_I2C0_RK29=y
CONFIG_RK29_I2C0_CONTROLLER=y
# CONFIG_RK29_I2C0_GPIO is not set
CONFIG_I2C1_RK29=y
CONFIG_RK29_I2C1_CONTROLLER=y
# CONFIG_RK29_I2C1_GPIO is not set
CONFIG_I2C2_RK29=y
CONFIG_RK29_I2C2_CONTROLLER=y
# CONFIG_RK29_I2C2_GPIO is not set
CONFIG_I2C3_RK29=y
CONFIG_RK29_I2C3_CONTROLLER=y
# CONFIG_RK29_I2C3_GPIO is not set
# CONFIG_I2C_DEV_RK29 is not set
#
@@ -1068,6 +1082,7 @@ CONFIG_POWER_SUPPLY=y
# CONFIG_PDA_POWER is not set
CONFIG_WM831X_BACKUP=y
CONFIG_WM831X_POWER=y
CONFIG_WM831X_CHARGER_DISPLAY=y
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ27x00 is not set
@@ -1172,6 +1187,7 @@ CONFIG_SOC_CAMERA=y
# CONFIG_SOC_CAMERA_MT9M111 is not set
# CONFIG_SOC_CAMERA_MT9M112 is not set
# CONFIG_SOC_CAMERA_MT9T031 is not set
# CONFIG_SOC_CAMERA_MT9T111 is not set
# CONFIG_SOC_CAMERA_MT9P111 is not set
# CONFIG_SOC_CAMERA_MT9D112 is not set
# CONFIG_SOC_CAMERA_MT9D113 is not set
@@ -1316,6 +1332,7 @@ CONFIG_BACKLIGHT_WM831X=y
# CONFIG_BACKLIGHT_RK29_BL is not set
# CONFIG_FIH_TOUCHKEY_LED is not set
# CONFIG_BACKLIGHT_AW9364 is not set
# CONFIG_BUTTON_LIGHT is not set
#
# Display device support
@@ -1333,6 +1350,7 @@ CONFIG_DISPLAY_SUPPORT=y
# CONFIG_LCD_HSD070IDW1 is not set
# CONFIG_LCD_RGB_TFT480800_25_E is not set
# CONFIG_LCD_HSD100PXN is not set
# CONFIG_LCD_HSD07PFW1 is not set
# CONFIG_LCD_B101AW06 is not set
CONFIG_LCD_LS035Y8DX02A=y
# CONFIG_LCD_CPTCLAA038LA31XE is not set
@@ -1342,6 +1360,7 @@ CONFIG_LCD_LS035Y8DX02A=y
# CONFIG_LCD_NT35580 is not set
# CONFIG_LCD_IPS1P5680_V1_E is not set
# CONFIG_LCD_MCU_TFT480800_25_E is not set
# CONFIG_LCD_NT35510 is not set
# CONFIG_LCD_ILI9803_CPT4_3 is not set
# CONFIG_DEFAULT_OUT_HDMI is not set
# CONFIG_LCD_AT070TNA2 is not set
@@ -1361,6 +1380,7 @@ CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_LOGO_CHARGER_CLUT224=y
CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
@@ -1394,6 +1414,7 @@ CONFIG_SND_RK29_SOC_I2S_8CH=y
# CONFIG_SND_RK29_SOC_WM8900 is not set
# CONFIG_SND_RK29_SOC_alc5621 is not set
# 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_CODEC_SOC_MASTER is not set
CONFIG_SND_RK29_CODEC_SOC_SLAVE=y
@@ -1602,6 +1623,7 @@ CONFIG_USB11_HOST_EN=y
CONFIG_USB20_OTG=y
# CONFIG_DWC_OTG_HOST_ONLY is not set
CONFIG_DWC_OTG_DEVICE_ONLY=y
# CONFIG_DWC_OTG_BOTH_HOST_SLAVE is not set
CONFIG_DWC_CONN_EN=y
# CONFIG_DWC_OTG_DEBUG is not set
CONFIG_DWC_OTG=y
@@ -1793,6 +1815,7 @@ CONFIG_RK29_IPP=y
# CMMB
#
# CONFIG_CMMB is not set
# CONFIG_TEST_CODE is not set
#
# File systems

44
arch/arm/mach-rk29/board-rk29-a22.c Normal file → Executable file
View File

@@ -758,8 +758,50 @@ EXPORT_SYMBOL_GPL(pmu_wm831x_set_resume_voltage);
int wm831x_last_deinit(struct wm831x *parm)
{
struct regulator* ldo;
printk("%s\n", __FUNCTION__);
ldo = regulator_get(NULL, "ldo1");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo2");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo3");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo4");
//regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo5");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo6");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo7");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo8");
//regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo9");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo10");
regulator_disable(ldo);
regulator_put(ldo);
return 0;
}
@@ -3026,7 +3068,7 @@ static void __init machine_rk29_board_init(void)
gpio_set_value(POWER_ON_PIN, GPIO_HIGH);
gpio_direction_output(POWER_ON_PIN, GPIO_HIGH);
pm_power_off = rk29_pm_power_off;
arm_pm_restart = rk29_pm_power_restart;
//arm_pm_restart = rk29_pm_power_restart;
platform_add_devices(devices, ARRAY_SIZE(devices));
#ifdef CONFIG_I2C0_RK29

View File

@@ -811,8 +811,50 @@ EXPORT_SYMBOL_GPL(pmu_wm831x_set_resume_voltage);
int wm831x_last_deinit(struct wm831x *parm)
{
struct regulator* ldo;
printk("%s\n", __FUNCTION__);
ldo = regulator_get(NULL, "ldo1");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo2");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo3");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo4");
//regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo5");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo6");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo7");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo8");
//regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo9");
regulator_disable(ldo);
regulator_put(ldo);
ldo = regulator_get(NULL, "ldo10");
regulator_disable(ldo);
regulator_put(ldo);
return 0;
}
@@ -2935,18 +2977,10 @@ static void __init machine_rk29_init_irq(void)
}
#define POWER_ON_PIN RK29_PIN4_PA4
static void rk29_pm_power_off(void)
{
printk(KERN_ERR "rk29_pm_power_off start...\n");
gpio_direction_output(POWER_ON_PIN, GPIO_LOW);
#if defined(CONFIG_MFD_WM831X)
wm831x_device_shutdown(gWm831x);
#endif
while (1);
}
static void rk29_pm_power_restart(void)
{
printk("%s\n",__FUNCTION__);
printk("%s,line=%d\n",__FUNCTION__,__LINE__);
mdelay(2);
#if defined(CONFIG_MFD_WM831X)
wm831x_device_restart(gWm831x);
@@ -2954,6 +2988,19 @@ static void rk29_pm_power_restart(void)
}
static void rk29_pm_power_off(void)
{
printk(KERN_ERR "rk29_pm_power_off start...\n");
gpio_direction_output(POWER_ON_PIN, GPIO_LOW);
#if defined(CONFIG_MFD_WM831X)
if(wm831x_read_usb(gWm831x))
rk29_pm_power_restart(); //if charging then restart
else
wm831x_device_shutdown(gWm831x);//else shutdown
#endif
while (1);
}
static void __init machine_rk29_board_init(void)
{
rk29_board_iomux_init();
@@ -2962,7 +3009,7 @@ static void __init machine_rk29_board_init(void)
gpio_set_value(POWER_ON_PIN, GPIO_HIGH);
gpio_direction_output(POWER_ON_PIN, GPIO_HIGH);
pm_power_off = rk29_pm_power_off;
arm_pm_restart = rk29_pm_power_restart;
//arm_pm_restart = rk29_pm_power_restart;
platform_add_devices(devices, ARRAY_SIZE(devices));
#ifdef CONFIG_I2C0_RK29

View File

@@ -833,6 +833,8 @@ static __devexit int wm831x_alive_ldo_remove(struct platform_device *pdev)
static __devexit int wm831x_alive_ldo_shutdown(struct platform_device *pdev) /*ZMF*/
{
//struct wm831x_ldo *ldo = platform_get_drvdata(pdev);
#if 0
//close ldo in wm831x_last_deinit()
struct regulator* ldo;
//if (reboot_cmd_get())
@@ -878,7 +880,7 @@ static __devexit int wm831x_alive_ldo_shutdown(struct platform_device *pdev) /*Z
ldo = regulator_get(NULL, "ldo10");
regulator_disable(ldo);
regulator_put(ldo);
#endif
return 0;
}