iommu-omap.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * omap iommu: main structures
  3. *
  4. * Copyright (C) 2008-2009 Nokia Corporation
  5. *
  6. * Written by Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #define MMU_REG_SIZE 256
  13. /**
  14. * struct iommu_arch_data - omap iommu private data
  15. * @name: name of the iommu device
  16. * @iommu_dev: handle of the iommu device
  17. *
  18. * This is an omap iommu private data object, which binds an iommu user
  19. * to its iommu device. This object should be placed at the iommu user's
  20. * dev_archdata so generic IOMMU API can be used without having to
  21. * utilize omap-specific plumbing anymore.
  22. */
  23. struct omap_iommu_arch_data {
  24. const char *name;
  25. struct omap_iommu *iommu_dev;
  26. };
  27. /**
  28. * struct omap_mmu_dev_attr - OMAP mmu device attributes for omap_hwmod
  29. * @da_start: device address where the va space starts.
  30. * @da_end: device address where the va space ends.
  31. * @nr_tlb_entries: number of entries supported by the translation
  32. * look-aside buffer (TLB).
  33. */
  34. struct omap_mmu_dev_attr {
  35. u32 da_start;
  36. u32 da_end;
  37. int nr_tlb_entries;
  38. };
  39. struct iommu_platform_data {
  40. const char *name;
  41. const char *clk_name;
  42. const int nr_tlb_entries;
  43. u32 da_start;
  44. u32 da_end;
  45. };