18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#ifndef PHY_TEGRA_XUSB_H
78c2ecf20Sopenharmony_ci#define PHY_TEGRA_XUSB_H
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cistruct tegra_xusb_padctl;
108c2ecf20Sopenharmony_cistruct device;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cistruct tegra_xusb_padctl *tegra_xusb_padctl_get(struct device *dev);
138c2ecf20Sopenharmony_civoid tegra_xusb_padctl_put(struct tegra_xusb_padctl *padctl);
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciint tegra_xusb_padctl_usb3_save_context(struct tegra_xusb_padctl *padctl,
168c2ecf20Sopenharmony_ci					unsigned int port);
178c2ecf20Sopenharmony_ciint tegra_xusb_padctl_hsic_set_idle(struct tegra_xusb_padctl *padctl,
188c2ecf20Sopenharmony_ci				    unsigned int port, bool idle);
198c2ecf20Sopenharmony_ciint tegra_xusb_padctl_usb3_set_lfps_detect(struct tegra_xusb_padctl *padctl,
208c2ecf20Sopenharmony_ci					   unsigned int port, bool enable);
218c2ecf20Sopenharmony_ciint tegra_xusb_padctl_set_vbus_override(struct tegra_xusb_padctl *padctl,
228c2ecf20Sopenharmony_ci					bool val);
238c2ecf20Sopenharmony_ciint tegra_phy_xusb_utmi_port_reset(struct phy *phy);
248c2ecf20Sopenharmony_ciint tegra_xusb_padctl_get_usb3_companion(struct tegra_xusb_padctl *padctl,
258c2ecf20Sopenharmony_ci					 unsigned int port);
268c2ecf20Sopenharmony_ci#endif /* PHY_TEGRA_XUSB_H */
27