u-boot/include
Simon Glass 2f964aa7b1 serial: Support an early UART for debugging
This came up in a discussion on the mailing list here:

https://patchwork.ozlabs.org/patch/384613/

My concerns at the time were:
- it doesn't need to be written in assembler
- it doesn't need to be ARM-specific

This patch provides a possible alternative. It works by allowing any serial
driver to export one init function and provide a putc() function. These
can be used to output debug data before the real serial driver is available.

This implementation does not depend on driver model, and it is possible for
it to operate without a stack on some architectures (e.g. PowerPC, ARM). It
provides the same features as the ARM-specific debug.S but with more UART
and architecture support.

Signed-off-by: Simon Glass <sjg@chromium.org>
2015-02-19 06:20:25 -07:00
..
andestech
asm-generic avr32: add generic board support 2015-02-17 22:54:38 +01:00
bedbug
configs dm: mx6: Adjust mx6sxsabresd to use Kconfig for DM_THERMAL 2015-02-19 06:19:18 -07:00
cramfs include: delete unused header files 2014-01-24 16:59:07 -05:00
dm dm: introduce dev_get_addr interface 2015-02-12 15:17:29 -07:00
dt-bindings dt-bindings: Add Intel Quark MRC bindings 2015-02-06 12:07:44 -07:00
faraday include: delete unused header files 2014-01-24 16:59:07 -05:00
jffs2
linux Add linux/compiler-gcc5.h to fix builds with gcc5 2015-02-11 19:43:45 -05:00
lzma
mtd kbuild: force to define __UBOOT__ in all the C sources 2014-09-16 12:23:56 -04:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
power pmic:pfuz100 add switch mode and more registers 2015-02-10 12:48:49 +01:00
samsung samsung: board: enable support of multiple board types 2014-09-05 13:58:50 +09:00
synopsys
u-boot rsa: Use checksum algorithms from struct hash_algo 2015-01-29 17:09:59 -07:00
usb Merge branch 'master' of git://git.denx.de/u-boot-usb 2014-12-11 18:40:49 -05:00
zfs
.gitignore kconfig: switch to Kconfig 2014-07-30 08:48:03 -04:00
_exports.h Export redesign 2015-01-29 17:09:57 -07:00
aboot.h implement the Android sparse image format 2014-09-16 12:23:57 -04:00
ACEX1K.h
addr_map.h
aes.h aes: make apply_cbc_chain_data non-static 2014-04-18 16:14:17 -04:00
ahci.h ahci: introduce ahci_reset() 2015-01-05 15:13:46 -05:00
ali512x.h
altera.h arm: socfpga: fpga: Add SoCFPGA FPGA programming interface 2014-10-06 17:46:50 +02:00
ambapp.h
android_image.h image: add support for Android's boot image format 2014-05-08 10:38:29 +02:00
ansi.h
api_public.h
armcoremodule.h
asm-offsets.h
ata.h
atmel_hlcdc.h
atmel_lcd.h lcd: move platform-specific structs to their own headers 2015-02-10 13:24:10 +01:00
atmel_lcdc.h
atmel_mci.h MMC: atmel_mci: add configuration register definition 2014-08-01 20:01:22 +03:00
autoboot.h main: Make the execution path a little clearer in main.c 2014-05-29 17:52:03 -04:00
axp152.h sunxi: Add axp152 pmic support 2014-07-18 19:42:16 +01:00
axp209.h sunxi: gpio: Add support for gpio pins on the AXP209 pmic 2015-01-14 14:56:38 +01:00
axp221.h sunxi: rsb: Move rsb_set_device_mode() call to rsb_init() 2015-02-02 13:55:14 +01:00
bcd.h
bios_emul.h bios_emulator: Add vesa support and allow ROMs to be passed in as data 2014-11-25 07:11:17 -07:00
bitfield.h arch: bcm281xx: Initial commit of bcm281xx architecture code 2014-02-22 19:30:24 +01:00
bmp_layout.h
bootcount.h
bootm.h bootm: Export bootm_decomp_image() 2015-01-14 11:35:43 -05:00
bootretry.h Rename bootretry functions and remove #ifdefs 2014-05-29 17:49:00 -04:00
bootstage.h bootstage: Fix typos in the comment 2015-02-06 12:07:46 -07:00
bouncebuf.h
bus_vcxk.h
bzlib.h
cbfs.h
circbuf.h
cli.h cli: Export cli_simple_process_macros for use outside of cli_simple 2014-08-21 12:01:13 -04:00
cli_hush.h cli: hush: Adjust 'run' command to run each line of the env var 2014-10-27 11:03:33 -04:00
clk.h common: Add new clk command 2014-02-04 16:32:20 +01:00
cmd_spl.h
command.h cli: hush: Adjust 'run' command to run each line of the env var 2014-10-27 11:03:33 -04:00
common.h common/board_f: factor out reserve_stacks 2015-02-17 22:52:42 +01:00
common_timing_params.h driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
commproc.h mpc8xx: remove ESTEEM192E board support 2015-01-05 12:08:53 -05:00
compiler.h Provide option to avoid defining a custom version of uintptr_t. 2014-10-27 11:04:01 -04:00
config_cmd_all.h fs/fdos: Remove 2014-02-21 08:42:47 -05:00
config_cmd_default.h
config_defaults.h dm: Drop unused driver model config_defaults 2015-02-12 15:17:28 -07:00
config_distro_bootcmd.h config_distro_bootcmd.h: Enable CONFIG_CMD_PART 2015-02-16 12:41:41 -05:00
config_distro_defaults.h Correct single misspelling of "consitant" in source tree. 2014-10-27 17:54:11 -04:00
config_fallbacks.h dm: i2c: Add a uclass for I2C 2014-12-11 13:18:42 -07:00
config_phylib_all_drivers.h
config_uncmd_spl.h
cortina.h net/phy: Add support for CS4315/CS4340 PHY 2014-12-05 08:06:11 -08:00
cpsw.h drivers: net: cpsw: add support for using second port as ethernet 2014-07-25 15:21:05 -04:00
crc.h
cros_ec.h dm: cros_ec: Remove use of fdtdec GPIO support 2015-01-29 17:09:51 -07:00
cros_ec_message.h cros_ec: Sync up with latest Chrome OS EC version 2014-03-17 20:05:47 -06:00
dataflash.h
ddr_spd.h driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
debug_uart.h serial: Support an early UART for debugging 2015-02-19 06:20:25 -07:00
dfu.h usb, g_dnl: generalize DFU detach functions 2014-12-18 12:26:05 +01:00
dialog_pmic.h
div64.h
dm-demo.h dm: demo: Add a simple GPIO demonstration 2015-01-29 17:09:51 -07:00
dm.h include/dm.h: fix inclusion guard 2014-06-21 10:06:58 -06:00
dm9000.h
dp83848.h
ds1722.h
ds4510.h
dtt.h
dwmmc.h mmc: dw_mmc: Fix cache alignment issue 2014-10-06 17:34:40 +02:00
e500.h powerpc/85xx: Enhance get_sys_info() to check clocking mode 2014-04-22 17:58:52 -07:00
ec_commands.h cros_ec: Sync up with latest Chrome OS EC version 2014-03-17 20:05:47 -06:00
edid.h edid: Add struct and defines for cea681 extension blocks 2015-01-14 14:56:38 +01:00
elf.h elf: add prototype for valid_elf_image 2014-10-25 15:27:36 -04:00
env_attr.h
env_callback.h env_callback.h: spl: mark callback as maybe_unused 2014-07-18 17:53:23 -04:00
env_default.h
env_flags.h
environment.h env_mmc: support env partition setup in runtime 2014-08-01 20:12:15 +03:00
errno.h lib: errno: introduce errno_str(): returns errno related message 2014-12-11 13:18:41 -07:00
exports.h Export redesign 2015-01-29 17:09:57 -07:00
ext4fs.h fs: API changes enabling extra parameter to return size of type loff_t 2014-11-23 06:49:04 -05:00
ext_common.h
exynos_lcd.h lcd: move platform-specific structs to their own headers 2015-02-10 13:24:10 +01:00
fat.h fs: API changes enabling extra parameter to return size of type loff_t 2014-11-23 06:49:04 -05:00
fb_mmc.h usb/gadget: fastboot: add eMMC support for flash command 2014-09-24 18:30:27 -04:00
fdt.h
fdt_simplefb.h lcd: dt: extract simplefb support 2015-02-10 13:31:26 +01:00
fdt_support.h cmd_fdt: Actually fix fdt command in sandbox 2015-02-17 20:19:16 -07:00
fdtdec.h fdtdec: Add compatible id and string for Intel Quark MRC 2015-02-06 12:07:43 -07:00
fis.h
flash.h mtd: Handle 29LV800BT 2014-11-19 08:48:41 +01:00
fm_eth.h net/fman: update 10GEC to fit new SoC 2014-12-05 08:06:15 -08:00
fpga.h fpga: Export fpga_get_desc for SPL 2015-01-21 10:25:02 +01:00
fs.h fs: Add command to retrieve the filesystem type 2015-01-29 13:36:54 -05:00
fsl_dcu_fb.h video: dcu: Add DCU driver support 2014-09-08 10:30:35 -07:00
fsl_ddr.h arm/ls1021a: Add workaround for DDR erratum A008378 2015-01-23 22:29:13 -06:00
fsl_ddr_dimm_params.h driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
fsl_ddr_sdram.h fsl/sleep: updated the deep sleep framework for QorIQ platforms 2014-12-11 09:41:18 -08:00
fsl_ddrc_version.h driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
fsl_diu_fb.h
fsl_esdhc.h esdhc: Add CONFIG_SYS_FSL_ESDHC_LE and CONFIG_SYS_FSL_ESDHC_BE macros 2014-09-08 10:30:33 -07:00
fsl_ifc.h driver/nand: Add support of 16K SRAM for IFC 2.0 2014-07-22 16:25:54 -07:00
fsl_immap.h driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
fsl_mc.h armv8/fsl-lsch3: Add support to load and start MC Firmware 2014-07-03 08:40:58 +02:00
fsl_mdio.h net: Merge asm/fsl_enet.h into fsl_mdio.h 2014-09-08 10:30:33 -07:00
fsl_pmic.h
fsl_sec.h crypto/fsl: Add command for encapsulating/decapsulating blobs 2014-10-16 14:20:40 -07:00
fsl_usb.h drivers: usb: fsl: Check USB Erratum A007792 applicability 2014-12-11 09:41:11 -08:00
fuse.h
g_dnl.h usb, g_dnl: generalize DFU detach functions 2014-12-18 12:26:05 +01:00
gdsys_fpga.h mpc83xx: Add gdsys hrcon board 2014-11-19 08:48:42 +01:00
gt64120.h
hash.h Use hash.c in mkimage 2015-01-29 17:09:59 -07:00
hw_sha.h
hwconfig.h
i2c.h dm: i2c: Make API accessible even without CONFIG_DM 2015-02-12 10:35:33 -07:00
i2c_eeprom.h dm: Add a simple EEPROM driver 2014-12-11 13:18:43 -07:00
i2s.h
i8042.h stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
ide.h ide: add missing prototype 2014-10-25 15:27:37 -04:00
image.h Merge branch 'master' of git://git.denx.de/u-boot-dm 2015-01-30 09:24:42 -05:00
imx_thermal.h DM: thermal: Add imx thermal DM driver 2014-11-21 15:30:01 +01:00
initcall.h initcall: Improve debugging support 2014-05-28 10:58:19 +09:00
input.h
inttypes.h Add some standard headers external code might need 2014-10-27 11:04:01 -04:00
iomux.h
ioports.h
iotrace.h Add an I/O tracing feature 2014-06-20 11:54:29 -06:00
ipu_pixfmt.h
key_matrix.h
keyboard.h
kgdb.h
lattice.h
lcd.h lcd: dt: extract simplefb support 2015-02-10 13:31:26 +01:00
lcd_console.h lcd: refactor lcd console stuff into its own file 2015-01-10 17:53:59 +01:00
lcdvideo.h
ld9040.h
led-display.h
libata.h
libfdt.h fdt: Add a subnodes iterator macro 2014-10-22 16:56:41 -06:00
libfdt_env.h
libtizen.h
linker_lists.h linker_lists: fix misspellings 2015-01-29 13:38:40 -05:00
linux_logo.h
lmb.h
logbuff.h
lxt971a.h
lynxkdi.h
malloc.h dm: Split the simple malloc() implementation into its own file 2014-11-21 08:12:28 +01:00
mb862xx.h
mc9sdz60.h
mc13783.h
mc13892.h
mc34704.h
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
menu.h
micrel.h
mii_phy.h
miiphy.h
mipi_display.h include: Add header file with MIPI DSI constants from linux 3.18 2015-01-22 12:34:56 +01:00
mk48t59.h
mmc.h x86: mmc: Move common FSP functions into a common file 2015-02-06 12:07:36 -07:00
mpc5xx.h
mpc5xxx.h
mpc5xxx_sdma.h
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h
mpc85xx.h
mpc86xx.h
mpc106.h
mpc823_lcd.h lcd: move platform-specific structs to their own headers 2015-02-10 13:24:10 +01:00
mpc8260.h powerpc: ep8248: remove orphan board 2014-05-30 14:03:24 -04:00
mpc8260_irq.h
msc01.h
mtd_node.h
mv88e6352.h
mvebu_mmc.h MVEBUMMC : Speed up access time 2015-01-06 10:10:04 +02:00
mvmfp.h
nand.h spl, nand, atmel_nand: add erase one block function 2014-11-17 08:47:17 -05:00
net.h net: Use new checksum functions 2015-02-12 10:35:33 -07:00
netdev.h net: gem: Use phys_addr_t instead of int for addresses 2015-01-21 10:30:21 +01:00
nomadik.h
ns16550.h dm: ns16550: Use an address instead of a pointer for the uart base 2014-10-23 19:29:07 -06:00
ns87308.h
onenand_uboot.h
os.h sandbox: Prepare API change for files greater than 2GB 2014-11-23 06:49:04 -05:00
palmas.h ARM: OMAP5: Power: add LDO2 support for Palmas driver 2014-05-13 19:43:00 -04:00
parade.h exynos5420: fix compilation without parade video 2014-12-22 20:38:27 +09:00
part.h fastboot: handle flash write to GPT partitions 2014-12-18 12:26:06 +01:00
part_efi.h
pc_keyb.h
pca953x.h
pca9564.h
pca9698.h
pci.h pci: Add a function to find a device by class 2015-02-05 22:16:42 -07:00
pci_gt64120.h
pci_ids.h x86: pci: Add pci ids for Quark SoC 2015-02-06 12:07:45 -07:00
pci_msc01.h
pci_rom.h x86: video: Allow video ROM execution to fall back to the other method 2015-02-05 22:16:43 -07:00
pcmcia.h mpc8260: remove atc board support 2015-01-05 12:08:55 -05:00
phy.h phylib: add support for aquantia PHYs 2015-01-16 09:32:11 -08:00
physmem.h
post.h qe: move immap_qe.h from arch directory into common directory 2014-07-22 16:25:54 -07:00
ppc_asm.tmpl powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
ppc_defs.h
ps2mult.h
pwm.h
pxa_lcd.h lcd: move platform-specific structs to their own headers 2015-02-10 13:24:10 +01:00
radeon.h
reiserfs.h
rtc.h x86: rtc: mc146818: Add helpers to read/write CMOS RAM 2015-01-24 06:13:44 -07:00
s6e63d6.h
s_record.h
SA-1100.h
sandboxblockdev.h
sandboxfs.h fs: API changes enabling extra parameter to return size of type loff_t 2014-11-23 06:49:04 -05:00
sata.h cmd_sata: implement sata stop command 2014-11-24 12:00:00 +01:00
scf0403_lcd.h
scsi.h
sdhci.h dm: mmc: Remove use of fdtdec GPIO support 2015-01-29 17:09:52 -07:00
search.h Add option -r to env import to allow import of text files with CRLF as line endings 2014-07-22 07:44:26 -04:00
sed156x.h
sed13806.h
serial.h serial: add prototypes for init functions 2014-11-04 15:01:11 -05:00
sh_pfc.h
sh_tmu.h sh: move CONFIG_{SH2, SH2A, SH3, SH4} to Kconfig 2014-11-13 08:47:58 +09:00
sja1000.h
slre.h
sm501.h
smsc_lpc47m.h x86: Add a simple superio driver for SMSC LPC47M 2014-12-13 22:32:05 -07:00
sound.h sound: Move Samsung-specific code into its own file 2014-03-17 20:05:49 -06:00
sparse_defs.h implement the Android sparse image format 2014-09-16 12:23:57 -04:00
sparse_format.h add header for Android sparse image format 2014-08-21 12:01:29 -04:00
spartan2.h fpga: xilinx: spartan2: Setup NULL fpga_op without driver 2015-01-21 10:25:02 +01:00
spartan3.h fpga: xilinx: spartan3: Setup NULL fpga_op without driver 2015-01-21 10:25:02 +01:00
spd.h
spd_sdram.h
spi.h dm: spi: Move slave details to child platdata 2015-01-29 17:09:56 -07:00
spi_flash.h dm: sf: Add a uclass for SPI flash 2014-10-22 10:36:50 -06:00
spl.h spl, nand: add option to boot raw u-boot.bin image only 2014-11-17 08:47:17 -05:00
splash.h Merge branch 'master' of git://git.denx.de/u-boot-video 2015-02-10 10:41:54 -05:00
status_led.h mpc8xx: remove IVMS8, IVML24 board support 2015-01-05 12:08:52 -05:00
stdio_dev.h stdio: Add force parameter to stdio_deregister 2014-10-06 14:50:43 +02:00
stdlib.h Add some standard headers external code might need 2014-10-27 11:04:01 -04:00
stratixII.h
sx151x.h
sym53c8xx.h
systemace.h microblaze: remove #ident directive to fix build error 2014-09-10 10:26:58 +02:00
tca642x.h
tegra-kbc.h
thermal.h DM: thermal: Add imx thermal DM driver 2014-11-21 15:30:01 +01:00
thor.h USB: gadget: added a saner gadget downloader registration API 2014-05-05 08:21:47 +02:00
timestamp.h
tis.h
tmu.h
tpm.h
tps6586x.h dm: i2c: tegra: Convert to driver model 2014-12-11 13:18:44 -07:00
trace.h common/board_f.c: fix compile error when tracing disabled 2015-01-12 09:38:46 -05:00
tsec.h net: tsec: Remove tx snooping support from LS1 2014-09-08 10:30:35 -07:00
tsi108.h
tsi148.h
twl4030.h twl4030: device-index-specific MMC power initializations, common ramp-up delay 2014-12-04 11:04:40 -05:00
twl6030.h
tws.h
ubi_uboot.h ubi: enable error reporting in initialization 2014-11-19 07:54:40 +01:00
universe.h
usb.h musb-new: Add interrupt queue support 2015-01-18 12:31:36 +01:00
usb_cdc_acm.h
usb_defs.h
usb_ether.h usb: eth: add ASIX AX88179 DRIVER 2014-12-31 19:10:13 +01:00
usb_mass_storage.h ums: move IO support code to common location 2014-05-08 10:38:29 +02:00
usbdescriptors.h
usbdevice.h
usbroothubdes.h usb: create common header virtual root hub descriptors 2014-03-10 18:53:36 +01:00
uuid.h lib: uuid: add functions to generate UUID version 4 2014-04-02 16:35:53 -04:00
vbe.h bios_emulator: Add some VESA interface debugging 2015-01-23 17:24:16 -07:00
version.h
video.h stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
video_easylogo.h
video_fb.h pci: Add general support for execution of video ROMs 2014-11-25 07:11:14 -07:00
video_font.h
video_font_4x6.h
video_font_data.h
video_logo.h
virtex2.h fpga: xilinx: virtex2: Fix macro indentation 2015-01-21 10:25:03 +01:00
vsc7385.h
vsc9953.h net/vsc9953: Add driver for Vitesse VSC9953 L2 Switch IP 2015-01-16 09:32:38 -08:00
vsprintf.h
vxworks.h
w83c553f.h
watchdog.h support blackfin board initialization in generic board_f 2014-08-07 15:15:19 +08:00
xilinx.h fpga: Added support to load bit stream from SD/MMC 2014-05-20 15:23:46 +02:00
xyzModem.h
zfs_common.h
zynqpl.h fpga: zynqpl: Add support for zc7035 2015-01-21 10:25:53 +01:00