Re: [PATCH v2 1/2] OMAP: Zoom2: Add DEBUG_LL interface using Quart

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Vikram Pandita <vikram.pandita@xxxxxx> writes:

> This patch adds DEBUG_LL interface for Zoom2 board.
> The low level debug uart now points corrctly to External Quad uart
> controller on detachable debug board.
>
> The Quad uart is available over GPMC chip select with physical address
> 0x10000000.
>
> This physical address has been mapped to virtual address 0xFB000000
> as per static mapping.

I see you dropped the UPF_IOREMAP flag. Why do we need a static
mapping here?  The early access will be taken care of by the .phys_io
field of the mach_desc, no?

Kevin

> This patch is adapted from a version by Erik Gilling:
> http://android.git.kernel.org/?p=kernel/omap.git;
> a=commit;h=e9d72efdd88877d2d6ea74a08983ace0dcc771d3
>
> Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx>
> Cc: Erik Gilling <konkers@xxxxxxxxxxx>
> ---
>  arch/arm/mach-omap2/board-zoom-debugboard.c |    5 +++--
>  arch/arm/mach-omap2/board-zoom2.c           |   19 +++++++++++++++++--
>  arch/arm/plat-omap/include/mach/io.h        |    6 ++++++
>  3 files changed, 26 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
> index 1f13e2a..70a4bba 100644
> --- a/arch/arm/mach-omap2/board-zoom-debugboard.c
> +++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
> @@ -82,9 +82,10 @@ static inline void __init zoom2_init_smsc911x(void)
>  
>  static struct plat_serial8250_port serial_platform_data[] = {
>  	{
> -		.mapbase	= 0x10000000,
> +		.membase	= IOMEM(ZOOM2_EXT_QUART_VIRT),
> +		.mapbase	= ZOOM2_EXT_QUART_PHYS,
>  		.irq		= OMAP_GPIO_IRQ(102),
> -		.flags		= UPF_BOOT_AUTOCONF|UPF_IOREMAP|UPF_SHARE_IRQ,
> +		.flags		= UPF_BOOT_AUTOCONF|UPF_SHARE_IRQ,
>  		.irqflags	= IRQF_SHARED | IRQF_TRIGGER_RISING,
>  		.iotype		= UPIO_MEM,
>  		.regshift	= 1,
> diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
> index 324009e..467e961 100644
> --- a/arch/arm/mach-omap2/board-zoom2.c
> +++ b/arch/arm/mach-omap2/board-zoom2.c
> @@ -19,10 +19,12 @@
>  
>  #include <asm/mach-types.h>
>  #include <asm/mach/arch.h>
> +#include <asm/mach/map.h>
>  
>  #include <mach/common.h>
>  #include <mach/usb.h>
>  #include <mach/keypad.h>
> +#include <mach/uncompress.h>
>  
>  #include "mmc-twl4030.h"
>  
> @@ -269,15 +271,28 @@ static void __init omap_zoom2_init(void)
>  	usb_musb_init();
>  }
>  
> +static struct map_desc zoom2_io_desc[] __initdata = {
> +	{
> +		.virtual	= ZOOM2_EXT_QUART_VIRT,
> +		.pfn		= __phys_to_pfn(ZOOM2_EXT_QUART_PHYS),
> +		.length		= ZOOM2_EXT_QUART_SIZE,
> +		.type		= MT_DEVICE
> +	}
> +};
> +
>  static void __init omap_zoom2_map_io(void)
>  {
>  	omap2_set_globals_343x();
> +
> +	/* Map external quad UART virt to phy mapping */
> +	iotable_init(zoom2_io_desc, ARRAY_SIZE(zoom2_io_desc));
> +
>  	omap2_map_common_io();
>  }
>  
>  MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
> -	.phys_io	= 0x48000000,
> -	.io_pg_offst	= ((0xd8000000) >> 18) & 0xfffc,
> +	.phys_io	= ZOOM2_EXT_QUART_PHYS,
> +	.io_pg_offst	= ((ZOOM2_EXT_QUART_VIRT) >> 18) & 0xfffc,
>  	.boot_params	= 0x80000100,
>  	.map_io		= omap_zoom2_map_io,
>  	.init_irq	= omap_zoom2_init_irq,
> diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h
> index 8d32df3..d67f06c 100644
> --- a/arch/arm/plat-omap/include/mach/io.h
> +++ b/arch/arm/plat-omap/include/mach/io.h
> @@ -169,6 +169,12 @@
>  #define DSP_MMU_34XX_VIRT	0xe2000000
>  #define DSP_MMU_34XX_SIZE	SZ_4K
>  
> +/* Map External Quad UART for Zoom2 board */
> +#define ZOOM2_EXT_QUART_PHYS		0x10000000 /* PHY address if fixed */
> +#define ZOOM2_EXT_QUART_PHY_TO_VIRT_OFF	0xEB000000
> +#define ZOOM2_EXT_QUART_VIRT		0xFB000000
> +#define ZOOM2_EXT_QUART_SIZE		SZ_16
> +
>  /*
>   * ----------------------------------------------------------------------------
>   * Omap4 specific IO mapping
> -- 
> 1.6.3.3.334.g916e1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux