diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 025012a..80eab75 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -120,12 +120,20 @@ static inline void set_io_port_base(unsigned long
base)
  */
 extern inline phys_addr_t virt_to_phys(volatile void * address)
 {
+#ifndef CONFIG_64BIT
  return CPHYSADDR(address);
+#else
+ return XPHYSADDR(address);
+#endif
 }

 extern inline void * phys_to_virt(unsigned long address)
 {
+#ifndef CONFIG_64BIT
  return (void *)KSEG0ADDR(address);
+#else
+ return (void *)CKSEG0ADDR(address);
+#endif
 }

 /*
@@ -133,12 +141,20 @@ extern inline void * phys_to_virt(unsigned long
address)
  */
 extern inline unsigned long virt_to_bus(volatile void * address)
 {
+#ifndef CONFIG_64BIT
  return CPHYSADDR(address);
+#else
+ return XPHYSADDR(address);
+#endif
 }

 extern inline void * bus_to_virt(unsigned long address)
 {
+#ifndef CONFIG_64BIT
  return (void *)KSEG0ADDR(address);
+#else
+ return (void *)CKSEG0ADDR(address);
+#endif
 }

 /*

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

Reply via email to