lkml.org 
[lkml]   [2007]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 36/47] Update CRISv32 boot/rescue/head.S code.
    - Add ifdef for ETRAX_AXISFLASHMAP to avoid compiling file unless it is set.
    - Use assembler macros for setting up clocks.
    - Don't copy image, just jump to it (only works for NOR flash)

    Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
    ---
    arch/cris/arch-v32/boot/rescue/head.S | 42 +++++++++++---------------------
    1 files changed, 15 insertions(+), 27 deletions(-)

    diff --git a/arch/cris/arch-v32/boot/rescue/head.S b/arch/cris/arch-v32/boot/rescue/head.S
    index 8cdb401..5f846b7 100644
    --- a/arch/cris/arch-v32/boot/rescue/head.S
    +++ b/arch/cris/arch-v32/boot/rescue/head.S
    @@ -1,38 +1,26 @@
    -/* $Id: head.S,v 1.4 2004/11/01 16:10:28 starvik Exp $
    +/*
    + * Just get started by jumping to CONFIG_ETRAX_PTABLE_SECTOR to start
    + * kernel decompressor.
    + *
    + * In practice, this only works for NOR flash (or some convoluted RAM boot)
    + * and hence is not really useful for Artpec-3, so it's Etrax FS / NOR only.
    *
    - * This used to be the rescue code but now that is handled by the
    - * RedBoot based RFL instead. Nothing to see here, move along.
    */

    -#include <asm/arch/hwregs/reg_map_asm.h>
    -#include <asm/arch/hwregs/config_defs_asm.h>
    +#include <mach/startup.inc>

    - .text
    +#ifdef CONFIG_ETRAX_AXISFLASHMAP

    - ;; Start clocks for used blocks.
    - move.d REG_ADDR(config, regi_config, rw_clk_ctrl), $r1
    - move.d [$r1], $r0
    - or.d REG_STATE(config, rw_clk_ctrl, cpu, yes) | \
    - REG_STATE(config, rw_clk_ctrl, bif, yes) | \
    - REG_STATE(config, rw_clk_ctrl, fix_io, yes), $r0
    - move.d $r0, [$r1]
    +;; Code

    - ;; Copy 68KB NAND flash to Internal RAM (if NAND boot)
    - move.d 0x38004000, $r10
    - move.d 0x8000, $r11
    - move.d 0x11000, $r12
    - move.d copy_complete, $r13
    - and.d 0x000fffff, $r13
    - or.d 0x38000000, $r13
    + .text
    +start:

    -#include "../../lib/nand_init.S"
    + ;; Start clocks for used blocks.
    + START_CLOCKS

    - ;; No NAND found
    move.d CONFIG_ETRAX_PTABLE_SECTOR, $r10
    - jump $r10 ; Jump to decompresser
    + jump $r10 ; Jump to decompressor
    nop

    -copy_complete:
    - move.d 0x38000000 + CONFIG_ETRAX_PTABLE_SECTOR, $r10
    - jump $r10 ; Jump to decompresser
    - nop
    +#endif
    --
    1.5.3.6.970.gd25430


    \
     
     \ /
      Last update: 2007-12-06 15:36    [W:3.213 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site