baytrail: allow configuration of io hole size

The updated MRC wrapper allow the IO hole size to be
configured from the coreboot side of things.

BUG=None
BRANCH=baytrail
CQ-DEPEND=CL:*152595
TEST=Built and booted. Also changed io hole size from mainboard as test.

Change-Id: I7a626764aecce94bbaf35d884606480f22a9aa84
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/183269
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
Aaron Durbin 2014-01-22 10:53:06 -06:00 committed by chrome-internal-fetch
commit 95a79aff57
2 changed files with 7 additions and 1 deletions

View file

@ -28,7 +28,7 @@
#ifndef _MRC_WRAPPER_H_
#define _MRC_WRAPPER_H_
#define MRC_PARAMS_VER 2
#define MRC_PARAMS_VER 3
#define NUM_CHANNELS 2
@ -79,6 +79,7 @@ struct mrc_params {
int txe_size_mb; /* TXE memory size in megabytes. */
int rmt_enabled; /* Enable RMT training + prints. */
int io_hole_mb; /* Size of IO hole in MiB. */
/* Outputs */
void *txe_base_address;

View file

@ -128,6 +128,11 @@ void raminit(struct mrc_params *mp, int prev_sleep_state)
#if CONFIG_MRC_RMT
mp->rmt_enabled = 1;
#endif
/* Default to 2GiB IO hole. */
if (!mp->io_hole_mb)
mp->io_hole_mb = 2048;
if (recovery_mode_enabled()) {
printk(BIOS_DEBUG, "Recovery mode: not using MRC cache.\n");
} else if (!mrc_cache_get_current(&cache)) {