coreboot.git
12 years agocrossgcc: invoke buildgcc with bash, instead of relying on #!/bin/bash
Jonathan A. Kollasch [Thu, 11 Aug 2011 19:48:28 +0000 (14:48 -0500)]
crossgcc: invoke buildgcc with bash, instead of relying on #!/bin/bash

Change-Id: I09192e57e2535b2f8f98cabeb755f10c5520c499
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/151
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Tested-by: build bot (Jenkins)
12 years agobuildgcc: improve portability
Jonathan A. Kollasch [Thu, 11 Aug 2011 19:44:55 +0000 (14:44 -0500)]
buildgcc: improve portability

`cp --remove-destination` isn't as portable as `rm -f` and `cp`.

Change-Id: Ib05bfc121f7a0b467f8104920e14fbd02191585f
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/150
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAdd iasl to buldgcc and rev the version.
Marc Jones [Mon, 8 Aug 2011 22:07:50 +0000 (16:07 -0600)]
Add iasl to buldgcc and rev the version.

Change-Id: If9144cdf088f16bc3974a1784a442a1fd12ac75b
Signed-off-by: Marc Jones <marcj303@gmail.com>
Reviewed-on: http://review.coreboot.org/147
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoDo not compile nuvoton superio for all board
Alexandru Gagniuc [Wed, 3 Aug 2011 14:14:59 +0000 (09:14 -0500)]
Do not compile nuvoton superio for all board

The nuvoton WPCM450 code is compiled for all boards regardless of
whether or not they use it. Compile it only for boards needing it.

Change-Id: Iaf4cf2c479eb3238863f0771be799f02a8cc3421
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/129
Tested-by: build bot (Jenkins)
Reviewed-by: Kerry She <shekairui@gmail.com>
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAMD Family 14 Agesa warning fix
efdesign98 [Thu, 4 Aug 2011 21:07:45 +0000 (15:07 -0600)]
AMD Family 14 Agesa warning fix

This change fixes one Agesa warning.  Originally this commit
included some changes that I later deemed unnecessary.

Change-Id: I31ad13bb92509228b89921561c340c95e5136370
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/132
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoms7135: add ACPI support
Jonathan A. Kollasch [Fri, 5 Aug 2011 19:43:08 +0000 (14:43 -0500)]
ms7135: add ACPI support

Change-Id: I64a74d3dc0ea2d006ed4b25657d531fb243c2993
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/140
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoUpdate AMD F14 Agesa to support Rev C0 cpus
efdesign98 [Thu, 4 Aug 2011 18:09:17 +0000 (12:09 -0600)]
Update AMD F14 Agesa to support Rev C0 cpus

This change updates the AMD Agesa code to support the Family 14
rev C0 cpus.  It also fixes (again) a ton of warnings, although
not all of them are gone.  The warning fixes affect code in the
Family 12 tree as well, so there are some small changes therein.
This code has been tested on a Persimmon and passes Abuild.
This is the first (and largest) of a number of commits to complete
the upgrade.

Change-Id: Id28d9bf7931f8baa2a602f6bb096a5a465ccd20d
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/131
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoAdd voltage control of southbridge and RAM on ms7135
Jonathan A. Kollasch [Mon, 1 Aug 2011 19:24:02 +0000 (14:24 -0500)]
Add voltage control of southbridge and RAM on ms7135

Change-Id: I5d79b4838f69cad56d58363608b801f8b1d3ab43
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/126
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agonorthbridge/intel/i440bx: Registered SDRAM modules support and fixes
Keith Hui [Wed, 3 Aug 2011 02:28:14 +0000 (22:28 -0400)]
northbridge/intel/i440bx: Registered SDRAM modules support and fixes

Adds support for initializing registered SDRAM modules on
Intel 440BX northbridge.

Drops unneeded romcc-inspired programming tricks.

Only set nbxecc flags (see 440BX datasheet, page 3-16) when
a non-ECC module has been detected in a row via SPD; also
drops an unneeded intermediate variable used in setting them.

Boot tested on ASUS P2B-LS with regular and registered ECC
SDRAM under Linux and memtest86+.

Change-Id: Idc99d49567cca55f819d6b0e98952b1c3256498a
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: http://review.coreboot.org/128
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agolibpayload: Add liblzma, libcbfs
Patrick Georgi [Thu, 21 Jul 2011 13:43:14 +0000 (15:43 +0200)]
libpayload: Add liblzma, libcbfs

Add cbfs core from coreboot into libpayload, and to support lzma decode,
add coreboot's lzma code, too. Carl-Daniel agreed to relicense the
lzmadecode wrapper as BSD-l, solving licensing problems.

Change-Id: Id28990fe7e951d99447e265a4880d70a8f208dd2
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/115
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agosplit CBFS support into shared core and extended functions
Patrick Georgi [Thu, 21 Jul 2011 13:11:40 +0000 (15:11 +0200)]
split CBFS support into shared core and extended functions

The core is data structures and basic file finding capabilities,
while option ROM handling, and loading stages and payloads is
"extended".

The core is rewritten to be BSD-l (its header already was), so
can be copied to libpayload verbatim.
It's also more robust in finding files in corrupted images, eg.
after partial erase or update.

Change-Id: Ic6923debf8bdf3c67c75746d3b31f3addab3dd74
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/114
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agolibpayload: Add PDCurses and ncurses' libform/libmenu
Patrick Georgi [Thu, 7 Jul 2011 13:41:53 +0000 (15:41 +0200)]
libpayload: Add PDCurses and ncurses' libform/libmenu

PDCurses provides an alternative implementation of the curses library
standard in addition to tinycurses.
Where tinycurses is really tiny, PDCurses is more complete and provides
virtually unlimited windows and the full API.
The PDCurses code is brought in "vanilla", with all local changes
residing in curses/pdcurses-backend/

In addition to a curses library, this change also provides libpanel (as
part of the PDCurses code), and libform and libmenu which were derived
from ncurses-5.9.
As they rely on ncurses internals (and PDCurses is not ncurses), more
changes were required for these libraries to work.

The build system is extended to install the right set of header files
depending on the selected curses implementation.

Change-Id: I9e5b920f94b6510da01da2f656196a993170d1c5
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/106
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agocpu/intel/slot_1: Init L2 cache on SECC(2) CPUs.
Keith Hui [Thu, 28 Jul 2011 03:06:16 +0000 (23:06 -0400)]
cpu/intel/slot_1: Init L2 cache on SECC(2) CPUs.

Bring from coreboot v1 support for initializing L2 cache on Slot 1
Pentium II/III CPUs, code names Klamath, Deschutes and Katmai.

