switch (command) {
        case XC2028_TUNER_RESET:
-               cx_set(MO_GP0_IO, 0x0200);
-               cx_clear(MO_GP0_IO, 0x02);
-               mdelay(100);
-               cx_set(MO_GP0_IO, 0x02);
-               mdelay(100);
+               cx_write(MO_GP0_IO, 0x101000);
+               mdelay(5);
+               cx_set(MO_GP0_IO, 0x101010);
                break;
        default:
                return -EINVAL;
                cx_write(MO_GP0_IO, 0x000007f8);
                cx_write(MO_GP1_IO, 0x00000001);
                break;
+       case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
+               /* GPIO0:0 is hooked to demod reset */
+               /* GPIO0:4 is hooked to xc3028 reset */
+               cx_write(MO_GP0_IO, 0x00111100);
+               msleep(1);
+               cx_write(MO_GP0_IO, 0x00111111);
+               break;
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL:
                /* GPIO0:6 is hooked to FX2 reset pin */
                cx_set(MO_GP0_IO, 0x00004040);
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1:
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS:
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID:
-       case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO:
                /* GPIO0:0 is hooked to mt352 reset pin */
                cx_set(MO_GP0_IO, 0x00000101);
                cx_clear(MO_GP0_IO, 0x00000001);
 
                        dev->dvb.frontend = dvb_attach(mt352_attach,
                                                &dvico_fusionhdtv_mt352_xc3028,
                                                &dev->core->i2c_adap);
+               /*
+                * On this board, the demod provides the I2C bus pullup.
+                * We must not permit gate_ctrl to be performed, or
+                * the xc3028 cannot communicate on the bus.
+                */
+               if (dev->dvb.frontend)
+                       dev->dvb.frontend->ops.i2c_gate_ctrl = NULL;
+
                attach_xc3028 = 1;
                break;
        case CX88_BOARD_PCHDTV_HD3000: