1*79c7a90fSThierry Reding #ifndef _TEGRA_XUSB_PADCTL_H_ 2*79c7a90fSThierry Reding #define _TEGRA_XUSB_PADCTL_H_ 3*79c7a90fSThierry Reding 4*79c7a90fSThierry Reding struct tegra_xusb_phy; 5*79c7a90fSThierry Reding 6*79c7a90fSThierry Reding /** 7*79c7a90fSThierry Reding * tegra_xusb_phy_get() - obtain a reference to a specified padctl PHY 8*79c7a90fSThierry Reding * @type: the type of PHY to obtain 9*79c7a90fSThierry Reding * 10*79c7a90fSThierry Reding * The type of PHY varies between SoC generations. Typically there are XUSB, 11*79c7a90fSThierry Reding * PCIe and SATA PHYs, though not all generations support all of them. The 12*79c7a90fSThierry Reding * value of type can usually be directly parsed from a device tree. 13*79c7a90fSThierry Reding * 14*79c7a90fSThierry Reding * Return: a pointer to the PHY or NULL if no such PHY exists 15*79c7a90fSThierry Reding */ 16*79c7a90fSThierry Reding struct tegra_xusb_phy *tegra_xusb_phy_get(unsigned int type); 17*79c7a90fSThierry Reding 18*79c7a90fSThierry Reding void tegra_xusb_padctl_init(const void *fdt); 19*79c7a90fSThierry Reding int tegra_xusb_phy_prepare(struct tegra_xusb_phy *phy); 20*79c7a90fSThierry Reding int tegra_xusb_phy_enable(struct tegra_xusb_phy *phy); 21*79c7a90fSThierry Reding int tegra_xusb_phy_disable(struct tegra_xusb_phy *phy); 22*79c7a90fSThierry Reding int tegra_xusb_phy_unprepare(struct tegra_xusb_phy *phy); 23*79c7a90fSThierry Reding 24*79c7a90fSThierry Reding #endif 25