06 Mar, 2016
1 commit
-
…linux-phy into usb-testing
Kishon writes:
phy: for 4.6
*) Add driver for rockchip Display Port PHY
*) Add driver for the Rockchip SoC internal eMMC PHY
*) Add usb-uart functionality in rockchip-usb
*) cleanup rcar usb2 PHY driver
*) Fix for randconfig errorSigned-off-by: Kishon Vijay Abraham I <kishon@ti.com>
04 Mar, 2016
2 commits
-
The twl4030 USB PHY driver uses UNIVERSAL_DEV_PM_OPS to access
its suspend/resume functions, which causes a warning about
unused symbols when CONFIG_PM is disabled:drivers/phy/phy-twl4030-usb.c:394:12: error: 'twl4030_usb_runtime_suspend' defined but not used [-Werror=unused-function]
drivers/phy/phy-twl4030-usb.c:408:12: error: 'twl4030_usb_runtime_resume' defined but not used [-Werror=unused-function]This adds __maybe_unused annotations to let the compiler know
it can silently drop the function definition.Signed-off-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman -
The dm816x USB PHY driver uses UNIVERSAL_DEV_PM_OPS to access
its suspend/resume functions, which causes a warning about
unused symbols when CONFIG_PM is disabled:drivers/phy/phy-dm816x-usb.c:121:12: error: 'dm816x_usb_phy_runtime_suspend' defined but not used [-Werror=unused-function]
drivers/phy/phy-dm816x-usb.c:139:12: error: 'dm816x_usb_phy_runtime_resume' defined but not used [-Werror=unused-function]This adds __maybe_unused annotations to let the compiler know
it can silently drop the function definition.Signed-off-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
01 Mar, 2016
5 commits
-
The phy-armada375-usb2 driver uses IOMEM functions so COMPILE_TEST && OF
build failed with:drivers/built-in.o: In function `armada375_usb_phy_probe':
phy-armada375-usb2.c:(.text+0x121d): undefined reference to
`devm_ioremap_resource'Signed-off-by: Krzysztof Kozlowski
Signed-off-by: Kishon Vijay Abraham I -
Since the related driver (CPG/MSSR driver) only manages the first module
clock, this driver should not handle the HSUSB registers. So, this patch
removes the HSUSB registers handling.Signed-off-by: Yoshihiro Shimoda
Acked-by: Rob Herring
Signed-off-by: Kishon Vijay Abraham I -
Most newer Rockchip SoCs provide the possibility to use a usb-phy
as passthrough for the debug uart (uart2), making it possible to
for example get console output without needing to open the device.This patch adds an early_initcall to enable this functionality
conditionally via the commandline and also disables the corresponding
usb controller in the devicetree.Currently only data for the rk3288 is provided, but at least the
rk3188 and arm64 rk3368 also provide this functionality and will be
enabled later.On a spliced usb cable the signals are tx on white wire(D+) and
rx on green wire(D-).The one caveat is that currently the reconfiguration of the phy
happens as early_initcall, as the code depends on the unflattened
devicetree being available. Everything is fine if only a regular
console is active as the console-replay will happen after the
reconfiguation. But with earlycon active output up to smp-init
currently will get lost.The phy is an optional property for the connected dwc2 controller,
so we still provide the phy device but fail all phy-ops with -EBUSY
to make sure the dwc2 does not try to transmit anything on the
repurposed phy.Signed-off-by: Heiko Stuebner
Signed-off-by: Kishon Vijay Abraham I -
Add phy driver for the Rockchip DisplayPort PHY module. This
is required to get DisplayPort working in Rockchip SoCs.Signed-off-by: Yakir Yang
Reviewed-by: Heiko Stuebner
Signed-off-by: Kishon Vijay Abraham I -
This patch to add a generic PHY driver for ROCKCHIP eMMC PHY.
Access the PHY via registers provided by GRF (general register
files) module.Signed-off-by: Shawn Lin
Signed-off-by: Kishon Vijay Abraham I
10 Feb, 2016
3 commits
-
If we reload phy-twl4030-usb, we get a warning about unbalanced
pm_runtime_enable. Let's fix the issue and also fix idling of the
device on unload before we attempt to shut it down.If we don't properly idle the PHY before shutting it down on removal,
the twl4030 ends up consuming about 62mW of extra power compared to
running idle with the module loaded.Cc: stable@vger.kernel.org
Cc: Bin Liu
Cc: Felipe Balbi
Cc: Kishon Vijay Abraham I
Cc: NeilBrown
Signed-off-by: Tony Lindgren
Signed-off-by: Kishon Vijay Abraham I -
Otherwise rmmod omap2430; rmmod phy-twl4030-usb; modprobe omap2430
will try to use a non-existing phy and oops:Unable to handle kernel paging request at virtual address b6f7c1f0
...
[] (devm_usb_get_phy_by_node) from []
(omap2430_musb_init+0x44/0x2b4 [omap2430])
[] (omap2430_musb_init [omap2430]) from []
(musb_init_controller+0x194/0x878 [musb_hdrc])Cc: stable@vger.kernel.org
Cc: Bin Liu
Cc: Felipe Balbi
Cc: Kishon Vijay Abraham I
Cc: NeilBrown
Signed-off-by: Tony Lindgren
Signed-off-by: Kishon Vijay Abraham I -
If phy_pm_runtime_get_sync failed but we already
enable regulator, current code return directly without
doing regulator_disable. This patch fix this problem
and cleanup err handle of phy_power_on to be more readable.Fixes: 3be88125d85d ("phy: core: Support regulator ...")
Cc: # v3.18+
Cc: Roger Quadros
Cc: Axel Lin
Signed-off-by: Shawn Lin
Signed-off-by: Kishon Vijay Abraham I
03 Feb, 2016
1 commit
-
The HiSilicon Hi6220 USB PHY is available in HiSilicon Hi6220 SoCs only.
Restrict it to HiSilicon arm64, unless compile-testing.Signed-off-by: Geert Uytterhoeven
Signed-off-by: Kishon Vijay Abraham I
27 Dec, 2015
2 commits
-
…linux-phy into usb-next
Kishon writes:
phy: for 4.5
*) new PHY driver for hi6220 usb and rcar gen3 usb2
*) deprecate phy-omap-control driver. phy-omap-control driver was added
when there was no proper infrastructure for doing control module
initialization. The phy-omap-control driver is not an 'actual' PHY
driver and it was just a hack to do PHY related control module
initialization. Now with SYSCON framework in the kernel, control
module setttings can be done using APIs provided by syscon.
*) usbphy-internal pll creates the needed 480MHz and is also a
supply-clock back to the core clock-controller in Rockchip SoCs.
This is now modeled as a real clock.
*) calibrate mt65xx usb3 PHY for better eye diagram and receiver
sensitivity.
*) Miscellaneous cleanups.Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
-
Felipe writes:
usb: patches for v4.5
A ton of improvements to dwc2 have been made. The
driver should be a lot more stable on v4.5 then ever
before.Our good old dwc3 got a few cleanups and misc fixes
and also added support to Xilinx's integration of
this IP.Yoshihiro Shimoda gives us support for a new USB3
peripheral controller from Renesas.Other than these, the usual misc fixes all over the
place.
21 Dec, 2015
9 commits
-
Deprecate using phy-omap-control driver to power on/off the PHY,
and use *syscon* framework to do the same. This handles
powering on/off the PHY for the USB2 PHYs used in various TI SoCs.Signed-off-by: Kishon Vijay Abraham I
-
No functional change. Previously omap_control_phy_power() was used to power
off the PHY during probe. But once phy-omap-usb2 driver is adapted to
use syscon, omap_control_phy_power() cannot be used. Hence used
omap_usb_power_off to power off the PHY.Signed-off-by: Kishon Vijay Abraham I
Acked-by: Roger Quadros -
Deprecate using phy-omap-control driver to set PCS value of the PHY
and start using *syscon* API to do the same.Signed-off-by: Kishon Vijay Abraham I
Acked-by: Roger Quadros
Acked-by: Rob Herring -
Deprecate using phy-omap-control driver to power on/off the PHY and
use *syscon* framework to do the same.Signed-off-by: Kishon Vijay Abraham I
Acked-by: Rob Herring -
No functional change. Previously omap_control_phy_power() was used to power
off the PHY during probe. But once PIPE3 driver is adapted to use syscon,
omap_control_phy_power() cannot be used. Hence used ti_pipe3_power_off
to power off the PHY.Signed-off-by: Kishon Vijay Abraham I
Acked-by: Roger Quadros -
No functional change. Moved mem resource initialization done in
probe to a separate function as part of cleaning up
ti_pipe3_probe.Signed-off-by: Kishon Vijay Abraham I
-
No functional change. Moved sysctrl initialization done in probe to a
separate function as part of cleaning up ti_pipe3_probe.Signed-off-by: Kishon Vijay Abraham I
-
No functional change. Moved clock initialization done in probe to a
separate function as part of cleaning up ti_pipe3_probe.Signed-off-by: Kishon Vijay Abraham I
-
No functional change. Introduce local struct device pointer in
probe and replace using &pdev->dev/phy->dev with the local
device pointer. This is in preparation to split ti_pipe3_probe
and add separate functions for getting mem resource, getting
sysctrl and getting clocks.Signed-off-by: Kishon Vijay Abraham I
20 Dec, 2015
17 commits
-
After commit 739ae3452d0e ("phy: berlin-usb: Set drvdata for phy and
use it"), we get the address of priv by phy_get_drvdata(), so there's
no need to set device's driver_data any more. This patch removes the
call of platform_set_drvdata().Signed-off-by: Jisheng Zhang
Signed-off-by: Kishon Vijay Abraham I -
We don't need gpio related header files, so remove them.
Signed-off-by: Jisheng Zhang
Acked-by: Antoine Tenart
Signed-off-by: Kishon Vijay Abraham I -
The BCM7xxx ARM-based and MIPS-based platforms share a similar hardware
block for AHCI SATA3.This new compatible string, "brcm,bcm7425-sata-phy", may be used for
most MIPS-based platforms of 40nm process technology.Signed-off-by: Jaedon Shin
Acked-by: Rob Herring
Tested-by: Florian Fainelli
Acked-by: Brian Norris
Signed-off-by: Kishon Vijay Abraham I -
Add data for phy version, and the default value of version is using the
BRCM_SATA_PHY_28NM.Signed-off-by: Jaedon Shin
Tested-by: Florian Fainelli
Acked-by: Brian Norris
Signed-off-by: Kishon Vijay Abraham I -
Remove duplicate definitions.
Signed-off-by: Jaedon Shin
Acked-by: Florian Fainelli
Acked-by: Brian Norris
Tested-by: Florian Fainelli
Signed-off-by: Kishon Vijay Abraham I -
The USB phys on Rockchip SoCs contain their own internal PLLs to create
the 480MHz needed. Additionally this PLL output is also fed back into the
core clock-controller as possible source for clocks like the GPU or others.Until now this was modelled incorrectly with a "virtual" factor clock in
the clock controller. The one big caveat is that if we turn off the usb phy
via the siddq signal, all analog components get turned off, including the
PLLs. It is therefore possible that a source clock gets disabled without
the clock driver ever knowing, possibly making the system hang.Therefore register the phy-plls as real clocks that the clock driver can
then reference again normally, making the clock hirarchy finally reflect
the actual hardware.The phy-ops get converted to simply turning that new clock on and off
which in turn controls the siddq signal of the phy.Through this the driver gains handling for platform-specific data, to
handle the phy->clock name association.Signed-off-by: Heiko Stuebner
Reviewed-by: Douglas Anderson
Signed-off-by: Kishon Vijay Abraham I -
We need custom handling for these two socs in the driver shortly,
so add the necessary compatible values to binding and driver.Signed-off-by: Heiko Stuebner
Signed-off-by: Kishon Vijay Abraham I -
This unclutters the loop in probe a lot and makes current (and future)
error handling easier to read.Signed-off-by: Heiko Stuebner
Reviewed-by: Douglas Anderson
Signed-off-by: Kishon Vijay Abraham I -
This introduces a common struct that holds data belonging to
the umbrella device that contains all the phys and that we
want to use later.Signed-off-by: Heiko Stuebner
Reviewed-by: Douglas Anderson
Signed-off-by: Kishon Vijay Abraham I -
Currently the phy driver only gets the optional clock reference but
never puts it again, neither during error handling nor on remove.
Fix that by moving the clk_put to a devm-action that gets called at
the right time when all other devm actions are done.Signed-off-by: Heiko Stuebner
Reviewed-by: Douglas Anderson
Signed-off-by: Kishon Vijay Abraham I -
Support hi6220 use phy for HiKey board
Acked-by: Rob Herring
Signed-off-by: Zhangfei Gao
Signed-off-by: Kishon Vijay Abraham I -
Note this commit only adds support for phys 1-3, phy 0, the otg phy, is
not yet (fully) supported after this commit.Signed-off-by: Reinder de Haan
Signed-off-by: Hans de Goede
Acked-by: Rob Herring
Signed-off-by: Kishon Vijay Abraham I -
Use of_match_node instead of calling of_device_is_compatible a ton of
times to get model specific config data.Signed-off-by: Hans de Goede
Signed-off-by: Kishon Vijay Abraham I -
calibrate HS slew rate and switch 100uA current to SSUSB
to improve HS eye diagram of HQA test.Signed-off-by: Chunfeng Yun
Signed-off-by: Kishon Vijay Abraham I -
when use the default value 8 of RG_USB20_SQTH, the HS receiver
sensitivity test of HQA will fail, set it as 2 to fix up the
issue.Signed-off-by: Chunfeng Yun
Signed-off-by: Kishon Vijay Abraham I -
This patch adds support for runtime ID/VBUS pin detection if
the channel 0 of R-Car gen3 is used. So, we are able to use
the channel as both host and peripheral.Signed-off-by: Yoshihiro Shimoda
Acked-by: Rob Herring
Signed-off-by: Kishon Vijay Abraham I -
To use the channel 0 of R-Car gen3 as periperal mode, This patch changes
the mode to OTG instead of HOST. Then, this driver needs to set some
registers to enable host mode and detects ID pin and VBUS pin at
phy_init() timing.For now, the channel 0 can be used as host mode only.
Signed-off-by: Yoshihiro Shimoda
Signed-off-by: Kishon Vijay Abraham I