dma.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /* linux/arch/arm/mach-s3c6400/include/mach/dma.h
  2. *
  3. * Copyright 2008 Openmoko, Inc.
  4. * Copyright 2008 Simtec Electronics
  5. * Ben Dooks <ben@simtec.co.uk>
  6. * http://armlinux.simtec.co.uk/
  7. *
  8. * S3C6400 - DMA support
  9. */
  10. #ifndef __ASM_ARCH_DMA_H
  11. #define __ASM_ARCH_DMA_H __FILE__
  12. #define S3C_DMA_CHANNELS (16)
  13. /* see mach-s3c2410/dma.h for notes on dma channel numbers */
  14. /* Note, for the S3C64XX architecture we keep the DMACH_
  15. * defines in the order they are allocated to [S]DMA0/[S]DMA1
  16. * so that is easy to do DHACH_ -> DMA controller conversion
  17. */
  18. enum dma_ch {
  19. /* DMA0/SDMA0 */
  20. DMACH_UART0 = 0,
  21. DMACH_UART0_SRC2,
  22. DMACH_UART1,
  23. DMACH_UART1_SRC2,
  24. DMACH_UART2,
  25. DMACH_UART2_SRC2,
  26. DMACH_UART3,
  27. DMACH_UART3_SRC2,
  28. DMACH_PCM0_TX,
  29. DMACH_PCM0_RX,
  30. DMACH_I2S0_OUT,
  31. DMACH_I2S0_IN,
  32. DMACH_SPI0_TX,
  33. DMACH_SPI0_RX,
  34. DMACH_HSI_I2SV40_TX,
  35. DMACH_HSI_I2SV40_RX,
  36. /* DMA1/SDMA1 */
  37. DMACH_PCM1_TX = 16,
  38. DMACH_PCM1_RX,
  39. DMACH_I2S1_OUT,
  40. DMACH_I2S1_IN,
  41. DMACH_SPI1_TX,
  42. DMACH_SPI1_RX,
  43. DMACH_AC97_PCMOUT,
  44. DMACH_AC97_PCMIN,
  45. DMACH_AC97_MICIN,
  46. DMACH_PWM,
  47. DMACH_IRDA,
  48. DMACH_EXTERNAL,
  49. DMACH_RES1,
  50. DMACH_RES2,
  51. DMACH_SECURITY_RX, /* SDMA1 only */
  52. DMACH_SECURITY_TX, /* SDMA1 only */
  53. DMACH_MAX /* the end */
  54. };
  55. static __inline__ bool s3c_dma_has_circular(void)
  56. {
  57. return true;
  58. }
  59. #define S3C2410_DMAF_CIRCULAR (1 << 0)
  60. #include <plat/dma.h>
  61. #endif /* __ASM_ARCH_IRQ_H */