01 Feb, 2021
1 commit
-
Change-Id: Ief0d6fac10385c5f7d99ab7a9ac3932a7a637913
25 Jan, 2021
1 commit
-
Add USB PHY parameters tuning for USB certifications.
Reviewed-by: Haibo Chen
Signed-off-by: Li Jun
18 Jan, 2021
1 commit
-
Kernel dtb property check failed for regulator
check of dwc3 vbus power supply node, cause in
the check rules the node named as *-supply will
be taken as regulator.
It caused usb phy not probe, and no UDC available
for USB OTG.Rename the vbus reference phandle name.
Change-Id: Id9b8b2908d82f9cf39bec26226884da09bfb4f58
Signed-off-by: yang.tian
14 Jan, 2021
1 commit
-
Fine tune hdmi phy to pass HDMI electrical CTS.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
04 Jan, 2021
2 commits
-
Similar to commit 17db82300f80 ("MLK-25089 phy: freescale: pcie: fix the
imx8mp evk ep rc link speed issue")
Fine tune the PHY parameters, let the PCIe link up to GEN3 between two
i.MX865 EVK boards in the i.MX EP RC validation system.Since this fine tuned is only specified for EVK boards. Add the command
parameter to specify it when do the EP RC tests between two i.MX8MP EVK
boards. Use the "pcie_phy_tuned=yes" to enable the PHY fine-tune.Signed-off-by: Richard Zhu
Reviewed-by: Peter Chen -
This is the 5.10.4 stable release
* tag 'v5.10.4': (717 commits)
Linux 5.10.4
x86/CPU/AMD: Save AMD NodeId as cpu_die_id
drm/edid: fix objtool warning in drm_cvt_modes()
...Signed-off-by: Jason Liu
Conflicts:
drivers/gpu/drm/imx/dcss/dcss-plane.c
drivers/media/i2c/ov5640.c
30 Dec, 2020
4 commits
-
[ Upstream commit b097efba9580d1f7cbc80cda84e768983e3de541 ]
Currently there is a null pointer check for hdmi_phy that implies it
may be null, however a dev_err messages dereferences this potential null
pointer. Avoid a null pointer dereference by only emitting the dev_err
message if hdmi_phy is non-null. It is a moot point if the error message
needs to be printed at all, but since this is a relatively new piece of
code it may be useful to keep the message in for the moment in case there
are unforseen errors that need to be reported.Fixes: be28b6507c46 ("drm/mediatek: separate hdmi phy to different file")
Signed-off-by: Colin Ian King
Addresses-Coverity: ("Dereference after null check")
Link: https://lore.kernel.org/r/20201207150937.170435-1-colin.king@canonical.com
[vkoul: fix indent of return call]
Signed-off-by: Vinod Koul
Signed-off-by: Sasha Levin -
[ Upstream commit 51e339deab1e51443f6ac3b1bd5cd6cc8e8fe1d9 ]
pm_runtime_enable() will decrease power disable depth. Thus a pairing
increment is needed on the error handling path to keep it balanced.Fixes: 5d8042e95fd4 ("phy: rcar-gen3-usb2: Add support for r8a77470")
Reported-by: Hulk Robot
Signed-off-by: Wang Li
Link: https://lore.kernel.org/r/20201126024412.4046845-1-wangli74@huawei.com
Signed-off-by: Vinod Koul
Signed-off-by: Sasha Levin -
[ Upstream commit f5f6e01f9164040ba120f30522efdb4deceb529a ]
Compile-testing the DRM_MEDIATEK_HDMI driver shows two missing
dependencies, one results in a link failure:arm-linux-gnueabi-ld: drivers/phy/mediatek/phy-mtk-hdmi.o: in function `mtk_hdmi_phy_probe':
phy-mtk-hdmi.c:(.text+0xd8): undefined reference to `__clk_get_name'
arm-linux-gnueabi-ld: phy-mtk-hdmi.c:(.text+0x12c): undefined reference to `devm_clk_register'
arm-linux-gnueabi-ld: phy-mtk-hdmi.c:(.text+0x250): undefined reference to `of_clk_add_provider'
arm-linux-gnueabi-ld: phy-mtk-hdmi.c:(.text+0x298): undefined reference to `of_clk_src_simple_get'The other one is a harmless warning:
WARNING: unmet direct dependencies detected for PHY_MTK_HDMI
Depends on [n]: ARCH_MEDIATEK [=n] && OF [=y]
Selected by [y]:
- DRM_MEDIATEK_HDMI [=y] && HAS_IOMEM [=y] && DRM_MEDIATEK [=y]Fix these by adding dependencies on CONFIG_OF and CONFIG_COMMON_CLK.
With that done, there is also no reason against adding
CONFIG_COMPILE_TEST.Fixes: b28be59a2e26 ("phy: mediatek: Move mtk_hdmi_phy driver into drivers/phy/mediatek folder")
Signed-off-by: Arnd Bergmann
Link: https://lore.kernel.org/r/20201204135650.2744481-1-arnd@kernel.org
Signed-off-by: Vinod Koul
Signed-off-by: Sasha Levin -
[ Upstream commit 4ea0bf2a52f1eea76578eac5a9148d95f5e181c0 ]
In commit "phy: tegra: xusb: Add usb-phy support", an OTG capable PHY
device, such as phy-usb2.0 device of Jetson-TX1 platform, will be
bound to the tegra-xusb-padctl driver by the following line in
tegra_xusb_setup_usb_role_switch().port->usb_phy.dev->driver = port->padctl->dev->driver;
With this, dev_pm_ops set of tegra-xusb-padctl driver will be invoked
for the OTG capable PHY incorrectly as below logs show.This commit fixes the issue by assigning an empty driver to it.
[ 153.451108] tegra-xusb-padctl phy-usb2.0: > tegra_xusb_padctl_suspend_noirq(dev=ffff000080917000)
[ 153.460353] tegra-xusb-padctl phy-usb2.0: driver: ffff8000114453e0 (tegra_xusb_padctl_driver)
[ 153.469245] tegra-xusb-padctl phy-usb2.0: padctl: ffff0000829f6480
[ 153.475772] tegra-xusb-padctl phy-usb2.0: soc: ef7bdd7fffffffff (0xef7bdd7fffffffff)
[ 153.484061] Unable to handle kernel paging request at virtual address 007bdd800000004f
[ 153.492132] Mem abort info:
[ 153.495083] ESR = 0x96000004
[ 153.498308] EC = 0x25: DABT (current EL), IL = 32 bits
[ 153.503771] SET = 0, FnV = 0
[ 153.506979] EA = 0, S1PTW = 0
[ 153.510260] Data abort info:
[ 153.513200] ISV = 0, ISS = 0x00000004
[ 153.517181] CM = 0, WnR = 0
[ 153.520302] [007bdd800000004f] address between user and kernel address ranges
[ 153.527600] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 153.533231] Modules linked in: nouveau panel_simple tegra_video(C) tegra_drm drm_ttm_helper videobuf2_dma_contig ttm videobuf2_memops cec videobuf2_v4l2 videobuf2_common drm_kms_helper v4l2_fwnode videodev drm mc snd_hda_codec_hdmi cdc_ether usbnet snd_hda_tegra r8152 crct10dif_ce snd_hda_codec snd_hda_core tegra_xudc host1x lp855x_bl at24 ip_tables x_tables ipv6
[ 153.566417] CPU: 0 PID: 300 Comm: systemd-sleep Tainted: G C 5.10.0-rc3-next-20201113-00019-g5c064d5372b0-dirty #624
[ 153.578283] Hardware name: NVIDIA Jetson TX1 Developer Kit (DT)
[ 153.584281] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[ 153.590381] pc : tegra_xusb_padctl_suspend_noirq+0x88/0x100
[ 153.596016] lr : tegra_xusb_padctl_suspend_noirq+0x80/0x100
[ 153.601632] sp : ffff8000120dbb60
[ 153.604999] x29: ffff8000120dbb60 x28: ffff000080a1df00
[ 153.610430] x27: 0000000000000002 x26: ffff8000106f8540
[ 153.615858] x25: ffff8000113ac4a4 x24: ffff80001148c198
[ 153.621277] x23: ffff800010c4538c x22: 0000000000000002
[ 153.626692] x21: ffff800010ccde80 x20: ffff0000829f6480
[ 153.632107] x19: ffff000080917000 x18: 0000000000000030
[ 153.637521] x17: 0000000000000000 x16: 0000000000000000
[ 153.642933] x15: ffff000080a1e380 x14: 74636461702d6273
[ 153.648346] x13: ffff8000113ad058 x12: 0000000000000f39
[ 153.653759] x11: 0000000000000513 x10: ffff800011405058
[ 153.659176] x9 : 00000000fffff000 x8 : ffff8000113ad058
[ 153.664590] x7 : ffff800011405058 x6 : 0000000000000000
[ 153.670002] x5 : 0000000000000000 x4 : ffff0000fe908bc0
[ 153.675414] x3 : ffff0000fe910228 x2 : 162ef67e0581e700
[ 153.680826] x1 : 162ef67e0581e700 x0 : ef7bdd7fffffffff
[ 153.686241] Call trace:
[ 153.688769] tegra_xusb_padctl_suspend_noirq+0x88/0x100
[ 153.694077] __device_suspend_noirq+0x68/0x1cc
[ 153.698594] dpm_noirq_suspend_devices+0x10c/0x1d0
[ 153.703456] dpm_suspend_noirq+0x28/0xa0
[ 153.707461] suspend_devices_and_enter+0x234/0x4bc
[ 153.712314] pm_suspend+0x1e4/0x270
[ 153.715868] state_store+0x8c/0x110
[ 153.719440] kobj_attr_store+0x1c/0x30
[ 153.723259] sysfs_kf_write+0x4c/0x7c
[ 153.726981] kernfs_fop_write+0x124/0x240
[ 153.731065] vfs_write+0xe4/0x204
[ 153.734449] ksys_write+0x6c/0x100
[ 153.737925] __arm64_sys_write+0x20/0x30
[ 153.741931] el0_svc_common.constprop.0+0x78/0x1a0
[ 153.746789] do_el0_svc+0x24/0x90
[ 153.750181] el0_sync_handler+0x254/0x260
[ 153.754251] el0_sync+0x174/0x180
[ 153.757663] Code: aa0303e2 94000f64 f9405680 b40000e0 (f9402803)
[ 153.763826] ---[ end trace 81543a3394cb409d ]---Fixes: e8f7d2f409a1 ("phy: tegra: xusb: Add usb-phy support")
Signed-off-by: JC Kuo
Acked-by: Thierry Reding
Link: https://lore.kernel.org/r/20201117083803.185209-1-jckuo@nvidia.com
Signed-off-by: Vinod Koul
Signed-off-by: Sasha Levin
18 Dec, 2020
1 commit
-
* phy/next: (29 commits)
MLK-24910-3 phy: pcie: imx8mp: remove the pcie workaround
MLK-23942-5 phy: phy-mixel-lvds-combo: Add runtime PM support
MLK-23942-4 phy: phy-mixel-lvds: Add runtime PM support
MLK-23942-3 phy: freescale: phy-fsl-imx8mp-lvds: Add runtime PM support
LF-2345-22 dt-bindings: phy-imx8mq-usb: add vbus-power-supply property
...
14 Dec, 2020
22 commits
-
Since the bug had been fixed on A1 chip and A0 chip is not supported
anymore, so remove the SW workaround.
NOTE: PCIe wouldn't work anymore on A0 chip after the SW workatound is
removed.Signed-off-by: Richard Zhu
Reviewed-by: Fugang Duan -
This patch adds runtime PM support for the Mixel LVDS combo PHY driver.
Signed-off-by: Liu Ying
Reviewed-by: Sandor Yu -
This patch adds runtime PM support for the Mixel LVDS PHY driver.
Signed-off-by: Liu Ying
Reviewed-by: Sandor Yu -
This patch adds runtime PM support for the i.MX8mp LVDS PHY driver.
Signed-off-by: Liu Ying
Reviewed-by: Sandor Yu -
imx8mq and imx8mp USB PHY have battery charging detection function,
do it when set phy mode for device mode as this should be done before
host start enumeration. Link the detection result to power supply
(e.g. typec port manager).Reviewed-by: Peter Chen
Signed-off-by: Li Jun -
This is to resolve the problem of wakeup system by USB3 device
insertion if hsiomix on, in that case, the USB3 device detects
rx term on so doesn't donwgrade to USB2, so DP/DM wakeup can't
happen, with this override bit we can force the rx term off when
enters system suspend, and disable the override after system resume.Reviewed-by: Peter Chen
Signed-off-by: Li Jun -
Correct the clock mode of PCIe PHY.
Signed-off-by: Richard Zhu
Reviewed-by: Fugang Duan -
According to IC engineer suggestion, set ssc_range as -4003 ppm
will have more tolerence for EMI, and suitable for more boards.
Besides, one customer board needs to set this value to pass TX
SSC test.Signed-off-by: Peter Chen
Signed-off-by: Li Jun
(cherry picked from commit a48a65a40113b9b5d40114d02a5877d089f523a9) -
Verify the PCIe PLL_SYS reference clock source on EVK board.
The external OSC clock is used as PCIe REF clock source in default.
- sequence should be the following one.
phy configuration--> CMN_RSTN--> wait for pll lock
- add the calibrate callback to fit the correct init sequence of phySigned-off-by: Richard Zhu
Reviewed-by: Fugang Duan -
To enable iMX8MP PCIe support, add the standalone PHY driver.
- Configure the TX drive level of iMX865 PHY, adjust the peak output
voltage to pass the PCIe GEN1 compliance tests.Signed-off-by: Richard Zhu
Reviewed-by: Fugang Duan -
For NXP platform design, the PHY can't know VBUS well, it causes the FSM
in controller seeing the disconnection at L1 use case. With .set_mode
API introduced, the controller driver could force PHY seeing B Session
VALID when it is at the device mode (VBUS is there), and keep FSM
working well.Signed-off-by: Peter Chen
-
Signed-off-by: Peter Chen
-
For USB2 L1 use cases, some hosts may start transfering less than
20us after End of Resume, it causes the host seeing corrupt packet
from the device side. The reason is the delay time between PHY
powers up and txvalid is 20us. To fix it, we change the delay
value as 0us.Signed-off-by: Peter Chen
-
There is an offset for USB2PHY in SALVO phy, add offset parameter
for read and write API to cover both USB2 and USB3 PHY control.Signed-off-by: Peter Chen
-
support pixel clock rate 135.58/137.52/162/154MHz.
Signed-off-by: Sandor Yu
Reviewed-by: Robby Cai
(cherry picked from commit 4bb00e2a66bf29adc1984616e74092883cadb237) -
Add samsung hdmi phy driver.
hdmi phy driver registers phy clock named with "hdmi_pclk",
and it should be referred by display controller.Signed-off-by: Sandor Yu
Reviewed-by: Liu Ying -
The phy registers are accessible after APB clock is enabled,
otherwise, the system may hang. We see the system hang issue
at the driver resume stage due to the disabled APB clock.
This patch fixes this issue by enabling/disabling the clock
when necessary.Reviewed-by: Sandor Yu
Signed-off-by: Liu Ying -
The i.MX8mp LVDS PHY IP contains two PHYs, each of which
supports a four data lane LVDS channel.
This patch adds i.MX8mp LVDS PHY driver support.Reviewed-by: Sandor Yu
Signed-off-by: Liu Ying -
As the below diagram shows, to achieve a particular serial clock rate,
we should choose an appropriate CO divider value(1/2/4/8) so that PLL
VCO frequency(fvco) is in specified range(640MHz ~ 1500MHz).--------- 640MHz ~ 1500MHz ------------ --------------
| PLL VCO | ----------------> | CO divider | -> | serial clock |
--------- ------------ --------------
1/2/4/8 div 7 * phy_clk_rateThis patch configures CO divider to be appropriate value to meet the fvco
range requirement. This may address display flicker issue seen on some
SoC samples.Signed-off-by: Liu Ying
-
This patch adds Mixel LVDS combo PHY support(MIPI DSI and LVDS combo).
This LVDS PHY supports one LVDS channel in single mode and two channels in
dual mode.Signed-off-by: Liu Ying
-
This patch adds Mixel LVDS PHY support.
This PHY supports two LVDS channels.Signed-off-by: Liu Ying
-
Add compatibles for i.MX8QM and i.MX8QXP.
Signed-off-by: Robert Chiras
16 Nov, 2020
4 commits
-
There is a spelling mistake in the Kconfig. Fix it.
Signed-off-by: Colin Ian King
Link: https://lore.kernel.org/r/20201114120518.416120-1-colin.king@canonical.com
Signed-off-by: Vinod Koul -
This Kconfig entry should declare a dependency on OF
Fixes: 67b27dbeac4d ("phy: qualcomm: Add Synopsys 28nm Hi-Speed USB PHY driver")
Signed-off-by: Bryan O'Donoghue
Link: https://lore.kernel.org/r/20201113151225.1657600-3-bryan.odonoghue@linaro.org
Signed-off-by: Vinod Koul -
This Kconfig entry should declare a dependency on OF
Fixes: 6076967a500c ("phy: qualcomm: usb: Add SuperSpeed PHY driver")
Reported-by: kernel test robot
Link: https://lkml.org/lkml/2020/11/13/414
Signed-off-by: Bryan O'Donoghue
Link: https://lore.kernel.org/r/20201113151225.1657600-2-bryan.odonoghue@linaro.org
Signed-off-by: Vinod Koul -
The Intel Keem Bay eMMC PHY is only present on Intel Keem Bay SoCs.
Hence add a dependency on ARCH_KEEMBAY, to prevent asking the user about
this driver when configuring a kernel without Intel Keem Bay platform
support.Fixes: 885c4f4d6cf448f6 ("phy: intel: Add Keem Bay eMMC PHY support")
Signed-off-by: Geert Uytterhoeven
Link: https://lore.kernel.org/r/20201110144600.3279752-1-geert+renesas@glider.be
Signed-off-by: Vinod Koul
29 Oct, 2020
3 commits
-
Fixes coccicheck error:
./drivers/phy/motorola/phy-cpcap-usb.c:365:9-34: ERROR:
Threaded IRQ with no primary handler requested without IRQF_ONESHOTReported-by: Hulk Robot
Signed-off-by: Zou Wei
Link: https://lore.kernel.org/r/1603875549-107500-1-git-send-email-zou_wei@huawei.com
Signed-off-by: Vinod Koul -
This probe function is too complicated and should be refactored. For now
let's just set this variable to NULL and keep the static analysis tools
happy.Fixes: 52e013d0bffa ("phy: qcom-qmp: Add support for DP in USB3+DP combo phy")
Reported-by: kernel test robot
Reported-by: Dan Carpenter
Signed-off-by: Stephen Boyd
Link: https://lore.kernel.org/r/20201026205942.2861828-1-swboyd@chromium.org
Signed-off-by: Vinod Koul -
If, for some reason, the xusb PHY fails to probe, it leaves
a dangling pointer attached to the platform device structure.This would normally be harmless, but the Tegra XHCI driver then
goes and extract that pointer from the PHY device. Things go
downhill from there:8.752082] [004d554e5145533c] address between user and kernel address ranges
[ 8.752085] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 8.752088] Modules linked in: max77620_regulator(E+) xhci_tegra(E+) sdhci_tegra(E+) xhci_hcd(E) sdhci_pltfm(E) cqhci(E) fixed(E) usbcore(E) scsi_mod(E) sdhci(E) host1x(E+)
[ 8.752103] CPU: 4 PID: 158 Comm: systemd-udevd Tainted: G S W E 5.9.0-rc7-00298-gf6337624c4fe #1980
[ 8.752105] Hardware name: NVIDIA Jetson TX2 Developer Kit (DT)
[ 8.752108] pstate: 20000005 (nzCv daif -PAN -UAO BTYPE=--)
[ 8.752115] pc : kobject_put+0x1c/0x21c
[ 8.752120] lr : put_device+0x20/0x30
[ 8.752121] sp : ffffffc012eb3840
[ 8.752122] x29: ffffffc012eb3840 x28: ffffffc010e82638
[ 8.752125] x27: ffffffc008d56440 x26: 0000000000000000
[ 8.752128] x25: ffffff81eb508200 x24: 0000000000000000
[ 8.752130] x23: ffffff81eb538800 x22: 0000000000000000
[ 8.752132] x21: 00000000fffffdfb x20: ffffff81eb538810
[ 8.752134] x19: 3d4d554e51455300 x18: 0000000000000020
[ 8.752136] x17: ffffffc008d00270 x16: ffffffc008d00c94
[ 8.752138] x15: 0000000000000004 x14: ffffff81ebd4ae90
[ 8.752140] x13: 0000000000000000 x12: ffffff81eb86a4e8
[ 8.752142] x11: ffffff81eb86a480 x10: ffffff81eb862fea
[ 8.752144] x9 : ffffffc01055fb28 x8 : ffffff81eb86a4a8
[ 8.752146] x7 : 0000000000000001 x6 : 0000000000000001
[ 8.752148] x5 : ffffff81dff8bc38 x4 : 0000000000000000
[ 8.752150] x3 : 0000000000000001 x2 : 0000000000000001
[ 8.752152] x1 : 0000000000000002 x0 : 3d4d554e51455300
[ 8.752155] Call trace:
[ 8.752157] kobject_put+0x1c/0x21c
[ 8.752160] put_device+0x20/0x30
[ 8.752164] tegra_xusb_padctl_put+0x24/0x3c
[ 8.752170] tegra_xusb_probe+0x8b0/0xd10 [xhci_tegra]
[ 8.752174] platform_drv_probe+0x60/0xb4
[ 8.752176] really_probe+0xf0/0x504
[ 8.752179] driver_probe_device+0x100/0x170
[ 8.752181] device_driver_attach+0xcc/0xd4
[ 8.752183] __driver_attach+0xb0/0x17c
[ 8.752185] bus_for_each_dev+0x7c/0xd4
[ 8.752187] driver_attach+0x30/0x3c
[ 8.752189] bus_add_driver+0x154/0x250
[ 8.752191] driver_register+0x84/0x140
[ 8.752193] __platform_driver_register+0x54/0x60
[ 8.752197] tegra_xusb_init+0x40/0x1000 [xhci_tegra]
[ 8.752201] do_one_initcall+0x54/0x2d0
[ 8.752205] do_init_module+0x68/0x29c
[ 8.752207] load_module+0x2178/0x26c0
[ 8.752209] __do_sys_finit_module+0xb0/0x120
[ 8.752211] __arm64_sys_finit_module+0x2c/0x40
[ 8.752215] el0_svc_common.constprop.0+0x80/0x240
[ 8.752218] do_el0_svc+0x30/0xa0
[ 8.752220] el0_svc+0x18/0x50
[ 8.752223] el0_sync_handler+0x90/0x318
[ 8.752225] el0_sync+0x158/0x180
[ 8.752230] Code: a9bd7bfd 910003fd a90153f3 aa0003f3 (3940f000)
[ 8.752232] ---[ end trace 90f6c89d62d85ff5 ]---Reset the pointer on probe failure fixes the issue.
Fixes: 53d2a715c2403 ("phy: Add Tegra XUSB pad controller support")
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/20201013095820.311376-1-maz@kernel.org
Signed-off-by: Vinod Koul