Build tested on ASUS P2B-LS and P3B-F. Boot tested on P2B-LS with
Pentium III 600MHz, Katmai core.

Also add missing include of model_68x in slot_1, to address a
similar problem fixed for model_6bx by r5945.

Also change Deschutes CPU init sequence to match Katmai.

Change-Id: I502e8481d1a20f0a2504685e7be16b57f59c8257
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: http://review.coreboot.org/122
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoRemove debugging code, or convert it to be selected by kconfig
Jonathan A. Kollasch [Wed, 3 Aug 2011 18:56:24 +0000 (13:56 -0500)]
Remove debugging code, or convert it to be selected by kconfig

Change-Id: Ib6cd82badeb6401e065ee14c2a04c78f61a87dd4
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/130
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoUse preferred style of fixed-width integer types
Jonathan A. Kollasch [Mon, 1 Aug 2011 19:15:28 +0000 (14:15 -0500)]
Use preferred style of fixed-width integer types

Change-Id: I1abaaa2af4de940584039f9b8c348bb57fb611e0
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
Reviewed-on: http://review.coreboot.org/125
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agocrossgcc: update w32api
Patrick Georgi [Sat, 23 Jul 2011 21:29:44 +0000 (23:29 +0200)]
crossgcc: update w32api

crossgcc also needs lzma support as w32api is distributed in .tar.lzma

Change-Id: Ia1938fa30262fe0c8bd655a08f9dc731a02e46ba
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/120
Tested-by: build bot (Jenkins)
12 years agobuildgcc: Break if parts of the toolchain are missing
Patrick Georgi [Sun, 17 Jul 2011 09:36:10 +0000 (11:36 +0200)]
buildgcc: Break if parts of the toolchain are missing

We test for the presence of a couple of tools and even print an error.
But the tool didn't stop there.

Change-Id: I40dcf7894408ea7b24d5f68c76df4b7541f469bd
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/111
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd xhcbios and ahcibios rom handling
efdesign98 [Thu, 21 Jul 2011 01:59:22 +0000 (19:59 -0600)]
Add xhcbios and ahcibios rom handling

This change adds xhci and ahci bios rom handling that
is similar to the vgabios rom handling in the arch/x86
Makefile.inc to the Persimmon and Torpedo mainboards.
It also adds the basis for AHCI BIOS rom handling to
the Persimmon Kconfig.

Change-Id: I527a906323ae483cfa2ca0785f3adb43e88fd84b
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/109
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd the SuperMicro H8QGI platform
efdesign98 [Wed, 20 Jul 2011 19:23:04 +0000 (13:23 -0600)]
Add the SuperMicro H8QGI platform

This set adds support for the SuperMicro H8QGI mainboard.
It is a publicly available 4 socket board using AMD Family
10 cpus and AMD SR5650 and SB700 bridges.

Change-Id: I196704f79db4c45382559c5ee0619dc8d96ff140
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/108
Tested-by: build bot (Jenkins)
Reviewed-by: Kerry She <shekairui@gmail.com>
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd SSE3 dependent code
efdesign98 [Thu, 21 Jul 2011 02:11:46 +0000 (20:11 -0600)]
Add SSE3 dependent code

This change separates out changes that were initially found
in the commit for XHCI and AHCI changes to "arch/x86/Makefile.
inc".  It also corrects a comment.  The SSE3 dependent code
adds a pair of CR4 access functions and a blob of code that
re-sets CR4.OSFXSR and CR4.OSXMMEXCPT.

Change-Id: Id97256978da81589d97dcae97981a049101b5258
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/113
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoUpdate AMD SR5650 and SB700
efdesign98 [Wed, 20 Jul 2011 18:37:58 +0000 (12:37 -0600)]
Update AMD SR5650 and SB700

This updates the code for the AMD SR5650 and SB700 southbridges.
Among other things, it changes the romstage.c files by replacing a
.C file include with a pair of .H file includes.  The .C file is
now added to the romstage in the SB700 or SR5650 Makefile.inc.
file to the romstage and ramstage elements.  This particular change
affects all mainboards that use the SB700, and their changes are
include herein.  These mainboards are:
  Advansus a785e,
  AMD Mahogany, Mahogany-fam10, Tilapia-fam10,
  Asrock 939a785gmh,
  Asus m4a78-em, m4a785-m,
  Gigabyte ma785gm,
  Iei Kino-780am2-fam10
  Jetway pa78vm5
  Supermicro h8scm_fam10
The nuvoton/wpcm450 earlysetup interface is changed because the file
is no longer included in the mainboard romstage.c files.

Change-Id: I502c0b95a7b9e7bb5dd81d03902bbc2143257e33
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/107
Tested-by: build bot (Jenkins)
Reviewed-by: Kerry She <shekairui@gmail.com>
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoLibpayload: default DESTDIR for 'make install'
Tadas Slotkus [Fri, 15 Jul 2011 00:41:11 +0000 (03:41 +0300)]
Libpayload: default DESTDIR for 'make install'

If you would try download FILO via svn, then you probably
get error message about libpayload install. This enables
manually installing libpayload in legacy style :)

Change-Id: I9f52be939303c5913611f21477d681e11d286382
Signed-off-by: Tadas Slotkus <devtadas@gmail.com>
Reviewed-on: http://review.coreboot.org/102
Tested-by: build bot (Jenkins)
Reviewed-by: Frank Vibrans III <frank.vibrans@amd.com>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agolibpayload: Provide dummy getenv()
Patrick Georgi [Tue, 12 Jul 2011 13:50:54 +0000 (15:50 +0200)]
libpayload: Provide dummy getenv()

Change-Id: I419fcb16e0b10dee9195072e0e6befa6c9e61a69
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/105
Tested-by: build bot (Jenkins)
Reviewed-by: Frank Vibrans III <frank.vibrans@amd.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAdd AMD Family 10 support to cpu folder
efdesign98 [Thu, 14 Jul 2011 00:16:13 +0000 (17:16 -0700)]
Add AMD Family 10 support to cpu folder

This change adds the AMD Family 10 cpu support to the
cpu folder.  It also updates the makefiles of the Families
12 and 14 to take advantage of a pair of shared files that
are moved to the cpu/agesa folder.

Change-Id: Ibd3a50ea7a3028bd6a2d2583f021506b73e2fce2
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/97
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoAdd AMD Family 10 cpu support to northbridge folder
efdesign98 [Thu, 14 Jul 2011 00:49:25 +0000 (17:49 -0700)]
Add AMD Family 10 cpu support to northbridge folder

