Virtual to physical mapping isn't necessarily 1:1 for all architectures

Using ioremap_nocache allows for the arch code to translate the
physical address to a virtual address.

Signed-off-by: Zubair Lutfullah Kakakhel <zubair.kakak...@imgtec.com>
Reviewed-by: Paul Burton <paul.bur...@imgtec.com>
---
 drivers/net/xilinx_emaclite.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 7b85aa0..6df222b 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -19,6 +19,7 @@
 #include <fdtdec.h>
 #include <asm-generic/errno.h>
 #include <linux/kernel.h>
+#include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -595,7 +596,8 @@ static int emaclite_ofdata_to_platdata(struct udevice *dev)
        int offset = 0;
 
        pdata->iobase = (phys_addr_t)dev_get_addr(dev);
-       emaclite->regs = (struct emaclite_regs *)pdata->iobase;
+       emaclite->regs = (struct emaclite_regs *)ioremap_nocache(pdata->iobase,
+                                                                0x10000);
 
        emaclite->phyaddr = -1;
 
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to