From: Florian Fainelli <florian@openwrt.org>
To: John Crispin <blogic@openwrt.org>
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
Subject: Re: [RFC 08/11] MIPS: ralink: adds early_printk support
Date: Wed, 23 Jan 2013 20:23:20 +0100 [thread overview]
Message-ID: <510038A8.6020606@openwrt.org> (raw)
In-Reply-To: <1358942755-25371-9-git-send-email-blogic@openwrt.org>
Hey John,
Le 23/01/2013 13:05, John Crispin a écrit :
> Add the code needed to make early printk work.
>
> Signed-off-by: John Crispin <blogic@openwrt.org>
> ---
> arch/mips/ralink/early_printk.c | 43 +++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
> create mode 100644 arch/mips/ralink/early_printk.c
>
> diff --git a/arch/mips/ralink/early_printk.c b/arch/mips/ralink/early_printk.c
> new file mode 100644
> index 0000000..c610084
> --- /dev/null
> +++ b/arch/mips/ralink/early_printk.c
> @@ -0,0 +1,43 @@
> +/*
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License version 2 as published
> + * by the Free Software Foundation.
> + *
> + * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
> + */
> +
> +#include <linux/io.h>
> +#include <linux/serial_reg.h>
> +
> +#include <asm/addrspace.h>
> +
> +/* UART registers */
> +#define EARLY_UART_BASE 0x10000c00
> +
> +#define UART_REG_RX 0
> +#define UART_REG_TX 1
> +#define UART_REG_IER 2
> +#define UART_REG_IIR 3
> +#define UART_REG_FCR 4
> +#define UART_REG_LCR 5
> +#define UART_REG_MCR 6
> +#define UART_REG_LSR 7
Is that really required considering that you already include
serial_reg.h and could use defines from there?
At some point I think that we might be able to come up with a some kind
of generic 8250 earlyprintk code where people just tell what's the base
address of their UART. Something like:
#define UART_BASE KSEG1ADDR(MY_UART_BASE)
#include <asm/8250-earlyprintk.h>
> +
> +static inline void uart_w32(u32 val, unsigned reg)
> +{
> + __raw_writel((val),
> + (void __iomem *)(KSEG1ADDR(EARLY_UART_BASE) + 4 * (reg)));
> +}
> +
> +static inline u32 uart_r32(unsigned reg)
> +{
> + return __raw_readl(
> + (void __iomem *)(KSEG1ADDR(EARLY_UART_BASE) + 4 * (reg)));
> +}
> +
> +void prom_putchar(unsigned char ch)
> +{
> + while (((uart_r32(UART_REG_LSR)) & UART_LSR_THRE) == 0);
> + uart_w32(UART_REG_TX, ch);
> + while (((uart_r32(UART_REG_LSR)) & UART_LSR_THRE) == 0);
> +}
>
next prev parent reply other threads:[~2013-01-23 19:23 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-23 12:05 [RFC 00/11] MIPS: ralink: adds support for ralink platform John Crispin
2013-01-23 12:05 ` [RFC 01/11] MIPS: allow platforms to override cp0_compare_irq John Crispin
[not found] ` <5101043A.6080009@openwrt.org>
2013-01-24 10:00 ` John Crispin
2013-01-23 12:05 ` [RFC 02/11] MIPS: ralink: adds include files John Crispin
2013-01-24 10:34 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 03/11] MIPS: ralink: adds irq code John Crispin
2013-01-24 10:44 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 04/11] MIPS: ralink: adds reset code John Crispin
2013-01-23 12:05 ` [RFC 05/11] MIPS: ralink: adds prom and cmdline code John Crispin
2013-01-24 11:52 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 06/11] MIPS: ralink: adds clkdev code John Crispin
2013-01-23 12:05 ` [RFC 07/11] MIPS: ralink: adds OF code John Crispin
2013-01-24 13:20 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 08/11] MIPS: ralink: adds early_printk support John Crispin
2013-01-23 19:23 ` Florian Fainelli [this message]
2013-01-23 21:54 ` Sergei Shtylyov
2013-01-23 22:15 ` Sergei Shtylyov
2013-01-24 6:57 ` John Crispin
2013-01-24 7:23 ` John Crispin
2013-01-24 7:25 ` John Crispin
2013-01-24 9:58 ` Florian Fainelli
2013-01-24 12:02 ` Sergei Shtylyov
2013-01-24 12:11 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 09/11] MIPS: ralink: adds support for RT305x SoC family John Crispin
2013-01-24 12:27 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 10/11] MIPS: ralink: adds rt305x devicetree John Crispin
2013-01-24 13:52 ` Gabor Juhos
2013-01-23 12:05 ` [RFC 11/11] MIPS: ralink: adds Kbuild files John Crispin
2013-01-24 13:59 ` Gabor Juhos
2013-01-24 15:06 ` John Crispin
2013-01-23 19:25 ` [RFC 00/11] MIPS: ralink: adds support for ralink platform Florian Fainelli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=510038A8.6020606@openwrt.org \
--to=florian@openwrt.org \
--cc=blogic@openwrt.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox