1 /** @file
2 Common definitions and compilation switches for MRC
3 
4 Copyright (c) 2013-2015 Intel Corporation.
5 
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution.  The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10 
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 #ifndef __MEMORY_OPTIONS_H
16 #define __MEMORY_OPTIONS_H
17 
18 #include "core_types.h"
19 
20 // MRC COMPILE TIME SWITCHES:
21 // ==========================
22 
23 
24 
25 //#define MRC_SV              // enable some validation opitons
26 
27 #if defined (SIM) || defined(EMU)
28 #define QUICKSIM              // reduce execution time using shorter rd/wr sequences
29 #endif
30 
31 #define CLT                   // required for Quark project
32 
33 
34 
35 //#define BACKUP_RCVN           // enable STATIC timing settings for RCVN (BACKUP_MODE)
36 //#define BACKUP_WDQS           // enable STATIC timing settings for WDQS (BACKUP_MODE)
37 //#define BACKUP_RDQS           // enable STATIC timing settings for RDQS (BACKUP_MODE)
38 //#define BACKUP_WDQ            // enable STATIC timing settings for WDQ (BACKUP_MODE)
39 
40 
41 
42 //#define BACKUP_COMPS          // enable *COMP overrides (BACKUP_MODE)
43 //#define RX_EYE_CHECK          // enable the RD_TRAIN eye check
44 #define HMC_TEST              // enable Host to Memory Clock Alignment
45 #define R2R_SHARING           // enable multi-rank support via rank2rank sharing
46 
47 #define FORCE_16BIT_DDRIO     // disable signals not used in 16bit mode of DDRIO
48 
49 
50 
51 //
52 // Debug support
53 //
54 
55 #ifdef NDEBUG
56 #define DPF        if(0) dpf
57 #else
58 #define DPF        dpf
59 #endif
60 
61 void dpf( uint32_t mask, char_t *bla, ...);
62 
63 
64 uint8_t mgetc(void);
65 uint8_t mgetch(void);
66 
67 
68 // Debug print type
69 #define D_ERROR      0x0001
70 #define D_INFO       0x0002
71 #define D_REGRD      0x0004
72 #define D_REGWR      0x0008
73 #define D_FCALL      0x0010
74 #define D_TRN        0x0020
75 #define D_TIME       0x0040
76 
77 #define ENTERFN()     DPF(D_FCALL, "<%s>\n", __FUNCTION__)
78 #define LEAVEFN()     DPF(D_FCALL, "</%s>\n", __FUNCTION__)
79 #define REPORTFN()    DPF(D_FCALL, "<%s/>\n", __FUNCTION__)
80 
81 extern uint32_t DpfPrintMask;
82 
83 #endif
84