Add PCIe init and NMode flag to PEI data structure

The IvyBridge reference code does some slow and
extensive PCIe init that we do not need on Link.
Hence, add a flag to disable/enable running that
init code from coreboot.

NMode was used during bringup. We'll switch
the setting back to auto, to let MRC decide the right thing.

Change-Id: Ia989bb9ea079aadfeb41dc3029b7c2c623e84760
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/1826
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martin@se-eng.com>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Stefan Reinauer 2012-09-04 10:59:29 -07:00 committed by Ronald G. Minnich
parent e8179b5138
commit 7e8c8e92bb
1 changed files with 12 additions and 1 deletions

View File

@ -31,7 +31,7 @@
#define PEI_DATA_H #define PEI_DATA_H
typedef void (*tx_byte_func)(unsigned char byte); typedef void (*tx_byte_func)(unsigned char byte);
#define PEI_VERSION 3 #define PEI_VERSION 4
struct pei_data struct pei_data
{ {
uint32_t pei_version; uint32_t pei_version;
@ -99,6 +99,17 @@ struct pei_data
uint8_t spd_data[4][256]; uint8_t spd_data[4][256];
tx_byte_func tx_byte; tx_byte_func tx_byte;
int ddr3lv_support; int ddr3lv_support;
/* pcie_init needs to be set to 1 to have the system agent initialize
* PCIe. Note: This should only be required if your system has Gen3 devices
* and it will increase your boot time by at least 100ms.
*/
int pcie_init;
/* N mode functionality. Leave this setting at 0.
* 0 Auto
* 1 1N
* 2 2N
*/
int nmode;
} __attribute__((packed)); } __attribute__((packed));
#endif #endif