]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - doc/README.POST
Patches by Jon Loeliger, 11 May 2004:
[karo-tx-uboot.git] / doc / README.POST
index 62346adc6f26a702b1409310c8d1ce36163ec58b..a81e07926dbd236fa5ce1346f23d34301f59d079 100644 (file)
@@ -5,7 +5,7 @@ This project is to support Power-On-Self-Test (POST) in U-Boot.
 
 1. High-level requirements
 
-The key rquirements for this project are as follows:
+The key requirements for this project are as follows:
 
 1) The project shall develop a flexible framework for implementing
    and running Power-On-Self-Test in U-Boot. This framework shall
@@ -72,27 +72,27 @@ tests. All POST tests will be divided into the following groups:
      This group will contain those tests that do not take much
      time and can be run on the regular basis (e.g. CPU test)
 
-  3) Tests running on power-fail booting only
+  3) Tests running in special "slow test mode" only
 
      This group will contain POST tests that consume much time
-     and cannot be run regularly (e.g. I2C test)
+     and cannot be run regularly (e.g. strong memory test, I2C test)
 
   4) Manually executed tests
 
      This group will contain those tests that can be run manually.
 
 If necessary, some tests may belong to several groups simultaneously.
-For example, SDRAM test may run on both noarmal and power-fail
-booting. On normal booting, SDRAM test may perform a fast superficial
-memory test only, while running on power-fail booting it may perform
-a full memory check-up.
+For example, SDRAM test may run in both normal and "slow test" mode.
+In normal mode, SDRAM test may perform a fast superficial memory test
+only, while running in slow test mode it may perform a full memory
+check-up.
 
 Also, all tests will be discriminated by the moment they run at.
 Specifically, the following groups will be singled out:
 
   1) Tests running before relocating to RAM
 
-     These tests will run immediatelly after initializing RAM
+     These tests will run immediately after initializing RAM
      as to enable modifying it without taking care of its
      contents. Basically, this group will contain memory tests
      only.
@@ -114,13 +114,15 @@ rest of U-Boot.
 
 The following flags will be defined:
 
-#define POST_ROM               0x01    /* test runs in ROM */
-#define POST_RAM               0x02    /* test runs in RAM */
-#define POST_POWERON           0x04    /* test runs on power-on booting */
-#define POST_NORMAL            0x08    /* test runs on normal booting */
-#define POST_SHUTDOWN          0x10    /* test runs on power-fail booting */
-#define POST_MANUAL            0x20    /* test can be executed manually */
-#define POST_REBOOT            0x80    /* test may cause rebooting */
+#define POST_POWERON           0x01    /* test runs on power-on booting */
+#define POST_NORMAL            0x02    /* test runs on normal booting */
+#define POST_SLOWTEST          0x04    /* test is slow, enabled by key press */
+#define POST_POWERTEST         0x08    /* test runs after watchdog reset */
+#define POST_ROM               0x100   /* test runs in ROM */
+#define POST_RAM               0x200   /* test runs in RAM */
+#define POST_MANUAL            0x400   /* test can be executed manually */
+#define POST_REBOOT            0x800   /* test may cause rebooting */
+#define POST_PREREL             0x1000  /* test runs before relocation */
 
 The POST layer will export the following interface routines:
 
@@ -168,6 +170,13 @@ U-Boot common code:
      will be called on power-fail booting after running all POST
      tests.
 
+  o) int post_hotkeys_pressed(gd_t *gd)
+
+     This routine will scan the keyboard to detect if a magic key
+     combination has been pressed, or otherwise detect if the
+     power-on long-running tests shall be executed or not ("normal"
+     versus "slow" test mode).
+
 The list of available POST tests be kept in the post_tests array
 filled at U-Boot build time. The format of entry in this array will
 be as follows:
@@ -212,7 +221,7 @@ struct post_test {
      argument will be a pointer to the board info structure, while
      the second will be a combination of bit flags specifying the
      mode the test is running in (POST_POWERON, POST_NORMAL,
-     POST_POWERFAIL, POST_MANUAL) and whether the last execution of
+     POST_SLOWTEST, POST_MANUAL) and whether the last execution of
      the test caused system rebooting (POST_REBOOT). The routine will
      return 0 on successful execution of the test, and 1 if the test
      failed.
@@ -220,7 +229,7 @@ struct post_test {
 The lists of the POST tests that should be run at power-on/normal/
 power-fail booting will be kept in the environment. Namely, the
 following environment variables will be used: post_poweron,
-powet_normal, post_shutdown.
+powet_normal, post_slowtest.
 
 2.1.2. Test results
 
@@ -253,7 +262,7 @@ composed of post_test structures:
                "On-board peripherals test", "board", \
                "  This test performs full check-up of the " \
                "on-board hardware.", \
-               POST_RAM | POST_POWERFAIL, \
+               POST_RAM | POST_SLOWTEST, \
                &board_post_test \
        }
 
@@ -725,8 +734,3 @@ TBD
 2.2.3.4. SPI test
 
 TBD
-
-2.3. Design notes
-
-Currently it is unknown how we will power off the board after running
-all power-fail POST tests. This point needs further clarification.