coreboot/src/drivers
Ronald G. Minnich 8cdaf73e36 Peppy graphics
Peppy had some issues with FUI. We decided it was time to create
peppy-specific gma.c and i915io.c files. Using yabel and the i915tool,
we generated a replay attack, then interpolated against the slippy
i915io.c to get something working.

Also, in preparation for moving code out of the mainboard gma.c to
generic driver code, we got rid of some hardcodes in the mainboard
gma.c that have no business being there. The worst were the
computation of gmch_[m,n] and it turns out that we had some
long-standing bugs related to confusion about 'bpp'. I've killed the
word bpp everywhere I could because there are at least 3 things that
correspond to bpp. We now have framebuffer, pipe, and panel bpp. The
names are long because I want to avoid all the mistakes we've all been
making in the last year :-) Sadly, that means a lot of changes not just
peppy-related, but they are simple and in a good cause.

The test pattern generation is driven by a global variable in
mainboard/peppy/gma.c.  I've found in the past that it's very useful
to have a function like this available, as one can activate it while
using a jtag debugger: halt at the right place in ramstage, set the
variable to 1, continue. It's not enough code to worry about always
including.

The last hard-codes for M and N registers are gone, and the function
to set from generic intel_dp.c code works.  To avoid screen trash on a
dev mode boot, which we liked but nobody else did :-), we now take the
time to put a pleasing background color that sort of doubles as a
power LED.

Rough timing is ramstage start is at 2.2, and dev setup is done at
3.3. These new platforms are depressingly slow to boot. Rom init alone
is taking 1.9 seconds. 13 years ago it was 3 seconds from power on to bash
prompt. These CPUs are at least 10x faster and take much longer to get going.

Future work, once we get this through, is to move more functions to the
intel driver, and combine the mainboard i915io.c into the mainboard gma.c.
That separation only existed because i915io.c was generated by a tool, and it
had lots of ugliness. Most ugliness is gone.

BUG=None
TEST=build and boot on peppy and get a screen, in both dev and normal modes.
BRANCH=None

Change-Id: I6a6295b423a41e263f82cef33eacb92a14163321
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/170013
Reviewed-by: Stefan Reinauer <reinauer@google.com>
Commit-Queue: Ronald Minnich <rminnich@chromium.org>
Tested-by: Ronald Minnich <rminnich@chromium.org>
Reviewed-by: Furquan Shaikh <furquan.m.shaikh@gmail.com>
2013-09-27 23:07:14 +00:00
..
ati Get rid of drivers class 2012-11-27 22:00:49 +01:00
dec GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
elog elog: handle ROM_SIZE differences from detected flash size 2013-06-28 15:25:41 -07:00
emulation Get rid of drivers class 2012-11-27 22:00:49 +01:00
generic GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
i2c TPM: Stop requesting/releasing the TPM locality. 2013-09-10 17:23:02 +00:00
ics Get rid of drivers class 2012-11-27 22:00:49 +01:00
intel Peppy graphics 2013-09-27 23:07:14 +00:00
ipmi Get rid of drivers class 2012-11-27 22:00:49 +01:00
maxim max77802: update header 2013-08-01 23:07:16 -07:00
oxford Rename cpu/x86/car.h to arch/early_variables.h 2013-07-30 13:40:23 -07:00
parade Pit: move parade writes to mainboard.c 2013-07-12 16:49:17 -07:00
pc80 drivers: Add I2C TPM driver to coreboot 2013-09-09 21:39:07 +00:00
realtek GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
sil Get rid of drivers class 2012-11-27 22:00:49 +01:00
spi spi: Add support for Winbod W25Q64DW 2013-09-20 00:52:20 +00:00
ti [2/2] tps65090: re-factor for coreboot 2013-04-30 18:24:39 -07:00
trident Get rid of drivers class 2012-11-27 22:00:49 +01:00
Kconfig parade: Add a driver for the parade ps8625. 2013-07-03 18:23:07 -07:00
Makefile.inc parade: Add a driver for the parade ps8625. 2013-07-03 18:23:07 -07:00