Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6470
-gerrit
commit c88b608fa3d99a65988388f4125dd0f8f827435a Author: Vladimir Serbinenko phcoder@gmail.com Date: Sun Aug 3 01:59:38 2014 +0200
sandy/ivybridge: Make UMA size configurable.
Change-Id: I9aa3652d1b92cece01d024e19bdc065797896001 Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/mainboard/google/butterfly/cmos.layout | 13 ++++++++++++- src/mainboard/google/link/cmos.layout | 13 ++++++++++++- src/mainboard/google/parrot/cmos.layout | 13 ++++++++++++- src/mainboard/google/stout/cmos.layout | 13 ++++++++++++- src/mainboard/intel/emeraldlake2/cmos.layout | 14 +++++++++++++- src/mainboard/kontron/ktqm77/cmos.layout | 12 +++++++++++- src/mainboard/lenovo/t520/cmos.layout | 12 +++++++++++- src/mainboard/lenovo/t530/cmos.layout | 12 +++++++++++- src/mainboard/lenovo/x230/cmos.layout | 13 ++++++++++++- src/mainboard/samsung/lumpy/cmos.layout | 14 +++++++++++++- src/mainboard/samsung/stumpy/cmos.layout | 13 ++++++++++++- src/northbridge/intel/sandybridge/early_init.c | 9 +++++++-- 12 files changed, 138 insertions(+), 13 deletions(-)
diff --git a/src/mainboard/google/butterfly/cmos.layout b/src/mainboard/google/butterfly/cmos.layout index 8270212..da6f114 100644 --- a/src/mainboard/google/butterfly/cmos.layout +++ b/src/mainboard/google/butterfly/cmos.layout @@ -93,7 +93,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -137,6 +141,13 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/google/link/cmos.layout b/src/mainboard/google/link/cmos.layout index 2dfa156..1993be7 100644 --- a/src/mainboard/google/link/cmos.layout +++ b/src/mainboard/google/link/cmos.layout @@ -91,7 +91,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,13 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/google/parrot/cmos.layout b/src/mainboard/google/parrot/cmos.layout index 2dfa156..1993be7 100644 --- a/src/mainboard/google/parrot/cmos.layout +++ b/src/mainboard/google/parrot/cmos.layout @@ -91,7 +91,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,13 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/google/stout/cmos.layout b/src/mainboard/google/stout/cmos.layout index 2dfa156..1993be7 100644 --- a/src/mainboard/google/stout/cmos.layout +++ b/src/mainboard/google/stout/cmos.layout @@ -91,7 +91,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,13 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/intel/emeraldlake2/cmos.layout b/src/mainboard/intel/emeraldlake2/cmos.layout index 2dfa156..711ef4d 100644 --- a/src/mainboard/intel/emeraldlake2/cmos.layout +++ b/src/mainboard/intel/emeraldlake2/cmos.layout @@ -91,7 +91,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,14 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M + # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/kontron/ktqm77/cmos.layout b/src/mainboard/kontron/ktqm77/cmos.layout index 245b47e..621d958 100644 --- a/src/mainboard/kontron/ktqm77/cmos.layout +++ b/src/mainboard/kontron/ktqm77/cmos.layout @@ -80,7 +80,9 @@ entries
# coreboot config options: cpu 400 1 e 2 hyper_threading -#401 7 r 0 unused +401 3 e 12 gfx_uma_size + +#404 4 r 0 unused
# coreboot config options: southbridge 408 1 e 1 nmi @@ -165,6 +167,14 @@ enumerations 10 4 LM75@9e 11 0 AHCI 11 1 Compatible +12 0 32M +12 1 64M +12 2 96M +12 3 128M +12 4 160M +12 5 192M +12 6 224M + # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/lenovo/t520/cmos.layout b/src/mainboard/lenovo/t520/cmos.layout index 50aa5f3..825317f 100644 --- a/src/mainboard/lenovo/t520/cmos.layout +++ b/src/mainboard/lenovo/t520/cmos.layout @@ -100,8 +100,11 @@ entries
# coreboot config options: cpu 424 1 e 2 hyper_threading +#425 7 r 0 unused
-#425 559 r 0 unused +# coreboot config options: northbridge +432 3 e 11 gfx_uma_size +#435 549 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -150,6 +153,13 @@ enumerations 10 1 Keyboard only 10 2 Thinklight only 10 3 None +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/lenovo/t530/cmos.layout b/src/mainboard/lenovo/t530/cmos.layout index 50aa5f3..825317f 100644 --- a/src/mainboard/lenovo/t530/cmos.layout +++ b/src/mainboard/lenovo/t530/cmos.layout @@ -100,8 +100,11 @@ entries
# coreboot config options: cpu 424 1 e 2 hyper_threading +#425 7 r 0 unused
-#425 559 r 0 unused +# coreboot config options: northbridge +432 3 e 11 gfx_uma_size +#435 549 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -150,6 +153,13 @@ enumerations 10 1 Keyboard only 10 2 Thinklight only 10 3 None +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/lenovo/x230/cmos.layout b/src/mainboard/lenovo/x230/cmos.layout index 50aa5f3..7a2eb01 100644 --- a/src/mainboard/lenovo/x230/cmos.layout +++ b/src/mainboard/lenovo/x230/cmos.layout @@ -100,8 +100,11 @@ entries
# coreboot config options: cpu 424 1 e 2 hyper_threading +#425 7 r 0 unused
-#425 559 r 0 unused +# coreboot config options: northbridge +432 3 e 11 gfx_uma_size +#435 549 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -150,6 +153,14 @@ enumerations 10 1 Keyboard only 10 2 Thinklight only 10 3 None +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M + # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/samsung/lumpy/cmos.layout b/src/mainboard/samsung/lumpy/cmos.layout index 9f0e9f3..f08b7c2 100644 --- a/src/mainboard/samsung/lumpy/cmos.layout +++ b/src/mainboard/samsung/lumpy/cmos.layout @@ -91,7 +91,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,14 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M + # ----------------------------------------------------------------- checksums
diff --git a/src/mainboard/samsung/stumpy/cmos.layout b/src/mainboard/samsung/stumpy/cmos.layout index e7b73a2..1f8aee8 100644 --- a/src/mainboard/samsung/stumpy/cmos.layout +++ b/src/mainboard/samsung/stumpy/cmos.layout @@ -90,7 +90,11 @@ entries # coreboot config options: bootloader #Used by ChromeOS: 416 128 r 0 vbnv -#544 440 r 0 unused + +# coreboot config options: northbridge +544 3 e 11 gfx_uma_size + +#547 437 r 0 unused
# SandyBridge MRC Scrambler Seed values 896 32 r 0 mrc_scrambler_seed @@ -134,6 +138,13 @@ enumerations 7 2 Keep 8 0 AHCI 8 1 Compatible +11 0 32M +11 1 64M +11 2 96M +11 3 128M +11 4 160M +11 5 192M +11 6 224M # ----------------------------------------------------------------- checksums
diff --git a/src/northbridge/intel/sandybridge/early_init.c b/src/northbridge/intel/sandybridge/early_init.c index d688f5b..d1d35db 100644 --- a/src/northbridge/intel/sandybridge/early_init.c +++ b/src/northbridge/intel/sandybridge/early_init.c @@ -24,6 +24,7 @@ #include <arch/io.h> #include <device/pci_def.h> #include <elog.h> +#include <pc80/mc146818rtc.h> #include "sandybridge.h"
static void sandybridge_setup_bars(void) @@ -83,6 +84,7 @@ static void sandybridge_setup_graphics(void) u32 reg32; u16 reg16; u8 reg8; + u8 gfxsize;
reg16 = pci_read_config16(PCI_DEV(0,2,0), PCI_DEVICE_ID); switch (reg16) { @@ -103,10 +105,13 @@ static void sandybridge_setup_graphics(void)
printk(BIOS_DEBUG, "Initializing Graphics...\n");
- /* Setup IGD memory by setting GGC[7:3] = 1 for 32MB */ + if (get_option(&gfxsize, "gfx_uma_size") != CB_SUCCESS) { + /* Setup IGD memory by setting GGC[7:3] = 1 for 32MB */ + gfxsize = 0; + } reg16 = pci_read_config16(PCI_DEV(0,0,0), GGC); reg16 &= ~0x00f8; - reg16 |= 1 << 3; + reg16 |= (gfxsize + 1) << 3; /* Program GTT memory by setting GGC[9:8] = 2MB */ reg16 &= ~0x0300; reg16 |= 2 << 8;