Convert CONFIG_SAMSUNG_ONENAND to Kconfig
[platform/kernel/u-boot.git] / include / spl.h
index 6134aba..83ac583 100644 (file)
@@ -62,6 +62,7 @@ static inline bool u_boot_first_phase(void)
 enum u_boot_phase {
        PHASE_NONE,     /* Invalid phase, signifying before U-Boot */
        PHASE_TPL,      /* Running in TPL */
+       PHASE_VPL,      /* Running in VPL */
        PHASE_SPL,      /* Running in SPL */
        PHASE_BOARD_F,  /* Running in U-Boot before relocation */
        PHASE_BOARD_R,  /* Running in U-Boot after relocation */
@@ -114,7 +115,9 @@ static inline enum u_boot_phase spl_phase(void)
 {
 #ifdef CONFIG_TPL_BUILD
        return PHASE_TPL;
-#elif CONFIG_SPL_BUILD
+#elif defined(CONFIG_VPL_BUILD)
+       return PHASE_VPL;
+#elif defined(CONFIG_SPL_BUILD)
        return PHASE_SPL;
 #else
        DECLARE_GLOBAL_DATA_PTR;
@@ -136,10 +139,15 @@ static inline enum u_boot_phase spl_prev_phase(void)
 {
 #ifdef CONFIG_TPL_BUILD
        return PHASE_NONE;
+#elif defined(CONFIG_VPL_BUILD)
+       return PHASE_TPL;       /* VPL requires TPL */
 #elif defined(CONFIG_SPL_BUILD)
-       return IS_ENABLED(CONFIG_TPL) ? PHASE_TPL : PHASE_NONE;
+       return IS_ENABLED(CONFIG_VPL) ? PHASE_VPL :
+               IS_ENABLED(CONFIG_TPL) ? PHASE_TPL :
+               PHASE_NONE;
 #else
-       return IS_ENABLED(CONFIG_SPL) ? PHASE_SPL : PHASE_NONE;
+       return IS_ENABLED(CONFIG_SPL) ? PHASE_SPL :
+               PHASE_NONE;
 #endif
 }
 
@@ -152,6 +160,8 @@ static inline enum u_boot_phase spl_prev_phase(void)
 static inline enum u_boot_phase spl_next_phase(void)
 {
 #ifdef CONFIG_TPL_BUILD
+       return IS_ENABLED(CONFIG_VPL) ? PHASE_VPL : PHASE_SPL;
+#elif defined(CONFIG_VPL_BUILD)
        return PHASE_SPL;
 #else
        return PHASE_BOARD_F;
@@ -168,6 +178,8 @@ static inline const char *spl_phase_name(enum u_boot_phase phase)
        switch (phase) {
        case PHASE_TPL:
                return "TPL";
+       case PHASE_VPL:
+               return "VPL";
        case PHASE_SPL:
                return "SPL";
        case PHASE_BOARD_F:
@@ -189,6 +201,8 @@ static inline const char *spl_phase_prefix(enum u_boot_phase phase)
        switch (phase) {
        case PHASE_TPL:
                return "tpl";
+       case PHASE_VPL:
+               return "vpl";
        case PHASE_SPL:
                return "spl";
        case PHASE_BOARD_F:
@@ -203,6 +217,8 @@ static inline const char *spl_phase_prefix(enum u_boot_phase phase)
 #ifdef CONFIG_SPL_BUILD
 # ifdef CONFIG_TPL_BUILD
 #  define SPL_TPL_NAME "TPL"
+# elif defined(CONFIG_VPL_BUILD)
+#  define SPL_TPL_NAME "VPL"
 # else
 #  define SPL_TPL_NAME "SPL"
 # endif