dw_hdmi_bus_fmt_is_420(hdmi))
                mode_is_420 = true;
 
-       /* Enable clocks */
-       regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, 0xffff, 0x100);
-
-       /* Bring HDMITX MEM output of power down */
-       regmap_update_bits(priv->hhi, HHI_MEM_PD_REG0, 0xff << 8, 0);
-
-       /* Bring out of reset */
-       dw_hdmi->data->top_write(dw_hdmi, HDMITX_TOP_SW_RESET,  0);
-
-       /* Enable internal pixclk, tmds_clk, spdif_clk, i2s_clk, cecclk */
-       dw_hdmi_top_write_bits(dw_hdmi, HDMITX_TOP_CLK_CNTL,
-                              0x3, 0x3);
-
-       /* Enable cec_clk and hdcp22_tmdsclk_en */
-       dw_hdmi_top_write_bits(dw_hdmi, HDMITX_TOP_CLK_CNTL,
-                              0x3 << 4, 0x3 << 4);
-
-       /* Enable normal output to PHY */
-       dw_hdmi->data->top_write(dw_hdmi, HDMITX_TOP_BIST_CNTL, BIT(12));
-
        /* TMDS pattern setup */
        if (mode->clock > 340000 && !mode_is_420) {
                dw_hdmi->data->top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01,
        /* Setup PHY parameters */
        meson_hdmi_phy_setup_mode(dw_hdmi, mode, mode_is_420);
 
-       /* Setup PHY */
-       regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
-                          0xffff << 16, 0x0390 << 16);
-
-       /* BIT_INVERT */
-       if (dw_hdmi_is_compatible(dw_hdmi, "amlogic,meson-gxl-dw-hdmi") ||
-           dw_hdmi_is_compatible(dw_hdmi, "amlogic,meson-gxm-dw-hdmi") ||
-           dw_hdmi_is_compatible(dw_hdmi, "amlogic,meson-g12a-dw-hdmi"))
-               regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
-                                  BIT(17), 0);
-       else
-               regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
-                                  BIT(17), BIT(17));
-
        /* Disable clock, fifo, fifo_wr */
        regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1, 0xf, 0);
 
        meson_dw_hdmi->data->top_write(meson_dw_hdmi,
                                       HDMITX_TOP_CLK_CNTL, 0xff);
 
+       /* Enable normal output to PHY */
+       meson_dw_hdmi->data->top_write(meson_dw_hdmi, HDMITX_TOP_BIST_CNTL, BIT(12));
+
+       /* Setup PHY */
+       regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
+                          0xffff << 16, 0x0390 << 16);
+
+       /* BIT_INVERT */
+       if (dw_hdmi_is_compatible(meson_dw_hdmi, "amlogic,meson-gxl-dw-hdmi") ||
+           dw_hdmi_is_compatible(meson_dw_hdmi, "amlogic,meson-gxm-dw-hdmi") ||
+           dw_hdmi_is_compatible(meson_dw_hdmi, "amlogic,meson-g12a-dw-hdmi"))
+               regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
+                                  BIT(17), 0);
+       else
+               regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1,
+                                  BIT(17), BIT(17));
+
        /* Enable HDMI-TX Interrupt */
        meson_dw_hdmi->data->top_write(meson_dw_hdmi, HDMITX_TOP_INTR_STAT_CLR,
                                       HDMITX_TOP_INTR_CORE);