diff mbox series

[1/2] rng: iproc_rng200: Enable support for RPi4 armv7

Message ID 20210226104801.3362-1-matthias.bgg@kernel.org
State Accepted
Commit 3ac05239b48c8acae370cd0f68ec5cb0150bc95c
Delegated to: Matthias Brugger
Headers show
Series [1/2] rng: iproc_rng200: Enable support for RPi4 armv7 | expand

Commit Message

Matthias Brugger Feb. 26, 2021, 10:48 a.m. UTC
From: Matthias Brugger <mbrugger@suse.com>

On the RPi4 armv7 build we have the situationt that we use physical
addresses of 64 bit, while the virtual addresses are 32 bit.
Remap the base address in this scenario via map_physmem().

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---

 drivers/rng/iproc_rng200.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/drivers/rng/iproc_rng200.c b/drivers/rng/iproc_rng200.c
index 1126bbd797..85ac15bf9c 100644
--- a/drivers/rng/iproc_rng200.c
+++ b/drivers/rng/iproc_rng200.c
@@ -34,12 +34,12 @@ 
 #define RNG_FIFO_COUNT_RNG_FIFO_COUNT_MASK		0x000000FF
 
 struct iproc_rng200_plat {
-	fdt_addr_t base;
+	void __iomem *base;
 };
 
 static void iproc_rng200_enable(struct iproc_rng200_plat *pdata, bool enable)
 {
-	fdt_addr_t rng_base = pdata->base;
+	void __iomem *rng_base = pdata->base;
 	u32 val;
 
 	val = readl(rng_base + RNG_CTRL_OFFSET);
@@ -54,7 +54,7 @@  static void iproc_rng200_enable(struct iproc_rng200_plat *pdata, bool enable)
 
 static void iproc_rng200_restart(struct iproc_rng200_plat *pdata)
 {
-	fdt_addr_t rng_base = pdata->base;
+	void __iomem *rng_base = pdata->base;
 	u32 val;
 
 	iproc_rng200_enable(pdata, false);
@@ -156,7 +156,7 @@  static int iproc_rng200_of_to_plat(struct udevice *dev)
 {
 	struct iproc_rng200_plat *pdata = dev_get_plat(dev);
 
-	pdata->base = dev_read_addr(dev);
+	pdata->base = devfdt_map_physmem(dev, sizeof(void *));
 	if (!pdata->base)
 		return -ENODEV;