This change adds the AMD Family 10 cpu support to the northbridge
folder.  The northbridge/amd/agesa Kconfig and Makefile.inc are
changed as well.

Change-Id: Id76e9fa388c79ac469a673aaedaa4f1bfd7619d9
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/98
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoFix coreboot revision detection
Patrick Georgi [Sun, 17 Jul 2011 09:32:51 +0000 (11:32 +0200)]
Fix coreboot revision detection

Neither do we publish coreboot via svn, nor is git-svn a useful indicator
anymore.  Instead, fetch a shortened commit id.

Change-Id: I1b990384553209a7d39ecf7f5e8a2db7c7e34d0b
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/110
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoport_enable and port_reset must change atomically.
Steven A. Falco [Sat, 16 Jul 2011 01:44:35 +0000 (21:44 -0400)]
port_enable and port_reset must change atomically.

I have observed two separate EHCI host bridges that do not tolerate
using C bit-fields to directly manipulate the portsc_t register.  The
reason for this is that the EHCI spec says that port_enable must go
to 0 at the time that port_reset goes to 1.  Naturally this cannot be
done using direct bit-field manipulation.  Instead, we use a temporary
variable, change the bit-fields there, then atomically write the new
value back to the hardware.

Signed-off-by: Steven A. Falco <sfalco@coincident.com>
Change-Id: If138faee43e0293efa203b86f7893fdf1e811269
Reviewed-on: http://review.coreboot.org/101
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoWorkaround the errata #181.
Rudolf Marek [Wed, 29 Jun 2011 21:59:13 +0000 (23:59 +0200)]
Workaround the errata #181.

We use LDTSTOP# to trigger the FID/VID change on K8M890, because the
FID/VID SMAF is blocked by not yet configured internal VGA.
The memory controller is enabled later, nor the workaround makes any
harm to non-affected CPUs.

This update unbreaks compilation by declaring the tmp variable.

Change-Id: Icf5d126b8c8cd9ece6af41d3129315a777c8cef2
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/69
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agolibpayload: Improve compatibility
Patrick Georgi [Tue, 12 Jul 2011 13:02:04 +0000 (15:02 +0200)]
libpayload: Improve compatibility

Define INT_MAX, EOF and make sure size_t is available.

Change-Id: I1b4b717d2545ea8312ec52339300307a5bd68f8a
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/104
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAdd the AMD Family10 Agesa code
efdesign98 [Wed, 13 Jul 2011 23:43:39 +0000 (16:43 -0700)]
Add the AMD Family10 Agesa code

This change officially adds the Agesa code for the AMD Family 10
cpus.  This code supports the G34 and C32 sockets.

Change-Id: Idae50417e530ad40a29fb6fff5b427f6b138126c
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/95
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoPrint a warning when an unknow USB controller type is detected.
Steven A. Falco [Thu, 14 Jul 2011 01:59:31 +0000 (21:59 -0400)]
Print a warning when an unknow USB controller type is detected.

The Intel E6XX Atom processor reports an unknown USB controller type (in
addition to the standard EHCI and OHCI ones).  Add a default case to
print a warning when an unknown controller type is detected.

Change-Id: I885d0ccec4c46fd212cceac599290e9bf85edbbb
Signed-off-by: Steven A. Falco <sfalco@coincident.com>
Reviewed-on: http://review.coreboot.org/100
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoMove AMD SB800 early clock setup.
Scott Duplichan [Wed, 13 Jul 2011 23:34:16 +0000 (17:34 -0600)]
Move AMD SB800 early clock setup.

Move the AMD SB800 early clock setup code that is needed for early
serial port operation from mainboard/romstage.c to sb800/bootblock.c.
This prevents code duplication and simplifies porting.

Change-Id: I615cfec96c9f202d9c154dc6674ec7cbcf4090c3
Signed-off-by: Scott Duplichan <scott@notabs.org>
Signed-off-by: Marc Jones <marcj303@gmail.com>
Reviewed-on: http://review.coreboot.org/96
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agoEHCI driver missing bus_address assignment.
Steven A. Falco [Thu, 14 Jul 2011 01:01:26 +0000 (21:01 -0400)]
EHCI driver missing bus_address assignment.

Other USB drivers set the bus_address field.  EHCI should do this too.

Signed-off-by: Steven A. Falco <sfalco@coincident.com>
Change-Id: Ic4274c6744951ef7fa0cb135caf8b9f177d8bcaf
Reviewed-on: http://review.coreboot.org/99
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agoSet SB800 ROM decode size based on kconfig.
Marc Jones [Wed, 13 Jul 2011 05:02:03 +0000 (23:02 -0600)]
Set SB800 ROM decode size based on kconfig.

Change-Id: I46ea26b5534064fe1c7e2ce2b2f12cacf18a4d4d
Signed-off-by: Marc Jones <marcj303@gmail.com>
Reviewed-on: http://review.coreboot.org/94
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agoEnable SMI on M2V-MX SE
Rudolf Marek [Sat, 2 Jul 2011 14:41:38 +0000 (16:41 +0200)]
Enable SMI on M2V-MX SE

Finally the SMI routines are in good shape on AMD, lets enable this and later
implement ACPI on/off SMI commands.

Change-Id: I9848a7be908780353eead30c16fd2df8ea48f77e
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/83
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoMake AMD SMM SMP aware
Rudolf Marek [Sat, 2 Jul 2011 14:36:17 +0000 (16:36 +0200)]
Make AMD SMM SMP aware

Move the SMM MSR init to a code run per CPU. Introduce global SMM_BASE define,
later all 0xa0000 could be changed to use it. Remove the unnecessary test if
the smm_init routine is called once (it is called by BSP only) and also remove
if lock bit is set becuase this bit is cleared by INIT it seems.
Add the defines for fam10h and famfh to respective files, we do not have any
shared AMD MSR header file.

Tested on M2V-MX SE with dualcore CPU.

Change-Id: I1b2bf157d1cc79c566c9089689a9bfd9310f5683
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/82
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoDo full flush on uart8250 only at end of printk.
Kevin O'Connor [Sun, 10 Jul 2011 00:22:21 +0000 (20:22 -0400)]
Do full flush on uart8250 only at end of printk.

The previous code does a full flush of the uart after every character.
Unfortunately, this can cause transmission delays on some serial
ports.

This patch changes the code so that it does a flush at the end of
every printk instead of at the end of every character.  This reduces
the time it takes to transmit serial messages (up to 9% on my Asrock
e350m1 board).  It also makes the transmission time more consistent
which is important when performing timing tests via serial
transmissions.

