sm501fb_sync_regs(fbi);
                mdelay(10);
 
+               /* VBIASEN */
+
                if (!(pd->flags & SM501FB_FLAG_PANEL_NO_VBIASEN)) {
-                       control |= SM501_DC_PANEL_CONTROL_BIAS; /* VBIASEN */
+                       if (pd->flags & SM501FB_FLAG_PANEL_INV_VBIASEN)
+                               control &= ~SM501_DC_PANEL_CONTROL_BIAS;
+                       else
+                               control |= SM501_DC_PANEL_CONTROL_BIAS;
+
                        writel(control, ctrl_reg);
                        sm501fb_sync_regs(fbi);
                        mdelay(10);
                }
 
                if (!(pd->flags & SM501FB_FLAG_PANEL_NO_FPEN)) {
-                       control |= SM501_DC_PANEL_CONTROL_FPEN;
+                       if (pd->flags & SM501FB_FLAG_PANEL_INV_FPEN)
+                               control &= ~SM501_DC_PANEL_CONTROL_FPEN;
+                       else
+                               control |= SM501_DC_PANEL_CONTROL_FPEN;
+
                        writel(control, ctrl_reg);
                        sm501fb_sync_regs(fbi);
                        mdelay(10);
        } else if (!to && (control & SM501_DC_PANEL_CONTROL_VDD) != 0) {
                /* disable panel power */
                if (!(pd->flags & SM501FB_FLAG_PANEL_NO_FPEN)) {
-                       control &= ~SM501_DC_PANEL_CONTROL_FPEN;
+                       if (pd->flags & SM501FB_FLAG_PANEL_INV_FPEN)
+                               control |= SM501_DC_PANEL_CONTROL_FPEN;
+                       else
+                               control &= ~SM501_DC_PANEL_CONTROL_FPEN;
+
                        writel(control, ctrl_reg);
                        sm501fb_sync_regs(fbi);
                        mdelay(10);
                }
 
                if (!(pd->flags & SM501FB_FLAG_PANEL_NO_VBIASEN)) {
-                       control &= ~SM501_DC_PANEL_CONTROL_BIAS;
+                       if (pd->flags & SM501FB_FLAG_PANEL_INV_VBIASEN)
+                               control |= SM501_DC_PANEL_CONTROL_BIAS;
+                       else
+                               control &= ~SM501_DC_PANEL_CONTROL_BIAS;
+
                        writel(control, ctrl_reg);
                        sm501fb_sync_regs(fbi);
                        mdelay(10);
 
 #define SM501FB_FLAG_USE_HWACCEL       (1<<3)
 #define SM501FB_FLAG_PANEL_NO_FPEN     (1<<4)
 #define SM501FB_FLAG_PANEL_NO_VBIASEN  (1<<5)
+#define SM501FB_FLAG_PANEL_INV_FPEN    (1<<6)
+#define SM501FB_FLAG_PANEL_INV_VBIASEN (1<<7)
 
 struct sm501_platdata_fbsub {
        struct fb_videomode     *def_mode;