summaryrefslogtreecommitdiff
path: root/drivers/clk/clk_versal.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/clk_versal.c')
-rw-r--r--drivers/clk/clk_versal.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/clk/clk_versal.c b/drivers/clk/clk_versal.c
index 35ee56d0693..cb98f34b5ec 100644
--- a/drivers/clk/clk_versal.c
+++ b/drivers/clk/clk_versal.c
@@ -106,8 +106,8 @@ struct versal_clk_priv {
struct versal_clock *clk;
};
-static ulong pl_alt_ref_clk;
-static ulong ref_clk;
+static ulong pl_alt_ref_clk __section(".data");
+static ulong ref_clk __section(".data");
struct versal_pm_query_data {
u32 qid;
@@ -116,8 +116,8 @@ struct versal_pm_query_data {
u32 arg3;
};
-static struct versal_clock *clock;
-static unsigned int clock_max_idx;
+static struct versal_clock *clock __section(".data");
+static unsigned int clock_max_idx __section(".data");
#define PM_QUERY_DATA 35
@@ -679,12 +679,21 @@ static int versal_clk_probe(struct udevice *dev)
debug("%s\n", __func__);
- ret = versal_clock_get_freq_by_name("pl_alt_ref_clk",
+ ret = versal_clock_get_freq_by_name("pl_alt_ref",
dev, &pl_alt_ref_clk);
+ if (ret == -ENODATA) {
+ /* Fallback to old DT binding clk name "pl_alt_ref_clk" */
+ ret = versal_clock_get_freq_by_name("pl_alt_ref_clk",
+ dev, &pl_alt_ref_clk);
+ }
if (ret < 0)
return -EINVAL;
- ret = versal_clock_get_freq_by_name("ref_clk", dev, &ref_clk);
+ ret = versal_clock_get_freq_by_name("ref", dev, &ref_clk);
+ if (ret == -ENODATA) {
+ /* Fallback to old DT binding clk name "ref_clk" */
+ ret = versal_clock_get_freq_by_name("ref_clk", dev, &ref_clk);
+ }
if (ret < 0)
return -EINVAL;