Change-Id: I6b28488b905da68c6d68d7c517cc743cde567d70
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Reviewed-on: http://review.coreboot.org/90
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-by: Sven Schnelle <svens@stackframe.org>
12 years agolibpayload: Add qsort()
Patrick Georgi [Thu, 7 Jul 2011 10:02:10 +0000 (12:02 +0200)]
libpayload: Add qsort()

It's taken from OpenBSD and thus appropriately licensed (and reasonably
tested).

Change-Id: I5767600c9865d39e56c220b52e045f3501875b98
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/88
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoT60: enable GPIO before using GPIO I/O port range
Sven Schnelle [Mon, 11 Jul 2011 13:22:42 +0000 (15:22 +0200)]
T60: enable GPIO before using GPIO I/O port range

Change-Id: I39369e6f8a39f53f58a4b7fbe357637a79f5b596
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/93
Tested-by: build bot (Jenkins)
12 years agoT60: dont use X60 USB init flag
Sven Schnelle [Mon, 11 Jul 2011 12:58:48 +0000 (14:58 +0200)]
T60: dont use X60 USB init flag

ec byte 0x03, bit 2 seems to be only used on the X60s for USB switch
initialization. Don't touch it on T60.

Change-Id: Icb89a514757a0e06ccea200fde62a778fa8c268e
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/92
Reviewed-by: Peter Stuge <peter@stuge.se>
Tested-by: build bot (Jenkins)
12 years agoASRock E350M1: ACPI-related BSOD fix
Scott Duplichan [Sun, 10 Jul 2011 01:14:20 +0000 (20:14 -0500)]
ASRock E350M1: ACPI-related BSOD fix

On installing/starting Windows (tested with Win7 Ultimate)
the system crashes with a Blue Screen of Death, reporting an ACPI BIOS error.

From Scott Duplichan:
To avoid the Windows BSOD, the uninitialized value TOM1 in the SSDT
must be corrected. The attached patch does this. It uses the older
patching method, and not the (possibly preferred) AML generation
method. To simplify the patching operation, I moved the AML item
'TOM1' to the start of the SSDT. The patch also includes code to
confirm the AML variable TOM1 is at the expected offset before patching.

Also tested & working with Linux.

Change-Id: I59cedc366e09d98f690b093d6a21fc0c864559c3
Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Marshall Buschman <mbuschman@lucidmachines.com>
Reviewed-on: http://review.coreboot.org/91
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agoFix memory size reporting on AMD family 14h systems for >= 4GB
Cristian Măgherușan-Stanciu [Fri, 8 Jul 2011 22:41:12 +0000 (22:41 +0000)]
Fix memory size reporting on AMD family 14h systems for >= 4GB

Applying Scott Duplichan's fix for memory >=4GB

Adjusted it to the new directory structure (agesa_wrapper was renamed to
just agesa).

Boot-tested and confirmed to work, on my board Linux can now access the
whole RAM.

Change-Id: I31d66a488a7811d214d84653860b3e0116f67d19
Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Marshall Buschman <mbuschman@lucidmachines.com>
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/48
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>
12 years agolibpayload: Don't declare mouse support in tinycurses
Patrick Georgi [Thu, 10 Mar 2011 13:53:54 +0000 (14:53 +0100)]
libpayload: Don't declare mouse support in tinycurses

Change-Id: Id1ff3d85617e3ec063ce332cf13920dfbbb7cf26
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/87
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agolibpayload: Provide atol(), malloc.h
Patrick Georgi [Fri, 27 May 2011 13:31:52 +0000 (15:31 +0200)]
libpayload: Provide atol(), malloc.h

Change-Id: I807ca061115146a6851eef481eb881b279fba8e1
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/86
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agolibpayload: Implement strlcpy
Patrick Georgi [Fri, 11 Mar 2011 08:34:23 +0000 (09:34 +0100)]
libpayload: Implement strlcpy

Change-Id: Ibd339957690afe2cded46895c3088eba87f0ffd1
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/85
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agolibpayload: fix wborder()
Patrick Georgi [Tue, 15 Mar 2011 11:34:04 +0000 (12:34 +0100)]
libpayload: fix wborder()

wborder didn't provide default characters to draw a border.

Change-Id: Ib746ed16be341598fd9fa1f1b7577606d1abd9e5
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/84
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoFix lint-002-build-dir-handling
Patrick Georgi [Sat, 2 Jul 2011 14:21:31 +0000 (16:21 +0200)]
Fix lint-002-build-dir-handling

That lint test requires some Kconfig defaults and uses allyesconfig
for that. Unfortunately that also draws in ccache and scanbuild support,
which significantly change the behaviour of the toplevel Makefile.
Notably, the ccache support breaks if no ccache is installed.

Change-Id: I17cbb7974be33fc077e5cbd5fb616a5b00a47d97
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/80
Tested-by: build bot (Jenkins)
12 years agoT60: handle EC events in SMM if ACPI is disabled
Sven Schnelle [Thu, 23 Jun 2011 17:12:25 +0000 (19:12 +0200)]
T60: handle EC events in SMM if ACPI is disabled

Change-Id: I6f9e90015cafef3da896453ef8e3588434ae3554
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/89
Tested-by: build bot (Jenkins)
12 years agoRun 'git fetch' in SeaBIOS only when really needed
Cristian Măgherușan-Stanciu [Tue, 7 Jun 2011 13:03:14 +0000 (15:03 +0200)]
Run 'git fetch' in SeaBIOS only when really needed

This allows coreboot to compile without Internet connectivity

Change-Id: I969471e44e417f127fdc8744e868211500acee3e
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/11
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoSmall SMM fixups
Rudolf Marek [Sat, 2 Jul 2011 14:03:24 +0000 (16:03 +0200)]
Small SMM fixups

Align the spinlock to the 4 byte boundary (CPU will guarantee atomicity of XCHG).
While at it add the PAUSE instruction to spinlock loop to hint the CPU we are just
spinlocking. The rep nop could not be used because "as" complains that rep is used
without string instructions.

Change-Id: I325cd83de3a6557b1bee6758bc151bc81e874f8c
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/81
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoFixes to the libpayload build system
Patrick Georgi [Fri, 1 Jul 2011 22:29:09 +0000 (00:29 +0200)]
Fixes to the libpayload build system

- its Makefile is part of the libpayload project
- fix conversion bug in powerpc's Makefile.inc

