From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/3] serial: 16550: Add getfcr accessor
Date: Fri, 10 Jun 2016 02:54:21 +0200 [thread overview]
Message-ID: <575A0FBD.5000709@denx.de> (raw)
In-Reply-To: <CAPnjgZ3B+DM5ZFJ+puWrcLeHN=YJKQqtJ4qFtns2ZkJYoZMiTw@mail.gmail.com>
On 06/10/2016 02:34 AM, Simon Glass wrote:
> Hi Marek,
Hi,
> On 26 May 2016 at 12:39, Marek Vasut <marex@denx.de> wrote:
>> Add function which allows fetching the default FCR register setting
>> from platform data for DM , while retaining old behavior for non-DM
>> by returning UART_FCRVAL.
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> Cc: Tom Rini <trini@konsulko.com>
>> Cc: Simon Glass <sjg@chromium.org>
>> ---
>> drivers/serial/ns16550.c | 20 +++++++++++++++++---
>> include/ns16550.h | 1 +
>> 2 files changed, 18 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
>> index c6cb3eb..b39ce02 100644
>> --- a/drivers/serial/ns16550.c
>> +++ b/drivers/serial/ns16550.c
>> @@ -120,6 +120,13 @@ static int ns16550_readb(NS16550_t port, int offset)
>> return serial_in_shift(addr + plat->reg_offset, plat->reg_shift);
>> }
>>
>> +static u32 ns16550_getfcr(NS16550_t port)
>> +{
>> + struct ns16550_platdata *plat = port->plat;
>> +
>> + return plat->fcr;
>> +}
>> +
>> /* We can clean these up once everything is moved to driver model */
>> #define serial_out(value, addr) \
>> ns16550_writeb(com_port, \
>> @@ -127,6 +134,11 @@ static int ns16550_readb(NS16550_t port, int offset)
>> #define serial_in(addr) \
>> ns16550_readb(com_port, \
>> (unsigned char *)addr - (unsigned char *)com_port)
>> +#else
>> +static u32 ns16550_getfcr(NS16550_t port)
>> +{
>> + return UART_FCRVAL;
>> +}
>> #endif
>>
>> int ns16550_calc_divisor(NS16550_t port, int clock, int baudrate)
>> @@ -170,7 +182,7 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)
>> serial_out(0x7, &com_port->mdr1); /* mode select reset TL16C750*/
>> #endif
>> serial_out(UART_MCRVAL, &com_port->mcr);
>> - serial_out(UART_FCRVAL, &com_port->fcr);
>> + serial_out(ns16550_getfcr(com_port), &com_port->fcr);
>> if (baud_divisor != -1)
>> NS16550_setbrg(com_port, baud_divisor);
>> #if defined(CONFIG_OMAP) || \
>> @@ -191,7 +203,7 @@ void NS16550_reinit(NS16550_t com_port, int baud_divisor)
>> serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
>> NS16550_setbrg(com_port, 0);
>> serial_out(UART_MCRVAL, &com_port->mcr);
>> - serial_out(UART_FCRVAL, &com_port->fcr);
>> + serial_out(ns16550_getfcr(com_port), &com_port->fcr);
>> NS16550_setbrg(com_port, baud_divisor);
>> }
>> #endif /* CONFIG_NS16550_MIN_FUNCTIONS */
>> @@ -262,7 +274,7 @@ static inline void _debug_uart_init(void)
>> CONFIG_BAUDRATE);
>> serial_dout(&com_port->ier, CONFIG_SYS_NS16550_IER);
>> serial_dout(&com_port->mcr, UART_MCRVAL);
>> - serial_dout(&com_port->fcr, UART_FCRVAL);
>> + serial_dout(&com_port->fcr, ns16550_getfcr(com_port));
>
> The debug UART does not have platdata, so I don't think this will
> work.
Hrm, true. If you have DM_SERIAL enabled and debug uart enabled,
this will likely fail.
> For the debug UART perhaps you can use the default value. If
> not, then I think the only option is a new debug UART Kconfig.
I don't use the debug uart, so I don't need the Kconfig option.
--
Best regards,
Marek Vasut
next prev parent reply other threads:[~2016-06-10 0:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 18:39 [U-Boot] [PATCH 1/3] serial: 16550: Add getfcr accessor Marek Vasut
2016-05-26 18:39 ` [U-Boot] [PATCH 2/3] serial: 16550: Add port type as driver data Marek Vasut
2016-06-10 0:34 ` Simon Glass
2016-05-26 18:39 ` [U-Boot] [PATCH 3/3] serial: 16550: Add Ingenic JZ4780 support Marek Vasut
2016-06-10 0:34 ` Simon Glass
2016-06-10 0:34 ` [U-Boot] [PATCH 1/3] serial: 16550: Add getfcr accessor Simon Glass
2016-06-10 0:54 ` Marek Vasut [this message]
2016-06-10 1:17 ` Simon Glass
2016-06-10 1:21 ` [U-Boot] [PATCH V2 " Marek Vasut
2016-06-10 1:39 ` Simon Glass
2016-06-10 2:03 ` Marek Vasut
2016-06-10 2:04 ` [U-Boot] [PATCH V3 " Marek Vasut
2016-06-10 2:37 ` Simon Glass
2016-06-10 2:44 ` [U-Boot] [PATCH V4 " Marek Vasut
2016-06-10 2:48 ` Simon Glass
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=575A0FBD.5000709@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/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