]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/bootstage.h
lcd: fix integer overflow in calculation of number of colors
[karo-tx-uboot.git] / include / bootstage.h
index 6dc0422bac42e5960e434559c6bd1b0587be8687..97653602d3dd1eee50510b1d0bd57805f3f44a6a 100644 (file)
@@ -4,29 +4,14 @@
  * to the user and passing it to the OS for logging / further analysis.
  *
  * Copyright (c) 2011 The Chromium OS Authors.
- * 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+
  */
 
 #ifndef _BOOTSTAGE_H
 #define _BOOTSTAGE_H
 
-/* The number of boot stage records available for the user */
+/* Define this for host tools */
 #ifndef CONFIG_BOOTSTAGE_USER_COUNT
 #define CONFIG_BOOTSTAGE_USER_COUNT    20
 #endif
@@ -37,6 +22,24 @@ enum bootstage_flags {
        BOOTSTAGEF_ALLOC        = 1 << 1,       /* Allocate an id */
 };
 
+/* bootstate sub-IDs used for kernel and ramdisk ranges */
+enum {
+       BOOTSTAGE_SUB_FORMAT,
+       BOOTSTAGE_SUB_FORMAT_OK,
+       BOOTSTAGE_SUB_NO_UNIT_NAME,
+       BOOTSTAGE_SUB_UNIT_NAME,
+       BOOTSTAGE_SUB_SUBNODE,
+
+       BOOTSTAGE_SUB_CHECK,
+       BOOTSTAGE_SUB_HASH = 5,
+       BOOTSTAGE_SUB_CHECK_ARCH = 5,
+       BOOTSTAGE_SUB_CHECK_ALL,
+       BOOTSTAGE_SUB_GET_DATA,
+       BOOTSTAGE_SUB_CHECK_ALL_OK = 7,
+       BOOTSTAGE_SUB_GET_DATA_OK,
+       BOOTSTAGE_SUB_LOAD,
+};
+
 /*
  * A list of boot stages that we know about. Each of these indicates the
  * state that we are at, and the action that we are about to perform. For
@@ -83,9 +86,9 @@ enum bootstage_id {
        BOOTSTAGE_ID_POST_FAIL_R,       /* Post failure reported after reloc */
 
        /*
-        * This set is reported ony by x86, and the meaning is different. In
+        * This set is reported only by x86, and the meaning is different. In
         * this case we are reporting completion of a particular stage.
-        * This should probably change in he x86 code (which doesn't report
+        * This should probably change in the x86 code (which doesn't report
         * errors in any case), but discussion this can perhaps wait until we
         * have a generic board implementation.
         */
@@ -137,43 +140,27 @@ enum bootstage_id {
        BOOTSTAGE_ID_NET_DONE_ERR,
        BOOTSTAGE_ID_NET_DONE,
 
+       BOOTSTAGE_ID_FIT_FDT_START = 90,
        /*
         * Boot stages related to loading a FIT image. Some of these are a
         * bit wonky.
         */
-       BOOTSTAGE_ID_FIT_FORMAT = 100,
-       BOOTSTAGE_ID_FIT_NO_UNIT_NAME,
-       BOOTSTAGE_ID_FIT_UNIT_NAME,
-       BOOTSTAGE_ID_FIT_CONFIG,
-       BOOTSTAGE_ID_FIT_CHECK_SUBIMAGE,
-       BOOTSTAGE_ID_FIT_CHECK_HASH = 104,
-
-       BOOTSTAGE_ID_FIT_CHECK_ARCH,
-       BOOTSTAGE_ID_FIT_CHECK_KERNEL,
-       BOOTSTAGE_ID_FIT_CHECKED,
-
-       BOOTSTAGE_ID_FIT_KERNEL_INFO_ERR = 107,
-       BOOTSTAGE_ID_FIT_KERNEL_INFO,
+       BOOTSTAGE_ID_FIT_KERNEL_START = 100,
+
+       BOOTSTAGE_ID_FIT_CONFIG = 110,
        BOOTSTAGE_ID_FIT_TYPE,
+       BOOTSTAGE_ID_FIT_KERNEL_INFO,
 
        BOOTSTAGE_ID_FIT_COMPRESSION,
        BOOTSTAGE_ID_FIT_OS,
        BOOTSTAGE_ID_FIT_LOADADDR,
        BOOTSTAGE_ID_OVERWRITTEN,
 
-       BOOTSTAGE_ID_FIT_RD_FORMAT = 120,
-       BOOTSTAGE_ID_FIT_RD_FORMAT_OK,
-       BOOTSTAGE_ID_FIT_RD_NO_UNIT_NAME,
-       BOOTSTAGE_ID_FIT_RD_UNIT_NAME,
-       BOOTSTAGE_ID_FIT_RD_SUBNODE,
+       /* Next 10 IDs used by BOOTSTAGE_SUB_... */
+       BOOTSTAGE_ID_FIT_RD_START = 120,        /* Ramdisk stages */
 
-       BOOTSTAGE_ID_FIT_RD_CHECK,
-       BOOTSTAGE_ID_FIT_RD_HASH = 125,
-       BOOTSTAGE_ID_FIT_RD_CHECK_ALL,
-       BOOTSTAGE_ID_FIT_RD_GET_DATA,
-       BOOTSTAGE_ID_FIT_RD_CHECK_ALL_OK = 127,
-       BOOTSTAGE_ID_FIT_RD_GET_DATA_OK,
-       BOOTSTAGE_ID_FIT_RD_LOAD,
+       /* Next 10 IDs used by BOOTSTAGE_SUB_... */
+       BOOTSTAGE_ID_FIT_SETUP_START = 130,     /* x86 setup stages */
 
        BOOTSTAGE_ID_IDE_FIT_READ = 140,
        BOOTSTAGE_ID_IDE_FIT_READ_OK,
@@ -181,6 +168,7 @@ enum bootstage_id {
        BOOTSTAGE_ID_NAND_FIT_READ = 150,
        BOOTSTAGE_ID_NAND_FIT_READ_OK,
 
+       BOOTSTAGE_ID_FIT_LOADABLE_START = 160,  /* for Loadable Images */
        /*
         * These boot stages are new, higher level, and not directly related
         * to the old boot progress numbers. They are useful for recording
@@ -207,6 +195,9 @@ enum bootstage_id {
        BOOTSTAGE_ID_MAIN_CPU_READY,
 
        BOOTSTAGE_ID_ACCUM_LCD,
+       BOOTSTAGE_ID_ACCUM_SCSI,
+       BOOTSTAGE_ID_ACCUM_SPI,
+       BOOTSTAGE_ID_ACCUM_DECOMP,
 
        /* a few spare for the user, from here */
        BOOTSTAGE_ID_USER,
@@ -369,6 +360,7 @@ static inline ulong bootstage_error(enum bootstage_id id)
 
 static inline ulong bootstage_mark_name(enum bootstage_id id, const char *name)
 {
+       show_boot_progress(id);
        return 0;
 }