Change-Id: I84f2da092c3733ea7d0f232cb3768078cf13dfd5
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/79
Tested-by: build bot (Jenkins)
Reviewed-by: Uwe Hermann <uwe@hermann-uwe.de>
12 years agowhitespace-only changes in acpi.c, replaced spaces with tabs
Cristian Măgherușan-Stanciu [Fri, 1 Jul 2011 21:57:07 +0000 (00:57 +0300)]
whitespace-only changes in acpi.c, replaced spaces with tabs

Change-Id: Ibd598813bec0c93d77afbce8aee330498afbe5f6
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/74
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Tested-by: build bot (Jenkins)
12 years agoadded a config option for ACPI debugging
Cristian Măgherușan-Stanciu [Fri, 1 Jul 2011 21:44:39 +0000 (00:44 +0300)]
added a config option for ACPI debugging

Change-Id: Ie6296f5652196c6258aa6902d84dd86c17e224cb
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/36
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Tested-by: build bot (Jenkins)
12 years agoRelicense Makefile to match libpayload
Patrick Georgi [Thu, 30 Jun 2011 13:48:57 +0000 (15:48 +0200)]
Relicense Makefile to match libpayload

libpayload's license is more liberal than coreboot's. If we are to
use the coreboot build system for libpayload (bringing a couple of
new features to libpayload), we should adopt it for this shared part
even if not strictly necessary.

Change-Id: I1349616861e193b3e01407debbec3d82e09e72c2
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/70
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Uwe Hermann <uwe@hermann-uwe.de>
Reviewed-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
12 years agoAdd local copy of commit-msg hook
Patrick Georgi [Thu, 30 Jun 2011 17:55:31 +0000 (19:55 +0200)]
Add local copy of commit-msg hook

To avoid using untrusted network to download code, copy the
relevant file to the repo and adapt "make gitconfig" to copy
from there.

Change-Id: I21f0b58d59250aa5d795cf289267ad93bd8d74db
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/73
Reviewed-by: Uwe Hermann <uwe@hermann-uwe.de>
Tested-by: build bot (Jenkins)
12 years agoReduce warnings/errors in libpayload when using picky compiler options
Patrick Georgi [Thu, 21 Apr 2011 16:57:16 +0000 (18:57 +0200)]
Reduce warnings/errors in libpayload when using picky compiler options

The new build system uses quite a few more -W flags for the compiler by
default than the old one. And that's for the better.

Change-Id: Ia8e3d28fb35c56760c2bd0983046c7067e8c5dd6
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/72
Tested-by: build bot (Jenkins)
Reviewed-by: Uwe Hermann <uwe@hermann-uwe.de>
12 years agoUse coreboot build system for libpayload, too.
Patrick Georgi [Thu, 21 Apr 2011 16:48:50 +0000 (18:48 +0200)]
Use coreboot build system for libpayload, too.

This change makes building coreboot related projects more unified.

Change-Id: I0f1181e2fffde1e03675523f7dc9eef3119052c3
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/71
Tested-by: build bot (Jenkins)
Reviewed-by: Uwe Hermann <uwe@hermann-uwe.de>
12 years agoImprove VIA K8M890 HT settings. Use recommended settings for ROMSIP and
Rudolf Marek [Wed, 29 Jun 2011 21:47:20 +0000 (23:47 +0200)]
Improve VIA K8M890 HT settings. Use recommended settings for ROMSIP and
for the transmit clock driving control. Unfortunately this is not enough
to make the HT1000 work reliably, therefore blacklist this for now in CPU
HT code. If ever anyone figure out what is wrong, it could be removed. The
downgrading now makes the board work on HT800, which is certainly better than
not at all with a HT1000 CPU.

Change-Id: I949bfd9b0b48ee12bd0234c2fb1deaaa773bd235
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Reviewed-on: http://review.coreboot.org/68
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAdded support for Aaeon PFM-540I RevB PC104 SBC
Mark Norman [Tue, 14 Jun 2011 12:50:37 +0000 (22:20 +0930)]
Added support for Aaeon PFM-540I RevB PC104 SBC

The Aaeon PFM-540I RevB SBC is a PC104 SBC using a AMD Geode LX800 CPU.
More infomation about the board available at www.aaeon.com.

Change-Id: Ia8a3caacdc9ff1820a6c0a13a9a7ee758b929dfd
Signed-off-by: Mark Norman <mpnorman@gmail.com>
Reviewed-on: http://review.coreboot.org/30
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoi82801gx: read RTC status register to prevent IRQ storm
Sven Schnelle [Wed, 29 Jun 2011 13:05:28 +0000 (15:05 +0200)]
i82801gx: read RTC status register to prevent IRQ storm

My Thinkpad appeared dead. After investigation, it turned out
that the RTC Alarm was triggering an RTC PM1 SMI, but the SMI
handler didn't read the status register, so it was triggered again.

This is a really nasty situation, as it means you have to dissemble
your Notebook just to unplug the RTC battery.

Change-Id: I5ac611e8a72deb5f38c86486dbe0693804935723
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/67
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoLibpayload needs to clear the bss region.
Marc Jones [Tue, 28 Jun 2011 20:30:05 +0000 (14:30 -0600)]
Libpayload needs to clear the bss region.

Libpayload shouldn't count on coreboot or other payloads to clear memory. This fixes problems with payloads being loaded after or on top of each other.

Change-Id: I30303d47e465e8921f47acab667c7998ba79fca7
Signed-off-by: Marc Jones <marcj303@gmail.com>
Reviewed-on: http://review.coreboot.org/66
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoamd southbirdge sb800 wrapper, pci bridge fix
Kerry She [Fri, 24 Jun 2011 14:52:15 +0000 (22:52 +0800)]
amd southbirdge sb800 wrapper, pci bridge fix

sb800 pci bridge SHOULD enabled by default according to the chipset document,
but actually not enabled on some mainboard.
enable sb800 pci bridge when told to enable in devicetree.cb.
tested on ibase persimmon mainboard.

Change-Id: I42075907b4a003b2e58e5b19635a2e1b3fe094c3
Signed-off-by: Kerry She <shekairui@gmail.com>
Reviewed-on: http://review.coreboot.org/63
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAdd the AMD Torpedo mainboard
efdesign98 [Tue, 21 Jun 2011 04:48:37 +0000 (21:48 -0700)]
Add the AMD Torpedo mainboard

The Torpedo mainboard is the reference platform for
the AMD Family 12 cpus and the AMD Hudson-2 (SB900)
southbridge.

Change-Id: Ifbf82fc4e4375a108a9d6068876b8ff612cfa8e1
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/54
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoAddition of Family12/SB900 wrapper code
efdesign98 [Tue, 21 Jun 2011 02:56:06 +0000 (19:56 -0700)]
Addition of Family12/SB900 wrapper code

