mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-25 01:58:13 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * dma.h - Blackfin DMA defines/structures/etc...
 | |
|  *
 | |
|  * Copyright 2004-2008 Analog Devices Inc.
 | |
|  * Licensed under the GPL-2 or later.
 | |
|  */
 | |
| 
 | |
| #ifndef _BLACKFIN_DMA_H_
 | |
| #define _BLACKFIN_DMA_H_
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #ifdef __ADSPBF60x__
 | |
| #include <asm/mach-common/bits/dde.h>
 | |
| #else
 | |
| #include <asm/mach-common/bits/dma.h>
 | |
| #endif
 | |
| 
 | |
| struct dmasg_large {
 | |
| 	void *next_desc_addr;
 | |
| 	u32 start_addr;
 | |
| 	u16 cfg;
 | |
| 	u16 x_count;
 | |
| 	s16 x_modify;
 | |
| 	u16 y_count;
 | |
| 	s16 y_modify;
 | |
| } __attribute__((packed));
 | |
| 
 | |
| struct dmasg {
 | |
| 	u32 start_addr;
 | |
| 	u16 cfg;
 | |
| 	u16 x_count;
 | |
| 	s16 x_modify;
 | |
| 	u16 y_count;
 | |
| 	s16 y_modify;
 | |
| } __attribute__((packed));
 | |
| 
 | |
| struct dma_register {
 | |
| #ifdef __ADSPBF60x__
 | |
| 	void *next_desc_ptr;	/* DMA Next Descriptor Pointer register */
 | |
| 	u32 start_addr;		/* DMA Start address  register */
 | |
| 	u32 config;		/* DMA Configuration register */
 | |
| 
 | |
| 	u32 x_count;		/* DMA x_count register */
 | |
| 	s32 x_modify;		/* DMA x_modify register */
 | |
| 	u32 y_count;		/* DMA y_count register */
 | |
| 	s32 y_modify;		/* DMA y_modify register */
 | |
| 	u32 __pad0[2];
 | |
| 
 | |
| 	void *curr_desc_ptr;	/* DMA Curr Descriptor Pointer register */
 | |
| 	void *prev_desc_ptr;	/* DMA Prev Descriptor Pointer register */
 | |
| 	void *curr_addr;	/* DMA Current Address Pointer register */
 | |
| 	u32 status;		/* DMA irq status register */
 | |
| 	u32 curr_x_count;	/* DMA Current x-count register */
 | |
| 	u32 curr_y_count;	/* DMA Current y-count register */
 | |
| 	u32 __pad1[2];
 | |
| 
 | |
| 	u32 bw_limit;		/* DMA Bandwidth Limit Count */
 | |
| 	u32 curr_bw_limit;	/* DMA curr Bandwidth Limit Count */
 | |
| 	u32 bw_monitor;		/* DMA Bandwidth Monitor Count */
 | |
| 	u32 curr_bw_monitor;	/* DMA curr Bandwidth Monitor Count */
 | |
| #else
 | |
| 	void *next_desc_ptr;	/* DMA Next Descriptor Pointer register */
 | |
| 	u32 start_addr;		/* DMA Start address  register */
 | |
| 
 | |
| 	u16 config;		/* DMA Configuration register */
 | |
| 	u16 dummy1;		/* DMA Configuration register */
 | |
| 
 | |
| 	u32 reserved;
 | |
| 
 | |
| 	u16 x_count;		/* DMA x_count register */
 | |
| 	u16 dummy2;
 | |
| 
 | |
| 	s16 x_modify;		/* DMA x_modify register */
 | |
| 	u16 dummy3;
 | |
| 
 | |
| 	u16 y_count;		/* DMA y_count register */
 | |
| 	u16 dummy4;
 | |
| 
 | |
| 	s16 y_modify;		/* DMA y_modify register */
 | |
| 	u16 dummy5;
 | |
| 
 | |
| 	void *curr_desc_ptr;	/* DMA Current Descriptor Pointer register */
 | |
| 
 | |
| 	u32 curr_addr_ptr;	/* DMA Current Address Pointer register */
 | |
| 
 | |
| 	u16 status;		/* DMA irq status register */
 | |
| 	u16 dummy6;
 | |
| 
 | |
| 	u16 peripheral_map;	/* DMA peripheral map register */
 | |
| 	u16 dummy7;
 | |
| 
 | |
| 	u16 curr_x_count;	/* DMA Current x-count register */
 | |
| 	u16 dummy8;
 | |
| 
 | |
| 	u32 reserved2;
 | |
| 
 | |
| 	u16 curr_y_count;	/* DMA Current y-count register */
 | |
| 	u16 dummy9;
 | |
| 
 | |
| 	u32 reserved3;
 | |
| #endif
 | |
| };
 | |
| 
 | |
| #endif
 |