diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/cpu/jtag-console.c | 37 | ||||
-rw-r--r-- | arch/blackfin/cpu/serial.c | 6 | ||||
-rw-r--r-- | arch/blackfin/include/asm/config-pre.h | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/board.c | 4 |
4 files changed, 34 insertions, 15 deletions
diff --git a/arch/blackfin/cpu/jtag-console.c b/arch/blackfin/cpu/jtag-console.c index a77358a88ae..7cddb85a7f3 100644 --- a/arch/blackfin/cpu/jtag-console.c +++ b/arch/blackfin/cpu/jtag-console.c @@ -194,12 +194,35 @@ int drv_jtag_console_init(void) } #ifdef CONFIG_UART_CONSOLE_IS_JTAG +#include <serial.h> /* Since the JTAG is always available (at power on), allow it to fake a UART */ -void serial_set_baud(uint32_t baud) {} -void serial_setbrg(void) {} -int serial_init(void) { return 0; } -void serial_putc(const char c) __attribute__((alias("jtag_putc"))); -void serial_puts(const char *s) __attribute__((alias("jtag_puts"))); -int serial_tstc(void) __attribute__((alias("jtag_tstc"))); -int serial_getc(void) __attribute__((alias("jtag_getc"))); +void jtag_serial_setbrg(void) +{ +} + +int jtag_serial_init(void) +{ + return 0; +} + +static struct serial_device serial_jtag_drv = { + .name = "jtag", + .start = jtag_serial_init, + .stop = NULL, + .setbrg = jtag_serial_setbrg, + .putc = jtag_putc, + .puts = jtag_puts, + .tstc = jtag_tstc, + .getc = jtag_getc, +}; + +void bfin_jtag_initialize(void) +{ + serial_register(&serial_jtag_drv); +} + +struct serial_device *default_serial_console(void) +{ + return &serial_jtag_drv; +} #endif diff --git a/arch/blackfin/cpu/serial.c b/arch/blackfin/cpu/serial.c index 6603dc099a2..64340ec67d5 100644 --- a/arch/blackfin/cpu/serial.c +++ b/arch/blackfin/cpu/serial.c @@ -236,8 +236,8 @@ static void uart##n##_loop(int state) \ \ struct serial_device bfin_serial##n##_device = { \ .name = "bfin_uart"#n, \ - .init = uart##n##_init, \ - .uninit = uart##n##_uninit, \ + .start = uart##n##_init, \ + .stop = uart##n##_uninit, \ .setbrg = uart##n##_setbrg, \ .getc = uart##n##_getc, \ .tstc = uart##n##_tstc, \ @@ -272,7 +272,7 @@ __weak struct serial_device *default_serial_console(void) #endif } -void serial_register_bfin_uart(void) +void bfin_serial_initialize(void) { #ifdef UART0_DLL serial_register(&bfin_serial0_device); diff --git a/arch/blackfin/include/asm/config-pre.h b/arch/blackfin/include/asm/config-pre.h index 4ce67d4cd01..be5687ce6f9 100644 --- a/arch/blackfin/include/asm/config-pre.h +++ b/arch/blackfin/include/asm/config-pre.h @@ -10,8 +10,6 @@ #define __ASM_BLACKFIN_CONFIG_PRE_H__ /* Misc helper functions */ -#define XMK_STR(x) #x -#define MK_STR(x) XMK_STR(x) #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) /* Bootmode defines -- your config needs to select this via CONFIG_BFIN_BOOT_MODE. diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index c380d271e7c..e47b606e876 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -209,7 +209,7 @@ static int global_board_data_init(void) gd->bd = bd; bd->bi_r_version = version_string; - bd->bi_cpu = MK_STR(CONFIG_BFIN_CPU); + bd->bi_cpu = __stringify(CONFIG_BFIN_CPU); bd->bi_board_name = BFIN_BOARD_NAME; bd->bi_vco = get_vco(); bd->bi_cclk = get_cclk(); @@ -284,9 +284,7 @@ void board_init_f(ulong bootflag) init_baudrate(); serial_early_puts("Serial init\n"); serial_init(); -#ifdef CONFIG_SERIAL_MULTI serial_initialize(); -#endif serial_early_puts("Console init flash\n"); console_init_f(); serial_early_puts("End of early debugging\n"); |