xref: /rk3399_rockchip-uboot/arch/arm/include/asm/dma-mapping.h (revision 2f06693567e259321406822b343f8aa70857c7bb)
1819833afSPeter Tyser /*
2819833afSPeter Tyser  * (C) Copyright 2007
3c9e798d3SStelian Pop  * Stelian Pop <stelian@popies.net>
4819833afSPeter Tyser  * Lead Tech Design <www.leadtechdesign.com>
5819833afSPeter Tyser  *
61a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
7819833afSPeter Tyser  */
8819833afSPeter Tyser #ifndef __ASM_ARM_DMA_MAPPING_H
9819833afSPeter Tyser #define __ASM_ARM_DMA_MAPPING_H
10819833afSPeter Tyser 
11*2f066935SKishon Vijay Abraham I #define	dma_mapping_error(x, y)	0
12*2f066935SKishon Vijay Abraham I 
13819833afSPeter Tyser enum dma_data_direction {
14819833afSPeter Tyser 	DMA_BIDIRECTIONAL	= 0,
15819833afSPeter Tyser 	DMA_TO_DEVICE		= 1,
16819833afSPeter Tyser 	DMA_FROM_DEVICE		= 2,
17819833afSPeter Tyser };
18819833afSPeter Tyser 
19aecbf879SKishon Vijay Abraham I static inline void *dma_alloc_coherent(size_t len, unsigned long *handle)
20819833afSPeter Tyser {
21771f74c3SKuo-Jung Su 	*handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len);
22819833afSPeter Tyser 	return (void *)*handle;
23819833afSPeter Tyser }
24819833afSPeter Tyser 
25*2f066935SKishon Vijay Abraham I static inline void dma_free_coherent(void *addr)
26*2f066935SKishon Vijay Abraham I {
27*2f066935SKishon Vijay Abraham I 	free(addr);
28*2f066935SKishon Vijay Abraham I }
29*2f066935SKishon Vijay Abraham I 
30819833afSPeter Tyser static inline unsigned long dma_map_single(volatile void *vaddr, size_t len,
31819833afSPeter Tyser 					   enum dma_data_direction dir)
32819833afSPeter Tyser {
33819833afSPeter Tyser 	return (unsigned long)vaddr;
34819833afSPeter Tyser }
35819833afSPeter Tyser 
36819833afSPeter Tyser static inline void dma_unmap_single(volatile void *vaddr, size_t len,
37819833afSPeter Tyser 				    unsigned long paddr)
38819833afSPeter Tyser {
39819833afSPeter Tyser }
40819833afSPeter Tyser 
41819833afSPeter Tyser #endif /* __ASM_ARM_DMA_MAPPING_H */
42