linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] MIPS Malta DT Conversion
@ 2015-05-22 15:50 Paul Burton
  2015-05-22 15:51 ` [PATCH 08/15] of_serial: support for UARTs on I/O ports Paul Burton
       [not found] ` <1432309875-9712-1-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Burton @ 2015-05-22 15:50 UTC (permalink / raw)
  To: linux-mips-6z/3iImG2C8G8FEW9MqTrA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, Paul Burton, Jiri Slaby,
	Paolo Bonzini, Leonid Yegoshin,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, James Hogan, Steven J. Hill,
	Hannes Reinecke, Andrew Bresticker, Thomas Gleixner,
	Greg Kroah-Hartman, Ralf Baechle, Qais Yousef,
	linux-serial-u79uwXL29TY76Z2rM5mHXA, Markos Chandras,
	Christoph Hellwig, Michal Marek

This series begins converting the MIPS Malta board to use device tree,
which is done with a few goals in mind:

  - To modernise the Malta board support, providing a cleaner example to
    people referencing it when bringing up new boards and reducing the
    amount of code they need to write.

  - To make the code at the board level more generic with the eventual
    aim of sharing it between multiple boards & allowing for
    multi-platform kernel binaries. Although this series doesn't result
    in the kernel reaching those goals, it is a step in that direction.

  - To result in a more maintainable kernel through a combination of the
    above.


Paul Burton (15):
  MIPS: define GCR_GIC_STATUS register fields
  MIPS: include errno.h for ENODEV in mips-cm.h
  MIPS: malta: basic DT plumbing
  MIPS: i8259: DT support
  irqchip: mips-gic: register IRQ domain with MIPS_GIC_IRQ_BASE
  MIPS: malta: probe interrupt controllers via DT
  MIPS: remove [SR]ocIt(2) IRQ handling code
  of_serial: support for UARTs on I/O ports
  MIPS: malta: probe UARTs using DT
  MIPS: malta: probe RTC via DT
  MIPS: malta: probe pflash via DT
  MIPS: malta: remove fw_memblock_t abstraction
  MIPS: malta: remove nonsense memory limit
  MIPS: malta: setup RAM regions via DT
  MIPS: malta: setup post-I/O hole RAM on non-EVA

 arch/mips/Kconfig                               |   3 +
 arch/mips/boot/dts/mti/Makefile                 |   1 +
 arch/mips/boot/dts/mti/malta.dts                | 150 +++++++++++++++
 arch/mips/configs/malta_defconfig               |   3 +-
 arch/mips/configs/malta_kvm_defconfig           |   3 +-
 arch/mips/configs/malta_kvm_guest_defconfig     |   3 +-
 arch/mips/configs/malta_qemu_32r6_defconfig     |   1 +
 arch/mips/configs/maltaaprp_defconfig           |   1 +
 arch/mips/configs/maltasmvp_defconfig           |   1 +
 arch/mips/configs/maltasmvp_eva_defconfig       |   1 +
 arch/mips/configs/maltaup_defconfig             |   1 +
 arch/mips/configs/maltaup_xpa_defconfig         |   3 +-
 arch/mips/include/asm/fw/fw.h                   |  16 --
 arch/mips/include/asm/i8259.h                   |   1 +
 arch/mips/include/asm/mach-malta/malta-dtshim.h |  29 +++
 arch/mips/include/asm/mips-cm.h                 |   5 +
 arch/mips/include/asm/msc01_ic.h                | 147 ---------------
 arch/mips/kernel/Makefile                       |   1 -
 arch/mips/kernel/i8259.c                        |  43 ++++-
 arch/mips/kernel/irq-msc01.c                    | 159 ----------------
 arch/mips/mti-malta/Makefile                    |   6 +-
 arch/mips/mti-malta/malta-dt.c                  |  34 ++++
 arch/mips/mti-malta/malta-dtshim.c              | 238 ++++++++++++++++++++++++
 arch/mips/mti-malta/malta-int.c                 | 130 +------------
 arch/mips/mti-malta/malta-memory.c              | 131 +------------
 arch/mips/mti-malta/malta-platform.c            | 147 ---------------
 arch/mips/mti-malta/malta-setup.c               |   7 +
 arch/mips/mti-malta/malta-time.c                |   1 -
 drivers/irqchip/irq-mips-gic.c                  |   2 +-
 drivers/tty/serial/of_serial.c                  |   7 +-
 30 files changed, 542 insertions(+), 733 deletions(-)
 create mode 100644 arch/mips/boot/dts/mti/malta.dts
 create mode 100644 arch/mips/include/asm/mach-malta/malta-dtshim.h
 delete mode 100644 arch/mips/include/asm/msc01_ic.h
 delete mode 100644 arch/mips/kernel/irq-msc01.c
 create mode 100644 arch/mips/mti-malta/malta-dt.c
 create mode 100644 arch/mips/mti-malta/malta-dtshim.c
 delete mode 100644 arch/mips/mti-malta/malta-platform.c

