fsl_srio.h 859 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright 2011-2012 Freescale Semiconductor, Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _FSL_SRIO_H_
  7. #define _FSL_SRIO_H_
  8. #include <linux/log2.h>
  9. enum atmu_size {
  10. ATMU_SIZE_4K = 0xb,
  11. ATMU_SIZE_8K,
  12. ATMU_SIZE_16K,
  13. ATMU_SIZE_32K,
  14. ATMU_SIZE_64K,
  15. ATMU_SIZE_128K,
  16. ATMU_SIZE_256K,
  17. ATMU_SIZE_512K,
  18. ATMU_SIZE_1M,
  19. ATMU_SIZE_2M,
  20. ATMU_SIZE_4M,
  21. ATMU_SIZE_8M,
  22. ATMU_SIZE_16M,
  23. ATMU_SIZE_32M,
  24. ATMU_SIZE_64M,
  25. ATMU_SIZE_128M,
  26. ATMU_SIZE_256M,
  27. ATMU_SIZE_512M,
  28. ATMU_SIZE_1G,
  29. ATMU_SIZE_2G,
  30. ATMU_SIZE_4G,
  31. ATMU_SIZE_8G,
  32. ATMU_SIZE_16G,
  33. ATMU_SIZE_32G,
  34. ATMU_SIZE_64G,
  35. };
  36. #define atmu_size_mask(sz) (__ilog2_u64(sz) - 1)
  37. #define atmu_size_bytes(x) (1ULL << ((x & 0x3f) + 1))
  38. extern void srio_init(void);
  39. #ifdef CONFIG_FSL_CORENET
  40. extern void srio_boot_master(int port);
  41. extern void srio_boot_master_release_slave(int port);
  42. #endif
  43. #endif