msmc.h 839 B

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