diff --git a/arch/arm/include/asm/mach-imx/fbpanel.h b/arch/arm/include/asm/mach-imx/fbpanel.h
index 4b924d2ac829aec2ea043f80f92db639944d4bb8..bb8a94482cce84d9211cd29a8d36112cf59b51f3 100644
--- a/arch/arm/include/asm/mach-imx/fbpanel.h
+++ b/arch/arm/include/asm/mach-imx/fbpanel.h
@@ -129,6 +129,7 @@ void fbp_setup_env_cmds(void);
 #define VD_M101NWWB(_mode, _detect, _bus, _addr)	VDF_HANNSTAR7(_mode, "M101NWWB", RGB24, 0, _detect, _bus, _addr)
 #define VD_LD101WX1(_mode, _detect, _bus, _addr)	VDF_HANNSTAR7(_mode, "ld101wx1", RGB24, 0, _detect, _bus, _addr)
 #define VD_DT070BTFT(_mode, _detect, _bus, _addr)	VDF_DT070BTFT(_mode, "dt070btft", RGB24, FBF_JEIDA, _detect, _bus, _addr)
+#define VD_PM9598(_mode, _detect, _bus, _addr)		VDF_PM9598(_mode, "pm9598", RGB24, FBF_JEIDA, _detect, _bus, _addr)
 #define VD_WSVGA(_mode, _detect, _bus, _addr)		VDF_WSVGA(_mode, "wsvga", RGB666, 0, _detect, _bus, _addr)
 #define VD_ASIT500MA6F5D(_mode, _detect, _bus, _addr)	VDF_ASIT500MA6F5D(_mode, "ASIT500MA6F5D", RGB24, FBF_MODESTR, _detect, _bus, _addr)
 #define VD_FUSION7(_mode, _detect, _bus, _addr)		VDF_FUSION7(_mode, "fusion7", RGB666, FBF_MODESTR, _detect, _bus, _addr)
@@ -829,6 +830,26 @@ void fbp_setup_env_cmds(void);
 	}\
 }
 
+#define VDF_PM9598(_mode, _name, _fmt, _flags, _detect, _bus, _addr) \
+{\
+	VD_HEADER(_mode, _fmt, _flags, _detect, _bus, _addr),\
+	.mode	= {\
+		.name           = _name,\
+		.refresh        = 60,\
+		.xres           = 1024,\
+		.yres           = 600,\
+		.pixclock       = 1000000000000ULL/((1024+140+160+20)*(600+20+12+3)*60),\
+		.left_margin    = 140,\
+		.right_margin   = 160,\
+		.upper_margin   = 20,\
+		.lower_margin   = 12,\
+		.hsync_len      = 20,\
+		.vsync_len      = 3,\
+		.sync           = FB_SYNC_EXT,\
+		.vmode          = FB_VMODE_NONINTERLACED\
+	}\
+}
+
 /* ft5x06_ts */
 #define VDF_WSVGA(_mode, _name, _fmt, _flags, _detect, _bus, _addr) \
 {\