2 * linux/arch/unicore32/include/mach/dma.h
4 * Code specific to PKUnity SoC and UniCore ISA
6 * Copyright (C) 2001-2010 GUAN Xue-tao
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
12 #ifndef __MACH_PUV3_DMA_H__
13 #define __MACH_PUV3_DMA_H__
16 * The PKUnity has six internal DMA channels.
18 #define MAX_DMA_CHANNELS 6
30 extern int puv3_request_dma(char *name
,
32 void (*irq_handler
)(int, void *),
33 void (*err_handler
)(int, void *),
36 extern void puv3_free_dma(int dma_ch
);
38 static inline void puv3_stop_dma(int ch
)
40 writel(readl(DMAC_CONFIG(ch
)) & ~DMAC_CONFIG_EN
, DMAC_CONFIG(ch
));
43 static inline void puv3_resume_dma(int ch
)
45 writel(readl(DMAC_CONFIG(ch
)) | DMAC_CONFIG_EN
, DMAC_CONFIG(ch
));
48 #endif /* __MACH_PUV3_DMA_H__ */