xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-omap3/dma.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
14c4bb19dSSimon Schwarz #ifndef __SDMA_H
24c4bb19dSSimon Schwarz #define __SDMA_H
34c4bb19dSSimon Schwarz 
44c4bb19dSSimon Schwarz /* Copyright (C) 2011
54c4bb19dSSimon Schwarz  * Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de>
64c4bb19dSSimon Schwarz  *
7*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
84c4bb19dSSimon Schwarz  */
94c4bb19dSSimon Schwarz 
104c4bb19dSSimon Schwarz /* Functions */
114c4bb19dSSimon Schwarz void omap3_dma_init(void);
124c4bb19dSSimon Schwarz int omap3_dma_conf_transfer(uint32_t chan, uint32_t *src, uint32_t *dst,
134c4bb19dSSimon Schwarz 		uint32_t sze);
144c4bb19dSSimon Schwarz int omap3_dma_start_transfer(uint32_t chan);
154c4bb19dSSimon Schwarz int omap3_dma_wait_for_transfer(uint32_t chan);
164c4bb19dSSimon Schwarz int omap3_dma_conf_chan(uint32_t chan, struct dma4_chan *config);
174c4bb19dSSimon Schwarz int omap3_dma_get_conf_chan(uint32_t chan, struct dma4_chan *config);
184c4bb19dSSimon Schwarz 
194c4bb19dSSimon Schwarz /* Register settings */
204c4bb19dSSimon Schwarz #define CSDP_DATA_TYPE_8BIT             0x0
214c4bb19dSSimon Schwarz #define CSDP_DATA_TYPE_16BIT            0x1
224c4bb19dSSimon Schwarz #define CSDP_DATA_TYPE_32BIT            0x2
234c4bb19dSSimon Schwarz #define CSDP_SRC_BURST_SINGLE           (0x0 << 7)
244c4bb19dSSimon Schwarz #define CSDP_SRC_BURST_EN_16BYTES       (0x1 << 7)
254c4bb19dSSimon Schwarz #define CSDP_SRC_BURST_EN_32BYTES       (0x2 << 7)
264c4bb19dSSimon Schwarz #define CSDP_SRC_BURST_EN_64BYTES       (0x3 << 7)
274c4bb19dSSimon Schwarz #define CSDP_DST_BURST_SINGLE           (0x0 << 14)
284c4bb19dSSimon Schwarz #define CSDP_DST_BURST_EN_16BYTES       (0x1 << 14)
294c4bb19dSSimon Schwarz #define CSDP_DST_BURST_EN_32BYTES       (0x2 << 14)
304c4bb19dSSimon Schwarz #define CSDP_DST_BURST_EN_64BYTES       (0x3 << 14)
314c4bb19dSSimon Schwarz #define CSDP_DST_ENDIAN_LOCK_ADAPT      (0x0 << 18)
324c4bb19dSSimon Schwarz #define CSDP_DST_ENDIAN_LOCK_LOCK       (0x1 << 18)
334c4bb19dSSimon Schwarz #define CSDP_DST_ENDIAN_LITTLE          (0x0 << 19)
344c4bb19dSSimon Schwarz #define CSDP_DST_ENDIAN_BIG             (0x1 << 19)
354c4bb19dSSimon Schwarz #define CSDP_SRC_ENDIAN_LOCK_ADAPT      (0x0 << 20)
364c4bb19dSSimon Schwarz #define CSDP_SRC_ENDIAN_LOCK_LOCK       (0x1 << 20)
374c4bb19dSSimon Schwarz #define CSDP_SRC_ENDIAN_LITTLE          (0x0 << 21)
384c4bb19dSSimon Schwarz #define CSDP_SRC_ENDIAN_BIG             (0x1 << 21)
394c4bb19dSSimon Schwarz 
404c4bb19dSSimon Schwarz #define CCR_READ_PRIORITY_LOW           (0x0 << 6)
414c4bb19dSSimon Schwarz #define CCR_READ_PRIORITY_HIGH          (0x1 << 6)
424c4bb19dSSimon Schwarz #define CCR_ENABLE_DISABLED             (0x0 << 7)
434c4bb19dSSimon Schwarz #define CCR_ENABLE_ENABLE               (0x1 << 7)
444c4bb19dSSimon Schwarz #define CCR_SRC_AMODE_CONSTANT          (0x0 << 12)
454c4bb19dSSimon Schwarz #define CCR_SRC_AMODE_POST_INC          (0x1 << 12)
464c4bb19dSSimon Schwarz #define CCR_SRC_AMODE_SINGLE_IDX        (0x2 << 12)
474c4bb19dSSimon Schwarz #define CCR_SRC_AMODE_DOUBLE_IDX        (0x3 << 12)
484c4bb19dSSimon Schwarz #define CCR_DST_AMODE_CONSTANT          (0x0 << 14)
494c4bb19dSSimon Schwarz #define CCR_DST_AMODE_POST_INC          (0x1 << 14)
504c4bb19dSSimon Schwarz #define CCR_DST_AMODE_SINGLE_IDX        (0x2 << 14)
514c4bb19dSSimon Schwarz #define CCR_DST_AMODE_SOUBLE_IDX        (0x3 << 14)
524c4bb19dSSimon Schwarz 
534c4bb19dSSimon Schwarz #define CCR_RD_ACTIVE_MASK              (1 << 9)
544c4bb19dSSimon Schwarz #define CCR_WR_ACTIVE_MASK              (1 << 10)
554c4bb19dSSimon Schwarz 
564c4bb19dSSimon Schwarz #define CSR_TRANS_ERR			(1 << 8)
574c4bb19dSSimon Schwarz #define CSR_SUPERVISOR_ERR		(1 << 10)
584c4bb19dSSimon Schwarz #define CSR_MISALIGNED_ADRS_ERR		(1 << 11)
594c4bb19dSSimon Schwarz 
604c4bb19dSSimon Schwarz /* others */
614c4bb19dSSimon Schwarz #define CHAN_NR_MIN			0
624c4bb19dSSimon Schwarz #define CHAN_NR_MAX			31
634c4bb19dSSimon Schwarz 
644c4bb19dSSimon Schwarz #endif /* __SDMA_H */
65