[U-Boot] [PATCHv2 1/4] p101x: extra init for u8500
Wolfgang Denk
wd at denx.de
Mon Apr 11 19:48:39 CEST 2011
Dear John Rigby,
In message <1301761196-26072-2-git-send-email-john.rigby at linaro.org> you wrote:
> From: Rabin Vincent <rabin.vincent at stericsson.com>
>
> empty fifo on init
> program receive line control register on u8500
>
> Signed-off-by: Rabin Vincent <rabin.vincent at stericsson.com>
> ---
> v2: no changes
>
> drivers/serial/serial_pl01x.c | 10 ++++++++++
> drivers/serial/serial_pl01x.h | 4 ++++
> 2 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/serial/serial_pl01x.c b/drivers/serial/serial_pl01x.c
> index 5dfcde8..22ada8f 100644
> --- a/drivers/serial/serial_pl01x.c
> +++ b/drivers/serial/serial_pl01x.c
> @@ -112,6 +112,12 @@ int serial_init (void)
> unsigned int remainder;
> unsigned int fraction;
>
> + /* Empty RX fifo if necessary */
> + if (readl(®s->pl011_cr) & UART_PL011_CR_UARTEN) {
> + while (!(readl(®s->fr) & UART_PL01x_FR_RXFE))
> + readl(®s->dr);
> + }
Does this affect other boards?
> +#ifdef CONFIG_U8500
> + /* program receive line control register */
> + writel(0x70, ®s->pl011_rlcr);
> +#endif
I would like to keep board specific code out of this file.
Can you identifiy under which speific circumstances this code is
needed, and add a feature-specific ifdef instead of a board specific
one?
> --- a/drivers/serial/serial_pl01x.h
> +++ b/drivers/serial/serial_pl01x.h
> @@ -43,7 +43,11 @@ struct pl01x_regs {
> u32 pl010_lcrl; /* 0x10 Line control register, low byte */
> u32 pl010_cr; /* 0x14 Control register */
> u32 fr; /* 0x18 Flag register (Read only) */
> +#ifdef CONFIG_U8500
> + u32 pl011_rlcr; /* 0x1c Receive line control register */
> +#else
> u32 reserved;
> +#endif
Ditto.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Those who do not understand Unix are condemned to reinvent it,
poorly. - Henry Spencer, University of Toronto Unix hack
More information about the U-Boot
mailing list