#define PANEL_DISPLAY_CTRL_VBIASEN                    BIT(26)
 #define PANEL_DISPLAY_CTRL_DATA                       BIT(25)
 #define PANEL_DISPLAY_CTRL_FPVDDEN                    BIT(24)
-
-#define PANEL_DISPLAY_CTRL_TFT_DISP 19:18
-#define PANEL_DISPLAY_CTRL_TFT_DISP_24 0
-#define PANEL_DISPLAY_CTRL_TFT_DISP_36 1
-#define PANEL_DISPLAY_CTRL_TFT_DISP_18 2
-
 #define PANEL_DISPLAY_CTRL_DUAL_DISPLAY               BIT(19)
 #define PANEL_DISPLAY_CTRL_DOUBLE_PIXEL               BIT(18)
 #define PANEL_DISPLAY_CTRL_FIFO                       17:16
 
                        POKE32(SYSTEM_CTRL, val);
                }
 
+               val = PEEK32(PANEL_DISPLAY_CTRL) &
+                       ~(PANEL_DISPLAY_CTRL_DUAL_DISPLAY |
+                         PANEL_DISPLAY_CTRL_DOUBLE_PIXEL);
                switch (sm750_dev->pnltype) {
-               case sm750_doubleTFT:
                case sm750_24TFT:
+                       break;
+               case sm750_doubleTFT:
+                       val |= PANEL_DISPLAY_CTRL_DOUBLE_PIXEL;
+                       break;
                case sm750_dualTFT:
-               POKE32(PANEL_DISPLAY_CTRL,
-                       FIELD_VALUE(PEEK32(PANEL_DISPLAY_CTRL),
-                                               PANEL_DISPLAY_CTRL,
-                                               TFT_DISP,
-                                               sm750_dev->pnltype));
-               break;
+                       val |= PANEL_DISPLAY_CTRL_DUAL_DISPLAY;
+                       break;
                }
+               POKE32(PANEL_DISPLAY_CTRL, val);
        } else {
                /* for 750LE ,no DVI chip initialization makes Monitor no signal */
                /* Set up GPIO for software I2C to program DVI chip in the