From: David Lechner <david@lechnology.com>
To: Franklin S Cooper Jr <fcooper@ti.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org, Axel Haslam <ahaslam@baylibre.com>,
Kevin Hilman <khilman@kernel.org>, Sekhar Nori <nsekhar@ti.com>,
linux-kernel@vger.kernel.org,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Alexandre Bailon <abailon@baylibre.com>,
linux-serial@vger.kernel.org, Jiri Slaby <jslaby@suse.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [2/3] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx
Date: Thu, 22 Dec 2016 12:16:46 -0600 [thread overview]
Message-ID: <97641ab2-ba78-7186-db62-57b3bd76243f@lechnology.com> (raw)
In-Reply-To: <306c9ce3-4003-84b9-fd0f-34232399f1aa@ti.com>
On 12/22/2016 09:21 AM, Franklin S Cooper Jr wrote:
>
>
> On 12/20/2016 02:23 PM, David Lechner wrote:
>> This adds a new UART port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx. These
>> SoCs have standard 8250 registers plus some extra non-standard registers.
>>
>> The UART will not function unless the non-standard Power and Emulation
>> Management Register (PWREMU_MGMT) is configured correctly. This is
>> currently handled in arch/arm/mach-davinci/serial.c for non-device-tree
>> boards. Making this part of the UART driver will allow UART to work on
>> device-tree boards as well and the mach code can eventually be removed.
>>
>> Signed-off-by: David Lechner <david@lechnology.com>
>> ---
>> drivers/tty/serial/8250/8250_of.c | 1 +
>> drivers/tty/serial/8250/8250_port.c | 22 ++++++++++++++++++++++
>> include/uapi/linux/serial_core.h | 3 ++-
>> include/uapi/linux/serial_reg.h | 8 ++++++++
>> 4 files changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
>> index d25ab1c..5281252 100644
>> --- a/drivers/tty/serial/8250/8250_of.c
>> +++ b/drivers/tty/serial/8250/8250_of.c
>> @@ -332,6 +332,7 @@ static const struct of_device_id of_platform_serial_table[] = {
>> .data = (void *)PORT_ALTR_16550_F128, },
>> { .compatible = "mrvl,mmp-uart",
>> .data = (void *)PORT_XSCALE, },
>> + { .compatible = "ti,da830-uart", .data = (void *)PORT_DA830, },
>> { /* end of list */ },
>> };
>> MODULE_DEVICE_TABLE(of, of_platform_serial_table);
>> diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
>> index fe4399b..ea854054 100644
>> --- a/drivers/tty/serial/8250/8250_port.c
>> +++ b/drivers/tty/serial/8250/8250_port.c
>> @@ -273,6 +273,15 @@ static const struct serial8250_config uart_config[] = {
>> .rxtrig_bytes = {1, 4, 8, 14},
>> .flags = UART_CAP_FIFO,
>> },
>> + [PORT_DA830] = {
>> + .name = "TI DA8xx/OMAPL13x/AM17xx/AM18xx",
>> + .fifo_size = 16,
>> + .tx_loadsz = 16,
>> + .fcr = UART_FCR_DMA_SELECT | UART_FCR_ENABLE_FIFO |
>> + UART_FCR_R_TRIG_10,
>> + .rxtrig_bytes = {1, 4, 8, 14},
>> + .flags = UART_CAP_FIFO | UART_CAP_AFE,
>> + },
>> };
>
>
> Any reason why the fcr and flags fields are changed when compared
> against PORT_16550A?
The AM1808 TRM says to "always enable" the DMA bit. I figured setting it
now could save someone trouble later if they wanted to add DMA support.
It does not matter if it is set even if you are not using DMA.
Since we are using the special reset register that resets the state
machine, setting UART_FCR_CLEAR_RCVR and UART_FCR_CLEAR_XMIT seems
redundant.
And in my testing with an AM1808, UART_CAP_AFE is not automatically
detected even though the chip has this capability, so it needs to be
manually specified.
next prev parent reply other threads:[~2016-12-22 18:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-20 20:23 [PATCH 0/3] TI DA8xx/OMAPL13x/AM17xx/AM18xx UART David Lechner
2016-12-20 20:23 ` [PATCH 1/3] doc: DT: Add ti,da830-uart to serial/8250 bindings David Lechner
2016-12-22 21:18 ` Rob Herring
2016-12-20 20:23 ` [PATCH 2/3] serial: 8250: Add new port type for TI DA8xx/OMAPL13x/AM17xx/AM18xx David Lechner
2016-12-22 15:21 ` [2/3] " Franklin S Cooper Jr
2016-12-22 16:02 ` Franklin S Cooper Jr
2016-12-22 18:16 ` David Lechner [this message]
2016-12-20 20:23 ` [PATCH 3/3] ARM: da850: Add ti,da830-uart compatible for serial ports David Lechner
2016-12-22 16:06 ` [3/3] ARM: da850: Add ti, da830-uart " Franklin S Cooper Jr
2017-01-02 8:06 ` Sekhar Nori
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=97641ab2-ba78-7186-db62-57b3bd76243f@lechnology.com \
--to=david@lechnology.com \
--cc=abailon@baylibre.com \
--cc=ahaslam@baylibre.com \
--cc=bgolaszewski@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=fcooper@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=nsekhar@ti.com \
--cc=robh+dt@kernel.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
all inboxes | Powered by JetHome®