Vikram Pandita <[email protected]> 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 <[email protected]>
> Cc: Erik Gilling <[email protected]>
> ---
>  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 [email protected]
> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to