ram: sifive: Remove regmap dependency

The usage of regmap API in the SiFive RAM driver is not correct.
The reg address should be obtained via dev_read_addr_index() API.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
This commit is contained in:
Bin Meng 2020-09-15 16:05:07 +08:00 committed by Andes
parent f8c9660bfe
commit 9981a8009e

View file

@ -11,7 +11,6 @@
#include <fdtdec.h> #include <fdtdec.h>
#include <init.h> #include <init.h>
#include <ram.h> #include <ram.h>
#include <regmap.h>
#include <syscon.h> #include <syscon.h>
#include <asm/io.h> #include <asm/io.h>
#include <clk.h> #include <clk.h>
@ -339,17 +338,12 @@ static int fu540_ddr_probe(struct udevice *dev)
priv->info.size = gd->ram_size; priv->info.size = gd->ram_size;
#if defined(CONFIG_SPL_BUILD) #if defined(CONFIG_SPL_BUILD)
struct regmap *map;
int ret; int ret;
u32 clock = 0; u32 clock = 0;
debug("FU540 DDR probe\n"); debug("FU540 DDR probe\n");
priv->dev = dev; priv->dev = dev;
ret = regmap_init_mem(dev_ofnode(dev), &map);
if (ret)
return ret;
ret = clk_get_by_index(dev, 0, &priv->ddr_clk); ret = clk_get_by_index(dev, 0, &priv->ddr_clk);
if (ret) { if (ret) {
debug("clk get failed %d\n", ret); debug("clk get failed %d\n", ret);
@ -374,9 +368,9 @@ static int fu540_ddr_probe(struct udevice *dev)
return ret; return ret;
} }
priv->ctl = regmap_get_range(map, 0); priv->ctl = (struct fu540_ddrctl *)dev_read_addr_index(dev, 0);
priv->phy = regmap_get_range(map, 1); priv->phy = (struct fu540_ddrphy *)dev_read_addr_index(dev, 1);
priv->physical_filter_ctrl = regmap_get_range(map, 2); priv->physical_filter_ctrl = (u32 *)dev_read_addr_index(dev, 2);
return fu540_ddr_setup(dev); return fu540_ddr_setup(dev);
#endif #endif