[RFC 4/7] MIPS: malta: add YAMON-style GT64120 memory map

Antony Pavlov antonynpavlov at gmail.com
Fri Jul 20 06:01:35 EDT 2012


Sorry, this patch can't be applied!
It cites diff-formatted text in the comment.
adding extra spaces to this cited text fixes the problem.

On 20 July 2012 12:47, Antony Pavlov <antonynpavlov at gmail.com> wrote:
> YAMON-style GT64120 memory map make move UART to the new position.
>
> We need YAMON-style GT64120 memory for running Linux kernel from
> barebox.
>
> WARNING! WIP! We need add some more effor for compartability
> with qemu embedded YAMON.
>
> E.g. we need put special Board ID at the start of bootrom:
>
> --- a/arch/mips/boot/start.S
> +++ b/arch/mips/boot/start.S
> @@ -59,6 +59,10 @@ EXPORT(_start)
>          nop
>
>         .org    0x10
> +#if 1
> +       /* Board ID = 0x420 (Malta Board with CoreLV) */
> +       .word   0x00000420
> +#endif
>
> Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
> ---
>  arch/mips/mach-malta/include/mach/hardware.h |    2 +-
>  arch/mips/mach-malta/lowlevel_init.S         |   33 +++++++++++++++++++++++++-
>  2 files changed, 33 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/mach-malta/include/mach/hardware.h b/arch/mips/mach-malta/include/mach/hardware.h
> index ddeb1b7..fde8f22 100644
> --- a/arch/mips/mach-malta/include/mach/hardware.h
> +++ b/arch/mips/mach-malta/include/mach/hardware.h
> @@ -21,7 +21,7 @@
>  #ifndef __INCLUDE_ARCH_HARDWARE_H__
>  #define   __INCLUDE_ARCH_HARDWARE_H__
>
> -#define DEBUG_LL_UART_ADDR     0xb00003f8
> +#define DEBUG_LL_UART_ADDR     0xb80003f8
>  #define DEBUG_LL_UART_SHIFT    0
>
>  /*
> diff --git a/arch/mips/mach-malta/lowlevel_init.S b/arch/mips/mach-malta/lowlevel_init.S
> index a34de74..a0134f8 100644
> --- a/arch/mips/mach-malta/lowlevel_init.S
> +++ b/arch/mips/mach-malta/lowlevel_init.S
> @@ -29,7 +29,38 @@
>
>  LEAF(mach_init_lowlevel)
>
> -       /* nothing special yet */
> +       /*
> +        * Load BAR registers of GT64120 as done by YAMON
> +        *
> +        * based on write_bootloader() in qemu.git/hw/mips_malta.c
> +        * see GT64120 manual and qemu.git/hw/gt64xxx.c for details
> +        *
> +        * This is big-endian version of code!
> +        */
> +
> +       /* move GT64120 registers to 0x1be00000 */
> +       lui     t1, 0xb400
> +       lui     t0, 0xdf00
> +       sw      t0, 104(t1)
> +
> +       /* setup MEM-to-PCI0 mapping */
> +       lui     t1, 0xbbe0
> +
> +       /* setup PCI0 io window to 18000000-181fffff */
> +       lui     t0, 0xc000
> +       sw      t0, 72(t1) /* GT_PCI0IOLD */
> +       lui     t0, 0x4000
> +       sw      t0, 80(t1) /* GT_PCI0IOHD */
> +
> +       /* setup PCI0 mem windows */
> +       lui     t0, 0x8000
> +       sw      t0, 88(t1) /* GT_PCI0M0LD */
> +       lui     t0, 0x3f00
> +       sw      t0, 96(t1) /* GT_PCI0M0HD */
> +       lui     t0, 0xc100
> +       sw      t0, 128(t1) /* GT_PCI0M1LD */
> +       lui     t0, 0x5e00
> +       sw      t0, 136(t1) /* GT_PCI0M1HD */
>
>         /* return */
>         b       mach_init_lowlevel_return
> --
> 1.7.10
>



-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list