Author: mjones
Date: Mon Feb 28 00:53:11 2011
New Revision: 6391
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6391
Log:
Prepare for next patches (Improving BKDG implementation of P-states,
CPU and northbridge frequency and voltage
handling for Fam 10 in SVI mode).
No change of behaviour intended.
Refactor FAM10 fidvid . prep_fid_change was already long and it'd
get longer with forthcoming patches. We now take apart F3x[84:80],
ACPI Power State Control Registers, to its own function.
Signed-off-by: Xavi Drudis Ferran <xdrudis(a)tinet.cat>
Acked-by: Marc Jones <marcj303(a)gmail.com>
Modified:
trunk/src/cpu/amd/model_10xxx/fidvid.c
Modified: trunk/src/cpu/amd/model_10xxx/fidvid.c
==============================================================================
--- trunk/src/cpu/amd/model_10xxx/fidvid.c Mon Feb 28 00:50:30 2011 (r6390)
+++ trunk/src/cpu/amd/model_10xxx/fidvid.c Mon Feb 28 00:53:11 2011 (r6391)
@@ -257,7 +257,6 @@
pci_write_config32(dev, 0xD8, dword);
}
}
-
static void config_nb_syn_ptr_adj(device_t dev) {
/* Note the following settings are additional from the ported
@@ -269,6 +268,14 @@
}
+static void config_acpi_pwr_state_ctrl_regs(device_t dev) {
+ /* Rev B settings - FIXME: support other revs. */
+ u32 dword = 0xA0E641E6;
+ pci_write_config32(dev, 0x84, dword);
+ dword = 0xE600A681;
+ pci_write_config32(dev, 0x80, dword);
+}
+
static void prep_fid_change(void)
{
u32 dword;
@@ -295,12 +302,7 @@
config_nb_syn_ptr_adj(dev);
- /* Rev B settings - FIXME: support other revs. */
- dword = 0xA0E641E6;
- pci_write_config32(dev, 0x84, dword);
-
- dword = 0xE600A681;
- pci_write_config32(dev, 0x80, dword);
+ config_acpi_pwr_state_ctrl_regs(dev);
dword = pci_read_config32(dev, 0x80);
printk(BIOS_DEBUG, " F3x80: %08x \n", dword);
Author: mjones
Date: Mon Feb 28 00:50:30 2011
New Revision: 6390
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6390
Log:
Prepare for next patches (Improving BKDG implementation of P-states,
CPU and northbridge frequency and voltage
handling for Fam 10 in SVI mode).
No change of behaviour intended.
Refactor FAM10 fidvid . prep_fid_change was already long and it'd
get longer with forthcoming patches. We now take apart F3xDC[NbsynPtrAdj],
Northbridge/core synchronization FIFO pointer adjust, to its own function.
Signed-off-by: Xavi Drudis Ferran <xdrudis(a)tinet.cat>
Acked-by: Marc Jones <marcj303(a)gmail.com>
Modified:
trunk/src/cpu/amd/model_10xxx/fidvid.c
Modified: trunk/src/cpu/amd/model_10xxx/fidvid.c
==============================================================================
--- trunk/src/cpu/amd/model_10xxx/fidvid.c Mon Feb 28 00:47:57 2011 (r6389)
+++ trunk/src/cpu/amd/model_10xxx/fidvid.c Mon Feb 28 00:50:30 2011 (r6390)
@@ -258,6 +258,17 @@
}
}
+
+static void config_nb_syn_ptr_adj(device_t dev) {
+ /* Note the following settings are additional from the ported
+ * function setFidVidRegs()
+ */
+ u32 dword = pci_read_config32(dev, 0xDc);
+ dword |= 0x5 << 12; /* NbsynPtrAdj set to 0x5 per BKDG (needs reset) */
+ pci_write_config32(dev, 0xdc, dword);
+
+}
+
static void prep_fid_change(void)
{
u32 dword;
@@ -281,13 +292,8 @@
config_clk_power_ctrl_reg0(i);
config_power_ctrl_misc_reg(dev);
-
- /* Note the following settings are additional from the ported
- * function setFidVidRegs()
- */
- dword = pci_read_config32(dev, 0xDc);
- dword |= 0x5 << 12; /* NbsynPtrAdj set to 0x5 per BKDG (needs reset) */
- pci_write_config32(dev, 0xdc, dword);
+
+ config_nb_syn_ptr_adj(dev);
/* Rev B settings - FIXME: support other revs. */
dword = 0xA0E641E6;
Author: mjones
Date: Mon Feb 28 00:42:58 2011
New Revision: 6387
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6387
Log:
Prepare for next patches (Improving BKDG implementation of P-states,
CPU and northbridge frequency and voltage
handling for Fam 10 in SVI mode). No change of behaviour intended.
Refactor FAM10 fidvid . prep_fid_change was already long and it'd
get longer with forthcoming patches. We now take apart VSRamp in step b
of 2.4.1.7 BKDG to its own function.
Signed-off-by: Xavi Drudis Ferran <xdrudis(a)tinet.cat>
Acked-by: Marc Jones <marcj303(a)gmail.com>
Modified:
trunk/src/cpu/amd/model_10xxx/fidvid.c
Modified: trunk/src/cpu/amd/model_10xxx/fidvid.c
==============================================================================
--- trunk/src/cpu/amd/model_10xxx/fidvid.c Sun Feb 27 03:48:41 2011 (r6386)
+++ trunk/src/cpu/amd/model_10xxx/fidvid.c Mon Feb 28 00:42:58 2011 (r6387)
@@ -66,6 +66,21 @@
}
}
+static void setVSRamp(device_t dev) {
+ /* BKDG r31116 2010-04-22 2.4.1.7 step b F3xD8[VSRampTime]
+ * If this field accepts 8 values between 10 and 500 us why
+ * does page 324 say "BIOS should set this field to 001b."
+ * (20 us) ?
+ * Shouldn't it depend on the voltage regulators, mainboard
+ * or something ?
+ */
+ u32 dword;
+ dword = pci_read_config32(dev, 0xd8);
+ dword &= VSRAMP_MASK;
+ dword |= VSRAMP_VALUE;
+ pci_write_config32(dev, 0xd8, dword);
+}
+
static void recalculateVsSlamTimeSettingOnCorePre(device_t dev)
{
u8 pviModeFlag;
@@ -179,11 +194,8 @@
printk(BIOS_DEBUG, "Prep FID/VID Node:%02x \n", i);
dev = NODE_PCI(i, 3);
- dword = pci_read_config32(dev, 0xd8);
- dword &= VSRAMP_MASK;
- dword |= VSRAMP_VALUE;
- pci_write_config32(dev, 0xd8, dword);
-
+ setVSRamp(dev);
+ /* BKDG r31116 2010-04-22 2.4.1.7 step b F3xD8[VSSlamTime] */
/* Figure out the value for VsSlamTime and program it */
recalculateVsSlamTimeSettingOnCorePre(dev);
Hi,
i would build coreboot for my motherboard VIA EPIA LN, listed in the
supported board (http://www.coreboot.org/Supported_Motherboards) with
a dedicated page: http://www.coreboot.org/VIA_EPIA-LN
I'm following the HOWTO, always in wiki, but in menuconfig there is
not my motherboard.
This is very similar for SB a NB to EPIA-CN, listed in
menuconfig...can i select this one?
thanks for help!
We've all been thinking about it, though never said it much. It's
obvious that non-CAR boards have become a drag recently: we have to find
workarounds the romstage linking system in order to move forward with
some ideas.
Let's take for example removing .c includes from the source tree. We
have an elegant way to specify which files should be compiled and link
into romstage by
romstage-y: your_favorite_file.c
This works fine if we put it in the board's Makefile.inc, yet is ugly,
and will break non-CAR boards if we happen to put it in the Makefile.inc
of a device that is used by a non-CAR board.
I can see non-CAR being a problem for any sub-point that deals with
avoiding code duplication, including, but not limited to, removing .c
includes, refactoring smbus code, and many of the refactoring ideas
having to do with romstage
I assume that CPUs and boards which do not support cache-as-ram in the
hardware are already old enough to be considered obsolete. Maintaining
those is an extra effort that nobody here really seems to be willing too
put up with.
As a result, I propose we continue with the code refactoring described
here http://www.coreboot.org/Infrastructure_Projects without regard to
non CAR-capable hardware. If we happen to break the build for such a
board, we let it broken, and if it can not be fixed without going back
on the new design philosophy, remove it from the tree entirely.
Interested individuals, if any, can still checkout older revisions, and
we can move forward with a cleaner, more efficient build system
Alex
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Acked-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>