#define KSZ_PTP_INT_START 13
 
+static int ksz_ptp_tou_gpio(struct ksz_device *dev)
+{
+       int ret;
+
+       if (!is_lan937x(dev))
+               return 0;
+
+       ret = ksz_rmw32(dev, REG_PTP_CTRL_STAT__4, GPIO_OUT,
+                       GPIO_OUT);
+       if (ret)
+               return ret;
+
+       ret = ksz_rmw32(dev, REG_SW_GLOBAL_LED_OVR__4, LED_OVR_1 | LED_OVR_2,
+                       LED_OVR_1 | LED_OVR_2);
+       if (ret)
+               return ret;
+
+       return ksz_rmw32(dev, REG_SW_GLOBAL_LED_SRC__4,
+                        LED_SRC_PTP_GPIO_1 | LED_SRC_PTP_GPIO_2,
+                        LED_SRC_PTP_GPIO_1 | LED_SRC_PTP_GPIO_2);
+}
+
 static int ksz_ptp_tou_reset(struct ksz_device *dev, u8 unit)
 {
        u32 data;
        if (ret)
                return ret;
 
+       ret = ksz_ptp_tou_gpio(dev);
+       if (ret)
+               return ret;
+
        ret = ksz_ptp_tou_start(dev, request->index);
        if (ret)
                return ret;
 
 #ifndef __KSZ_PTP_REGS_H
 #define __KSZ_PTP_REGS_H
 
+#define REG_SW_GLOBAL_LED_OVR__4       0x0120
+#define LED_OVR_2                      BIT(1)
+#define LED_OVR_1                      BIT(0)
+
+#define REG_SW_GLOBAL_LED_SRC__4       0x0128
+#define LED_SRC_PTP_GPIO_1             BIT(3)
+#define LED_SRC_PTP_GPIO_2             BIT(2)
+
 /* 5 - PTP Clock */
 #define REG_PTP_CLK_CTRL               0x0500