coreboot-kgpe-d16/src/include
Vadim Bendebury 90f6cd3567 Add console wrapper for UART driver
Coreboot is designed to have a single serial console at most, on top
of that it may have a CBMEM (virtual) console. Matters are complicated
by the fact that console interface is different between bootblock and
later stages.

A linker list of console driver descriptors is used to allow to
determine the set and type of console drivers at compile time. Even
though the upstream seems to have done away with this approach, which
does not seem the best idea.

As an alternative this patch introduces a common wrapper which
different UART drivers can plug in into. The driver exports a single
API which can be used both directly (in bootblock) and through the
wrapper (in later stages).

The existing drivers can be adjusted to fit this scheme one by one.
The common UART driver API also aligns fine with the upstream
approach.

BUG=chrome-os-partner:27784
TEST=none yet

Original-Change-Id: Id1fe73d29f2a3c722bd77180beebaedb9bf7d6a1
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/196660
Original-Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
(cherry picked from commit 94a36ad79a96f83d283c0fd073b05f98ae48820c)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>

Change-Id: Id1fe73d29f2a3c722bd77180beebaedb9bf7d6a1
Reviewed-on: http://review.coreboot.org/7872
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-14 21:25:34 +02:00
..
boot ramoops: Add support for passing ramoops region through cb tables. 2015-04-10 16:48:30 +02:00
console Add console wrapper for UART driver 2015-04-14 21:25:34 +02:00
cpu baytrail: Switch from ACPI mode to PCI mode for legacy support 2015-04-10 19:21:49 +02:00
device PCI - Add interrupt disable bit definition 2015-04-10 20:10:55 +02:00
pc80 drivers/pc80/mc146818rtc: Reduce superfluous preprocessor use 2015-02-06 23:56:04 +01:00
smp atomic.h: Fix doxygen errors 2015-01-04 20:03:28 +01:00
superio superio/common/conf_mode.c: Introduce 'new' enter/exit keys for SIO's 2014-11-01 21:27:50 +01:00
tpm_lite vboot2: read secdata and nvdata 2015-03-23 19:51:47 +01:00
antirollback.h vboot: Include vb2_api.h, instead of lower-level vboot2 header files 2015-04-10 16:49:15 +02:00
assert.h misc: Drop print_ implementation from non-romcc boards 2015-01-09 06:12:22 +01:00
base3.h gpio: Remove non-ternary tristate mode, make ternaries easier 2015-04-10 11:57:44 +02:00
bcd.h rtc: Add an RTC API, and implement it for x86. 2014-12-30 19:28:27 +01:00
boardid.h cbtables: Add RAM config information 2015-04-10 16:47:44 +02:00
bootmem.h coreboot: introduce notion of bootmem for memory map at boot 2014-03-03 21:47:27 +01:00
bootmode.h chromeos: Unconditionally clear the EC recovery request 2014-12-30 23:30:52 +01:00
bootstate.h bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
cbfs.h program loading: introduce struct prog 2015-04-03 14:51:51 +02:00
cbfs_core.h cbfs: add cbfs_serialized.h header file 2015-03-31 23:01:39 +02:00
cbfs_serialized.h CBFS: Automate ROM image layout and remove hardcoded offsets 2015-04-14 09:01:27 +02:00
cbmem.h chromeos: Add WiFi calibration CBMEM entry pointer to coreboot table 2015-04-02 13:32:04 +02:00
delay.h timer: Reestablish init_timer(), consolidate timer initialization calls 2015-04-14 09:03:28 +02:00
edid.h edid: remove float use 2014-12-16 21:31:35 +01:00
elog.h nyan*: Add an empty elog functions for the !CONFIG_ELOG case 2014-12-30 21:28:50 +01:00
endian.h Extend CBFS to support arbitrary ROM source media. 2013-01-30 17:58:32 +01:00
fallback.h Make set_boot_successful depend on PC80_SYSTEM 2012-11-30 21:33:35 +01:00
gic.h drivers: add GIC support 2015-03-28 07:05:03 +01:00
gpio.h gpio: add a function to read GPIO array as base-2 value 2015-04-10 11:59:30 +02:00
halt.h Introduce halt() 2014-11-30 12:20:05 +01:00
inttypes.h x86: provide more C standard environment 2013-03-20 04:20:25 +01:00
ip_checksum.h Drop prototype guarding for romcc 2013-05-10 00:06:46 +02:00
kconfig.h Add config_enabled() from Linux 2012-05-08 00:36:09 +02:00
lib.h New mechanism to define SRAM/memory map with automatic bounds checking 2015-04-06 22:05:01 +02:00
memlayout.h New mechanism to define SRAM/memory map with automatic bounds checking 2015-04-06 22:05:01 +02:00
memory_info.h smbios: add funtion for smbios type17 2015-03-27 09:55:21 +01:00
memrange.h coreboot memrange: Two changes for zero size or empty memrange 2015-03-04 19:55:19 +01:00
option.h option: Add arch-agnostic get_option() 2014-03-04 15:23:10 +01:00
program_loading.h program loading: unify on struct prog 2015-04-03 14:53:11 +02:00
ramstage_cache.h ramstage_cache: allow ramstage usage add valid helper 2014-05-10 06:31:45 +02:00
reg_script.h Add table driven way to add platform specific reg_script routines 2015-04-04 12:40:29 +02:00
reset.h vboot2: implement select_firmware for pre-romstage verification 2015-01-27 01:43:01 +01:00
rmodule-defs.h rmodules: use rmodtool to create rmodules 2014-03-20 23:55:55 +01:00
rmodule.h rmodule: use struct prog while loading rmodules 2015-04-03 14:53:35 +02:00
romstage_handoff.h Add predefined __ROMSTAGE__ and __RAMSTAGE__ macros 2015-04-06 19:15:37 +02:00
rtc.h drivers/pc80/mc146818rtc: Assume we always have ALTCENTURY 2014-12-30 22:10:41 +01:00
rules.h build system: rename __BOOT_BLOCK__ and __VER_STAGE__ 2015-04-04 20:07:18 +02:00
sdram_mode.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
smbios.h smbios: add a family id in smbios type1 family 2015-04-02 13:26:05 +02:00
spd.h smbios: add funtion for smbios type17 2015-03-27 09:55:21 +01:00
spd_cache.h gizmosphere/gizmo: Move support of SPD data in CBFS 2014-07-05 11:41:52 +02:00
spd_ddr2.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
spi-generic.h spi: support controllers with limited transfer size capabilities 2015-04-13 13:01:33 +02:00
spi_flash.h Move container_of() macro to stddef.h 2015-01-14 21:23:29 +01:00
stddef.h stddef: Add KHz, MHz and GHz constants 2015-04-04 15:01:51 +02:00
stdlib.h stdlib: Add IS_ALIGNED macro 2015-03-20 10:01:22 +01:00
string.h Replace includes of build.h with version.h 2014-11-20 07:28:37 +01:00
swab.h include: Fix spelling 2013-07-11 22:36:19 +02:00
symbols.h armv7: Add fine-grained page table support 2015-04-08 08:48:06 +02:00
thread.h Possible thread stack implementation. 2014-08-07 23:55:15 +02:00
timer.h timer: remove rela_time type 2015-03-26 08:53:53 +01:00
timestamp.h timestamps: You can never have enough of them! 2015-04-14 09:03:40 +02:00
tpm.h tpm: Clean up I2C TPM driver 2014-09-10 19:37:49 +02:00
trace.h GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
types.h include/types.h: Provide BIT() macro 2015-02-06 19:25:57 +01:00
vbe.h intel/gma: Clarify code and use dedicated init for Google Peppy 2014-08-25 22:36:03 +02:00
version.h build.h: remove variable for the builduser, -hostname and -domain 2015-03-09 17:53:16 +01:00
watchdog.h watchdog.h: Fix compile time error on disabling watchdog handling 2013-03-12 12:06:43 +01:00