dma.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. * dma.h - Blackfin DMA defines/structures/etc...
  3. *
  4. * Copyright 2004-2008 Analog Devices Inc.
  5. * Licensed under the GPL-2 or later.
  6. */
  7. #ifndef _BLACKFIN_DMA_H_
  8. #define _BLACKFIN_DMA_H_
  9. #include <asm/mach-common/bits/dma.h>
  10. struct dmasg_large {
  11. void *next_desc_addr;
  12. unsigned long start_addr;
  13. unsigned short cfg;
  14. unsigned short x_count;
  15. short x_modify;
  16. unsigned short y_count;
  17. short y_modify;
  18. } __attribute__((packed));
  19. struct dmasg {
  20. unsigned long start_addr;
  21. unsigned short cfg;
  22. unsigned short x_count;
  23. short x_modify;
  24. unsigned short y_count;
  25. short y_modify;
  26. } __attribute__((packed));
  27. struct dma_register {
  28. void *next_desc_ptr; /* DMA Next Descriptor Pointer register */
  29. unsigned long start_addr; /* DMA Start address register */
  30. unsigned short cfg; /* DMA Configuration register */
  31. unsigned short dummy1; /* DMA Configuration register */
  32. unsigned long reserved;
  33. unsigned short x_count; /* DMA x_count register */
  34. unsigned short dummy2;
  35. short x_modify; /* DMA x_modify register */
  36. unsigned short dummy3;
  37. unsigned short y_count; /* DMA y_count register */
  38. unsigned short dummy4;
  39. short y_modify; /* DMA y_modify register */
  40. unsigned short dummy5;
  41. void *curr_desc_ptr; /* DMA Current Descriptor Pointer
  42. register */
  43. unsigned long curr_addr_ptr; /* DMA Current Address Pointer
  44. register */
  45. unsigned short irq_status; /* DMA irq status register */
  46. unsigned short dummy6;
  47. unsigned short peripheral_map; /* DMA peripheral map register */
  48. unsigned short dummy7;
  49. unsigned short curr_x_count; /* DMA Current x-count register */
  50. unsigned short dummy8;
  51. unsigned long reserved2;
  52. unsigned short curr_y_count; /* DMA Current y-count register */
  53. unsigned short dummy9;
  54. unsigned long reserved3;
  55. };
  56. #endif