@@ -1004,6 +1004,12 @@ static int sun6i_dsi_probe(struct platform_device *pdev)
return PTR_ERR(dsi->reset);
}
+ dsi->bus_clk = devm_clk_get(dev, "bus");
+ if (IS_ERR(dsi->bus_clk)) {
+ dev_err(dev, "Couldn't get the DSI bus clock\n");
+ return PTR_ERR(dsi->bus_clk);
+ }
+
if (dsi->variant->has_mod_clk) {
dsi->mod_clk = devm_clk_get(dev, "mod");
if (IS_ERR(dsi->mod_clk)) {
@@ -1012,6 +1018,7 @@ static int sun6i_dsi_probe(struct platform_device *pdev)
}
}
+ clk_prepare_enable(dsi->bus_clk);
/*
* In order to operate properly, that clock seems to be always
* set to 297MHz.
@@ -1065,6 +1072,7 @@ static int sun6i_dsi_remove(struct platform_device *pdev)
sun6i_dphy_remove(dsi);
if (dsi->variant->has_mod_clk)
clk_rate_exclusive_put(dsi->mod_clk);
+ clk_disable_unprepare(dsi->bus_clk);
return 0;
}
DSI bus_clk is already available in sun6i_dsi but missed to get the clk and process for enable/disable. This patch add support for it. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 8 ++++++++ 1 file changed, 8 insertions(+)