coreboot/include/uart8250.h
Uwe Hermann ff7df4f7ad Add cross compilation support and simplify the far to complex serial
code (This goes hand in hand, as some parts of serial were hardcoded
to one architecture until now)

* include/uart8250.h: add TTYSx defines that are used in
  multiple places. formerly part of arch/x86/serial.c.
  Drop init_uart8250 (unused)
* lib/uart8250.c: drop arch/x86/config.h usage
  Drop init_uart8250 (unused)
* arch/powerpc/Kconfig, arch/x86/Kconfig: add CONFIG_ARCH to
  contain the directory name under LinuxBIOSv3/arch/
* arch/x86/console.c: drop some dead code. Drop hardcoded config.h values.
  use generic uart8250.h header
* arch/x86/cachemain.c: Drop hardcoded config.h values. Still use hardcoded
  ROM size for now. (To be changed later)
* arch/x86/config.h: dropped, no longer needed
* arch/x86/serial.c: factor out generically used defines to uart8250.h
* Makefile: use mainboard architecture instead of target architecture to choose
  include path.
  Read .xcompile if available (configure replacement).
  Create build.h with compile time and version.
* util/xcompile/xcompile: new file. Search for supported cross compilers
  linkers, assemblers (and potentially supported compiler flags etc)
  This is a very slick configure replacement.
* util/dtc/Makefile: fix Makefile for cross compilation

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@190 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-03-05 21:14:21 +00:00

48 lines
1.2 KiB
C

#ifndef UART8250_H
#define UART8250_H
/* Base Address */
#if defined(CONFIG_CONSOLE_SERIAL_COM1)
#define TTYSx_BASE 0x3f8
#elif defined(CONFIG_CONSOLE_SERIAL_COM2)
#define TTYSx_BASE 0x2f8
#else
#define TTYSx_BASE 0x3f8
#warning no serial port set
#endif
#if defined(CONFIG_CONSOLE_SERIAL_115200)
#define TTYSx_BAUD 115200
#elif defined(CONFIG_CONSOLE_SERIAL_57600)
#define TTYSx_BAUD 57600
#elif defined(CONFIG_CONSOLE_SERIAL_38400)
#define TTYSx_BAUD 38400
#elif defined(CONFIG_CONSOLE_SERIAL_19200)
#define TTYSx_BAUD 19200
#elif defined(CONFIG_CONSOLE_SERIAL_9600)
#define TTYSx_BAUD 9600
#else // default
#define TTYSx_BAUD 115200
#warning no serial speed set
#endif
#if ((115200%TTYSx_BAUD) != 0)
#error Bad ttys0 baud rate
#endif
#define TTYSx_DIV (115200/TTYSx_BAUD)
/* Line Control Settings */
#ifndef TTYSx_LCS
/* Set 8bit, 1 stop bit, no parity */
#define TTYSx_LCS 0x3
#endif
#define UART_LCS TTYSx_LCS
unsigned char uart8250_rx_byte(unsigned base_port);
int uart8250_can_rx_byte(unsigned base_port);
void uart8250_tx_byte(unsigned base_port, unsigned char data);
void uart8250_init(unsigned base_port, unsigned divisor, unsigned lcs);
#endif /* UART8250_H */