msmc.h 843 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * MSMC controller
  3. *
  4. * (C) Copyright 2014
  5. * Texas Instruments Incorporated, <www.ti.com>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef _MSMC_H_
  10. #define _MSMC_H_
  11. #include <asm/arch/hardware.h>
  12. enum mpax_seg_size {
  13. MPAX_SEG_4K = 0x0b,
  14. MPAX_SEG_8K,
  15. MPAX_SEG_16K,
  16. MPAX_SEG_32K,
  17. MPAX_SEG_64K,
  18. MPAX_SEG_128K,
  19. MPAX_SEG_256K,
  20. MPAX_SEG_512K,
  21. MPAX_SEG_1M,
  22. MPAX_SEG_2M,
  23. MPAX_SEG_4M,
  24. MPAX_SEG_8M,
  25. MPAX_SEG_16M,
  26. MPAX_SEG_32M,
  27. MPAX_SEG_64M,
  28. MPAX_SEG_128M,
  29. MPAX_SEG_256M,
  30. MPAX_SEG_512M,
  31. MPAX_SEG_1G,
  32. MPAX_SEG_2G,
  33. MPAX_SEG_4G
  34. };
  35. void msmc_share_all_segments(int priv_id);
  36. void msmc_get_ses_mpax(int priv_id, int ses_pair, u32 *mpax);
  37. void msmc_set_ses_mpax(int priv_id, int ses_pair, u32 *mpax);
  38. void msmc_map_ses_segment(int priv_id, int ses_pair,
  39. u32 src_pfn, u32 dst_pfn, enum mpax_seg_size size);
  40. #endif