Hung-Te Lin (hungte(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2307
-gerrit
commit 325e3dd67c44ce3cb7ee2b3f9a00a970ee52bb4f
Author: Hung-Te Lin <hungte(a)chromium.org>
Date: Thu Feb 7 13:41:56 2013 +0800
console: Always allow setting "EARLY_CONSOLE" configuration.
Early console should always be allowed to be turned on / off (for generating
production and debug versions), not enforced by "select" Kconfig rule.
A new "DEFAULT_EARLY_CONSOLE" is introduced for devices to select if they prefer
early console output by default.
Verified Kconfig value on qemu/x86 (default y by CACHE_AS_RAM), snow/x86
(default y by EXYNOS5 config), and intel/jarrell (default n).
Change-Id: Ib1cc76d4ec115a302b95e7317224f1a40d1ab035
Signed-off-by: Hung-Te Lin <hungte(a)chromium.org>
---
src/console/Kconfig | 6 +++++-
src/cpu/Kconfig | 2 +-
src/cpu/samsung/Kconfig | 4 +---
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/console/Kconfig b/src/console/Kconfig
index e57d568..7fbed4a 100644
--- a/src/console/Kconfig
+++ b/src/console/Kconfig
@@ -1,8 +1,12 @@
menu "Console"
+config DEFAULT_EARLY_CONSOLE
+ bool
+ default n
+
config EARLY_CONSOLE
bool "Enable early (pre-RAM) console output."
- default n
+ default DEFAULT_EARLY_CONSOLE
help
Use console during early (pre-RAM) boot stages
diff --git a/src/cpu/Kconfig b/src/cpu/Kconfig
index c2c3816..f60ffe7 100644
--- a/src/cpu/Kconfig
+++ b/src/cpu/Kconfig
@@ -16,7 +16,7 @@ source src/cpu/x86/Kconfig
config CACHE_AS_RAM
bool
- select EARLY_CONSOLE
+ select DEFAULT_EARLY_CONSOLE
default !ROMCC
config DCACHE_RAM_BASE
diff --git a/src/cpu/samsung/Kconfig b/src/cpu/samsung/Kconfig
index c905b2a..c2ee5b4 100644
--- a/src/cpu/samsung/Kconfig
+++ b/src/cpu/samsung/Kconfig
@@ -6,9 +6,7 @@ config CPU_SAMSUNG_EXYNOS5
depends on ARCH_ARMV7
select CPU_SAMSUNG_EXYNOS
select HAVE_UART_SPECIAL
- # TODO remove EARLY_CONSOLE when we can run ramstage without early UART
- # init.
- select EARLY_CONSOLE
+ select DEFAULT_EARLY_CONSOLE
bool
default n
Dear coreboot folks,
after
$ git show --stat 2892023fd422794bb82658dde3e8d489af2bdd55
commit 2892023fd422794bb82658dde3e8d489af2bdd55
Author: Martin Roth <martin.roth(a)se-eng.com>
Date: Thu Jan 17 12:04:08 2013 -0700
AGESA F15tn: Move callouts into northbridge wrapper
There are currently too many things in the mainboard directories that
are really more suited to being in the northbridge / southbridge
wrappers. This is a start at moving some of those functions down
into the wrappers.
Move the bios callback functions into the northbridge/amd/agesa/family15tn
directory from the mainboard directories. These can still be overridden
by any mainboard just by updating the pointer in the callback table to
point to a customized version of the function.
Change-Id: Icefaa014f4a4abbe51870aee7aa2fa1164e324c1
Signed-off-by: Martin Roth <martin.roth(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/2169
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303(a)gmail.com>
src/mainboard/amd/parmer/BiosCallOuts.c | 464 ++-------------------------------------------------------------------------
src/mainboard/amd/parmer/BiosCallOuts.h | 55 +--------
src/mainboard/amd/thatcher/BiosCallOuts.c | 464 ++-------------------------------------------------------------------------
src/mainboard/amd/thatcher/BiosCallOuts.h | 55 +--------
src/northbridge/amd/agesa/family15tn/Makefile.inc | 4 +
src/northbridge/amd/agesa/family15tn/fam15tn_callouts.c | 405 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/northbridge/amd/agesa/family15tn/fam15tn_callouts.h | 53 +++++++++
the following differences remain.
$ diff -u src/mainboard/amd/{parmer,thatcher}/BiosCallOuts.c
--- src/mainboard/amd/parmer/BiosCallOuts.c 2013-01-23 00:25:21.150153420 +0100
+++ src/mainboard/amd/thatcher/BiosCallOuts.c 2013-01-23 00:25:21.150153420 +0100
@@ -72,9 +72,9 @@
}
/**
- * AMD Parmer Platform ALC272 Verb Table
+ * AMD Thatcher Platform ALC272 Verb Table
*/
-const CODEC_ENTRY Parmer_Alc272_VerbTbl[] = {
+const CODEC_ENTRY Thatcher_Alc272_VerbTbl[] = {
{0x11, 0x411111F0},
{0x12, 0x411111F0},
{0x13, 0x411111F0},
@@ -92,9 +92,9 @@
{0xff, 0xffffffff}
};
-const CODEC_TBL_LIST ParmerCodecTableList[] =
+const CODEC_TBL_LIST ThatcherCodecTableList[] =
{
- {0x10ec0272, (CODEC_ENTRY*)&Parmer_Alc272_VerbTbl[0]},
+ {0x10ec0272, (CODEC_ENTRY*)&Thatcher_Alc272_VerbTbl[0]},
{(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL}
};
Could these objects be named the same?
@@ -165,33 +165,33 @@
/* Thermal Zone Parameter */
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00; /* Zone */
- FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x00; //BIT0 | BIT2 | BIT5;
- FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x00;//6 | BIT3;
+ FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x35; //BIT0 | BIT2 | BIT5;
+ FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x0E;//6 | BIT3;
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;
- FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x00;
+ FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x54;
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x98; /* SMBUS Address for SMBUS based temperature sensor such as SB-TSI and ADM1032 */
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg7 = 2;
- FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0; /* PWM steping rate in unit of PWM level percentage */
+ FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 1; /* PWM steping rate in unit of PWM level percentage */
FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0;
/* IMC Fan Policy temperature thresholds */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00; /* Zone */
- FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 0;///80; /*AC0 threshold in Celsius */
- FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 0; /*AC1 threshold in Celsius */
+ FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 105;///80; /*AC0 threshold in Celsius */
+ FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 60; /*AC1 threshold in Celsius */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg4 = 0; /*AC2 threshold in Celsius */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0; /*AC3 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0; /*AC4 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0; /*AC5 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0; /*AC6 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0; /*AC7 lowest threshold in Celsius, 0xFF is not define */
- FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 0; /*critical threshold* in Celsius, 0xFF is not define */
+ FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 105; /*critical threshold* in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;
/* IMC Fan Policy PWM Settings */
FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;
FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00; /* Zone */
- FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 0; /* AL0 percentage */
+ FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 100; /* AL0 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg3 = 0; /* AL1 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg4 = 0; /* AL2 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0x00; /* AL3 percentage */
@@ -205,10 +205,10 @@
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg2 = 0x55;//BIT0 | BIT2 | BIT5;
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg3 = 0x17;
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg4 = 0x00;
- FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg5 = 0x00;
+ FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg5 = 0x54;
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg6 = 0x90; /* SMBUS Address for SMBUS based temperature sensor such as SB-TSI and ADM1032 */
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg7 = 0;
- FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg8 = 0; /* PWM steping rate in unit of PWM level percentage */
+ FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg8 = 1; /* PWM steping rate in unit of PWM level percentage */
FchParams->Imc.EcStruct.MsgFun81Zone1MsgReg9 = 0;
FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg0 = 0x00;
@@ -221,12 +221,12 @@
FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg7 = 0; /*AC5 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg8 = 0; /*AC6 threshold in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone1MsgReg9 = 0; /*AC7 lowest threshold in Celsius, 0xFF is not define */
- FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegA = 0; /*critical threshold* in Celsius, 0xFF is not define */
+ FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegA = 80; /*critical threshold* in Celsius, 0xFF is not define */
FchParams->Imc.EcStruct.MsgFun83Zone1MsgRegB = 0x00;
FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg0 = 0x00;
FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg1 = 0x01; /*Zone */
- FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg2 = 0; /* AL0 percentage */
+ FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg2 = 100; /* AL0 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg3 = 0; /* AL1 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg4 = 0; /* AL2 percentage */
FchParams->Imc.EcStruct.MsgFun85Zone1MsgReg5 = 0x00; /* AL3 percentage */
In Parmer most of this stuff seems to be set to 0. Do the values in
Thatcher’s file be used for Parmer too?
@@ -296,13 +296,15 @@
printk(BIOS_DEBUG, "Fch OEM config in INIT ENV ");
/* Azalia Controller OEM Codec Table Pointer */
- FchParams_env->Azalia.AzaliaOemCodecTablePtr = (CODEC_TBL_LIST *)(&ParmerCodecTableList[0]);
+ FchParams_env->Azalia.AzaliaOemCodecTablePtr = (CODEC_TBL_LIST *)(&ThatcherCodecTableList[0]);
/* Azalia Controller Front Panel OEM Table Pointer */
/* Fan Control */
oem_fan_control(FchParams_env);
- /* sata configuration */
+ /* XHCI configuration */
+ FchParams_env->Usb.Xhci0Enable = FALSE;
+ FchParams_env->Usb.Xhci1Enable = FALSE;
Does the Parmer board have XHCI?
}
printk(BIOS_DEBUG, "Done\n");
So if there are no problems with that, first a patch to unify the object
names should be made, then one to use Thatcher’s values for Parmer too
and then moving everything to the northbridge directory.
Thanks,
Paul
the following patch was just integrated into master:
commit 5f83f6cb7a3f179482db54aaff38f23795dc1acf
Author: Hung-Te Lin <hungte(a)chromium.org>
Date: Mon Feb 4 14:38:03 2013 +0800
armv7: Clean up arm/snow bootblock build process.
Remove duplicated / testing code and share more driver for bootblock, romstage
and ramstage.
The __PRE_RAM__ is now also defined in bootblock build stage, since bootblock is
executed before RAM is initialized.
Change-Id: I4f5469b1545631eee1cf9f2f5df93cbe3a58268b
Signed-off-by: Hung-Te Lin <hungte(a)chromium.org>
Reviewed-on: http://review.coreboot.org/2282
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Build-Tested: build bot (Jenkins) at Thu Feb 7 04:56:12 2013, giving +1
Reviewed-By: Ronald G. Minnich <rminnich(a)gmail.com> at Thu Feb 7 06:10:08 2013, giving +2
See http://review.coreboot.org/2282 for details.
-gerrit