]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - post/tests.c
sniper: Serial number support, obtained from die ID
[karo-tx-uboot.git] / post / tests.c
index 698f85c98d43b7cdc7f145fac7df7120a1047f3f..a4d41654603f2b6fc515ba90aaf34b0153bd8164 100644 (file)
@@ -2,35 +2,18 @@
  * (C) Copyright 2002
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
- * 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+
  *
  * Be sure to mark tests to be run before relocation as such with the
- * CFG_POST_PREREL flag so that logging is done correctly if the
+ * CONFIG_SYS_POST_PREREL flag so that logging is done correctly if the
  * logbuffer support is enabled.
  */
 
 #include <common.h>
 
-#ifdef CONFIG_POST
-
 #include <post.h>
 
+extern int ocm_post_test (int flags);
 extern int cache_post_test (int flags);
 extern int watchdog_post_test (int flags);
 extern int i2c_post_test (int flags);
@@ -47,6 +30,18 @@ extern int sysmon_post_test (int flags);
 extern int dsp_post_test (int flags);
 extern int codec_post_test (int flags);
 extern int ecc_post_test (int flags);
+extern int flash_post_test(int flags);
+
+extern int dspic_init_post_test (int flags);
+extern int dspic_post_test (int flags);
+extern int gdc_post_test (int flags);
+extern int fpga_post_test (int flags);
+extern int lwmon5_watchdog_post_test(int flags);
+extern int sysmon1_post_test(int flags);
+extern int coprocessor_post_test(int flags);
+extern int led_post_test(int flags);
+extern int button_post_test(int flags);
+extern int memory_regions_post_test(int flags);
 
 extern int sysmon_init_f (void);
 
