phy: sun4i-usb: Add a sunxi specific function for setting squelch-detect
[deliverable/linux.git] / drivers / phy / phy-sun4i-usb.c
index a2b08f3ccb031cbf3a484cb0afab5665c0fb3ad7..e17c539e4f6fbb138c04957532f3a329a8556b4a 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/phy/phy.h>
+#include <linux/phy/phy-sun4i-usb.h>
 #include <linux/platform_device.h>
 #include <linux/regulator/consumer.h>
 #include <linux/reset.h>
@@ -58,6 +59,7 @@
 #define PHY_OTG_FUNC_EN                        0x28
 #define PHY_VBUS_DET_EN                        0x29
 #define PHY_DISCON_TH_SEL              0x2a
+#define PHY_SQUELCH_DETECT             0x3c
 
 #define MAX_PHYS                       3
 
@@ -204,6 +206,13 @@ static int sun4i_usb_phy_power_off(struct phy *_phy)
        return 0;
 }
 
+void sun4i_usb_phy_set_squelch_detect(struct phy *_phy, bool enabled)
+{
+       struct sun4i_usb_phy *phy = phy_get_drvdata(_phy);
+
+       sun4i_usb_phy_write(phy, PHY_SQUELCH_DETECT, enabled ? 0 : 2, 2);
+}
+
 static struct phy_ops sun4i_usb_phy_ops = {
        .init           = sun4i_usb_phy_init,
        .exit           = sun4i_usb_phy_exit,
This page took 0.024449 seconds and 5 git commands to generate.