All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 1/2] dt: document the of_serial bindings
@ 2011-06-27 12:32 Jamie Iles
       [not found] ` <1309177954-8786-1-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Jamie Iles @ 2011-06-27 12:32 UTC (permalink / raw)
  To: linux-serial-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ

The of_serial bindings can be used to register a number of serial
devices.  Document this binding with all of the others.

v3: remove device-type and clarify used-by-rtas

Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Signed-off-by: Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
---
 .../devicetree/bindings/tty/serial/of-serial.txt   |   33 ++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/tty/serial/of-serial.txt

diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
new file mode 100644
index 0000000..35e53ae
--- /dev/null
+++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
@@ -0,0 +1,33 @@
+* UART (Universal Asynchronous Receiver/Transmitter)
+
+Required properties:
+- compatible : one of:
+	- "ns8250"
+	- "ns16450"
+	- "ns16550a"
+	- "ns16550"
+	- "ns16750"
+	- "ns16850"
+	- "nvidia,tegra250-uart"
+	- "ibm,qpace-nwp-serial"
+	- "serial" if the port type is unknown.
+- reg : offset and length of the register set for the device.
+- interrupts : should contain uart interrupt.
+- clock-frequency : the input clock frequency for the UART.
+
+Optional properties:
+- current-speed : the current active speed of the UART.
+- reg-offset : offset to apply to the mapbase from the start of the registers.
+- reg-shift : quantity to shift the register offsets by.
+- used-by-rtas : set to indicate that the port is in use by the OpenFirmware
+  RTAS and should not be registered.
+
+Example:
+
+	uart@80230000 {
+		compatible = "ns8250";
+		reg = <0x80230000 0x100>;
+		clock-frequency = <3686400>;
+		interrupts = <10>;
+		reg-shift = <2>;
+	};
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses
       [not found] ` <1309177954-8786-1-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
@ 2011-06-27 12:32   ` Jamie Iles
  2011-06-27 16:57     ` Grant Likely
       [not found]     ` <1309177954-8786-2-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
  2011-06-27 13:05   ` [PATCHv3 1/2] dt: document the of_serial bindings Arnd Bergmann
  1 sibling, 2 replies; 7+ messages in thread
From: Jamie Iles @ 2011-06-27 12:32 UTC (permalink / raw)
  To: linux-serial-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ

Some platforms e.g. TI Davinci require 32-bit accesses to the UARTs.
The of_serial driver currently registers all UARTs as UPIO_MEM.  Add a
new attribute "io-width" to allow the port to be registered with
different IO width requirements.

Acked-by: Alan Cox <alan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Acked-by: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Signed-off-by: Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
---
 .../devicetree/bindings/tty/serial/of-serial.txt   |    3 +++
 drivers/tty/serial/of_serial.c                     |   17 +++++++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
index 35e53ae..93260d0 100644
--- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
+++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
@@ -21,6 +21,9 @@ Optional properties:
 - reg-shift : quantity to shift the register offsets by.
 - used-by-rtas : set to indicate that the port is in use by the OpenFirmware
   RTAS and should not be registered.
+- io-width : the size (in bytes) of the IO accesses that should be performed
+  on the device.  There are some systems that require 32-bit accesses to the
+  UART (e.g. TI davinci).
 
 Example:
 
diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
index c911b24..dfcad6f 100644
--- a/drivers/tty/serial/of_serial.c
+++ b/drivers/tty/serial/of_serial.c
@@ -65,6 +65,23 @@ static int __devinit of_platform_serial_setup(struct platform_device *ofdev,
 
 	port->irq = irq_of_parse_and_map(np, 0);
 	port->iotype = UPIO_MEM;
+	prop = of_get_property(np, "io-width", &prop_size);
+	if (prop && (prop_size == sizeof(u32))) {
+		switch (be32_to_cpup(prop)) {
+		case 1:
+			port->iotype = UPIO_MEM;
+			break;
+		case 4:
+			port->iotype = UPIO_MEM32;
+			break;
+		default:
+			dev_warn(&ofdev->dev,
+				 "unsupported io width (%d bytes)\n",
+				 be32_to_cpup(prop));
+			return -EINVAL;
+		}
+	}
+
 	port->type = type;
 	port->uartclk = be32_to_cpup(clk);
 	port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCHv3 1/2] dt: document the of_serial bindings
       [not found] ` <1309177954-8786-1-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
  2011-06-27 12:32   ` [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses Jamie Iles
@ 2011-06-27 13:05   ` Arnd Bergmann
  2011-06-27 19:32     ` Grant Likely
  1 sibling, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2011-06-27 13:05 UTC (permalink / raw)
  To: Jamie Iles
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-serial-u79uwXL29TY76Z2rM5mHXA

On Monday 27 June 2011, Jamie Iles wrote:
> The of_serial bindings can be used to register a number of serial
> devices.  Document this binding with all of the others.
> 
> v3: remove device-type and clarify used-by-rtas
> 
> Cc: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Cc: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> Signed-off-by: Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>

Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses
  2011-06-27 12:32   ` [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses Jamie Iles
@ 2011-06-27 16:57     ` Grant Likely
  2011-06-27 18:49       ` Alan Cox
       [not found]     ` <1309177954-8786-2-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
  1 sibling, 1 reply; 7+ messages in thread
From: Grant Likely @ 2011-06-27 16:57 UTC (permalink / raw)
  To: Jamie Iles; +Cc: linux-serial, devicetree-discuss, Alan Cox

On Mon, Jun 27, 2011 at 6:32 AM, Jamie Iles <jamie@jamieiles.com> wrote:
> Some platforms e.g. TI Davinci require 32-bit accesses to the UARTs.
> The of_serial driver currently registers all UARTs as UPIO_MEM.  Add a
> new attribute "io-width" to allow the port to be registered with
> different IO width requirements.
>
> Acked-by: Alan Cox <alan@linux.intel.com>
> Acked-by: Grant Likely <grant.likely@secretlab.ca>
> Signed-off-by: Jamie Iles <jamie@jamieiles.com>

Alan, who should pick this series up?  Should I take it via the
devicetree/next tree?

g.

> ---
>  .../devicetree/bindings/tty/serial/of-serial.txt   |    3 +++
>  drivers/tty/serial/of_serial.c                     |   17 +++++++++++++++++
>  2 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> index 35e53ae..93260d0 100644
> --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> @@ -21,6 +21,9 @@ Optional properties:
>  - reg-shift : quantity to shift the register offsets by.
>  - used-by-rtas : set to indicate that the port is in use by the OpenFirmware
>   RTAS and should not be registered.
> +- io-width : the size (in bytes) of the IO accesses that should be performed
> +  on the device.  There are some systems that require 32-bit accesses to the
> +  UART (e.g. TI davinci).
>
>  Example:
>
> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
> index c911b24..dfcad6f 100644
> --- a/drivers/tty/serial/of_serial.c
> +++ b/drivers/tty/serial/of_serial.c
> @@ -65,6 +65,23 @@ static int __devinit of_platform_serial_setup(struct platform_device *ofdev,
>
>        port->irq = irq_of_parse_and_map(np, 0);
>        port->iotype = UPIO_MEM;
> +       prop = of_get_property(np, "io-width", &prop_size);
> +       if (prop && (prop_size == sizeof(u32))) {
> +               switch (be32_to_cpup(prop)) {
> +               case 1:
> +                       port->iotype = UPIO_MEM;
> +                       break;
> +               case 4:
> +                       port->iotype = UPIO_MEM32;
> +                       break;
> +               default:
> +                       dev_warn(&ofdev->dev,
> +                                "unsupported io width (%d bytes)\n",
> +                                be32_to_cpup(prop));
> +                       return -EINVAL;
> +               }
> +       }
> +
>        port->type = type;
>        port->uartclk = be32_to_cpup(clk);
>        port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
> --
> 1.7.4.1
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses
  2011-06-27 16:57     ` Grant Likely
@ 2011-06-27 18:49       ` Alan Cox
  0 siblings, 0 replies; 7+ messages in thread
From: Alan Cox @ 2011-06-27 18:49 UTC (permalink / raw)
  To: Grant Likely; +Cc: Jamie Iles, linux-serial, devicetree-discuss, Alan Cox

On Mon, 27 Jun 2011 10:57:26 -0600
Grant Likely <grant.likely@secretlab.ca> wrote:

> On Mon, Jun 27, 2011 at 6:32 AM, Jamie Iles <jamie@jamieiles.com> wrote:
> > Some platforms e.g. TI Davinci require 32-bit accesses to the UARTs.
> > The of_serial driver currently registers all UARTs as UPIO_MEM.  Add a
> > new attribute "io-width" to allow the port to be registered with
> > different IO width requirements.
> >
> > Acked-by: Alan Cox <alan@linux.intel.com>
> > Acked-by: Grant Likely <grant.likely@secretlab.ca>
> > Signed-off-by: Jamie Iles <jamie@jamieiles.com>
> 
> Alan, who should pick this series up?  Should I take it via the
> devicetree/next tree?

Please
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCHv3 1/2] dt: document the of_serial bindings
  2011-06-27 13:05   ` [PATCHv3 1/2] dt: document the of_serial bindings Arnd Bergmann
@ 2011-06-27 19:32     ` Grant Likely
  0 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2011-06-27 19:32 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Jamie Iles, linux-serial, devicetree-discuss

On Mon, Jun 27, 2011 at 03:05:32PM +0200, Arnd Bergmann wrote:
> On Monday 27 June 2011, Jamie Iles wrote:
> > The of_serial bindings can be used to register a number of serial
> > devices.  Document this binding with all of the others.
> > 
> > v3: remove device-type and clarify used-by-rtas
> > 
> > Cc: Grant Likely <grant.likely@secretlab.ca>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Signed-off-by: Jamie Iles <jamie@jamieiles.com>
> 
> Acked-by: Arnd Bergmann <arnd@arndb.de>

Merged both patches, thanks.

g.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses
       [not found]     ` <1309177954-8786-2-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
@ 2011-06-30 18:38       ` Grant Likely
  0 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2011-06-30 18:38 UTC (permalink / raw)
  To: Jamie Iles
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-serial-u79uwXL29TY76Z2rM5mHXA

On Mon, Jun 27, 2011 at 6:32 AM, Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org> wrote:
> Some platforms e.g. TI Davinci require 32-bit accesses to the UARTs.
> The of_serial driver currently registers all UARTs as UPIO_MEM.  Add a
> new attribute "io-width" to allow the port to be registered with
> different IO width requirements.
>
> Acked-by: Alan Cox <alan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> Acked-by: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
> Signed-off-by: Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
> ---
>  .../devicetree/bindings/tty/serial/of-serial.txt   |    3 +++
>  drivers/tty/serial/of_serial.c                     |   17 +++++++++++++++++
>  2 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> index 35e53ae..93260d0 100644
> --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> @@ -21,6 +21,9 @@ Optional properties:
>  - reg-shift : quantity to shift the register offsets by.
>  - used-by-rtas : set to indicate that the port is in use by the OpenFirmware
>   RTAS and should not be registered.
> +- io-width : the size (in bytes) of the IO accesses that should be performed

I know I've already picked this up into linux-next, but I'm going to
change the property name (unless there are objections).  This should
be okay since it hasn't appeared in any mainline kernels yet.  I'd
like this to be named 'reg-io-width' instead to be more consistent
with the existing 'reg-shift' and 'reg-offset' properties.

g.

> +  on the device.  There are some systems that require 32-bit accesses to the
> +  UART (e.g. TI davinci).
>
>  Example:
>
> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
> index c911b24..dfcad6f 100644
> --- a/drivers/tty/serial/of_serial.c
> +++ b/drivers/tty/serial/of_serial.c
> @@ -65,6 +65,23 @@ static int __devinit of_platform_serial_setup(struct platform_device *ofdev,
>
>        port->irq = irq_of_parse_and_map(np, 0);
>        port->iotype = UPIO_MEM;
> +       prop = of_get_property(np, "io-width", &prop_size);
> +       if (prop && (prop_size == sizeof(u32))) {
> +               switch (be32_to_cpup(prop)) {
> +               case 1:
> +                       port->iotype = UPIO_MEM;
> +                       break;
> +               case 4:
> +                       port->iotype = UPIO_MEM32;
> +                       break;
> +               default:
> +                       dev_warn(&ofdev->dev,
> +                                "unsupported io width (%d bytes)\n",
> +                                be32_to_cpup(prop));
> +                       return -EINVAL;
> +               }
> +       }
> +
>        port->type = type;
>        port->uartclk = be32_to_cpup(clk);
>        port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
> --
> 1.7.4.1
>
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
>



-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-06-30 18:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-27 12:32 [PATCHv3 1/2] dt: document the of_serial bindings Jamie Iles
     [not found] ` <1309177954-8786-1-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
2011-06-27 12:32   ` [PATCHv3 2/2] tty: of_serial: support for 32 bit accesses Jamie Iles
2011-06-27 16:57     ` Grant Likely
2011-06-27 18:49       ` Alan Cox
     [not found]     ` <1309177954-8786-2-git-send-email-jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>
2011-06-30 18:38       ` Grant Likely
2011-06-27 13:05   ` [PATCHv3 1/2] dt: document the of_serial bindings Arnd Bergmann
2011-06-27 19:32     ` Grant Likely

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.