number of clocks may depend of the SoC type.
   - clock-names: names of the clocks listed in clocks property in the same
     order.
-  - hdmi,hpd-gpio: gpio id to detect if an hdmi cable is plugged or not.
   - ddc: phandle of an I2C controller used for DDC EDID probing
 
 sti-hda:
                                interrupt-names = "irq";
                                clock-names     = "pix", "tmds", "phy", "audio";
                                clocks          = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>;
-                               hdmi,hpd-gpio   = <&PIO2 5>;
                        };
 
                        sti-hda@fe85a000 {
 
 
        /* Hot plug/unplug IRQ */
        if (hdmi->irq_status & HDMI_INT_HOT_PLUG) {
-               /* read gpio to get the status */
-               hdmi->hpd = gpio_get_value(hdmi->hpd_gpio);
+               hdmi->hpd = readl(hdmi->regs + HDMI_STA) & HDMI_STA_HOT_PLUG;
                if (hdmi->drm_dev)
                        drm_helper_hpd_irq_event(hdmi->drm_dev);
        }
                return PTR_ERR(hdmi->clk_audio);
        }
 
-       hdmi->hpd_gpio = of_get_named_gpio(np, "hdmi,hpd-gpio", 0);
-       if (hdmi->hpd_gpio < 0) {
-               DRM_ERROR("Failed to get hdmi hpd-gpio\n");
-               return -EIO;
-       }
-
-       hdmi->hpd = gpio_get_value(hdmi->hpd_gpio);
+       hdmi->hpd = readl(hdmi->regs + HDMI_STA) & HDMI_STA_HOT_PLUG;
 
        init_waitqueue_head(&hdmi->wait_event);
 
 
 #define HDMI_STA           0x0010
 #define HDMI_STA_DLL_LCK   BIT(5)
 
+#define HDMI_STA_HOT_PLUG_SHIFT 4
+#define HDMI_STA_HOT_PLUG      (1 << HDMI_STA_HOT_PLUG_SHIFT)
+
 struct sti_hdmi;
 
 struct hdmi_phy_ops {
  * @irq_status: interrupt status register
  * @phy_ops: phy start/stop operations
  * @enabled: true if hdmi is enabled else false
- * @hpd_gpio: hdmi hot plug detect gpio number
  * @hpd: hot plug detect status
  * @wait_event: wait event
  * @event_received: wait event status
        u32 irq_status;
        struct hdmi_phy_ops *phy_ops;
        bool enabled;
-       int hpd_gpio;
        bool hpd;
        wait_queue_head_t wait_event;
        bool event_received;