linux/drivers/phy
Stephen Boyd aa968cb1a6 phy: qcom-qmp: Move 'serdes' and 'cfg' into 'struct qcom_phy'
The serdes I/O region is where the PLL for the phy is controlled.
Sometimes the PLL is shared between multiple phys, for example in the
PCIe case where there are three phys inside the same wrapper. Other
times the PLL is for a single phy, i.e. some USB3 phys. To complete the
trifecta we have the USB3+DP combo phy where the USB3 and DP phys each
have their own serdes region because they have their own PLL while they
both share a common I/O region pertaining to the USB type-c pinout and
cable orientation.

Let's move the serdes iomem pointer into 'struct qmp_phy' so that we can
correlate PLL control to the phy that uses it. This allows us to support
the USB3+DP combo phy in this driver. This isn't a problem for the
3-lane/phy PCIe phy because there is a common init function that is the
only place the serdes region is programmed.

Furthermore, move the configuration data that contains most of the
register programming sequences to the qmp phy struct. This data isn't
qmp wrapper specific. It is phy specific data used to tune various
settings for things like pre-emphasis, bias, etc.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Cc: Jeykumar Sankaran <jsanka@codeaurora.org>
Cc: Chandan Uddaraju <chandanu@codeaurora.org>
Cc: Vara Reddy <varar@codeaurora.org>
Cc: Tanmay Shah <tanmay@codeaurora.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Manu Gautam <mgautam@codeaurora.org>
Cc: Sandeep Maheswaram <sanm@codeaurora.org>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Jonathan Marek <jonathan@marek.ca>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Rob Clark <robdclark@chromium.org>
Link: https://lore.kernel.org/r/20200916231202.3637932-5-swboyd@chromium.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-09-28 11:27:53 +05:30
..
allwinner Merge branch 'fixes' into next 2020-07-17 13:45:53 +05:30
amlogic USB: changes for v5.8 merge window 2020-05-25 13:28:20 +02:00
broadcom phy: phy-bcm-sr-usb: convert to readl_poll_timeout_atomic() 2020-09-08 09:56:11 +05:30
cadence phy: cadence-torrent: Add USB + SGMII/QSGMII multilink configuration 2020-09-18 10:47:22 +05:30
freescale phy: fsl-imx8mq-usb: Constify imx8mq_usb_phy_ops 2020-08-31 14:36:36 +05:30
hisilicon phy: hisilicon; Constify hi3660_phy_ops 2020-08-31 14:36:36 +05:30
intel phy: intel: Add Keem Bay eMMC PHY support 2020-09-16 17:45:19 +05:30
lantiq phy: lantiq: vrx200-pcie: Constify ltq_vrx200_pcie_phy_ops 2020-08-31 14:36:37 +05:30
marvell phy: phy-pxa-28nm-usb2: convert to readl_poll_timeout() 2020-09-08 09:56:11 +05:30
mediatek phy: phy-mtk-tphy: add a new reference clock 2020-03-20 19:34:29 +05:30
motorola phy: mapphone-mdm6600: Add missing description for some structure fields 2020-07-13 12:14:46 +05:30
mscc treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
qualcomm phy: qcom-qmp: Move 'serdes' and 'cfg' into 'struct qcom_phy' 2020-09-28 11:27:53 +05:30
ralink phy: ralink-usb: Constify ralink_usb_phy_ops 2020-08-31 14:36:37 +05:30
renesas phy: renesas: rcar-gen3-usb2: exit if request_irq() failed 2020-07-20 12:03:44 +05:30
rockchip phy: rockchip-dphy-rx0: Include linux/delay.h 2020-09-22 19:44:04 +05:30
samsung phy: samsung-ufs: Constify samsung_ufs_phy_ops 2020-08-31 14:36:37 +05:30
socionext phy: socionext: Add UniPhier AHCI PHY driver support 2020-08-31 17:07:53 +05:30
st phy: stm32: use NULL instead of zero 2020-07-13 12:15:46 +05:30
tegra phy: tegra: Select USB_COMMON for usb_get_maximum_speed() 2020-04-24 13:12:14 +05:30
ti phy: ti: gmii-sel: retrieve ports number and base offset from dt 2020-09-08 15:53:10 +05:30
xilinx phy: zynqmp: Fix unused-function compiler warning 2020-07-01 20:35:29 +05:30
Kconfig phy: fix USB_LGM_PHY warning & build errors 2020-09-22 19:41:43 +05:30
Makefile phy: Add USB3 PHY support for Intel LGM SoC 2020-09-11 17:12:49 +05:30
phy-core-mipi-dphy.c phy: dphy: Change units of wakeup and init parameters 2019-02-07 11:11:05 +05:30
phy-core.c phy: core: Document function args 2020-07-08 16:40:21 +05:30
phy-lgm-usb.c phy: Add USB3 PHY support for Intel LGM SoC 2020-09-11 17:12:49 +05:30
phy-lpc18xx-usb-otg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
phy-pistachio-usb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
phy-xgene.c phy: xgene: remove unsigned integer comparison with less than zero 2020-07-13 12:14:51 +05:30