#
# 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
# 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
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
# 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
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
# 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
# CONFIG_STE is not set
CONFIG_MTK23D=y
# CONFIG_FM580X is not set
+# CONFIG_MU509 is not set
# CONFIG_C2PORT is not set
#
# 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
# 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
#
# 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
# 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
# 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
# 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
# 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
# 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
# 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
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
# CMMB
#
# CONFIG_CMMB is not set
+# CONFIG_TEST_CODE is not set
#
# File systems
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;
}
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
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;
}
}
#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);
}
+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();
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