hte.h 919 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (C) 2013, Intel Corporation
  3. * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
  4. *
  5. * Ported from Intel released Quark UEFI BIOS
  6. * QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei
  7. *
  8. * SPDX-License-Identifier: Intel
  9. */
  10. #ifndef _HTE_H_
  11. #define _HTE_H_
  12. enum {
  13. MRC_MEM_INIT,
  14. MRC_MEM_TEST
  15. };
  16. enum {
  17. READ_TRAIN,
  18. WRITE_TRAIN
  19. };
  20. /*
  21. * EXP_LOOP_CNT field of HTE_CMD_CTL
  22. *
  23. * This CANNOT be less than 4!
  24. */
  25. #define HTE_LOOP_CNT 5
  26. /* random seed for victim */
  27. #define HTE_LFSR_VICTIM_SEED 0xf294ba21
  28. /* random seed for aggressor */
  29. #define HTE_LFSR_AGRESSOR_SEED 0xeba7492d
  30. u32 hte_mem_init(struct mrc_params *mrc_params, u8 flag);
  31. u16 hte_basic_write_read(struct mrc_params *mrc_params, u32 addr,
  32. u8 first_run, u8 mode);
  33. u16 hte_write_stress_bit_lanes(struct mrc_params *mrc_params,
  34. u32 addr, u8 first_run);
  35. void hte_mem_op(u32 addr, u8 first_run, u8 is_write);
  36. #endif /* _HTE_H_ */