bfin_ppi.h 843 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * bfin_ppi.h - interface to Blackfin PPIs
  3. *
  4. * Copyright 2005-2010 Analog Devices Inc.
  5. *
  6. * Licensed under the GPL-2 or later.
  7. */
  8. #ifndef __ASM_BFIN_PPI_H__
  9. #define __ASM_BFIN_PPI_H__
  10. #include <linux/types.h>
  11. /*
  12. * All Blackfin system MMRs are padded to 32bits even if the register
  13. * itself is only 16bits. So use a helper macro to streamline this.
  14. */
  15. #define __BFP(m) u16 m; u16 __pad_##m
  16. /*
  17. * bfin ppi registers layout
  18. */
  19. struct bfin_ppi_regs {
  20. __BFP(control);
  21. __BFP(status);
  22. __BFP(count);
  23. __BFP(delay);
  24. __BFP(frame);
  25. };
  26. /*
  27. * bfin eppi registers layout
  28. */
  29. struct bfin_eppi_regs {
  30. __BFP(status);
  31. __BFP(hcount);
  32. __BFP(hdelay);
  33. __BFP(vcount);
  34. __BFP(vdelay);
  35. __BFP(frame);
  36. __BFP(line);
  37. __BFP(clkdiv);
  38. u32 control;
  39. u32 fs1w_hbl;
  40. u32 fs1p_avpl;
  41. u32 fs2w_lvb;
  42. u32 fs2p_lavf;
  43. u32 clip;
  44. };
  45. #undef __BFP
  46. #endif