- 07 12月, 2013 1 次提交
-
-
由 Chris Ruehl 提交于
usb: phy-tegra-usb.c: wrong pointer check for remap UTMI A wrong pointer was used to test the result of devm_ioremap() Acked-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NThierry Reding <treding@nvidia.com> Signed-off-by: NChris Ruehl <chris.ruehl@gtsys.com.hk> Acked-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 01 10月, 2013 1 次提交
-
-
由 Sachin Kamat 提交于
The data structure of_match_ptr() protects is always compiled in. Hence of_match_ptr() is not needed. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: linux-tegra@vger.kernel.org Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 31 8月, 2013 1 次提交
-
-
由 Libo Chen 提交于
Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &of->dev, so we can directly pass a struct platform_device. Signed-off-by: NLibo Chen <libo.chen@huawei.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 13 8月, 2013 3 次提交
-
-
由 Tuomas Tynkkynen 提交于
The Tegra30 TRM recommends configuration of certain PHY parameters for optimal quality. Program the following registers based on device tree parameters: - UTMIP_XCVR_HSSLEW: HS slew rate control. - UTMIP_HSSQUELCH_LEVEL: HS squelch detector level - UTMIP_HSDISCON_LEVEL: HS disconnect detector level. These registers exist in Tegra20, but programming them hasn't been necessary, so these parameters won't be set on Tegra20 to keep the device trees backward compatible. Additionally, the UTMIP_XCVR_SETUP parameter can be set from fuses instead of a software-programmed value, as the optimal value can vary between invidual boards. The boolean property nvidia,xcvr-setup-use-fuses can be used to enable this behaviour. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
The Tegra30 USB PHY is a bit different than the Tegra20 PHY: - The EHCI controller supports the HOSTPC register extension, and some of the fields that the PHY needs to modify (PHCD and PTS) have moved to the new HOSTPC register. - Some of the UTMI PLL configuration registers have moved from the USB register space to the Clock-And-Reset controller space. In Tegra30 the clock driver is responsible for configuring the UTMI PLL. - The USBMODE register must be explicitly written to enter host mode. - Certain PHY parameters need to be programmed for optimal signal quality. Support for this will be added in the next patch. The new tegra_phy_soc_config structure is added to describe the differences between the SoCs. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
Some of the PHY parameters are not set according to the TRMs: - UTMIP_FS_PREABMLE_J should be set, not cleared - UTMIP_XCVR_LSBIAS_SEL should be cleared, not set - UTMIP_PD_CHRG should be set in host mode and cleared in device mode - UTMIP_XCVR_SETUP is a two-part field; the upper bits were not set properly Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 29 7月, 2013 8 次提交
-
-
由 Tuomas Tynkkynen 提交于
Use switch() instead of if-else when checking for the PHY type. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
Use the new of_usb_get_dr_mode helper function for parsing dr_mode from the device tree. Also replace the usage of the custom tegra_usb_phy_mode enum with the standard enum. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
Use the new of_usb_get_phy_mode helper function for parsing phy_type from the device tree. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
The Tegra EHCI driver is no longer using these custom functions, so they can be removed. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
Register the Tegra PHY device instances with the PHY subsystem so that the Tegra EHCI driver can locate a PHY via the standard APIs. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Tuomas Tynkkynen 提交于
struct usb_phy already has a field for the device pointer, so this unnecessary field can be removed. Signed-off-by: NTuomas Tynkkynen <ttynkkynen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mikko Perttunen 提交于
The tegra ehci driver has enabled USB vbus regulators directly using GPIOs and the device tree attribute nvidia,vbus-gpio. This is ugly and causes error messages on boot when both the regulator driver and the ehci driver want access to the same GPIO. After this patch, usb vbus regulators for tegra usb phy devices are specified with the device tree attribute vbus-supply = <&x> where x is a regulator defined in the device tree. The old nvidia,vbus-gpio property is no longer supported. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mikko Perttunen 提交于
UTMIP parameters used to be hardcoded into tables in the PHY driver. This patch reads them from the device tree instead in accordance with the phy-tegra-usb DT documentation. Signed-off-by: NMikko Perttunen <mperttunen@nvidia.com> Reviewed-by: NStephen Warren <swarren@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 25 6月, 2013 1 次提交
-
-
由 Wei Yongjun 提交于
Remove duplicated include. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 6月, 2013 2 次提交
-
-
由 Stephen Warren 提交于
The Tegra EHCI driver directly calls various functions in the Tegra USB PHY driver. The reverse is also true; the PHY driver calls into the EHCI driver. This is problematic when the two are built as modules. The calls from the PHY to EHCI driver were originally added in commit bbdabdb6 "usb: add APIs to access host registers from Tegra PHY", for the following reasons: 1) The register being touched is an EHCI register, so logically only the EHCI driver should touch it. 2) (1) implies that some locking may be needed to correctly implement the r/m/w access to this shared register. 3) We were expecting to pass only the PHY register space to the Tegra PHY driver, and hence it would not have access to touch the shared registers. To solve this, that commit added functions in the EHCI driver to touch the shared register on behalf of the PHY driver. In practice, we ended up not having any locking in the implementaiton of those functions, and I've been led to believe this is safe. Equally, (3) did not happen either. Hence, it is possible for the PHY driver to touch the shared register directly. Given that, this patch moves the code to touch the shared register back into the PHY driver, to eliminate the module problems. If we actually need locking or co-ordination in the future, I propose we put the lock support into some pre-existing core module, or into a third separate module, in order to avoid the circular dependencies. I apologize for my contribution to code churn here. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Acked-by: NArnd Bergmann <arnd@arndb.de> Tested-by: NThierry Reding <thierry.reding@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Stephen Warren 提交于
When this file is built as a module, it needs a MODULE_LICENSE in order to access many exported symbols. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NFelipe Balbi <balbi@ti.com> Tested-by: NThierry Reding <thierry.reding@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 30 5月, 2013 5 次提交
-
-
由 Venu Byravarasu 提交于
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: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Venu Byravarasu 提交于
Check return values from all GPIO APIs and handle errors accordingly. Remove the call to clk_disable_unprepare(); this function does not prepare or enable the clock, so the error path should not disable or unprepare it. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Venu Byravarasu 提交于
As GPIO information is avail through DT, used it to get Tegra ULPI reset GPIO number. Added a new member to tegra_usb_phy structure to store this number. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Venu Byravarasu 提交于
Added a new PHY mode to support OTG. Obtained Tegra USB PHY mode using DT property. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Venu Byravarasu 提交于
In case if clk_get_sys fails, return correct error value provided by the API. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 24 4月, 2013 1 次提交
-
-
由 Arnd Bergmann 提交于
Both phy-tegra-usb.c and ehci-tegra.c export symbols used by the other one, which does not work if one of them or both are loadable modules, resulting in an error like: drivers/built-in.o: In function `utmi_phy_clk_disable': drivers/usb/phy/phy-tegra-usb.c:302: undefined reference to `tegra_ehci_set_phcd' drivers/built-in.o: In function `utmi_phy_clk_enable': drivers/usb/phy/phy-tegra-usb.c:324: undefined reference to `tegra_ehci_set_phcd' drivers/built-in.o: In function `utmi_phy_power_on': drivers/usb/phy/phy-tegra-usb.c:447: undefined reference to `tegra_ehci_set_pts' This turns the interface into a one-way dependency by letting the tegra ehci driver pass two function pointers for callbacks that need to be called by the phy driver. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Cc: Venu Byravarasu <vbyravarasu@nvidia.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Felipe Balbi <balbi@ti.com> Cc: Stephen Warren <swarren@nvidia.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 18 3月, 2013 1 次提交
-
-
由 Felipe Balbi 提交于
this will make sure that we have sensible names for all phy drivers. Current situation was already quite bad with too generic names being used. Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 29 1月, 2013 6 次提交
-
-
由 Venu Byravarasu 提交于
As pointer to PHY structure can be stored in struct usb_hcd making use of it, to call Tegra PHY APIs. Call to usb_phy_shutdown() is moved up in tegra_ehci_remove(), so that to avoid dereferencing of hcd after its freed up. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Acked-by: NFelipe Balbi <balbi@ti.com> Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Venu Byravarasu 提交于
As Tegra PHY driver needs to access one of the host registers, added few APIs. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> [swarren: moved assignment of phy->is_ulpi_phy to previous patch.] Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Venu Byravarasu 提交于
Tegra20 USB has 3 PHY instances: Instance 1 and 3 are UTMI. Instance 2 is ULPI. As instance number was used to differentiate ULPI from UTMI, used DT param to get this info and processed accordingly. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Acked-by: NFelipe Balbi <balbi@ti.com> [swarren: moved assignment of phy->is_ulpi_phy into this patch out of next patch.] Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Venu Byravarasu 提交于
Tegra20 USB has 3 PHY instances. Instance 0 is based on legacy PHY interface and other two are standard interfaces. As instance number was used to differentiate legacy from standard interfaces, used DT param to get this info and processed accordingly. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Acked-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Venu Byravarasu 提交于
As tegra_usb_phy_clk_disable/enable() are not being used, removing them. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
由 Venu Byravarasu 提交于
Use kzalloc instead of kmalloc to allocate struct tegra_usb_phy. This ensures that all function pointers in member u_phy are initialized to NULL. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 06 11月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Almost nothing from this file is used, and the file will hopefully be deleted soon. Copy the tiny portions that are used directly into tegra_usb_phy.c. I believe that Venu Byravarasu is working on cleaning up our USB driver, and those cleanups will remove the need for these constants. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 25 10月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Almost nothing from this file is used, and the file will hopefully be deleted soon. Copy the tiny portions that are used directly into tegra_usb_phy.c. I believe that Venu Byravarasu is working on cleaning up our USB driver, and those cleanups will remove the need for these constants. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 16 10月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Almost nothing from this file is used, and the file will hopefully be deleted soon. Copy the tiny portions that are used directly into tegra_usb_phy.c. I believe that Venu Byravarasu is working on cleaning up our USB driver, and those cleanups will remove the need for these constants. Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 15 9月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Nothing from these files is needed, so remove the includes. This helps single zImage work by reducing use of the mach-tegra/include/mach/ directory. Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 05 9月, 2012 1 次提交
-
-
由 Venu Byravarasu 提交于
As part of this patch: 1. Moved existing tegra phy driver to drivers/USB directory. 2. Added standard USB phy driver APIs to tegra phy driver. Signed-off-by: NVenu Byravarasu <vbyravarasu@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 12 6月, 2012 1 次提交
-
-
由 Prashant Gaikwad 提交于
Use clk_prepare/clk_unprepare as required by the generic clk framework. Tested on Ventana and Cardhu. Signed-off-by: NPrashant Gaikwad <pgaikwad@nvidia.com> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 26 4月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
ULPI PHYs have a reset signal, and different boards use a different GPIO for this task. Add a property to device tree to represent this. I'm not sure if adding this property to the EHCI controller node is entirely correct; perhaps eventually we should have explicit separate nodes for the various PHYs. However, we don't have that right now, so this binding seems like a reasonable choice. Cc: <devicetree-discuss@lists.ozlabs.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: <linux-usb@vger.kernel.org> Signed-off-by: NStephen Warren <swarren@nvidia.com>
-
- 19 4月, 2012 1 次提交
-
-
由 Stephen Warren 提交于
Recent pinctrl discussions concluded that gpiolib APIs should in fact do whatever is required to mux a GPIO onto pins, by calling pinctrl APIs if required. This change implements this for the Tegra GPIO driver, and removes calls to the Tegra-specific APIs from drivers and board files. Cc: Chris Ball <cjb@laptop.org> Cc: linux-mmc@vger.kernel.org Signed-off-by: NStephen Warren <swarren@nvidia.com> Acked-by: Chris Ball <cjb@laptop.org> # for sdhci-tegra.c Acked-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NOlof Johansson <olof@lixom.net>
-
- 05 3月, 2012 1 次提交
-
-
由 Arnd Bergmann 提交于
The ehci driver can be a module, so the functions provided by the tegra platform code used by ehci-tegra need to be exported. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NAlan Ott <alan@signal11.us> Signed-off-by: NOlof Johansson <olof@lixom.net>
-
- 27 2月, 2012 1 次提交
-
-
由 Heikki Krogerus 提交于
Use the new usb_phy_* functions with transceiver operations instead of the old otg functions. Includes fixes from Sascha Hauer. Signed-off-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: NSascha Hauer <s.hauer@pengutronix.de> Acked-by: NPavankumar Kondeti <pkondeti@codeaurora.org> Acked-by: NLi Yang <leoli@freescale.com> Acked-by: NAlan Stern <stern@rowland.harvard.edu> Reviewed-by: NMarek Vasut <marek.vasut@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-