summaryrefslogtreecommitdiffstats
path: root/arch/x86/cpu/quark/hte.h
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-02-05 23:42:23 +0800
committerSimon Glass <sjg@chromium.org>2015-02-06 12:07:43 -0700
commit38ad43e4360f289a24e6599c6a924421d8f23263 (patch)
tree4feafec580cbcca6fec4ca87b5f018039ded6cfc /arch/x86/cpu/quark/hte.h
parent0a391b1c797ba9deb8d746cf98a08b394f42e0ee (diff)
downloadblackbird-obmc-uboot-38ad43e4360f289a24e6599c6a924421d8f23263.tar.gz
blackbird-obmc-uboot-38ad43e4360f289a24e6599c6a924421d8f23263.zip
x86: quark: Add utility codes needed for MRC
Add various utility codes needed for Quark MRC. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/cpu/quark/hte.h')
-rw-r--r--arch/x86/cpu/quark/hte.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/x86/cpu/quark/hte.h b/arch/x86/cpu/quark/hte.h
new file mode 100644
index 0000000000..6577796fd6
--- /dev/null
+++ b/arch/x86/cpu/quark/hte.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2013, Intel Corporation
+ * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * Ported from Intel released Quark UEFI BIOS
+ * QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei
+ *
+ * SPDX-License-Identifier: Intel
+ */
+
+#ifndef _HTE_H_
+#define _HTE_H_
+
+enum {
+ MRC_MEM_INIT,
+ MRC_MEM_TEST
+};
+
+enum {
+ READ_TRAIN,
+ WRITE_TRAIN
+};
+
+/*
+ * EXP_LOOP_CNT field of HTE_CMD_CTL
+ *
+ * This CANNOT be less than 4!
+ */
+#define HTE_LOOP_CNT 5
+
+/* random seed for victim */
+#define HTE_LFSR_VICTIM_SEED 0xF294BA21
+
+/* random seed for aggressor */
+#define HTE_LFSR_AGRESSOR_SEED 0xEBA7492D
+
+u32 hte_mem_init(struct mrc_params *mrc_params, u8 flag);
+u16 hte_basic_write_read(struct mrc_params *mrc_params, u32 addr,
+ u8 first_run, u8 mode);
+u16 hte_write_stress_bit_lanes(struct mrc_params *mrc_params,
+ u32 addr, u8 first_run);
+void hte_mem_op(u32 addr, u8 first_run, u8 is_write);
+
+#endif /* _HTE_H_ */
OpenPOWER on IntegriCloud