// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2010 Google, Inc. */ #ifndef __TEGRA_USB_PHY_H #define __TEGRA_USB_PHY_H #include <linux/clk.h> #include <linux/regmap.h> #include <linux/reset.h> #include <linux/usb/otg.h> struct gpio_desc; /* * utmi_pll_config_in_car_module: true if the UTMI PLL configuration registers * should be set up by clk-tegra, false if by the PHY code * has_hostpc: true if the USB controller has the HOSTPC extension, which * changes the location of the PHCD and PTS fields * requires_usbmode_setup: true if the USBMODE register needs to be set to * enter host mode * requires_extra_tuning_parameters: true if xcvr_hsslew, hssquelch_level * and hsdiscon_level should be set for adequate signal quality * requires_pmc_ao_power_up: true if USB AO is powered down by default */ struct tegra_phy_soc_config { … }; struct tegra_utmip_config { … }; enum tegra_usb_phy_port_speed { … }; struct tegra_xtal_freq; struct tegra_usb_phy { … }; void tegra_usb_phy_preresume(struct usb_phy *phy); void tegra_usb_phy_postresume(struct usb_phy *phy); void tegra_ehci_phy_restore_start(struct usb_phy *phy, enum tegra_usb_phy_port_speed port_speed); void tegra_ehci_phy_restore_end(struct usb_phy *phy); #endif /* __TEGRA_USB_PHY_H */