mirror-linux/drivers/phy
Wayne Chang da110228b5 phy: tegra: xusb: Fix per-pad high-speed termination calibration
The existing code reads a single hs_term_range_adj value from bit field
[10:7] of FUSE_SKU_CALIB_0 and applies it to all USB2 pads uniformly.
However, on SoCs that support per-pad termination, each pad has its own
hs_term_range_adj field: pad 0 in FUSE_SKU_CALIB_0[10:7], and pads 1-3
in FUSE_USB_CALIB_EXT_0 at bit offsets [8:5], [12:9], and [16:13]
respectively.

Fix the calibration by reading per-pad values from the appropriate fuse
registers. For SoCs that do not support per-pad termination, replicate
pad 0's value to all pads to maintain existing behavior.

Add a has_per_pad_term flag to the SoC data to indicate whether per-pad
termination values are available in FUSE_USB_CALIB_EXT_0.

Fixes: 1ef535c6ba ("phy: tegra: xusb: Add Tegra194 support")
Cc: stable@vger.kernel.org
Signed-off-by: Wayne Chang <waynec@nvidia.com>
Signed-off-by: Wei-Cheng Chen <weichengc@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20260504033305.2283145-1-weichengc@nvidia.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2026-05-10 17:01:18 +05:30
..
allwinner phy: sun4i-usb: replace use of system_wq with system_percpu_wq 2026-01-14 14:54:17 +05:30
amlogic phy: amlogic: phy-meson-axg-pcie: Fix PHY creation order in axg-pcie probe 2025-04-11 17:07:15 +05:30
apple phy: apple: apple: Use local variable for ioremap return value 2026-02-27 20:32:39 +05:30
broadcom net: phy: make mdio_device.c part of libphy 2026-03-14 12:23:02 -07:00
cadence phy: cadence-torrent: Add PCIe + XAUI multilink configuration for 100MHz refclk 2026-01-14 15:03:09 +05:30
canaan phy: usb: Add driver for Canaan K230 USB 2.0 PHY 2026-02-27 19:56:35 +05:30
eswin phy: eswin: Create eswin directory and add EIC7700 SATA PHY driver 2026-02-27 20:40:30 +05:30
freescale phy: lynx-28g: skip CDR lock workaround for lanes disabled in the device tree 2026-02-27 19:21:01 +05:30
hisilicon phy: hisilicon: Remove redundant ternary operators 2025-09-01 18:13:54 +05:30
ingenic phy: ingenic: use core driver model helper to handle probe errors 2025-08-20 22:25:38 +05:30
intel
lantiq
marvell phy: marvell: mvebu-a3700-utmi: fix incorrect USB2_PHY_CTRL register access 2026-05-10 16:51:35 +05:30
mediatek phy: phy-mtk-tphy: Update names and format of kernel-doc comments 2026-02-27 08:05:57 +05:30
microchip phy: sparx5-serdes: make it selectable for ARCH_LAN969X 2025-12-23 22:52:42 +05:30
motorola phy: mapphone-mdm6600: use gpiod_multi_set_value_cansleep 2025-02-17 14:27:34 +01:00
mscc
nuvoton
qualcomm phy: qcom: edp: Add PHY-specific LDO config for eDP low vdiff 2026-05-03 22:34:48 +05:30
ralink
realtek USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
renesas phy: renesas: rcar-gen3-usb2: drop helper getting optional mux-state 2026-03-09 13:44:45 +01:00
rockchip phy-for-7.0 2026-02-17 11:40:04 -08:00
samsung phy: exynos5-usbdrd: support SS combo phy for ExynosAutov920 2025-12-23 23:11:05 +05:30
socionext phy: socionext: usb2: Simplify with scoped for each OF child loop 2026-01-14 19:51:14 +05:30
sophgo phy: sophgo: Remove unused of_gpio.h 2025-11-12 20:35:50 +05:30
spacemit phy-for-7.1 2026-04-17 10:22:08 -07:00
st phy: stm32-usphyc: Fix off by one in probe() 2025-12-23 21:53:45 +05:30
starfive phy: starfive: jh7110-usb: Fix USB 2.0 host occasional detection failure 2025-05-14 09:45:12 +01:00
sunplus
tegra phy: tegra: xusb: Fix per-pad high-speed termination calibration 2026-05-10 17:01:18 +05:30
ti phy: ti: j721e-wiz: Fix device node reference leak in wiz_get_lane_phy_types() 2026-02-27 20:43:29 +05:30
xilinx phy-zynqmp: Postpone getting clock rate until actually needed 2025-05-14 09:48:01 +01:00
Kconfig phy-for-7.1 2026-04-17 10:22:08 -07:00
Makefile phy: eswin: Create eswin directory and add EIC7700 SATA PHY driver 2026-02-27 20:40:30 +05:30
phy-airoha-pcie-regs.h phy: airoha: Fix REG_CSR_2L_RX{0,1}_REV0 definitions 2024-10-17 20:52:48 +05:30
phy-airoha-pcie.c phy: airoha: Fix REG_CSR_2L_JCPLL_SDM_HREN config in airoha_pcie_phy_init_ssc_jcpll() 2024-10-17 20:52:48 +05:30
phy-can-transceiver.c phy: can-transceiver: drop temporary helper getting optional mux-state 2026-03-09 13:44:45 +01:00
phy-common-props-test.c phy: add phy_get_rx_polarity() and phy_get_tx_polarity() 2026-01-14 18:16:05 +05:30
phy-common-props.c phy: add phy_get_rx_polarity() and phy_get_tx_polarity() 2026-01-14 18:16:05 +05:30
phy-core-mipi-dphy.c
phy-core.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
phy-google-usb.c phy: Add Google Tensor SoC USB PHY driver 2026-01-14 19:56:36 +05:30
phy-lgm-usb.c
phy-lpc18xx-usb-otg.c
phy-nxp-ptn3222.c
phy-pistachio-usb.c
phy-snps-eusb2.c phy-for-6.17 2025-08-01 12:31:50 -07:00
phy-xgene.c