blob: 71d956935405f0176ba437f4fea04f8ab5b918b5 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
3 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00004 */
5
6#ifndef PHY_TEGRA_XUSB_H
7#define PHY_TEGRA_XUSB_H
8
9struct tegra_xusb_padctl;
10struct device;
11
12struct tegra_xusb_padctl *tegra_xusb_padctl_get(struct device *dev);
13void tegra_xusb_padctl_put(struct tegra_xusb_padctl *padctl);
14
15int tegra_xusb_padctl_usb3_save_context(struct tegra_xusb_padctl *padctl,
16 unsigned int port);
17int tegra_xusb_padctl_hsic_set_idle(struct tegra_xusb_padctl *padctl,
18 unsigned int port, bool idle);
19int tegra_xusb_padctl_usb3_set_lfps_detect(struct tegra_xusb_padctl *padctl,
20 unsigned int port, bool enable);
Olivier Deprez157378f2022-04-04 15:47:50 +020021int tegra_xusb_padctl_set_vbus_override(struct tegra_xusb_padctl *padctl,
22 bool val);
23int tegra_phy_xusb_utmi_port_reset(struct phy *phy);
24int tegra_xusb_padctl_get_usb3_companion(struct tegra_xusb_padctl *padctl,
25 unsigned int port);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000026#endif /* PHY_TEGRA_XUSB_H */