linux/drivers/phy
Heiko Stuebner b74fe7c761 phy: rockchip-usb: expose the phy-internal PLLs
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 <heiko@sntech.de>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2015-12-20 15:21:38 +05:30
..
Kconfig phy: add phy-hi6220-usb 2015-12-20 15:21:38 +05:30
Makefile phy: add phy-hi6220-usb 2015-12-20 15:21:38 +05:30
phy-armada375-usb2.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-bcm-cygnus-pcie.c phy: cygnus: pcie: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-bcm-kona-usb2.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-berlin-sata.c phy: berlin-sata: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-berlin-usb.c phy: for 4.3 2015-08-14 16:45:51 -07:00
phy-brcmstb-sata.c phy: brcmstb-sata: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-core.c phy: core: Get a refcount to phy in devm_of_phy_get_by_index() 2015-12-07 18:44:02 +05:30
phy-dm816x-usb.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos4x12-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos5-usbdrd.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos4210-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos5250-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos5250-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos-dp-video.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos-mipi-video.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-hi6220-usb.c phy: add phy-hi6220-usb 2015-12-20 15:21:38 +05:30
phy-hix5hd2-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-lpc18xx-usb-otg.c phy: lpc18xx-usb-otg: fix clock order in phy init 2015-08-10 20:11:58 +05:30
phy-miphy28lp.c phy: miphy28lp: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-miphy365x.c phy: miphy365x: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-mt65xx-usb3.c phy: phy-mt65xx-usb3: improve HS eye diagram 2015-12-20 15:21:37 +05:30
phy-mvebu-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-omap-control.c New Features 2015-04-10 13:47:50 +02:00
phy-omap-usb2.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-pistachio-usb.c PHY: Add driver for Pistachio USB2.0 PHY 2015-06-21 21:53:38 +02:00
phy-pxa-28nm-hsic.c phy: add Marvell HSIC 28nm PHY 2015-06-09 12:20:30 -07:00
phy-pxa-28nm-usb2.c phy: Add Marvell USB 2.0 OTG 28nm PHY 2015-06-09 12:20:30 -07:00
phy-qcom-apq8064-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ipq806x-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-i.h phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-14nm.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-14nm.h phy: qcom-ufs: add support for 14nm phy 2015-01-20 19:43:26 +01:00
phy-qcom-ufs-qmp-20nm.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-20nm.h phy: qcom-ufs: add support for 20nm phy 2015-01-20 19:43:25 +01:00
phy-qcom-ufs.c phy: qcom-ufs: fix build error when the component is built as a module 2015-09-25 17:01:14 +05:30
phy-rcar-gen2.c locking/atomics, cmpxchg: Privatize the inclusion of asm/cmpxchg.h 2015-09-13 10:35:46 +02:00
phy-rcar-gen3-usb2.c phy: rcar-gen3-usb2: add runtime ID/VBUS pin detection 2015-12-20 15:21:37 +05:30
phy-rockchip-usb.c phy: rockchip-usb: expose the phy-internal PLLs 2015-12-20 15:21:38 +05:30
phy-s5pv210-usb2.c
phy-samsung-usb2.c phy: exynos-usb2: add vbus regulator support 2015-10-06 20:21:47 +05:30
phy-samsung-usb2.h phy: exynos-usb2: add vbus regulator support 2015-10-06 20:21:47 +05:30
phy-spear1310-miphy.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-spear1340-miphy.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-stih41x-usb.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-stih407-usb.c phy: phy-stih407-usb: Pass sysconfig register offsets via syscfg property. 2015-01-21 15:23:06 +05:30
phy-sun4i-usb.c phy-sun4i-usb: Add support for the host usb-phys found on the H3 SoC 2015-12-20 15:21:38 +05:30
phy-sun9i-usb.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-ti-pipe3.c phy: for 4.3 2015-08-14 16:45:51 -07:00
phy-tusb1210.c This is the bulk of GPIO changes for the v4.3 kernel cycle: 2015-09-04 10:07:45 -07:00
phy-twl4030-usb.c phy: twl4030-usb: remove incorrect pm_runtime_get_sync() in probe function. 2015-06-01 16:08:24 +05:30
phy-xgene.c New Features 2015-04-10 13:47:50 +02:00
ulpi_phy.h phy: ulpi_phy: Add const qualifier to ops 2015-08-03 18:35:09 +05:30