
Dear Florian Fainelli,
In message 200809241230.21624.florian.fainelli@openpattern.org you wrote:
(please CC me as I am not on the list yet).
From: Florian Fainelli florian.fainelli@openpattern.org Date: Wed, 24 Sep 2008 10:46:10 +0200 Subject: [PATCH] serial: add support for the OMRPv2 simple wishbone UART
This patch adds support for the wishbone UART we are using on the OpenPattern Modular Routing Platform v2. wb_uart HDL files can be found here : https://dev.openpattern.org/browser/trunk/fpga/aemb/rtl/wb_uart
It seems ther eis no board in the mainline U-Boot code which uses this driver.
Do you plan to submit any board support that will actually use this driver?
diff --git a/drivers/serial/serial_wbuart.c b/drivers/serial/serial_wbuart.c new file mode 100644 index 0000000..a13ef2a
...
+#define IO_WORD(offset) (*(volatile unsigned long *)(offset)) +#define IO_SERIAL(offset) IO_WORD(CONFIG_SERIAL_BASE + (offset))
+#define IO_SERIAL_RXTX IO_SERIAL(WUB_RXTX_OFFSET) +#define IO_SERIAL_UCR IO_SERIAL(WUB_UCR_OFFSET)
Accesses to device registers through volatile pointers are depre- cated. Please use the respective accessor macros / functions instead.
+void serial_setbrg(void) +{
- /* FIXME: what's this for? */
+}
That's to set the baud rate. This function seems to be missing in your driver?
+void serial_putc(const char c) +{
- if (c == '\n') serial_putc('\r');
- while(IO_SERIAL_UCR & WUB_BUSY);
Please write like this:
while(IO_SERIAL_UCR & WUB_BUSY) ;
+void serial_puts(const char * s) +{
- while (*s) {
serial_putc(*s++);
- }
No curly braces for a single line statement, please.
- while(!(IO_SERIAL_UCR & WUB_DR));
See above.
--- /dev/null +++ b/include/asm-microblaze/serial_wbuart.h @@ -0,0 +1,25 @@ +/*
- (C) Copyright 2008 OpenPattern SARL
- Florian Fainelli florian.fainelli@openpattern.org
- 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
- */
+#include <asm/arch/wbuart_l.h>
This makes no sense to me - a header file which contains just a single line include for another header file?
Best regards,
Wolfgang Denk