This change adds the wrapper code for the AMD Family12
cpus and the AMD Hudson-2 (SB900) southbridge to the cpu,
northbridge and southbridge folders respectively.

Change-Id: I22b6efe0017d0af03eaa36a1db1615e5f38da06c
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/53
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agomsrtool: added support for Intel CPUs
Anton Kochkov [Mon, 20 Jun 2011 19:14:22 +0000 (23:14 +0400)]
msrtool: added support for Intel CPUs

Change-Id: I05f54471665aa99335a88d097c6de20174f91dc6
Signed-off-by: Anton Kochkov <anton.kochkov@gmail.com>
Reviewed-on: http://review.coreboot.org/50
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoSMM: add guard and include types.h in cpu/x86/smm.h
Sven Schnelle [Tue, 28 Jun 2011 06:06:18 +0000 (08:06 +0200)]
SMM: add guard and include types.h in cpu/x86/smm.h

Change-Id: I002845cf7a37cd6885456131826ae0ba681823ef
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/64
Tested-by: build bot (Jenkins)
12 years agoX60: remove pci config register save/restore
Sven Schnelle [Tue, 28 Jun 2011 06:05:26 +0000 (08:05 +0200)]
X60: remove pci config register save/restore

SMM code already makes sure this register is saved and restored,
so we don't have to do it.

Change-Id: I078e1227de4436fba9c5fb3879a564c981cb0f9a
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/65
Tested-by: build bot (Jenkins)
12 years agoAdd SMSC SCH3114 superio register descriptions to superiotool.
Mark Norman [Sat, 18 Jun 2011 00:54:36 +0000 (10:24 +0930)]
Add SMSC SCH3114 superio register descriptions to superiotool.

This has been tested on a Aaeon PFM-540I RevB PC104 SBC.

Change-Id: Ie02875a1fa2d90d7cc843ce745f727312f7b7aec
Signed-off-by: Mark Norman <mpnorman@gmail.com>
Reviewed-on: http://review.coreboot.org/43
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoT60: undock on external power loss
Sven Schnelle [Thu, 23 Jun 2011 11:43:52 +0000 (13:43 +0200)]
T60: undock on external power loss

If power is unplugged/lost, we should undock the docking station.
The power loss can also be caused by the fact that the user removed
the thinkpad from the docking station without pressing the Undock button/hotkey
first. Without undocking it on this event, the thinkpad LPC switch will still
connect the Docking connector, which causes crashes when docking it again.

Change-Id: I9ed783e491827bde20264868eab2b3a79c232922
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/62
Tested-by: build bot (Jenkins)
12 years agoT60: enable userspace EC events
Sven Schnelle [Thu, 23 Jun 2011 11:41:55 +0000 (13:41 +0200)]
T60: enable userspace EC events

EC events 0x50-0x5f are never triggered by the EC. Instead they
can be generated by writing the wanted events to register 0x2a.

Change-Id: Ifd7ce991ee094cb16e8425ed670b6b45cffe3907
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/61
Tested-by: build bot (Jenkins)
12 years agoT60: add additional EC events
Sven Schnelle [Thu, 23 Jun 2011 09:59:48 +0000 (11:59 +0200)]
T60: add additional EC events

We missed a few bits, i.e the battery and some hotkey events.

Change-Id: Ia5561532f421eb3b40225301f0af639112abc3cc
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/60
Tested-by: build bot (Jenkins)
12 years agoAdd ThinkPad models
Sven Schnelle [Thu, 23 Jun 2011 09:15:55 +0000 (11:15 +0200)]
Add ThinkPad models

Change-Id: I4f1a5d99486929eb0be76a0ab3bf0158a23c7d36
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/59
Tested-by: build bot (Jenkins)
12 years agoT60: add missing License Header
Sven Schnelle [Wed, 22 Jun 2011 14:08:51 +0000 (16:08 +0200)]
T60: add missing License Header

Change-Id: I03636deac7b6d8e01654cf978b1aac79cba10641
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/58
Tested-by: build bot (Jenkins)
12 years agoX60: add missing License Header
Sven Schnelle [Wed, 22 Jun 2011 14:08:45 +0000 (16:08 +0200)]
X60: add missing License Header

Change-Id: I9d6e80a633990e86dd3adfa2a761d09f62978349
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/57
Tested-by: build bot (Jenkins)
12 years agoH8: add missing License Header
Sven Schnelle [Wed, 22 Jun 2011 14:08:32 +0000 (16:08 +0200)]
H8: add missing License Header

Change-Id: If472e1e8bb93d64cc52a9084ad33fb9abbf0fb33
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/56
Tested-by: build bot (Jenkins)
12 years agoPMH7: add missing License Header
Sven Schnelle [Wed, 22 Jun 2011 14:08:20 +0000 (16:08 +0200)]
PMH7: add missing License Header

Change-Id: I3468689408fce05142a0959d5d725bdbd03faea7
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/55
Tested-by: build bot (Jenkins)
12 years agoMove SB800 clock init earlier
Scott Duplichan [Wed, 22 Jun 2011 01:05:19 +0000 (20:05 -0500)]
Move SB800 clock init earlier

Committing Scott's e350m1 changes (svn r6585):
Move SB800 clock init earlier,
Fixes problem where initial serial port output is garbled.

Change-Id: If05aa37726b962e8994ee69bf1882fcfae56aa19
Signed-off-by: Scott Duplichan <scott@notabs.org>
Signed-off-by: Marshall Buschman <mbuschman@lucidmachines.com>
Reviewed-on: http://review.coreboot.org/32
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd the coreboot config to CBFS
Cristian Măgherușan-Stanciu [Sun, 19 Jun 2011 01:03:28 +0000 (03:03 +0200)]
Add the coreboot config to CBFS

The CBFS will contain a new file, named 'config' of type 'raw' that is a
stripped-down version of the .config file that was used to build the
current coreboot image. For space savings, all the comments and empty
lines were removed from the original config, except for one that lists
the coreboot git revision that's built into the image.

This is done in order to easily reproduce the work of  someone else when
only having their ROM image. In theory the reproduce could even be
automated by a new dedicated make target.

This should work even with abuild now.

Change-Id: I784989aac0227d3679d30314b06dadaec402749e
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/46
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoMove existing AMD Ffamily14 code to f14 folder
efdesign98 [Tue, 21 Jun 2011 01:12:43 +0000 (18:12 -0700)]
Move existing AMD Ffamily14 code to f14 folder

This change moves the AMD Family14 cpu Agesa code to
the vendorcode/amd/agesa/f14 folder to complete the
transition to the family oriented folder structure.

Change-Id: I211e80ee04574cc713f38b4cc1b767dbb2bfaa59
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/52
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoRename {CPU|NB|SB}/amd/*_wrapper folders
efdesign98 [Tue, 21 Jun 2011 00:38:49 +0000 (17:38 -0700)]
Rename {CPU|NB|SB}/amd/*_wrapper folders

This change renames the cpu/amd/agesa_wrapper, northbridge/
amd/agesa_wrapper, and southbridge/amd/cimx_wrapper folders
to {cpu|NB}/amd/agesa and {SB}/amd/agesa to shorten and
simplify the folder names.
There is also a fix to vendorcode/amd/agesa/lib/amdlib.c to
append "ull" to a trio of 64-bit hexadecimal constants to
allow abuild to run successfully.

Change-Id: I2455e0afb0361ad2e11da2b869ffacbd552cb715
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/51
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd AMD SB900 CIMx code
efdesign98 [Thu, 16 Jun 2011 23:39:30 +0000 (16:39 -0700)]
Add AMD SB900 CIMx code

This code is added to support the AMD SB900 southbridge.

Change-Id: I7dc5e13a53ffd479dcea4e05e8c8631096e2ba91
Signed-off-by: Frank Vibrans <frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/41
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoAdd AMD Family 12 cpu Agesa code
efdesign98 [Thu, 16 Jun 2011 23:35:54 +0000 (16:35 -0700)]
Add AMD Family 12 cpu Agesa code

This is the addition of the AMD Family 12 cpu code.

Change-Id: I3febc81e192b4e86bbd3e8d6e1da62a28598fa8c
Signed-off-by: Frank Vibrans<frank.vibrans@amd.com>
Signed-off-by: efdesign98 <efdesign98@gmail.com>
Reviewed-on: http://review.coreboot.org/40
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agosb800: move spi prefetch and fast read mode to sb bootblock.
Stefan Reinauer [Sat, 4 Jun 2011 17:37:35 +0000 (10:37 -0700)]
sb800: move spi prefetch and fast read mode to sb bootblock.

So we don't waste time on the first cbfs scan.

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
[adapt persimmon with the same change, and work around romcc bug
 in bootblock code: it doesn't like MEMACCESS[idx] |= value;]

Change-Id: Ic4d0e53d3102be0de0bd18b1b8b29c500bd6d997
Reviewed-on: http://review.coreboot.org/9
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoIntroduced support for 8MB and 16MB flash sizes
Cristian Măgherușan-Stanciu [Sun, 19 Jun 2011 21:07:20 +0000 (21:07 +0000)]
Introduced support for 8MB and 16MB flash sizes

Change-Id: I217ff84be3575ec09781710f19ad272c88227663
Signed-off-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-on: http://review.coreboot.org/49
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoASRock E350M1: Enable USB3 support
Marshall Buschman [Sat, 18 Jun 2011 17:04:41 +0000 (12:04 -0500)]
ASRock E350M1: Enable USB3 support

Requires Scott Duplichan's patch for NIC support.
Enables required PCIe port for USB3 - does not interfere
with normal operations on non-USB3 model.

Change-Id: I451bb1b4f799d6485e75fa949933e25e821b65f9
Signed-off-by: Marshall Buschman <mbuschman@lucidmachines.com>
Reviewed-on: http://review.coreboot.org/45
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
12 years agoASRock E350M1: Configure SB800 GPP ports to support onboard pcie nic
Scott Duplichan [Sat, 18 Jun 2011 15:46:45 +0000 (10:46 -0500)]
ASRock E350M1: Configure SB800 GPP ports to support onboard pcie nic

Scott Duplichan's patch from the mailing list:
sb800 cimx wrapper: Run the complete sb800 cimx sbBeforePciInit() function
once, after determining device 0x15 function enables.

1) Update the asrock e350m1 devicetree.cb to match the hardware.
2) Change the way the sb800 cimx wrapper code works. The original
cimx code calls sb800 cimx function sbBeforePciInit() once. When
ported to coreboot, the gpp component of this function was called
once for each gpp port, as the gpp port's enable/disable state
became known. A 05/15/2011 change makes the early gpp code run
only once, triggered by processing the 4th gpp port. This method
is not general enough because the 4th gpp port is not enabled on
all boards. With the current change, the early gpp code runs when
the first gpp port is processed. If any gpp ports are enabled, the
first must be enabled. Tested with Win7 and linux on asrock e350m1.
This change will also affect amd inagua, and has not been tested
on that board.

Change-Id: I93d44c216bfcab3c3a8fbb79d23dab43a65850e6
Signed-off-by: Scott Duplichan <scott@notabs.org>
Acked-by: Marshall Buschman <mbuschman@lucidmachines.com>
Reviewed-on: http://review.coreboot.org/44
Tested-by: build bot (Jenkins)
Reviewed-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
12 years agoSMM: flush caches after disabling caching
Sven Schnelle [Fri, 17 Jun 2011 18:47:08 +0000 (20:47 +0200)]
SMM: flush caches after disabling caching

Fixes spurious SMI crashes i've seen, and ACPI/SMM interaction.
For reference, the mail i've sent to ML with the bugreport:

whenever i've docked/undocked the thinkpad from the docking station,
i had to do that twice to get the action actually to happen.

First i thought that would be some error in the ACPI code. Here's a
short explanation how docking/undocking works:

1) ACPI EC Event 0x37 Handler is executed (EC sends event 0x37 on dock)
2) _Q37 does a Trap(SMI_DOCK_CONNECT). Trap is declared as follows:

   a) Store(Arg0, SMIF) // SMIF is in the GNVS Memory Range
   b) Store(0, 0x808)   // Generates I/O Trap to SMM
   c) // SMM is executed
   d) Return (SMIF)    // Return Result in SMIF

I've verified that a) is really executed with ACPI debugging in the
Linux Kernel. It writes the correct value to GNVS Memory. After that,
i've logged the SMIF value in SMM, which contains some random (or
former) value of SMIF.

So i've added the GNVS area to /proc/mtrr which made things work.
I've also tried a wbinvd() in SMM code, with the same result.

After reading the src/cpu/x86/smm/smmhandler.S code, i've recognized
that it starts with:

        movw    $(smm_gdtptr16 - smm_handler_start +
        SMM_HANDLER_OFFSET), %bx
        data32  lgdt %cs:(%bx)

        movl    %cr0, %eax
        andl    $0x7FFAFFD1, %eax /* PG,AM,WP,NE,TS,EM,MP = 0 */
        orl     $0x60000001, %eax /* CD, NW, PE = 1 */
        movl    %eax, %cr0

        /* Enable protected mode */
        data32  ljmp    $0x08, $1f

