From 129c45c72872cf82dde44024864a517267aed68a Mon Sep 17 00:00:00 2001 From: Jagan Teki Date: Mon, 7 May 2018 13:03:27 +0530 Subject: phy: sun4i-usb: Add id_detect and vbus_detect ops ID and VBUS detection code require when musb changing between Host and/or Peripheral modes. Signed-off-by: Jagan Teki Acked-by: Jun Nie --- include/phy-sun4i-usb.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 include/phy-sun4i-usb.h (limited to 'include') diff --git a/include/phy-sun4i-usb.h b/include/phy-sun4i-usb.h new file mode 100644 index 0000000000..040e9d3750 --- /dev/null +++ b/include/phy-sun4i-usb.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017 Jagan Teki + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __GENERIC_PHY_SUN4I_USB_H +#define __GENERIC_PHY_SUN4I_USB_H + +/** + * sun4i_usb_phy_id_detect - detect ID pin of USB PHY + * + * @phy: USB PHY port to detect ID pin + * @return 0 if OK, or a negative error code + */ +int sun4i_usb_phy_id_detect(struct phy *phy); + +/** + * sun4i_usb_phy_vbus_detect - detect VBUS pin of USB PHY + * + * @phy: USB PHY port to detect VBUS pin + * @return 0 if OK, or a negative error code + */ +int sun4i_usb_phy_vbus_detect(struct phy *phy); + +#endif /*__GENERIC_PHY_SUN4I_USB_H */ -- cgit From aa29b11b3fdeaedb9689e89e467e6bbd036780ac Mon Sep 17 00:00:00 2001 From: Jagan Teki Date: Mon, 7 May 2018 13:03:37 +0530 Subject: phy: sun4i-usb: Add a sunxi specific function for setting squelch-detect The sunxi otg phy has a bug where it wrongly detects a high speed squelch when reset on the root port gets de-asserted with a lo-speed device. The workaround for this is to disable squelch detect before de-asserting reset, and re-enabling it after the reset de-assert is done. Add a sunxi specific phy function to allow the sunxi-musb glue to do this. Signed-off-by: Jagan Teki Acked-by: Jun Nie --- include/phy-sun4i-usb.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/phy-sun4i-usb.h b/include/phy-sun4i-usb.h index 040e9d3750..b0a45b2058 100644 --- a/include/phy-sun4i-usb.h +++ b/include/phy-sun4i-usb.h @@ -23,4 +23,12 @@ int sun4i_usb_phy_id_detect(struct phy *phy); */ int sun4i_usb_phy_vbus_detect(struct phy *phy); +/** + * sun4i_usb_phy_set_squelch_detect() - Enable/disable squelch detect + * + * @phy: reference to a sun4i usb phy + * @enabled: wether to enable or disable squelch detect + */ +void sun4i_usb_phy_set_squelch_detect(struct phy *phy, bool enabled); + #endif /*__GENERIC_PHY_SUN4I_USB_H */ -- cgit