@@ -55,7 +50,19 @@ extern void sysmon_reloc (void);
 
 struct post_test post_list[] =
 {
-#if CONFIG_POST & CFG_POST_CACHE
+#if CONFIG_POST & CONFIG_SYS_POST_OCM
+    {
+       "OCM test",
+       "ocm",
+       "This test checks on chip memory (OCM).",
+       POST_ROM | POST_ALWAYS | POST_PREREL | POST_CRITICAL | POST_STOP,
+       &ocm_post_test,
+       NULL,
+       NULL,
+       CONFIG_SYS_POST_OCM
+    },
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_CACHE
     {
        "Cache test",
        "cache",
@@ -64,10 +71,13 @@ struct post_test post_list[] =
        &cache_post_test,
        NULL,
        NULL,
-       CFG_POST_CACHE
+       CONFIG_SYS_POST_CACHE
     },
 #endif
-#if CONFIG_POST & CFG_POST_WATCHDOG
+#if CONFIG_POST & CONFIG_SYS_POST_WATCHDOG
+#if defined(CONFIG_POST_WATCHDOG)
+       CONFIG_POST_WATCHDOG,
+#else
     {
        "Watchdog timer test",
        "watchdog",
@@ -76,10 +86,11 @@ struct post_test post_list[] =
        &watchdog_post_test,
        NULL,
        NULL,
-       CFG_POST_WATCHDOG
+       CONFIG_SYS_POST_WATCHDOG
     },
 #endif
-#if CONFIG_POST & CFG_POST_I2C
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_I2C
     {
        "I2C test",
        "i2c",
@@ -88,10 +99,10 @@ struct post_test post_list[] =
        &i2c_post_test,
        NULL,
        NULL,
-       CFG_POST_I2C
+       CONFIG_SYS_POST_I2C
     },
 #endif
-#if CONFIG_POST & CFG_POST_RTC
+#if CONFIG_POST & CONFIG_SYS_POST_RTC
     {
        "RTC test",
        "rtc",
@@ -100,10 +111,10 @@ struct post_test post_list[] =
        &rtc_post_test,
        NULL,
        NULL,
-       CFG_POST_RTC
+       CONFIG_SYS_POST_RTC
     },
 #endif
-#if CONFIG_POST & CFG_POST_MEMORY
+#if CONFIG_POST & CONFIG_SYS_POST_MEMORY
     {
        "Memory test",
        "memory",
@@ -112,10 +123,10 @@ struct post_test post_list[] =
        &memory_post_test,
        NULL,
        NULL,
-       CFG_POST_MEMORY
+       CONFIG_SYS_POST_MEMORY
     },
 #endif
-#if CONFIG_POST & CFG_POST_CPU
+#if CONFIG_POST & CONFIG_SYS_POST_CPU
     {
        "CPU test",
        "cpu",
@@ -125,10 +136,10 @@ struct post_test post_list[] =
        &cpu_post_test,
        NULL,
        NULL,
-       CFG_POST_CPU
+       CONFIG_SYS_POST_CPU
     },
 #endif
-#if CONFIG_POST & CFG_POST_FPU
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
     {
        "FPU test",
        "fpu",
@@ -138,10 +149,13 @@ struct post_test post_list[] =
        &fpu_post_test,
        NULL,
        NULL,
-       CFG_POST_FPU
+       CONFIG_SYS_POST_FPU
     },
 #endif
-#if CONFIG_POST & CFG_POST_UART
+#if CONFIG_POST & CONFIG_SYS_POST_UART
+#if defined(CONFIG_POST_UART)
+       CONFIG_POST_UART,
+#else
     {
        "UART test",
        "uart",
@@ -150,10 +164,11 @@ struct post_test post_list[] =
        &uart_post_test,
        NULL,
        NULL,
-       CFG_POST_UART
+       CONFIG_SYS_POST_UART
     },
+#endif /* CONFIG_POST_UART */
 #endif
-#if CONFIG_POST & CFG_POST_ETHER
+#if CONFIG_POST & CONFIG_SYS_POST_ETHER
     {
        "ETHERNET test",
        "ethernet",
@@ -162,10 +177,10 @@ struct post_test post_list[] =
        &ether_post_test,
        NULL,
        NULL,
-       CFG_POST_ETHER
+       CONFIG_SYS_POST_ETHER
     },
 #endif
-#if CONFIG_POST & CFG_POST_SPI
+#if CONFIG_POST & CONFIG_SYS_POST_SPI
     {
        "SPI test",
        "spi",
@@ -174,10 +189,10 @@ struct post_test post_list[] =
        &spi_post_test,
        NULL,
        NULL,
-       CFG_POST_SPI
+       CONFIG_SYS_POST_SPI
     },
 #endif
-#if CONFIG_POST & CFG_POST_USB
+#if CONFIG_POST & CONFIG_SYS_POST_USB
     {
        "USB test",
        "usb",
@@ -186,10 +201,10 @@ struct post_test post_list[] =
        &usb_post_test,
        NULL,
        NULL,
-       CFG_POST_USB
+       CONFIG_SYS_POST_USB
     },
 #endif
-#if CONFIG_POST & CFG_POST_SPR
+#if CONFIG_POST & CONFIG_SYS_POST_SPR
     {
        "SPR test",
        "spr",
@@ -198,10 +213,10 @@ struct post_test post_list[] =
        &spr_post_test,
        NULL,
        NULL,
-       CFG_POST_SPR
+       CONFIG_SYS_POST_SPR
     },
 #endif
-#if CONFIG_POST & CFG_POST_SYSMON
+#if CONFIG_POST & CONFIG_SYS_POST_SYSMON
     {
        "SYSMON test",
        "sysmon",
@@ -210,22 +225,22 @@ struct post_test post_list[] =
        &sysmon_post_test,
        &sysmon_init_f,
        &sysmon_reloc,
-       CFG_POST_SYSMON
+       CONFIG_SYS_POST_SYSMON
     },
 #endif
-#if CONFIG_POST & CFG_POST_DSP
+#if CONFIG_POST & CONFIG_SYS_POST_DSP
     {
        "DSP test",
        "dsp",
        "This test checks any connected DSP(s).",
-       POST_RAM | POST_MANUAL,
+       POST_RAM | POST_ALWAYS | POST_MANUAL,
        &dsp_post_test,
        NULL,
        NULL,
-       CFG_POST_DSP
+       CONFIG_SYS_POST_DSP
     },
 #endif
-#if CONFIG_POST & CFG_POST_DSP
+#if CONFIG_POST & CONFIG_SYS_POST_CODEC
     {
        "CODEC test",
        "codec",
@@ -234,10 +249,10 @@ struct post_test post_list[] =
        &codec_post_test,
        NULL,
        NULL,
-       CFG_POST_CODEC
+       CONFIG_SYS_POST_CODEC
     },
 #endif
-#if CONFIG_POST & CFG_POST_ECC
+#if CONFIG_POST & CONFIG_SYS_POST_ECC
     {
        "ECC test",
        "ecc",
@@ -246,11 +261,60 @@ struct post_test post_list[] =
        &ecc_post_test,
        NULL,
        NULL,
-       CFG_POST_ECC
+       CONFIG_SYS_POST_ECC
+    },
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_BSPEC1
+       CONFIG_POST_BSPEC1,
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_BSPEC2
+       CONFIG_POST_BSPEC2,
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_BSPEC3
+       CONFIG_POST_BSPEC3,
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_BSPEC4
+       CONFIG_POST_BSPEC4,
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_BSPEC5
+       CONFIG_POST_BSPEC5,
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_COPROC
+    {
+       "Coprocessors communication test",
+       "coproc_com",
+       "This test checks communication with coprocessors.",
+       POST_RAM | POST_ALWAYS | POST_CRITICAL,
+       &coprocessor_post_test,
+       NULL,
+       NULL,
+       CONFIG_SYS_POST_COPROC
+    },
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_FLASH
+    {
+       "Parallel NOR flash test",
+       "flash",
+       "This test verifies parallel flash operations.",
+       POST_RAM | POST_SLOWTEST | POST_MANUAL,
+       &flash_post_test,
+       NULL,
+       NULL,
+       CONFIG_SYS_POST_FLASH
+    },
+#endif
+#if CONFIG_POST & CONFIG_SYS_POST_MEM_REGIONS
+    {
+       "Memory regions test",
+       "mem_regions",
+       "This test checks regularly placed regions of the RAM.",
+       POST_ROM | POST_SLOWTEST | POST_PREREL,
+       &memory_regions_post_test,
+       NULL,
+       NULL,
+       CONFIG_SYS_POST_MEM_REGIONS
     },
 #endif
 };
 
-unsigned int post_list_size = sizeof (post_list) / sizeof (struct post_test);
-
-#endif /* CONFIG_POST */
+unsigned int post_list_size = ARRAY_SIZE(post_list);