Blame sim/bfin/dv-bfin_dma.h

Packit Service 706eca
/* Blackfin Direct Memory Access (DMA) Channel model.
Packit Service 706eca
Packit Service 706eca
   Copyright (C) 2010-2018 Free Software Foundation, Inc.
Packit Service 706eca
   Contributed by Analog Devices, Inc.
Packit Service 706eca
Packit Service 706eca
   This file is part of simulators.
Packit Service 706eca
Packit Service 706eca
   This program is free software; you can redistribute it and/or modify
Packit Service 706eca
   it under the terms of the GNU General Public License as published by
Packit Service 706eca
   the Free Software Foundation; either version 3 of the License, or
Packit Service 706eca
   (at your option) any later version.
Packit Service 706eca
Packit Service 706eca
   This program is distributed in the hope that it will be useful,
Packit Service 706eca
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 706eca
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 706eca
   GNU General Public License for more details.
Packit Service 706eca
Packit Service 706eca
   You should have received a copy of the GNU General Public License
Packit Service 706eca
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
Packit Service 706eca
Packit Service 706eca
#ifndef DV_BFIN_DMA_H
Packit Service 706eca
#define DV_BFIN_DMA_H
Packit Service 706eca
Packit Service 706eca
/* DMA_CONFIG Masks */
Packit Service 706eca
#define DMAEN		0x0001	/* DMA Channel Enable */
Packit Service 706eca
#define WNR		0x0002	/* Channel Direction (W/R*) */
Packit Service 706eca
#define WDSIZE_8	0x0000	/* Transfer Word Size = 8 */
Packit Service 706eca
#define WDSIZE_16	0x0004	/* Transfer Word Size = 16 */
Packit Service 706eca
#define WDSIZE_32	0x0008	/* Transfer Word Size = 32 */
Packit Service 706eca
#define WDSIZE		0x000c	/* Transfer Word Size */
Packit Service 706eca
#define DMA2D		0x0010	/* DMA Mode (2D/1D*) */
Packit Service 706eca
#define RESTART		0x0020	/* DMA Buffer Clear */
Packit Service 706eca
#define DI_SEL		0x0040	/* Data Interrupt Timing Select */
Packit Service 706eca
#define DI_EN		0x0080	/* Data Interrupt Enable */
Packit Service 706eca
#define NDSIZE_0	0x0000	/* Next Descriptor Size = 0 (Stop/Autobuffer) */
Packit Service 706eca
#define NDSIZE_1	0x0100	/* Next Descriptor Size = 1 */
Packit Service 706eca
#define NDSIZE_2	0x0200	/* Next Descriptor Size = 2 */
Packit Service 706eca
#define NDSIZE_3	0x0300	/* Next Descriptor Size = 3 */
Packit Service 706eca
#define NDSIZE_4	0x0400	/* Next Descriptor Size = 4 */
Packit Service 706eca
#define NDSIZE_5	0x0500	/* Next Descriptor Size = 5 */
Packit Service 706eca
#define NDSIZE_6	0x0600	/* Next Descriptor Size = 6 */
Packit Service 706eca
#define NDSIZE_7	0x0700	/* Next Descriptor Size = 7 */
Packit Service 706eca
#define NDSIZE_8	0x0800	/* Next Descriptor Size = 8 */
Packit Service 706eca
#define NDSIZE_9	0x0900	/* Next Descriptor Size = 9 */
Packit Service 706eca
#define NDSIZE		0x0f00	/* Next Descriptor Size */
Packit Service 706eca
#define NDSIZE_SHIFT	8
Packit Service 706eca
#define DMAFLOW		0x7000	/* Flow Control */
Packit Service 706eca
#define DMAFLOW_STOP	0x0000	/* Stop Mode */
Packit Service 706eca
#define DMAFLOW_AUTO	0x1000	/* Autobuffer Mode */
Packit Service 706eca
#define DMAFLOW_ARRAY	0x4000	/* Descriptor Array Mode */
Packit Service 706eca
#define DMAFLOW_SMALL	0x6000	/* Small Model Descriptor List Mode */
Packit Service 706eca
#define DMAFLOW_LARGE	0x7000	/* Large Model Descriptor List Mode */
Packit Service 706eca
Packit Service 706eca
/* DMA_IRQ_STATUS Masks */
Packit Service 706eca
#define DMA_DONE	0x0001	/* DMA Completion Interrupt Status */
Packit Service 706eca
#define DMA_ERR		0x0002	/* DMA Error Interrupt Status */
Packit Service 706eca
#define DFETCH		0x0004	/* DMA Descriptor Fetch Indicator */
Packit Service 706eca
#define DMA_RUN		0x0008	/* DMA Channel Running Indicator */
Packit Service 706eca
Packit Service 706eca
/* DMA_PERIPHERAL_MAP Masks */
Packit Service 706eca
#define CTYPE		(1 << 6)
Packit Service 706eca
Packit Service 706eca
#endif