dma.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 S3C64XX_DMA_CHAN(name) ((unsigned long)(name))
  13. /* DMA0/SDMA0 */
  14. #define DMACH_UART0 S3C64XX_DMA_CHAN("uart0_tx")
  15. #define DMACH_UART0_SRC2 S3C64XX_DMA_CHAN("uart0_rx")
  16. #define DMACH_UART1 S3C64XX_DMA_CHAN("uart1_tx")
  17. #define DMACH_UART1_SRC2 S3C64XX_DMA_CHAN("uart1_rx")
  18. #define DMACH_UART2 S3C64XX_DMA_CHAN("uart2_tx")
  19. #define DMACH_UART2_SRC2 S3C64XX_DMA_CHAN("uart2_rx")
  20. #define DMACH_UART3 S3C64XX_DMA_CHAN("uart3_tx")
  21. #define DMACH_UART3_SRC2 S3C64XX_DMA_CHAN("uart3_rx")
  22. #define DMACH_PCM0_TX S3C64XX_DMA_CHAN("pcm0_tx")
  23. #define DMACH_PCM0_RX S3C64XX_DMA_CHAN("pcm0_rx")
  24. #define DMACH_I2S0_OUT S3C64XX_DMA_CHAN("i2s0_tx")
  25. #define DMACH_I2S0_IN S3C64XX_DMA_CHAN("i2s0_rx")
  26. #define DMACH_SPI0_TX S3C64XX_DMA_CHAN("spi0_tx")
  27. #define DMACH_SPI0_RX S3C64XX_DMA_CHAN("spi0_rx")
  28. #define DMACH_HSI_I2SV40_TX S3C64XX_DMA_CHAN("i2s2_tx")
  29. #define DMACH_HSI_I2SV40_RX S3C64XX_DMA_CHAN("i2s2_rx")
  30. /* DMA1/SDMA1 */
  31. #define DMACH_PCM1_TX S3C64XX_DMA_CHAN("pcm1_tx")
  32. #define DMACH_PCM1_RX S3C64XX_DMA_CHAN("pcm1_rx")
  33. #define DMACH_I2S1_OUT S3C64XX_DMA_CHAN("i2s1_tx")
  34. #define DMACH_I2S1_IN S3C64XX_DMA_CHAN("i2s1_rx")
  35. #define DMACH_SPI1_TX S3C64XX_DMA_CHAN("spi1_tx")
  36. #define DMACH_SPI1_RX S3C64XX_DMA_CHAN("spi1_rx")
  37. #define DMACH_AC97_PCMOUT S3C64XX_DMA_CHAN("ac97_out")
  38. #define DMACH_AC97_PCMIN S3C64XX_DMA_CHAN("ac97_in")
  39. #define DMACH_AC97_MICIN S3C64XX_DMA_CHAN("ac97_mic")
  40. #define DMACH_PWM S3C64XX_DMA_CHAN("pwm")
  41. #define DMACH_IRDA S3C64XX_DMA_CHAN("irda")
  42. #define DMACH_EXTERNAL S3C64XX_DMA_CHAN("external")
  43. #define DMACH_SECURITY_RX S3C64XX_DMA_CHAN("sec_rx")
  44. #define DMACH_SECURITY_TX S3C64XX_DMA_CHAN("sec_tx")
  45. enum dma_ch {
  46. DMACH_MAX = 32
  47. };
  48. struct s3c2410_dma_client {
  49. char *name;
  50. };
  51. static inline bool samsung_dma_has_circular(void)
  52. {
  53. return true;
  54. }
  55. static inline bool samsung_dma_is_dmadev(void)
  56. {
  57. return true;
  58. }
  59. #include <linux/amba/pl08x.h>
  60. #include <plat/dma-ops.h>
  61. #endif /* __ASM_ARCH_IRQ_H */