
Data types and I/O functions have been defined for 64 bit physical addresses in arm.
Signed-off-by: Aneesh Bansal aneesh.bansal@freescale.com --- Changes in v2: There is no need for defining 64 bit I/O operations. If an IP needs to do 64 bit access, it will do it by defining 32 bit addr_hi and addr_lo.
arch/arm/include/asm/types.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/arch/arm/include/asm/types.h b/arch/arm/include/asm/types.h index ee77c41..d87f955 100644 --- a/arch/arm/include/asm/types.h +++ b/arch/arm/include/asm/types.h @@ -45,12 +45,15 @@ typedef unsigned long long u64; #define BITS_PER_LONG 32 #endif /* CONFIG_ARM64 */
-/* Dma addresses are 32-bits wide. */ - +#ifdef CONFIG_PHYS_64BIT +typedef u64 dma_addr_t; +typedef u64 phys_addr_t; +typedef u64 phys_size_t; +#else typedef u32 dma_addr_t; - -typedef unsigned long phys_addr_t; -typedef unsigned long phys_size_t; +typedef u32 phys_addr_t; +typedef u32 phys_size_t; +#endif
#endif /* __KERNEL__ */