drm/rockchip: dsi: add own additional pclk handling

In a followup patch, we'll need to access the pclk ourself to enable some
functionality, so get and store it in the rockchip dw-dsi variant as well.

Clocks are refcounted, so possible cascading enablements are
no problem.

Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Tested-by: Sebastian Fricke <sebastian.fricke@posteo.net>
Acked-by: Helen Koike <helen.koike@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210210111020.2476369-2-heiko@sntech.de
This commit is contained in:
Heiko Stuebner 2021-02-10 12:10:15 +01:00 committed by Heiko Stuebner
parent 1f49bf8b6a
commit c92ecb4eac
1 changed files with 8 additions and 0 deletions

View File

@ -223,6 +223,7 @@ struct dw_mipi_dsi_rockchip {
void __iomem *base; void __iomem *base;
struct regmap *grf_regmap; struct regmap *grf_regmap;
struct clk *pclk;
struct clk *pllref_clk; struct clk *pllref_clk;
struct clk *grf_clk; struct clk *grf_clk;
struct clk *phy_cfg_clk; struct clk *phy_cfg_clk;
@ -1065,6 +1066,13 @@ static int dw_mipi_dsi_rockchip_probe(struct platform_device *pdev)
return ret; return ret;
} }
dsi->pclk = devm_clk_get(dev, "pclk");
if (IS_ERR(dsi->pclk)) {
ret = PTR_ERR(dsi->pclk);
DRM_DEV_ERROR(dev, "Unable to get pclk: %d\n", ret);
return ret;
}
dsi->pllref_clk = devm_clk_get(dev, "ref"); dsi->pllref_clk = devm_clk_get(dev, "ref");
if (IS_ERR(dsi->pllref_clk)) { if (IS_ERR(dsi->pllref_clk)) {
if (dsi->phy) { if (dsi->phy) {