summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@amd.com>2024-12-09 12:11:50 +0100
committerMichal Simek <michal.simek@amd.com>2024-12-11 12:40:13 +0100
commit8b81010a2fe385524b58bea9116f1b6954c3d2bd (patch)
treeb948446f5d1806dfe63ec2630b279adb5ec286b1
parentb841e559cd26ffcb20f22e8ee75debed9616c002 (diff)
video: zynqmp: Add support for reset
In Kria SOM configuration DP is under reset and access to DP is causing hang that's why call reset at probe to avoid this situation. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/0504474a91a9839828aecd37f8855fd154cdf2e1.1733742708.git.michal.simek@amd.com
-rw-r--r--drivers/video/zynqmp/zynqmp_dpsub.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/zynqmp/zynqmp_dpsub.c b/drivers/video/zynqmp/zynqmp_dpsub.c
index 76abfeac443..52af23c3c83 100644
--- a/drivers/video/zynqmp/zynqmp_dpsub.c
+++ b/drivers/video/zynqmp/zynqmp_dpsub.c
@@ -11,6 +11,7 @@
#include <dm.h>
#include <errno.h>
#include <generic-phy.h>
+#include <reset.h>
#include <stdlib.h>
#include <video.h>
#include <wait_bit.h>
@@ -2093,10 +2094,15 @@ static int zynqmp_dpsub_probe(struct udevice *dev)
{
struct video_priv *uc_priv = dev_get_uclass_priv(dev);
struct zynqmp_dpsub_priv *priv = dev_get_priv(dev);
+ struct reset_ctl_bulk resets;
struct clk clk;
int ret;
int mode = RGBA8888;
+ ret = reset_get_bulk(dev, &resets);
+ if (!ret)
+ reset_deassert_bulk(&resets);
+
ret = clk_get_by_name(dev, "dp_apb_clk", &clk);
if (ret < 0) {
dev_err(dev, "failed to get clock\n");