[U-Boot] [PATCH 1/4][v2] doc:Add documentation for e500 external debugger support

Prabhakar Kushwaha prabhakar at freescale.com
Wed Mar 21 05:42:32 CET 2012

This describes requirement of e500 and e500v2 processor to support external

It also provide an insight of the configuration switch required and their

Signed-off-by: Radu Lazarescu <radu.lazarescu at freescale.com>
Signed-off-by: Marius Grigoras <marius.grigoras at freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
 Based upon git://git.denx.de/u-boot.git branch master

 Changes for v2: 
 	- Recreated README.mpc85xx
	- Added #define in README

 Tested on
  - SoC having E500 Family processor (P1010RDB, BSC9131RDB)
  - SoC having E500MC Family processor (P4080DS, P3041DS)

 README             |   14 ++++++++++++++
 doc/README.mpc85xx |   23 +++++++++++++++++++++++
 2 files changed, 37 insertions(+), 0 deletions(-)
 create mode 100644 doc/README.mpc85xx

diff --git a/README b/README
index 8964672..48e50ed 100644
--- a/README
+++ b/README
@@ -3347,6 +3347,20 @@ Low Level (hardware related) configuration options:
 		be used if available. These functions may be faster under some
 		conditions but may increase the binary size.
+E500 (MPC85xx) External Debug Support
+		Enables BOOKE e500 family.It includes e500, e500v2 e500mc,
+		e5500 processor etc.
+		Enables a temporary TLB entry to be used during boot to work
+		around limitations in e500v1 and e500v2 external debugger
+		support. This reduces the portions of the boot code where
+		breakpoints and single stepping do not work.  The value of this
+		symbol should be set to the TLB1 entry to be used for this
+		purpose.
 Freescale QE/FMAN Firmware Support:
diff --git a/doc/README.mpc85xx b/doc/README.mpc85xx
new file mode 100644
index 0000000..dbd74be
--- /dev/null
+++ b/doc/README.mpc85xx
@@ -0,0 +1,23 @@
+External Debug Support
+Freescale's e500v1 and e500v2 cores (used in mpc85xx chips) have some
+restrictions on external debugging (JTAG).  In particular, for the debugger to
+be able to receive control after a single step or breakpoint:
+	- MSR[DE] must be set
+	- A valid opcode must be fetchable, through the MMU, from the debug
+	  exception vector (IVPR + IVOR15).
+To maximize the time during which this requirement is met, U-Boot sets MSR[DE]
+immediately on entry and keeps it set. It also uses a temporary TLB to keep a
+mapping to a valid opcode at the debug exception vector, even if we normally
+don't support exception vectors being used that early, and that's not the area
+where U-Boot currently executes from.
+Note that there may still be some small windows where debugging will not work,
+such as in between updating IVPR and IVOR15.
+Config Switches:
+Please refer README section "MPC85xx External Debug Support"

More information about the U-Boot mailing list