diff --git a/doc/README.SBC8560 b/doc/README.SBC8560
index 83f2640..c4b6422 100644
--- a/doc/README.SBC8560
+++ b/doc/README.SBC8560
@@ -1,49 +1,52 @@
-The port was tested on Wind River System Sbc8560 board <www.windriver.com>. U-Boot was
-installed on the flash memory of the CPU card (no the SODIMM). 
+The port was tested on Wind River System Sbc8560 board
+<www.windriver.com>. U-Boot was installed on the flash memory of the
+CPU card (no the SODIMM).
 
-NOTE: Please configure uboot compile to the proper PCI frequency and setup the 
-appropriate DIP switch settings.
+NOTE: Please configure uboot compile to the proper PCI frequency and
+setup the appropriate DIP switch settings.
 
 SBC8560 board:
 
-Make sure boards switches are set to their appropriate conditions. Refer
-to the Engineering Reference Guide ERG-00300-002. Of particular 
-importance are: 1)Tthe settings for JP4 (JP4 1-3 and 2-4), which select
-the on-board FLASH device (Intel 28F128Jx); 2) The settings for the Clock SW9 (33 MHz
-or 66 MHz). 
+Make sure boards switches are set to their appropriate conditions.
+Refer to the Engineering Reference Guide ERG-00300-002. Of particular
+importance are: 1) the settings for JP4 (JP4 1-3 and 2-4), which
+select the on-board FLASH device (Intel 28F128Jx); 2) The settings
+for the Clock SW9 (33 MHz or 66 MHz).
 
-	Note:	SW9 Settings: 66 MHz 
-		4:1 ratio CCB clocks:SYSCLK 
+	Note:	SW9 Settings: 66 MHz
+		4:1 ratio CCB clocks:SYSCLK
 		3:1 ration e500 Core:CCB
 		pos1 - on, pos2 - on, pos3 - off, pos4 - on, pos5 - off, pos6 - on
-	Note:	SW9 Settings: 33 MHz 
+	Note:	SW9 Settings: 33 MHz
 		8:1 ratio CCB clocks:SYSCLK
 		3:1 ration e500 Core:CCB
 		pos1 - on, pos2 - on, pos3 - on, pos4 - off, pos5 - off, pos6 - on
-		
+
 
 Flashing the FLASH device with the "Wind River ICE":
 
-1) Properly connect and configure the Wind River ICE to the 
-   target JTAG port. This includes running the SBC8560 register script.
-   Make sure target memory can be read and written.
+1) Properly connect and configure the Wind River ICE to the target
+   JTAG port. This includes running the SBC8560 register script. Make
+   sure target memory can be read and written.
 
 2) Build the u-boot image:
 	make distclean
 	make SBC8560_66_config or SBC8560_33_config
 	make CROSS_COMPILE=.../ELDK3.0/ppc_8xx-/ all
 
-   Note: reference is made to the ELDK3.0 compiler. Further, it seems the ppc_8xx compiler is
- 	 required for the 85xx (no 85xx designated compiler in ELDK3.0)
+   Note: reference is made to the ELDK3.0 compiler. Further, it seems
+	 the ppc_8xx compiler is required for the 85xx (no 85xx
+	 designated compiler in ELDK3.0)
 
-3) Convert the uboot (.elf) file to a uboot.bin file (using visionClick converter).
-   The bin file should be converted from fffc0000 to ffffffff
+3) Convert the uboot (.elf) file to a uboot.bin file (using
+   visionClick converter). The bin file should be converted from
+   fffc0000 to ffffffff
 
 4) Setup the Flash Utility (tools menu) for:
-  
+
    Do a "dc clr" [visionClick] to load the default register settings
    Determine the clock speed of the PCI bus and set SW9 accordingly
-	Note: the speed of the PCI bus defaults to the slowest PCI card 
+	Note: the speed of the PCI bus defaults to the slowest PCI card
    PlayBack the "default" register file for the SBC8560
    Select the uboot.bin file with zero bias
    Select the initialize Target prior to programming
@@ -52,4 +55,3 @@
    Select the start address from 0 with size of 4000
 
 5) Erase and Program
-
diff --git a/doc/README.autoboot b/doc/README.autoboot
index c971bb1..e4c4186 100644
--- a/doc/README.autoboot
+++ b/doc/README.autoboot
@@ -12,7 +12,7 @@
  *
  * 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
+ * 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
@@ -97,7 +97,7 @@
   CONFIG_AUTOBOOT_STOP_STR2
 
   "bootdelaykey"  environment variable
-  "bootstopkey"   environment variable
+  "bootstopkey"	  environment variable
   "bootdelaykey2" environment variable
   "bootstopkey2"  environment variable
 
@@ -106,7 +106,7 @@
 	stop or delay autoboot.
 
 	Define CONFIG_AUTOBOOT_KEYED (no value required) to enable
-	this group of options.  CONFIG_AUTOBOOT_DELAY_STR,
+	this group of options.	CONFIG_AUTOBOOT_DELAY_STR,
 	CONFIG_AUTOBOOT_STOP_STR or both should be specified (or
 	specified by the corresponding environment variable),
 	otherwise there is no way to stop autoboot.
@@ -119,17 +119,17 @@
 	down the seconds. "autoboot in %d seconds\n" is a reasonable
 	prompt.
 
-        If CONFIG_AUTOBOOT_DELAY_STR or "bootdelaykey" is specified
-        and this string is received from console input before
-        autoboot starts booting, U-Boot gives a command prompt. The
-        U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
-        used, otherwise it never times out.
+	If CONFIG_AUTOBOOT_DELAY_STR or "bootdelaykey" is specified
+	and this string is received from console input before
+	autoboot starts booting, U-Boot gives a command prompt. The
+	U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
+	used, otherwise it never times out.
 
-        If CONFIG_AUTOBOOT_STOP_STR or "bootstopkey" is specified and
-        this string is received from console input before autoboot
-        starts booting, U-Boot gives a command prompt. The U-Boot
-        prompt never times out, even if CONFIG_BOOT_RETRY_TIME is
-        used.
+	If CONFIG_AUTOBOOT_STOP_STR or "bootstopkey" is specified and
+	this string is received from console input before autoboot
+	starts booting, U-Boot gives a command prompt. The U-Boot
+	prompt never times out, even if CONFIG_BOOT_RETRY_TIME is
+	used.
 
 	The string recognition is not very sophisticated. If a
 	partial match is detected, the first non-matching character
@@ -138,11 +138,11 @@
 	character of a key string does not appear in the rest of the
 	string.
 
-        Using the CONFIG_AUTOBOOT_DELAY_STR2 #define or the
-        "bootdelaykey2" environment variable and/or the
-        CONFIG_AUTOBOOT_STOP_STR2 #define or the "bootstopkey"
-        environment variable you can specify a second, alternate
-        string (which allows you to have two "password" strings).
+	Using the CONFIG_AUTOBOOT_DELAY_STR2 #define or the
+	"bootdelaykey2" environment variable and/or the
+	CONFIG_AUTOBOOT_STOP_STR2 #define or the "bootstopkey"
+	environment variable you can specify a second, alternate
+	string (which allows you to have two "password" strings).
 
   CONFIG_ZERO_BOOTDELAY_CHECK
 
