diff options
author | Venu Byravarasu <vbyravarasu@nvidia.com> | 2013-05-16 19:43:02 +0530 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-05-30 02:49:11 +0300 |
commit | 2d22b42db02fdafeb7b990c2c25caabff4dd46fe (patch) | |
tree | 5f80c9594098d7d6339d5bb19004c2be79b10d10 /include/linux/usb | |
parent | 6829f92f6e64bfc6a553d7a2203ce1cb2e433c01 (diff) | |
download | linux-stable-2d22b42db02fdafeb7b990c2c25caabff4dd46fe.tar.gz linux-stable-2d22b42db02fdafeb7b990c2c25caabff4dd46fe.tar.bz2 linux-stable-2d22b42db02fdafeb7b990c2c25caabff4dd46fe.zip |
usb: phy: registering Tegra USB PHY as platform driver
Registered Tegra USB PHY as a separate platform driver.
To synchronize host controller and PHY initialization, used deferred
probe mechanism. As PHY should be initialized before EHCI starts running,
deferred probe of Tegra EHCI driver till PHY probe gets completed.
Got rid of instance number based handling in host driver.
Made use of DT params to get the PHY Pad registers.
Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'include/linux/usb')
-rw-r--r-- | include/linux/usb/tegra_usb_phy.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/usb/tegra_usb_phy.h b/include/linux/usb/tegra_usb_phy.h index 97d123c4d7cc..0cd15d2df53d 100644 --- a/include/linux/usb/tegra_usb_phy.h +++ b/include/linux/usb/tegra_usb_phy.h @@ -63,14 +63,9 @@ struct tegra_usb_phy { bool is_legacy_phy; bool is_ulpi_phy; int reset_gpio; - void (*set_pts)(struct usb_phy *x, u8 pts_val); - void (*set_phcd)(struct usb_phy *x, bool enable); }; -struct tegra_usb_phy *tegra_usb_phy_open(struct device *dev, int instance, - void __iomem *regs, void *config, - void (*set_pts)(struct usb_phy *x, u8 pts_val), - void (*set_phcd)(struct usb_phy *x, bool enable)); +struct usb_phy *tegra_usb_get_phy(struct device_node *dn); void tegra_usb_phy_preresume(struct usb_phy *phy); @@ -81,4 +76,8 @@ void tegra_ehci_phy_restore_start(struct usb_phy *phy, void tegra_ehci_phy_restore_end(struct usb_phy *phy); +void tegra_ehci_set_pts(struct usb_phy *x, u8 pts_val); + +void tegra_ehci_set_phcd(struct usb_phy *x, bool enable); + #endif /* __TEGRA_USB_PHY_H */ |