]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/avr32/lib/bootm.c
avr32: use generic gd->start_addr_sp
[karo-tx-uboot.git] / arch / avr32 / lib / bootm.c
index c9a55ffb2cff9bcda16e73d451a316ba1bcbd1df..1c26f1b36a36d1986d7b4b7851ffd5628cef99d9 100644 (file)
@@ -1,23 +1,7 @@
 /*
  * Copyright (C) 2004-2006 Atmel Corporation
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 #include <common.h>
 #include <command.h>
@@ -109,7 +93,7 @@ static struct tag *setup_clock_tags(struct tag *params)
        params->hdr.size = tag_size(tag_clock);
        params->u.clock.clock_id = ACLOCK_BOOTCPU;
        params->u.clock.clock_flags = 0;
-       params->u.clock.clock_hz = gd->cpu_hz;
+       params->u.clock.clock_hz = gd->arch.cpu_hz;
 
 #ifdef CONFIG_AT32AP7000
        /*
@@ -187,12 +171,21 @@ int do_bootm_linux(int flag, int argc, char * const argv[], bootm_headers_t *ima
        struct  tag *params, *params_start;
        char    *commandline = getenv("bootargs");
 
+       /*
+        * allow the PREP bootm subcommand, it is required for bootm to work
+        *
+        * TODO: Andreas Bießmann <andreas.devel@googlemail.com> refactor the
+        * do_bootm_linux() for avr32
+        */
+       if (flag & BOOTM_STATE_OS_PREP)
+               return 0;
+
        if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
                return 1;
 
        theKernel = (void *)images->ep;
 
-       show_boot_progress (15);
+       bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 
        params = params_start = (struct tag *)gd->bd->bi_boot_params;
        params = setup_start_tag(params);