summaryrefslogtreecommitdiffstats
path: root/drivers/i3c
diff options
context:
space:
mode:
authorClark Wang <xiaoning.wang@nxp.com>2021-12-27 08:45:22 +0100
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2022-01-05 09:53:44 +0100
commit57d8d3fc060c7337bc78376ccc699ab80162b7d5 (patch)
treea630aaeb656d2e0cc371771c61808df716cebec9 /drivers/i3c
parenti3c/master/mipi-i3c-hci: Fix a potentially infinite loop in 'hci_dat_v1_get_i... (diff)
downloadlinux-57d8d3fc060c7337bc78376ccc699ab80162b7d5.tar.xz
linux-57d8d3fc060c7337bc78376ccc699ab80162b7d5.zip
i3c: master: svc: move module reset behind clk enable
Reset I3C module will R/W its regs, so enable its clocks first. Signed-off-by: Clark Wang <xiaoning.wang@nxp.com> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Jun Li <jun.li@nxp.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20211227074529.1660398-2-xiaoning.wang@nxp.com
Diffstat (limited to 'drivers/i3c')
-rw-r--r--drivers/i3c/master/svc-i3c-master.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
index 879e5a64acaf..c25a372f6820 100644
--- a/drivers/i3c/master/svc-i3c-master.c
+++ b/drivers/i3c/master/svc-i3c-master.c
@@ -1381,8 +1381,6 @@ static int svc_i3c_master_probe(struct platform_device *pdev)
master->dev = dev;
- svc_i3c_master_reset(master);
-
ret = clk_prepare_enable(master->pclk);
if (ret)
return ret;
@@ -1419,6 +1417,8 @@ static int svc_i3c_master_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, master);
+ svc_i3c_master_reset(master);
+
/* Register the master */
ret = i3c_master_register(&master->base, &pdev->dev,
&svc_i3c_master_ops, false);