-- 
2.4.1

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

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

* [PATCH 08/15] of_serial: support for UARTs on I/O ports
  2015-05-22 15:50 [PATCH 00/15] MIPS Malta DT Conversion Paul Burton
@ 2015-05-22 15:51 ` Paul Burton
       [not found]   ` <1432309875-9712-9-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
       [not found] ` <1432309875-9712-1-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
  1 sibling, 1 reply; 5+ messages in thread
From: Paul Burton @ 2015-05-22 15:51 UTC (permalink / raw)
  To: linux-mips
  Cc: devicetree, Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell,
	Kumar Gala, Paul Burton, Greg Kroah-Hartman, Jiri Slaby,
	linux-kernel, linux-serial

If the address provided for the UART is of an I/O port rather than
a regular memory address, then set the port iotype appropriately and
write the address to iobase rather than mapbase.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
---

 drivers/tty/serial/of_serial.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
index 137381e..ccff9ba 100644
--- a/drivers/tty/serial/of_serial.c
+++ b/drivers/tty/serial/of_serial.c
@@ -110,7 +110,12 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
 
 	port->irq = irq_of_parse_and_map(np, 0);
 	port->iotype = UPIO_MEM;
-	if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
+
+	if (resource.flags & IORESOURCE_IO) {
+		port->iotype = UPIO_PORT;
+		port->iobase = port->mapbase;
+		port->mapbase = 0;
+	} else if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
 		switch (prop) {
 		case 1:
 			port->iotype = UPIO_MEM;
-- 
2.4.1

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

* Re: [PATCH 00/15] MIPS Malta DT Conversion
       [not found] ` <1432309875-9712-1-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
@ 2015-05-25  7:59   ` Rob Landley
       [not found]     ` <CAOS_Y6TRN2b5PGxWdO6SD5W2Wmo33Z88DeHw7Jrxw4TzzVYLcA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Landley @ 2015-05-25  7:59 UTC (permalink / raw)
  To: Paul Burton
  Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Rob Herring,
	Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Jiri Slaby,
	Paolo Bonzini, Leonid Yegoshin, Kernel Mailing List, James Hogan,
	Steven J. Hill, Hannes Reinecke, Andrew Bresticker,
	Thomas Gleixner, Greg Kroah-Hartman, Ralf Baechle, Qais Yousef,
	linux-serial-u79uwXL29TY76Z2rM5mHXA, Markos Chandras,
	Christoph Hellwig, Michal Marek <mm>

On Fri, May 22, 2015 at 10:50 AM, Paul Burton <paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org> wrote:
> This series begins converting the MIPS Malta board to use device tree,
> which is done with a few goals in mind:
>
>   - To modernise the Malta board support, providing a cleaner example to
>     people referencing it when bringing up new boards and reducing the
>     amount of code they need to write.
>
>   - To make the code at the board level more generic with the eventual
>     aim of sharing it between multiple boards & allowing for
>     multi-platform kernel binaries. Although this series doesn't result
>     in the kernel reaching those goals, it is a step in that direction.
>
>   - To result in a more maintainable kernel through a combination of the
>     above.

How would I go about testing this under qemu?

(Especially the "more than 256 megs ram" part. :)

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 00/15] MIPS Malta DT Conversion
       [not found]     ` <CAOS_Y6TRN2b5PGxWdO6SD5W2Wmo33Z88DeHw7Jrxw4TzzVYLcA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-05-25 13:29       ` Paul Burton
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Burton @ 2015-05-25 13:29 UTC (permalink / raw)
  To: Rob Landley
  Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Rob Herring,
	Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Jiri Slaby,
	Paolo Bonzini, Leonid Yegoshin, Kernel Mailing List, James Hogan,
	Steven J. Hill, Hannes Reinecke, Andrew Bresticker,
	Thomas Gleixner, Greg Kroah-Hartman, Ralf Baechle, Qais Yousef,
	linux-serial-u79uwXL29TY76Z2rM5mHXA, Markos Chandras,
	Christoph Hellwig, Michal

