pl330.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* linux/include/linux/amba/pl330.h
  2. *
  3. * Copyright (C) 2010 Samsung Electronics Co. Ltd.
  4. * Jaswinder Singh <jassi.brar@samsung.com>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation; either version 2 of the License, or
  9. * (at your option) any later version.
  10. */
  11. #ifndef __AMBA_PL330_H_
  12. #define __AMBA_PL330_H_
  13. #include <asm/hardware/pl330.h>
  14. struct dma_pl330_peri {
  15. /*
  16. * Peri_Req i/f of the DMAC that is
  17. * peripheral could be reached from.
  18. */
  19. u8 peri_id; /* {0, 31} */
  20. enum pl330_reqtype rqtype;
  21. /* For M->D and D->M Channels */
  22. int burst_sz; /* in power of 2 */
  23. dma_addr_t fifo_addr;
  24. };
  25. struct dma_pl330_platdata {
  26. /*
  27. * Number of valid peripherals connected to DMAC.
  28. * This may be different from the value read from
  29. * CR0, as the PL330 implementation might have 'holes'
  30. * in the peri list or the peri could also be reached
  31. * from another DMAC which the platform prefers.
  32. */
  33. u8 nr_valid_peri;
  34. /* Array of valid peripherals */
  35. struct dma_pl330_peri *peri;
  36. /* Bytes to allocate for MC buffer */
  37. unsigned mcbuf_sz;
  38. };
  39. #endif /* __AMBA_PL330_H_ */