console: Use single driver entry for UARTs
UARTs now have unified prototypes and can use a single entry in the list of drivers for ramstage. Change-Id: I315daaf9a83cfa60f1a270146c729907a1d6d45b Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5308 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
#include <console/uart.h>
|
||||
#include <arch/io.h>
|
||||
|
||||
#include <console/console.h>
|
||||
#include <cpu/allwinner/a10/uart.h>
|
||||
|
||||
static void *get_console_uart_base_addr(void)
|
||||
@@ -44,7 +43,7 @@ unsigned int uart_platform_refclk(void)
|
||||
return 24000000;
|
||||
}
|
||||
|
||||
static void a10_uart_init_dev(void)
|
||||
void uart_init(void)
|
||||
{
|
||||
void *uart_base = get_console_uart_base_addr();
|
||||
|
||||
@@ -54,46 +53,24 @@ static void a10_uart_init_dev(void)
|
||||
a10_uart_enable_fifos(uart_base);
|
||||
}
|
||||
|
||||
static unsigned char a10_uart_rx_byte(void)
|
||||
unsigned char uart_rx_byte(void)
|
||||
{
|
||||
return a10_uart_rx_blocking(get_console_uart_base_addr());
|
||||
}
|
||||
|
||||
static void a10_uart_tx_byte(unsigned char data)
|
||||
void uart_tx_byte(unsigned char data)
|
||||
{
|
||||
a10_uart_tx_blocking(get_console_uart_base_addr(), data);
|
||||
}
|
||||
|
||||
#if !defined(__PRE_RAM__)
|
||||
uint32_t uartmem_getbaseaddr(void)
|
||||
{
|
||||
return (uint32_t) get_console_uart_base_addr();
|
||||
}
|
||||
|
||||
#if !defined(__PRE_RAM__)
|
||||
static const struct console_driver a10_uart_console __console = {
|
||||
.init = a10_uart_init_dev,
|
||||
.tx_byte = a10_uart_tx_byte,
|
||||
.rx_byte = a10_uart_rx_byte,
|
||||
};
|
||||
#else
|
||||
|
||||
void uart_init(void)
|
||||
{
|
||||
a10_uart_init_dev();
|
||||
}
|
||||
|
||||
unsigned char uart_rx_byte(void)
|
||||
{
|
||||
return a10_uart_rx_byte();
|
||||
}
|
||||
|
||||
void uart_tx_byte(unsigned char data)
|
||||
{
|
||||
a10_uart_tx_byte(data);
|
||||
}
|
||||
#endif
|
||||
|
||||
void uart_tx_flush(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -17,7 +17,6 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <console/console.h> /* for __console definition */
|
||||
#include <console/uart.h>
|
||||
#include <arch/io.h>
|
||||
#include "uart.h"
|
||||
@@ -169,21 +168,11 @@ static void exynos5_uart_tx_flush(void)
|
||||
}
|
||||
|
||||
#if !defined(__PRE_RAM__)
|
||||
|
||||
static const struct console_driver exynos5_uart_console __console = {
|
||||
.init = exynos5_init_dev,
|
||||
.tx_byte = exynos5_uart_tx_byte,
|
||||
.tx_flush = exynos5_uart_tx_flush,
|
||||
.rx_byte = exynos5_uart_rx_byte,
|
||||
// .tst_byte = exynos5_uart_tst_byte,
|
||||
};
|
||||
|
||||
uint32_t uartmem_getbaseaddr(void)
|
||||
{
|
||||
return base_port;
|
||||
}
|
||||
|
||||
#else
|
||||
#endif
|
||||
|
||||
void uart_init(void)
|
||||
{
|
||||
@@ -204,5 +193,3 @@ void uart_tx_flush(void)
|
||||
{
|
||||
exynos5_uart_tx_flush();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -17,7 +17,6 @@
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <console/console.h> /* for __console definition */
|
||||
#include <console/uart.h>
|
||||
#include <arch/io.h>
|
||||
#include "uart.h"
|
||||
@@ -159,21 +158,11 @@ static void exynos5_uart_tx_byte(unsigned char data)
|
||||
}
|
||||
|
||||
#if !defined(__PRE_RAM__)
|
||||
|
||||
static const struct console_driver exynos5_uart_console __console = {
|
||||
.init = exynos5_init_dev,
|
||||
.tx_byte = exynos5_uart_tx_byte,
|
||||
// .tx_flush = exynos5_uart_tx_flush,
|
||||
.rx_byte = exynos5_uart_rx_byte,
|
||||
// .tst_byte = exynos5_uart_tst_byte,
|
||||
};
|
||||
|
||||
uint32_t uartmem_getbaseaddr(void)
|
||||
{
|
||||
return base_port;
|
||||
}
|
||||
|
||||
#else
|
||||
#endif
|
||||
|
||||
void uart_init(void)
|
||||
{
|
||||
@@ -193,5 +182,3 @@ void uart_tx_byte(unsigned char data)
|
||||
void uart_tx_flush(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -20,9 +20,6 @@
|
||||
#include <types.h>
|
||||
#include <console/uart.h>
|
||||
#include <arch/io.h>
|
||||
|
||||
#include <console/console.h> /* for __console definition */
|
||||
|
||||
#include <cpu/ti/am335x/uart.h>
|
||||
|
||||
#define EFR_ENHANCED_EN (1 << 4)
|
||||
@@ -162,28 +159,18 @@ unsigned int uart_platform_refclk(void)
|
||||
return 48000000;
|
||||
}
|
||||
|
||||
static void am335x_uart_init_dev(void)
|
||||
{
|
||||
uint16_t div = (uint16_t) uart_baudrate_divisor(
|
||||
default_baudrate(), uart_platform_refclk(), 16);
|
||||
am335x_uart_init(div);
|
||||
}
|
||||
|
||||
#if !defined(__PRE_RAM__)
|
||||
uint32_t uartmem_getbaseaddr(void)
|
||||
{
|
||||
return CONFIG_CONSOLE_SERIAL_UART_ADDRESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct console_driver exynos5_uart_console __console = {
|
||||
.init = am335x_uart_init_dev,
|
||||
.tx_byte = am335x_uart_tx_byte,
|
||||
.rx_byte = am335x_uart_rx_byte,
|
||||
};
|
||||
#else
|
||||
void uart_init(void)
|
||||
{
|
||||
am335x_uart_init_dev();
|
||||
uint16_t div = (uint16_t) uart_baudrate_divisor(
|
||||
default_baudrate(), uart_platform_refclk(), 16);
|
||||
am335x_uart_init(div);
|
||||
}
|
||||
|
||||
unsigned char uart_rx_byte(void)
|
||||
@@ -196,6 +183,6 @@ void uart_tx_byte(unsigned char data)
|
||||
am335x_uart_tx_byte(data);
|
||||
}
|
||||
|
||||
void uart_tx_flush(void) {
|
||||
void uart_tx_flush(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user