X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=post%2Ftests.c;h=3224f009a67d883fe4632114d318ea74b6e72877;hb=e0f2318f85780c9f4fd5ea0bb5da475b33ebdf78;hp=bdc7e814c7dcde16a1525a79de5130bc7c374c71;hpb=324f6cfd12a00dd1c4829ae950d75d1b91fecdb0;p=u-boot diff --git a/post/tests.c b/post/tests.c index bdc7e814c7..3224f009a6 100644 --- a/post/tests.c +++ b/post/tests.c @@ -19,130 +19,273 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA + * + * Be sure to mark tests to be run before relocation as such with the + * CONFIG_SYS_POST_PREREL flag so that logging is done correctly if the + * logbuffer support is enabled. */ #include -#ifdef CONFIG_POST - #include +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); extern int rtc_post_test (int flags); extern int memory_post_test (int flags); extern int cpu_post_test (int flags); +extern int fpu_post_test (int flags); extern int uart_post_test (int flags); extern int ether_post_test (int flags); extern int spi_post_test (int flags); extern int usb_post_test (int flags); extern int spr_post_test (int flags); +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 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 sysmon_init_f (void); + +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", + "This test verifies the CPU cache operation.", + POST_RAM | POST_ALWAYS, + &cache_post_test, + NULL, + NULL, + CONFIG_SYS_POST_CACHE + }, +#endif +#if CONFIG_POST & CONFIG_SYS_POST_WATCHDOG +#if defined(CONFIG_POST_WATCHDOG) + CONFIG_POST_WATCHDOG, +#else + { + "Watchdog timer test", + "watchdog", + "This test checks the watchdog timer.", + POST_RAM | POST_POWERON | POST_SLOWTEST | POST_MANUAL | POST_REBOOT, + &watchdog_post_test, + NULL, + NULL, + CONFIG_SYS_POST_WATCHDOG + }, +#endif +#endif +#if CONFIG_POST & CONFIG_SYS_POST_I2C { - "Cache test", - "cache", - "This test verifies the CPU cache operation.", - POST_RAM | POST_ALWAYS, - &cache_post_test + "I2C test", + "i2c", + "This test verifies the I2C operation.", + POST_RAM | POST_ALWAYS, + &i2c_post_test, + NULL, + NULL, + CONFIG_SYS_POST_I2C }, #endif -#if CONFIG_POST & CFG_POST_WATCHDOG +#if CONFIG_POST & CONFIG_SYS_POST_RTC { - "Watchdog timer test", - "watchdog", - "This test checks the watchdog timer.", - POST_RAM | POST_POWERON | POST_POWERFAIL | POST_MANUAL | POST_REBOOT, - &watchdog_post_test + "RTC test", + "rtc", + "This test verifies the RTC operation.", + POST_RAM | POST_SLOWTEST | POST_MANUAL, + &rtc_post_test, + NULL, + NULL, + CONFIG_SYS_POST_RTC }, #endif -#if CONFIG_POST & CFG_POST_I2C +#if CONFIG_POST & CONFIG_SYS_POST_MEMORY { - "I2C test", - "i2c", - "This test verifies the I2C operation.", - POST_RAM | POST_ALWAYS, - &i2c_post_test + "Memory test", + "memory", + "This test checks RAM.", + POST_ROM | POST_POWERON | POST_SLOWTEST | POST_PREREL, + &memory_post_test, + NULL, + NULL, + CONFIG_SYS_POST_MEMORY }, #endif -#if CONFIG_POST & CFG_POST_RTC +#if CONFIG_POST & CONFIG_SYS_POST_CPU { - "RTC test", - "rtc", - "This test verifies the RTC operation.", - POST_RAM | POST_POWERFAIL | POST_MANUAL, - &rtc_post_test + "CPU test", + "cpu", + "This test verifies the arithmetic logic unit of" + " CPU.", + POST_RAM | POST_ALWAYS, + &cpu_post_test, + NULL, + NULL, + CONFIG_SYS_POST_CPU }, #endif -#if CONFIG_POST & CFG_POST_MEMORY +#if CONFIG_POST & CONFIG_SYS_POST_FPU { - "Memory test", - "memory", - "This test checks RAM.", - POST_ROM | POST_POWERON | POST_POWERFAIL, - &memory_post_test + "FPU test", + "fpu", + "This test verifies the arithmetic logic unit of" + " FPU.", + POST_RAM | POST_ALWAYS, + &fpu_post_test, + NULL, + NULL, + CONFIG_SYS_POST_FPU }, #endif -#if CONFIG_POST & CFG_POST_CPU +#if CONFIG_POST & CONFIG_SYS_POST_UART { - "CPU test", - "cpu", - "This test verifies the arithmetic logic unit of" - " CPU.", - POST_RAM | POST_ALWAYS, - &cpu_post_test + "UART test", + "uart", + "This test verifies the UART operation.", + POST_RAM | POST_SLOWTEST | POST_MANUAL, + &uart_post_test, + NULL, + NULL, + CONFIG_SYS_POST_UART }, #endif -#if CONFIG_POST & CFG_POST_UART +#if CONFIG_POST & CONFIG_SYS_POST_ETHER { - "UART test", - "uart", - "This test verifies the UART operation.", - POST_RAM | POST_POWERFAIL | POST_MANUAL, - &uart_post_test + "ETHERNET test", + "ethernet", + "This test verifies the ETHERNET operation.", + POST_RAM | POST_ALWAYS | POST_MANUAL, + ðer_post_test, + NULL, + NULL, + CONFIG_SYS_POST_ETHER }, #endif -#if CONFIG_POST & CFG_POST_ETHER +#if CONFIG_POST & CONFIG_SYS_POST_SPI { - "ETHERNET test", - "ethernet", - "This test verifies the ETHERNET operation.", - POST_RAM | POST_ALWAYS | POST_MANUAL, - ðer_post_test + "SPI test", + "spi", + "This test verifies the SPI operation.", + POST_RAM | POST_ALWAYS | POST_MANUAL, + &spi_post_test, + NULL, + NULL, + CONFIG_SYS_POST_SPI }, #endif -#if CONFIG_POST & CFG_POST_SPI +#if CONFIG_POST & CONFIG_SYS_POST_USB { - "SPI test", - "spi", - "This test verifies the SPI operation.", - POST_RAM | POST_ALWAYS | POST_MANUAL, - &spi_post_test + "USB test", + "usb", + "This test verifies the USB operation.", + POST_RAM | POST_ALWAYS | POST_MANUAL, + &usb_post_test, + NULL, + NULL, + CONFIG_SYS_POST_USB }, #endif -#if CONFIG_POST & CFG_POST_USB +#if CONFIG_POST & CONFIG_SYS_POST_SPR { - "USB test", - "usb", - "This test verifies the USB operation.", - POST_RAM | POST_ALWAYS | POST_MANUAL, - &usb_post_test + "SPR test", + "spr", + "This test checks SPR contents.", + POST_RAM | POST_ALWAYS, + &spr_post_test, + NULL, + NULL, + CONFIG_SYS_POST_SPR }, #endif -#if CONFIG_POST & CFG_POST_SPR +#if CONFIG_POST & CONFIG_SYS_POST_SYSMON { - "SPR test", - "spr", - "This test checks SPR contents.", - POST_ROM | POST_ALWAYS, - &spr_post_test + "SYSMON test", + "sysmon", + "This test monitors system hardware.", + POST_RAM | POST_ALWAYS, + &sysmon_post_test, + &sysmon_init_f, + &sysmon_reloc, + CONFIG_SYS_POST_SYSMON }, #endif +#if CONFIG_POST & CONFIG_SYS_POST_DSP + { + "DSP test", + "dsp", + "This test checks any connected DSP(s).", + POST_RAM | POST_ALWAYS | POST_MANUAL, + &dsp_post_test, + NULL, + NULL, + CONFIG_SYS_POST_DSP + }, +#endif +#if CONFIG_POST & CONFIG_SYS_POST_CODEC + { + "CODEC test", + "codec", + "This test checks any connected codec(s).", + POST_RAM | POST_MANUAL, + &codec_post_test, + NULL, + NULL, + CONFIG_SYS_POST_CODEC + }, +#endif +#if CONFIG_POST & CONFIG_SYS_POST_ECC + { + "ECC test", + "ecc", + "This test checks the ECC facility of memory.", + POST_ROM | POST_ALWAYS | POST_PREREL, + &ecc_post_test, + NULL, + NULL, + 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 }; unsigned int post_list_size = sizeof (post_list) / sizeof (struct post_test); - -#endif /* CONFIG_POST */