Hi All,
I need some help on my panda board features 4470 + tps62361 + twl6030.
the VDD_CORE and VDD_IVA are supplied by twl6030, and the VDD_MPU is supplied by tps62361.
but the board is not stable, it will stuck sometimes, when stuck, the LCD is still on, but the cpu already hang, about 10 seconds, the board restart itself.
Now we can sure that it is caused by the voltage of VDD_MPU, I tried to improve the voltage of it like below, and disable the SmartReflex to do calibate
diff --git a/arch/arm/mach-omap2/opp4xxx_data.c b/arch/arm/mach-omap2/opp4xxx_data.c
index 8bebfca..642309f 100644
--- a/arch/arm/mach-omap2/opp4xxx_data.c
+++ b/arch/arm/mach-omap2/opp4xxx_data.c
@@ -358,6 +358,7 @@ static struct omap_opp_def __initdata omap446x_opp_def_list[] = {
* Structures containing OMAP4470 voltage supported and various
* voltage dependent data for each VDD.
*/
+#if 0
#define OMAP4470_VDD_MPU_OPP50_UV 1025000
#define OMAP4470_VDD_MPU_OPP100_UV 1200000
#define OMAP4470_VDD_MPU_OPPTURBO_UV 1312000
@@ -365,13 +366,29 @@ static struct omap_opp_def __initdata omap446x_opp_def_list[] = {
#define OMAP4470_VDD_MPU_OPPNITROSB_UV 1380000
struct omap_volt_data omap447x_vdd_mpu_volt_data[] = {
- VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP50_UV, 0, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
- VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP100_UV, 0, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
- VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPTURBO_UV, 0, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
- VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPNITRO_UV, 0, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP50_UV, 90000, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP100_UV, 60000, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPTURBO_UV, 30000, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPNITRO_UV, 30000, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPNITROSB_UV, 30000, OMAP44XX_CONTROL_FUSE_MPU_OPPNITROSB, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
VOLT_DATA_DEFINE(0, 0, 0, 0, 0, 0),
};
+#else
+#define OMAP4470_VDD_MPU_OPP50_UV 1040000
+#define OMAP4470_VDD_MPU_OPP100_UV 1100000
+#define OMAP4470_VDD_MPU_OPPTURBO_UV 1170000
+#define OMAP4470_VDD_MPU_OPPNITRO_UV 1310000
+#define OMAP4470_VDD_MPU_OPPNITROSB_UV 1410000
+
+struct omap_volt_data omap447x_vdd_mpu_volt_data[] = {
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP50_UV, 1, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPP100_UV, 1, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPTURBO_UV, 1, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPNITRO_UV, 1, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
+ VOLT_DATA_DEFINE(OMAP4470_VDD_MPU_OPPNITROSB_UV, 1, OMAP44XX_CONTROL_FUSE_MPU_OPPNITROSB, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
Now the board can work more stable, but still stuck. specially when browsering the website. our WIFI chip is WL128X.
So, does anyone can give me some suggestion about this issue ?
thanks for your any reply!