Skip setting parent with dummy fixed-clock. Upstream linux might declare
an additional clock for the mtk timer and that additional clock might
also be a fixed-clock defined in DT. Setting parent of a dummy fixed-clock
resulta in error hence mtk timer fails to probe.

Skip setting parent to permit correct probe of the mtk timer.

Fixes: d3c3606c5cc6 ("timer: MediaTek: add timer driver for MediaTek SoCs")
Signed-off-by: Christian Marangi <[email protected]>
---
 drivers/timer/mtk_timer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/timer/mtk_timer.c b/drivers/timer/mtk_timer.c
index 8216c289837..06deb23eb99 100644
--- a/drivers/timer/mtk_timer.c
+++ b/drivers/timer/mtk_timer.c
@@ -73,7 +73,8 @@ static int mtk_timer_probe(struct udevice *dev)
                return ret;
 
        ret = clk_get_by_index(dev, 1, &parent);
-       if (!ret) {
+       /* Skip setting the parent with dummy fixed-clock */
+       if (!ret && parent.dev->driver != DM_DRIVER_GET(fixed_clock)) {
                ret = clk_set_parent(&clk, &parent);
                if (ret)
                        return ret;
-- 
2.45.2

Reply via email to