drivers: ufs: ufs-mediatek: implement clocking

Implement clocking.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260318-mt8195-add-ufs-support-v2-7-f18eeeeb0e72@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
This commit is contained in:
Julien Stephan 2026-03-18 17:50:59 +01:00 committed by David Lechner
parent ac6e41ee6e
commit a694f49c49

View File

@ -317,19 +317,35 @@ static int ufs_mtk_init(struct ufs_hba *hba)
ufs_mtk_init_reset(hba);
// TODO: Clocking
err = clk_get_bulk(hba->dev, &priv->clks);
if (err) {
dev_err(hba->dev, "failed to initialize clocks, err:%d\n", err);
return err;
}
err = clk_enable_bulk(&priv->clks);
if (err) {
dev_err(hba->dev, "failed to enable clocks, err:%d\n", err);
goto err_clk_enable;
}
err = generic_phy_power_on(&priv->mphy);
if (err) {
dev_err(hba->dev, "%s: phy init failed, err = %d\n",
__func__, err);
return err;
goto err_phy_power_on;
}
ufs_mtk_setup_ref_clk(hba, true);
ufs_mtk_get_hw_ip_version(hba);
return 0;
err_phy_power_on:
clk_disable_bulk(&priv->clks);
err_clk_enable:
clk_release_bulk(&priv->clks);
return err;
}
static int ufs_mtk_device_reset(struct ufs_hba *hba)