X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fserial%2Faltera_jtag_uart.c;h=9a81402ffb256e9eb505143373a49f47cc22e216;hb=0798082442536df2514ff272e8e53499a7dbc92e;hp=8cb4606d37bbad34cd32a9e4c15a0e8c40d57e73;hpb=8c085757498281aed461979518401179d3e9942f;p=u-boot diff --git a/drivers/serial/altera_jtag_uart.c b/drivers/serial/altera_jtag_uart.c index 8cb4606d37..9a81402ffb 100644 --- a/drivers/serial/altera_jtag_uart.c +++ b/drivers/serial/altera_jtag_uart.c @@ -2,32 +2,34 @@ * (C) Copyright 2004, Psyent Corporation * Scott McNutt * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include -#include #include #include +typedef volatile struct { + unsigned data; /* Data register */ + unsigned control; /* Control register */ +} nios_jtag_t; + +/* data register */ +#define NIOS_JTAG_RVALID (1<<15) /* Read valid */ +#define NIOS_JTAG_DATA(d) ((d)&0x0ff) /* Read data */ +#define NIOS_JTAG_RAVAIL(d) ((d)>>16) /* Read space avail */ + +/* control register */ +#define NIOS_JTAG_RE (1 << 0) /* read intr enable */ +#define NIOS_JTAG_WE (1 << 1) /* write intr enable */ +#define NIOS_JTAG_RI (1 << 8) /* read intr pending */ +#define NIOS_JTAG_WI (1 << 9) /* write intr pending*/ +#define NIOS_JTAG_AC (1 << 10) /* activity indicator */ +#define NIOS_JTAG_RRDY (1 << 12) /* read available */ +#define NIOS_JTAG_WSPACE(d) ((d)>>16) /* Write space avail */ + DECLARE_GLOBAL_DATA_PTR; /*------------------------------------------------------------------ @@ -59,12 +61,6 @@ static void altera_jtag_serial_putc(char c) writel ((unsigned char)c, &jtag->data); } -static void altera_jtag_serial_puts(const char *s) -{ - while (*s != 0) - serial_putc (*s++); -} - static int altera_jtag_serial_tstc(void) { return ( readl (&jtag->control) & NIOS_JTAG_RRDY); @@ -85,14 +81,13 @@ static int altera_jtag_serial_getc(void) return (c); } -#ifdef CONFIG_SERIAL_MULTI static struct serial_device altera_jtag_serial_drv = { .name = "altera_jtag_uart", .start = altera_jtag_serial_init, .stop = NULL, .setbrg = altera_jtag_serial_setbrg, .putc = altera_jtag_serial_putc, - .puts = altera_jtag_serial_puts, + .puts = default_serial_puts, .getc = altera_jtag_serial_getc, .tstc = altera_jtag_serial_tstc, }; @@ -106,34 +101,3 @@ __weak struct serial_device *default_serial_console(void) { return &altera_jtag_serial_drv; } -#else -int serial_init(void) -{ - return altera_jtag_serial_init(); -} - -void serial_setbrg(void) -{ - altera_jtag_serial_setbrg(); -} - -void serial_putc(const char c) -{ - altera_jtag_serial_putc(c); -} - -void serial_puts(const char *s) -{ - altera_jtag_serial_puts(s); -} - -int serial_getc(void) -{ - return altera_jtag_serial_getc(); -} - -int serial_tstc(void) -{ - return altera_jtag_serial_tstc(); -} -#endif