summaryrefslogtreecommitdiff
path: root/include/soc/starfive/vic7100.h
blob: a850f4cd11bf75eb8ce36b9eab91d753e4a5315f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef STARFIVE_VIC7100_H
#define STARFIVE_VIC7100_H
#include <asm/io.h>
#include <soc/sifive/sifive_l2_cache.h>

/*cache.c*/
#define starfive_flush_dcache(start, len) \
	sifive_l2_flush64_range(start, len)

/*dma*/
#define CONFIG_DW_DEBUG

#define DMA_PRINTK(fmt,...) \
	printk("[DW_DMA] %s():%d \n" fmt, __func__, __LINE__, ##__VA_ARGS__)

#ifdef CONFIG_DW_DEBUG
#define DMA_DEBUG(fmt,...) \
	printk("[DW_DMA_DEBUG] %s():%d \n" fmt, __func__, __LINE__, ##__VA_ARGS__)
#else
#define DMA_BEBUG(fmt,...)
#endif

#define _dw_virt_to_phys(vaddr) (pfn_to_phys(virt_to_pfn(vaddr)))
#define _dw_phys_to_virt(paddr) (page_to_virt(phys_to_page(paddr)))

void *dw_phys_to_virt(u64 phys);
u64 dw_virt_to_phys(void *vaddr);

int dw_dma_async_do_memcpy(void *src, void *dst, size_t size);
int dw_dma_memcpy_raw(dma_addr_t src_dma, dma_addr_t dst_dma, size_t size);
int dw_dma_memcpy(void *src, void *dst, size_t size);

int dw_dma_mem2mem_arry(void);
int dw_dma_mem2mem_test(void);

#endif /*STARFIVE_VIC7100_H*/