diff options
author | Tom Rini <trini@konsulko.com> | 2020-09-30 09:21:43 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-09-30 09:21:43 -0400 |
commit | 01114adfc1e0bf3cf5e2f3da858bb2c8e9810c1c (patch) | |
tree | 64ab9c9d1c2a5f3cc96b4c0fef1990cb73c1b356 /drivers/ram/sifive/fu540_ddr.c | |
parent | 527fad0b2484bf1dd4c443c4c8f4384aa256938f (diff) | |
parent | 924de3216e9efdf1cdc71b8632099213aac03f2c (diff) |
Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-riscv into next
- Disable CMD_IRQ for RISC-V.
- Update sipeed/maix doc
- Obtain reg of SiFive RAM via dev_read_addr_index() instead of regmap API.
- Cleans up RISC-V timer drivers and converts them to DM.
- Correctly handle IPIs already pending upon prior stage bootloader (on the K210)
Diffstat (limited to 'drivers/ram/sifive/fu540_ddr.c')
-rw-r--r-- | drivers/ram/sifive/fu540_ddr.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/ram/sifive/fu540_ddr.c b/drivers/ram/sifive/fu540_ddr.c index 5ff88692a81..60d4945f848 100644 --- a/drivers/ram/sifive/fu540_ddr.c +++ b/drivers/ram/sifive/fu540_ddr.c @@ -11,7 +11,6 @@ #include <fdtdec.h> #include <init.h> #include <ram.h> -#include <regmap.h> #include <syscon.h> #include <asm/io.h> #include <clk.h> @@ -339,17 +338,12 @@ static int fu540_ddr_probe(struct udevice *dev) priv->info.size = gd->ram_size; #if defined(CONFIG_SPL_BUILD) - struct regmap *map; int ret; u32 clock = 0; debug("FU540 DDR probe\n"); 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); if (ret) { debug("clk get failed %d\n", ret); @@ -369,9 +363,14 @@ static int fu540_ddr_probe(struct udevice *dev) } ret = clk_enable(&priv->ddr_clk); - priv->ctl = regmap_get_range(map, 0); - priv->phy = regmap_get_range(map, 1); - priv->physical_filter_ctrl = regmap_get_range(map, 2); + if (ret < 0) { + debug("Could not enable DDR clock\n"); + return ret; + } + + priv->ctl = (struct fu540_ddrctl *)dev_read_addr_index(dev, 0); + priv->phy = (struct fu540_ddrphy *)dev_read_addr_index(dev, 1); + priv->physical_filter_ctrl = (u32 *)dev_read_addr_index(dev, 2); return fu540_ddr_setup(dev); #endif |