...which disables caching in SMM code, but doesn't flush the cache.

So the problem is:

- the linux axpi write to the SMIF GNVS Area will be written to Cache,
  because GNVS is WB
- the SMM code runs with cache disabled, and fetches SMIF directly from
  Memory, which is some other value

Possible Solutions:

- enable cache in SMM (yeah, cache poisoning...)

- flush caches in SMM (really expensive)

- mark GNVS as UC in Memory Map (will only work if OS
  really marks that Area as UC. Checked various vendor BIOSes, none
  of them are marking NVS as UC. So this seems rather uncommon.)

- flush only the cache line which contains GNVS. Would fix this
  particular problem, but users/developers could see other Bugs like
  this. And not everyone likes to debug such problems. So i won't like
  this solution.

Change-Id: Ie60bf91c5fd1491bc3452d5d9b7fc8eae39fd77a
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/39
Tested-by: build bot (Jenkins)
12 years agoT60: set dock LED's in mainboard.c
Sven Schnelle [Fri, 17 Jun 2011 19:26:28 +0000 (21:26 +0200)]
T60: set dock LED's in mainboard.c

The docking takes place in romstage to have early serial I/O for debugging.
But to keep romstage small and prevent linking the EC code to romstage, set the
status LED's in ramstage.

Change-Id: I89fadbd61b6bfd9aff8c22370e51c84325f24751
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/42
Tested-by: build bot (Jenkins)
12 years agoX60/T60: disable USB power during suspend
Sven Schnelle [Thu, 16 Jun 2011 14:43:46 +0000 (16:43 +0200)]
X60/T60: disable USB power during suspend

Change-Id: I11afba5d7531132a0274e55e8a478985a0ef956f
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/38
Tested-by: build bot (Jenkins)
12 years agoLenovo H8 EC: add usb_power_enable()
Sven Schnelle [Thu, 16 Jun 2011 14:43:04 +0000 (16:43 +0200)]
Lenovo H8 EC: add usb_power_enable()

Can be used to disable/enable Power output on USB ports.

Change-Id: I5eb52b33c9e3359b0e5874bda2c0c8d75c196bc2
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/37
Tested-by: build bot (Jenkins)
12 years agoSMM: don't overwrite SMM memory on resume
Sven Schnelle [Tue, 14 Jun 2011 18:55:54 +0000 (20:55 +0200)]
SMM: don't overwrite SMM memory on resume

Overwriting the SMM Area on resume leaves us with
all variables cleared out, i.e., the GNVS pointer
is no longer available, which makes SMIF function
calls impossible.

Change-Id: I08ab4ffd41df0922d63c017822de1f89a3ff254d
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/34
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoi945 GMA: restore tft brightness from cmos
Sven Schnelle [Sun, 12 Jun 2011 12:30:10 +0000 (14:30 +0200)]
i945 GMA: restore tft brightness from cmos

Change-Id: Iaf10f125425a1abcf17ffca1d6e246f955f941cc
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/24
Tested-by: build bot (Jenkins)
12 years agoRemove old ACPI code
Sven Schnelle [Wed, 15 Jun 2011 15:13:27 +0000 (17:13 +0200)]
Remove old ACPI code

it isn't used anywhere, and could be fetched from git/svn history if
needed.

Change-Id: Iaa2ba39af531d0389d7ab1110263ae7ecaa35c70
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/35
Tested-by: build bot (Jenkins)
12 years agoi82801gx: replace cafed00d/cafebabe by defines
Sven Schnelle [Wed, 15 Jun 2011 07:26:34 +0000 (09:26 +0200)]
i82801gx: replace cafed00d/cafebabe by defines

We're using '0xcafed00d' all over the code as magic for ACPI S3
resume. Let's add a define for that. Also replace 0xcafebabe by
a define.

Change-Id: I5f5dc09561679d19f98771c4f81830a50202c69f
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/33
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoUpdate README with newer version of the text from the web page
Stefan Reinauer [Fri, 10 Jun 2011 18:05:53 +0000 (20:05 +0200)]
Update README with newer version of the text from the web page

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Change-Id: I4f181979ca5e47b27731c681a320b34cbecc0027
Reviewed-on: http://review.coreboot.org/19
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marcj303@gmail.com>
Reviewed-by: Cristian Măgherușan-Stanciu <cristi.magherusan@gmail.com>
Reviewed-by: Sven Schnelle <svens@stackframe.org>
12 years agoX60: handle EC events in SMM if ACPI is disabled
Sven Schnelle [Sun, 12 Jun 2011 14:49:13 +0000 (16:49 +0200)]
X60: handle EC events in SMM if ACPI is disabled

Change-Id: I0fee890bd2d667b54965201f5c90da3656d7af5c
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/27
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoX60: trigger save cmos on volume/brightness change
Sven Schnelle [Sun, 12 Jun 2011 12:35:11 +0000 (14:35 +0200)]
X60: trigger save cmos on volume/brightness change

Change-Id: I020e06bc311c4e4327c9d3cf2c379dc8fe070a7a
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/25
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoCMOS: add set_option()
Sven Schnelle [Mon, 6 Jun 2011 13:58:54 +0000 (15:58 +0200)]
CMOS: add set_option()

Change-Id: I584189d9fcf7c9b831d9c020ee7ed59bb5ae08e8
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/23
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
12 years agoX60/T60: set CMOS defaults
Sven Schnelle [Sun, 12 Jun 2011 13:08:58 +0000 (15:08 +0200)]
X60/T60: set CMOS defaults

Change-Id: I5789a03898cdbade67887c0389aab5c773f867d9
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/26
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
12 years agoASRock/E350M1: Skip memory clear for boot time reduction
Marshall Buschman [Sat, 11 Jun 2011 02:16:41 +0000 (21:16 -0500)]
ASRock/E350M1: Skip memory clear for boot time reduction

Applying Scott's patches to e350m1, svn r6600:
Memory clear is not required for non-ECC boards.

Change-Id: Ia1a7c926611de72351434cbdc1795ed10bc56ed1
Signed-off-by: Scott Duplichan <scott@notabs.org>
Signed-off-by: Marshall Buschman <mbuschman@lucidmachines.com>
Reviewed-on: http://review.coreboot.org/20
Tested-by: build bot (Jenkins)
Reviewed-by: Peter Stuge <peter@stuge.se>