[-- Attachment #1: Type: text/plain, Size: 1715 bytes --]

On Mon, May 25, 2015 at 02:59:31AM -0500, Rob Landley wrote:
> On Fri, May 22, 2015 at 10:50 AM, Paul Burton <paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org> wrote:
> > This series begins converting the MIPS Malta board to use device tree,
> > which is done with a few goals in mind:
> >
> >   - To modernise the Malta board support, providing a cleaner example to
> >     people referencing it when bringing up new boards and reducing the
> >     amount of code they need to write.
> >
> >   - To make the code at the board level more generic with the eventual
> >     aim of sharing it between multiple boards & allowing for
> >     multi-platform kernel binaries. Although this series doesn't result
> >     in the kernel reaching those goals, it is a step in that direction.
> >
> >   - To result in a more maintainable kernel through a combination of the
> >     above.
> 
> How would I go about testing this under qemu?
> 
> (Especially the "more than 256 megs ram" part. :)

Hi Rob,

With the series applied you can start from malta_defconfig, enable
CONFIG_HIGHMEM, build your kernel then run QEMU like so:

  $ qemu-system-mipsel -kernel vmlinux -m 1G -append memsize=1G -serial stdio

If you apply this patch to QEMU:

  https://www.mail-archive.com/qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org/msg297902.html

(or if you use a real board) then you can omit the memsize argument from
the kernel command line (ie. the -append) and just do:

  $ qemu-system-mipsel -kernel vmlinux -m 1G -serial stdio

The kernel will then retrieve the correct memory size from the
bootloader-provided environment and make use of all the available RAM.

Thanks,
    Paul

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: [PATCH 08/15] of_serial: support for UARTs on I/O ports
       [not found]   ` <1432309875-9712-9-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
@ 2015-05-26 13:53     ` Peter Hurley
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Hurley @ 2015-05-26 13:53 UTC (permalink / raw)
  To: Paul Burton, linux-mips-6z/3iImG2C8G8FEW9MqTrA, Arnd Bergmann
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, Greg Kroah-Hartman,
	Jiri Slaby, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-serial-u79uwXL29TY76Z2rM5mHXA

[ + Arnd who has been reviewing/acking of_serial.c changes ]

On 05/22/2015 11:51 AM, Paul Burton wrote:
> If the address provided for the UART is of an I/O port rather than
> a regular memory address, then set the port iotype appropriately and
> write the address to iobase rather than mapbase.
> 
> Signed-off-by: Paul Burton <paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
> ---
> 
>  drivers/tty/serial/of_serial.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
> index 137381e..ccff9ba 100644
> --- a/drivers/tty/serial/of_serial.c
> +++ b/drivers/tty/serial/of_serial.c
> @@ -110,7 +110,12 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
>  
>  	port->irq = irq_of_parse_and_map(np, 0);
>  	port->iotype = UPIO_MEM;
> -	if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
> +
> +	if (resource.flags & IORESOURCE_IO) {
> +		port->iotype = UPIO_PORT;
> +		port->iobase = port->mapbase;
> +		port->mapbase = 0;
> +	} else if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
>  		switch (prop) {
>  		case 1:
>  			port->iotype = UPIO_MEM;
> 

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

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

end of thread, other threads:[~2015-05-26 13:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-22 15:50 [PATCH 00/15] MIPS Malta DT Conversion Paul Burton
2015-05-22 15:51 ` [PATCH 08/15] of_serial: support for UARTs on I/O ports Paul Burton
     [not found]   ` <1432309875-9712-9-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-05-26 13:53     ` Peter Hurley
     [not found] ` <1432309875-9712-1-git-send-email-paul.burton-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-05-25  7:59   ` [PATCH 00/15] MIPS Malta DT Conversion Rob Landley
     [not found]     ` <CAOS_Y6TRN2b5PGxWdO6SD5W2Wmo33Z88DeHw7Jrxw4TzzVYLcA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-25 13:29       ` Paul Burton

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).