diff options
-rw-r--r-- | drivers/ram/k3-ddrss/k3-ddrss.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/ram/k3-ddrss/k3-ddrss.c b/drivers/ram/k3-ddrss/k3-ddrss.c index 8d9e7d2adba..cb8edcbc154 100644 --- a/drivers/ram/k3-ddrss/k3-ddrss.c +++ b/drivers/ram/k3-ddrss/k3-ddrss.c @@ -15,6 +15,7 @@ #include <asm/io.h> #include <power-domain.h> #include <wait_bit.h> +#include <power/regulator.h> #include "lpddr4_obj_if.h" #include "lpddr4_if.h" @@ -40,6 +41,7 @@ struct k3_ddrss_desc { u32 ddr_freq1; u32 ddr_freq2; u32 ddr_fhs_cnt; + struct udevice *vtt_supply; }; static lpddr4_obj *driverdt; @@ -215,6 +217,18 @@ static int k3_ddrss_power_on(struct k3_ddrss_desc *ddrss) return ret; } + ret = device_get_supply_regulator(ddrss->dev, "vtt-supply", + &ddrss->vtt_supply); + if (ret) { + dev_dbg(ddrss->dev, "vtt-supply not found.\n"); + } else { + ret = regulator_set_value(ddrss->vtt_supply, 3300000); + if (ret) + return ret; + dev_dbg(ddrss->dev, "VTT regulator enabled, volt = %d\n", + regulator_get_value(ddrss->vtt_supply)); + } + return 0; } |