Author: oxygene Date: Fri Oct 1 10:02:45 2010 New Revision: 5891 URL: https://tracker.coreboot.org/trac/coreboot/changeset/5891
Log: Move several i945 config #defines from romstage.c to Kconfig.
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de Acked-by: Peter Stuge peter@stuge.se
Modified: trunk/src/mainboard/getac/p470/Kconfig trunk/src/mainboard/getac/p470/romstage.c trunk/src/mainboard/ibase/mb899/Kconfig trunk/src/mainboard/ibase/mb899/romstage.c trunk/src/mainboard/intel/d945gclf/Kconfig trunk/src/mainboard/intel/d945gclf/romstage.c trunk/src/mainboard/kontron/986lcd-m/Kconfig trunk/src/mainboard/kontron/986lcd-m/romstage.c trunk/src/mainboard/roda/rk886ex/Kconfig trunk/src/mainboard/roda/rk886ex/romstage.c trunk/src/northbridge/intel/i945/Kconfig trunk/src/northbridge/intel/i945/raminit.c
Modified: trunk/src/mainboard/getac/p470/Kconfig ============================================================================== --- trunk/src/mainboard/getac/p470/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/getac/p470/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -43,6 +43,8 @@ select CACHE_AS_RAM select GFXUMA select TINY_BOOTBLOCK + select I945GM + select CHANNEL_XOR_RANDOMIZATION
config MAINBOARD_DIR string
Modified: trunk/src/mainboard/getac/p470/romstage.c ============================================================================== --- trunk/src/mainboard/getac/p470/romstage.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/getac/p470/romstage.c Fri Oct 1 10:02:45 2010 (r5891) @@ -19,10 +19,6 @@ * MA 02110-1301 USA */
-/* Configuration of the i945 driver */ -#define CHIPSET_I945GM 1 -#define CHANNEL_XOR_RANDOMIZATION 1 - #include <stdint.h> #include <string.h> #include <arch/io.h>
Modified: trunk/src/mainboard/ibase/mb899/Kconfig ============================================================================== --- trunk/src/mainboard/ibase/mb899/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/ibase/mb899/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -20,6 +20,8 @@ select CACHE_AS_RAM select GFXUMA select TINY_BOOTBLOCK + select I945GM + select CHANNEL_XOR_RANDOMIZATION
config MAINBOARD_DIR string
Modified: trunk/src/mainboard/ibase/mb899/romstage.c ============================================================================== --- trunk/src/mainboard/ibase/mb899/romstage.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/ibase/mb899/romstage.c Fri Oct 1 10:02:45 2010 (r5891) @@ -19,11 +19,6 @@
// __PRE_RAM__ means: use "unsigned" for device, not a struct.
-/* Configuration of the i945 driver */ -#define CHIPSET_I945GM 1 -//#define OVERRIDE_CLOCK_DISABLE 1 -#define CHANNEL_XOR_RANDOMIZATION 1 - #include <stdint.h> #include <string.h> #include <arch/io.h>
Modified: trunk/src/mainboard/intel/d945gclf/Kconfig ============================================================================== --- trunk/src/mainboard/intel/d945gclf/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/intel/d945gclf/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -40,6 +40,8 @@ select BOARD_ROMSIZE_KB_512 select GFXUMA select TINY_BOOTBLOCK + select I945GC + select CHANNEL_XOR_RANDOMIZATION
config MAINBOARD_DIR string
Modified: trunk/src/mainboard/intel/d945gclf/romstage.c ============================================================================== --- trunk/src/mainboard/intel/d945gclf/romstage.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/intel/d945gclf/romstage.c Fri Oct 1 10:02:45 2010 (r5891) @@ -19,10 +19,6 @@
// __PRE_RAM__ means: use "unsigned" for device, not a struct.
-/* Configuration of the i945 driver */ -#define CHIPSET_I945GC 1 -#define CHANNEL_XOR_RANDOMIZATION 1 - #include <stdint.h> #include <string.h> #include <arch/io.h>
Modified: trunk/src/mainboard/kontron/986lcd-m/Kconfig ============================================================================== --- trunk/src/mainboard/kontron/986lcd-m/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/kontron/986lcd-m/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -20,6 +20,9 @@ select CACHE_AS_RAM select GFXUMA select TINY_BOOTBLOCK + select CHANNEL_XOR_RANDOMIZATION + select I945GM + select OVERRIDE_CLOCK_DISABLE
config MAINBOARD_DIR string
Modified: trunk/src/mainboard/kontron/986lcd-m/romstage.c ============================================================================== --- trunk/src/mainboard/kontron/986lcd-m/romstage.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/kontron/986lcd-m/romstage.c Fri Oct 1 10:02:45 2010 (r5891) @@ -19,19 +19,6 @@
// __PRE_RAM__ means: use "unsigned" for device, not a struct.
-/* Configuration of the i945 driver */ -#define CHIPSET_I945GM 1 -/* Usually system firmware turns off system memory clock signals to - * unused SO-DIMM slots to reduce EMI and power consumption. - * However, the Kontron 986LCD-M does not like unused clock signals to - * be disabled. If other similar mainboard occur, it would make sense - * to make this an entry in the sysinfo structure, and pre-initialize that - * structure in the mainboard's romstage.c main() function. For now a - * #define will do. - */ -#define OVERRIDE_CLOCK_DISABLE 1 -#define CHANNEL_XOR_RANDOMIZATION 1 - #include <stdint.h> #include <string.h> #include <arch/io.h>
Modified: trunk/src/mainboard/roda/rk886ex/Kconfig ============================================================================== --- trunk/src/mainboard/roda/rk886ex/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/roda/rk886ex/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -19,6 +19,8 @@ select HAVE_ACPI_TABLES select HAVE_ACPI_RESUME select BOARD_ROMSIZE_KB_1024 + select I945GM + select CHANNEL_XOR_RANDOMIZATION
config MAINBOARD_DIR string @@ -56,4 +58,8 @@ hex default 0x6886
+config MAXIMUM_SUPPORTED_FREQUENCY + int + default 400 + endif # BOARD_RODA_RK886EX
Modified: trunk/src/mainboard/roda/rk886ex/romstage.c ============================================================================== --- trunk/src/mainboard/roda/rk886ex/romstage.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/mainboard/roda/rk886ex/romstage.c Fri Oct 1 10:02:45 2010 (r5891) @@ -21,12 +21,6 @@
// __PRE_RAM__ means: use "unsigned" for device, not a struct.
-/* Configuration of the i945 driver */ -#define CHIPSET_I945GM 1 -#define CHANNEL_XOR_RANDOMIZATION 1 -// Rocky freezing temperature settings: -#define MAXIMUM_SUPPORTED_FREQUENCY 400 - #include <stdint.h> #include <string.h> #include <arch/io.h>
Modified: trunk/src/northbridge/intel/i945/Kconfig ============================================================================== --- trunk/src/northbridge/intel/i945/Kconfig Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/northbridge/intel/i945/Kconfig Fri Oct 1 10:02:45 2010 (r5891) @@ -26,3 +26,41 @@ default "8086,27a2" depends on NORTHBRIDGE_INTEL_I945
+choice + default I945GM + depends on NORTHBRIDGE_INTEL_I945 + help + Different i945 variants require slightly different setup. + +config I945GM + bool "i945GM (Mobile) chipset" + +config I945GC + bool "i945GC chipset" + +endchoice + +config CHANNEL_XOR_RANDOMIZATION + bool + default n + depends on NORTHBRIDGE_INTEL_I945 + +config OVERRIDE_CLOCK_DISABLE + bool + default n + depends on NORTHBRIDGE_INTEL_I945 + help + Usually system firmware turns off system memory clock + signals to unused SO-DIMM slots to reduce EMI and power + consumption. + However, some boards do not like unused clock signals to + be disabled. + +config MAXIMUM_SUPPORTED_FREQUENCY + int + default 0 + depends on NORTHBRIDGE_INTEL_I945 + help + If non-zero, this designates the maximum DDR frequency + the board supports, despite what the chipset should be + capable of.
Modified: trunk/src/northbridge/intel/i945/raminit.c ============================================================================== --- trunk/src/northbridge/intel/i945/raminit.c Fri Oct 1 09:27:51 2010 (r5890) +++ trunk/src/northbridge/intel/i945/raminit.c Fri Oct 1 10:02:45 2010 (r5891) @@ -90,7 +90,7 @@ static int memclk(void) { int offset = 0; -#ifdef CHIPSET_I945GM +#if CONFIG_I945GM offset++; #endif switch (((MCHBAR32(CLKCFG) >> 4) & 7) - offset) { @@ -102,7 +102,7 @@ return -1; }
-#ifdef CHIPSET_I945GM +#if CONFIG_I945GM static int fsbclk(void) { switch (MCHBAR32(CLKCFG) & 7) { @@ -114,7 +114,7 @@ return -1; } #endif -#ifdef CHIPSET_I945GC +#if CONFIG_I945GC static int fsbclk(void) { switch (MCHBAR32(CLKCFG) & 7) { @@ -131,8 +131,8 @@ { u32 reg32;
-#ifdef MAXIMUM_SUPPORTED_FREQUENCY - return MAXIMUM_SUPPORTED_FREQUENCY; +#if CONFIG_MAXIMUM_SUPPORTED_FREQUENCY + return CONFIG_MAXIMUM_SUPPORTED_FREQUENCY; #endif
reg32 = pci_read_config32(PCI_DEV(0, 0x00, 0), 0xe4); /* CAPID0 + 4 */ @@ -1045,7 +1045,7 @@ return nc; }
-#ifdef CHIPSET_I945GM +#if CONFIG_I945GM /* Strength multiplier tables */ static const u8 dual_channel_strength_multiplier[] = { 0x44, 0x11, 0x11, 0x11, 0x44, 0x44, 0x44, 0x11, @@ -1101,7 +1101,7 @@ 0x33, 0x00, 0x11, 0x00, 0x44, 0x44, 0x33, 0x11 }; #endif -#ifdef CHIPSET_I945GC +#if CONFIG_I945GC static const u8 dual_channel_strength_multiplier[] = { 0x44, 0x22, 0x00, 0x00, 0x44, 0x44, 0x44, 0x22, 0x44, 0x22, 0x00, 0x00, 0x44, 0x44, 0x44, 0x22, @@ -2155,7 +2155,7 @@ /** * We add the indices according to our clocks from CLKCFG. */ -#ifdef CHIPSET_I945GM +#if CONFIG_I945GM static const u32 data_clock_crossing[] = { 0x00100401, 0x00000000, /* DDR400 FSB400 */ 0xffffffff, 0xffffffff, /* nonexistant */ @@ -2201,7 +2201,7 @@ };
#endif -#ifdef CHIPSET_I945GC +#if CONFIG_I945GC /* i945 G/P */ static const u32 data_clock_crossing[] = { 0xffffffff, 0xffffffff, /* nonexistant */ @@ -2420,7 +2420,7 @@ if (sysinfo->interleaved) {
reg32 = MCHBAR32(DCC); -#if CHANNEL_XOR_RANDOMIZATION +#if CONFIG_CHANNEL_XOR_RANDOMIZATION reg32 &= ~(1 << 10); reg32 |= (1 << 9); #else @@ -2792,10 +2792,10 @@ { u8 clocks[2] = { 0, 0 };
-#ifdef CHIPSET_I945GM +#if CONFIG_I945GM #define CLOCKS_WIDTH 2 #endif -#ifdef CHIPSET_I945GC +#if CONFIG_I945GC #define CLOCKS_WIDTH 3 #endif if (sysinfo->dimm[0] != SYSINFO_DIMM_NOT_POPULATED) @@ -2810,15 +2810,11 @@ if (sysinfo->dimm[3] != SYSINFO_DIMM_NOT_POPULATED) clocks[1] |= ((1 << CLOCKS_WIDTH)-1) << CLOCKS_WIDTH;
-#ifdef OVERRIDE_CLOCK_DISABLE +#if CONFIG_OVERRIDE_CLOCK_DISABLE /* Usually system firmware turns off system memory clock signals * to unused SO-DIMM slots to reduce EMI and power consumption. * However, the Kontron 986LCD-M does not like unused clock * signals to be disabled. - * If other similar mainboard occur, it would make sense to make - * this an entry in the sysinfo structure, and pre-initialize that - * structure in the mainboard's romstage.c main() function. - * For now an #ifdef will do. */
clocks[0] = 0xf; /* force all clock gate pairs to enable */