From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] Documentation: DT: Add bindings for FSL NS16550A The UART
Date: Fri, 15 Aug 2014 16:03:44 +0100 [thread overview]
Message-ID: <20140815150344.GA21908@leverpostej> (raw)
In-Reply-To: <e0350675b3a6462d87cb06a33a1b6dc9@BN1PR03MB220.namprd03.prod.outlook.com>
Hi Bhupesh,
On Fri, Aug 15, 2014 at 03:42:09PM +0100, bhupesh.sharma at freescale.com wrote:
> > -----Original Message-----
> > From: Mark Rutland [mailto:mark.rutland at arm.com]
> > Sent: Friday, August 15, 2014 4:16 PM
> > To: Sharma Bhupesh-B45370
> > Cc: devicetree-discuss at lists.ozlabs.org; Catalin Marinas; arnd at arndb.de;
> > Will Deacon; Yoder Stuart-B08248; grant.likely at secretlab.ca; Basu Arnab-
> > B45036; linux-arm-kernel at lists.infradead.org
> > Subject: Re: [PATCH 1/6] Documentation: DT: Add bindings for FSL NS16550A
> > UART
> >
> > On Fri, Aug 15, 2014 at 10:49:10AM +0100, Bhupesh Sharma wrote:
> > > This patch addss the device-tree documentation for Freescale's
> > > NS16550 UART (also called DUART).
> > >
> > > There is a specific errata fix required in FSL NS16550 UART which
> > > ensures that an random interrupt storm is not observed when a break is
> > > provided as an input to the UART.
> >
> > Should this not go in
> > Documentation/devicetree/bindings/serial/of-serial.txt as with other
> > NS16550A variations?
> >
> > The only code for handling this string seems to live in
> > arch/powerpc/kernel/legacy_serial.c. Is there a patch factoring that out
> > into common code? Or is the erratum not applicable to the revision used in
> > your ARMv8 SoC?
> >
>
> The FSL specific 8250 (or NS16550A0 driver) at path drivers/tty/serial/8250/8250_fsl.c
> uses this string and provides the code to handle the erratum (see [1])
While the workaround itself is in that file, as far as I can see the detection
and setup is not. Even in next-20140815 it seems that only happens in
arch/powerpc/kernel/legacy_serial.c (see [2]):
[mark at leverpostej:~/src/linux]% git grep fsl8250_handle_irq next-20140815
next-20140815:arch/powerpc/kernel/legacy_serial.c: port->handle_irq = fsl8250_handle_irq;
next-20140815:drivers/tty/serial/8250/8250_fsl.c:int fsl8250_handle_irq(struct uart_port *port)
next-20140815:include/linux/serial_8250.h:extern int fsl8250_handle_irq(struct uart_port *port);
I cannot see any use of the string outside of arch/powerpc:
[mark at leverpostej:~/src/linux]% git grep fsl,ns16550 next-20140815 | wc -l
102
[mark at leverpostej:~/src/linux]% git grep fsl,ns16550 next-20140815 -- arch/powerpc | wc -l
102
Am I missing something? Perhaps some macro is getting in the way of a simple
grep.
> The NS16550 UART present on our SoC and the corresponding simulator model has this erratum and
> hence the specific way in which IRQ are handled (fsl8250_handle_irq) by the driver (in [1])
> is applicable here as well.
Assuming I've not missed something, do you need to factor out the detection and
setup? Do things just happen to work on the simulator without the workaround?
Thanks,
Mark.
[2] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/arch/powerpc/kernel/legacy_serial.c?id=refs/tags/next-20140815#n478
> [1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/tty/serial/8250/8250_fsl.c?id=refs/tags/next-20140815
>
> Regards,
> Bhupesh
>
> > Thanks,
> > Mark.
> >
> > >
> > > Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
> > > ---
> > > .../devicetree/bindings/serial/fsl-ns16550.txt | 24
> > ++++++++++++++++++++
> > > 1 file changed, 24 insertions(+)
> > > create mode 100644
> > > Documentation/devicetree/bindings/serial/fsl-ns16550.txt
> > >
> > > diff --git a/Documentation/devicetree/bindings/serial/fsl-ns16550.txt
> > > b/Documentation/devicetree/bindings/serial/fsl-ns16550.txt
> > > new file mode 100644
> > > index 0000000..9926e10
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/serial/fsl-ns16550.txt
> > > @@ -0,0 +1,24 @@
> > > +* Freescale DUART is very similar to the PC16552D (and to a
> > > + pair of NS16550A), albeit with some nonstandard behavior such as
> > > + erratum A-004737 (relating to incorrect BRK handling).
> > > +
> > > +- compatible: "fsl,ns16550"
> > > +
> > > + Represents a single port that is compatible with the DUART found
> > > + on many Freescale chips (examples include mpc8349, mpc8548,
> > > + mpc8641d, p4080 and ls2085a).
> > > +
> > > +- reg: The base address of the UART register bank.
> > > +
> > > +- interrupts: A single interrupt specifier.
> > > +
> > > +- clock-frequency = Input clock to the baud rate divider.
> > > +
> > > +Example:
> > > + serial1: serial at 21c4600 {
> > > + compatible = "fsl,ns16550", "ns16550a";
> > > + reg = <0x0 0x21c4600 0x0 0x100>;
> > > + clock-frequency = <0>;
> > > + interrupts = <0 32 0x1>;
> > > + };
> > > +
> > > --
> > > 1.7.9.5
> > >
> > >
> > >
> > > _______________________________________________
> > > linux-arm-kernel mailing list
> > > linux-arm-kernel at lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > >
>
next prev parent reply other threads:[~2014-08-15 15:03 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-15 9:49 [PATCH 0/6] ARM64: Add support for FSL's LS2085A SoC Bhupesh Sharma
2014-08-15 9:49 ` [PATCH 1/6] Documentation: DT: Add bindings for FSL NS16550A UART Bhupesh Sharma
2014-08-15 10:46 ` Mark Rutland
2014-08-15 14:42 ` [PATCH 1/6] Documentation: DT: Add bindings for FSL NS16550A The UART bhupesh.sharma at freescale.com
2014-08-15 15:03 ` Mark Rutland [this message]
2014-08-20 9:08 ` bhupesh.sharma at freescale.com
2014-08-20 11:31 ` Mark Rutland
2014-08-20 12:20 ` bhupesh.sharma at freescale.com
2014-08-15 9:49 ` [PATCH 2/6] Documentation: DT: Add entry for FSL LS2085A SoC and Simulator model Bhupesh Sharma
2014-08-15 9:49 ` [PATCH 3/6] Documentation: DT: Add entry for FSL Management Complex Bhupesh Sharma
2014-08-15 11:00 ` Mark Rutland
2014-08-15 13:12 ` Stuart Yoder
2014-08-15 13:35 ` Kumar Gala
2014-08-15 9:49 ` [PATCH 4/6] arm64: Add DTS support for FSL's LS2085A SoC Bhupesh Sharma
2014-08-15 10:12 ` Catalin Marinas
2014-08-15 12:53 ` Stuart Yoder
2014-08-15 13:10 ` Catalin Marinas
2014-08-15 14:31 ` bhupesh.sharma at freescale.com
2014-08-15 15:28 ` Catalin Marinas
2014-08-15 15:57 ` Stuart Yoder
2014-08-15 16:22 ` Mark Rutland
2014-08-15 16:25 ` Catalin Marinas
2014-08-15 16:44 ` Stuart Yoder
2014-08-15 10:23 ` Mark Rutland
2014-08-15 15:21 ` arnab.basu at freescale.com
2014-08-15 15:26 ` Kumar Gala
2014-08-15 15:41 ` Stuart Yoder
2014-08-15 15:43 ` Kumar Gala
2014-08-15 15:49 ` Stuart Yoder
2014-08-15 16:02 ` Catalin Marinas
2014-08-15 15:37 ` Stuart Yoder
2014-08-15 16:12 ` Mark Rutland
2014-08-15 12:13 ` Marc Zyngier
2014-08-15 13:29 ` Kumar Gala
2014-08-15 14:26 ` bhupesh.sharma at freescale.com
2014-08-15 14:40 ` Kumar Gala
2014-08-15 16:19 ` Stuart Yoder
2014-08-15 9:49 ` [PATCH 5/6] arm64: dts/Makefile: Add support for FSL's LS2085A simulator model Bhupesh Sharma
2014-08-15 9:49 ` [PATCH 6/6] arm64: Add support for FSL's LS2085A SoC in Kconfig and defconfig Bhupesh Sharma
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=20140815150344.GA21908@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).