summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/clk/clk_versal.c21
-rw-r--r--drivers/soc/soc_amd_versal2.c4
2 files changed, 18 insertions, 7 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;
diff --git a/drivers/soc/soc_amd_versal2.c b/drivers/soc/soc_amd_versal2.c
index 66bcb22b4fa..8507da0bd22 100644
--- a/drivers/soc/soc_amd_versal2.c
+++ b/drivers/soc/soc_amd_versal2.c
@@ -35,7 +35,9 @@ static int soc_amd_versal2_get_revision(struct udevice *dev, char *buf, int size
{
struct soc_amd_versal2_priv *priv = dev_get_priv(dev);
- return snprintf(buf, size, "v%d", priv->revision);
+ return snprintf(buf, size, "v%d.%d",
+ (u32)FIELD_GET(PS_VERSION_MAJOR, priv->revision),
+ (u32)FIELD_GET(PS_VERSION_MINOR, priv->revision));
}
static const struct soc_ops soc_amd_versal2_ops = {