u-boot/board/mbx8xx
Simon Glass 3929fb0a14 Replace __bss_end__ with __bss_end
Note this is a tree-wide change affecting multiple architectures.

At present we use __bss_start, but mostly __bss_end__. This seems
inconsistent and in a number of places __bss_end is used instead.

Change to use __bss_end for the BSS end symbol throughout U-Boot. This
makes it possible to use the asm-generic/sections.h file on all
archs.

Signed-off-by: Simon Glass <sjg@chromium.org>
2013-03-15 16:13:54 -04:00
..
csr.h rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
dimm.h Initial revision 2001-04-28 17:59:11 +00:00
flash.c rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
Makefile Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
mbx8xx.c board/mbx8xx/mbx8xx.c: Fix GCC 4.6 build warnings 2011-11-07 22:14:36 +01:00
pcmcia.c board/mbx8xx/pcmcia.c: Fix GCC 4.6 build warnings 2011-11-07 22:12:45 +01:00
README doc: cleanup - move board READMEs into respective board directories 2012-07-29 15:42:02 +02:00
u-boot.lds Replace __bss_end__ with __bss_end 2013-03-15 16:13:54 -04:00
u-boot.lds.debug common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
vpd.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
vpd.h Initial revision 2001-04-28 17:59:11 +00:00

IMPORTANT NOTE - read before defining CONFIG_SYS_USE_OSCCLK in your board
		 config file!!!


WARNING: Wrong settings of this parameter have the potential to
damage hardware by running the MBX's CPU at frequencies that exceed
it's rating and/or overdriving the it's SPLL!


Ramblings:
1) Motorola offered 12 different variants of the MBX, 6 823s and 6 860s.
2) Of these 12 variants, only 2 were entry level boards.
3) I believe that the 2 entry level boards were the only ones that
   used OSCM clocking. I can't be completely certain of this at this
   point.
4) Motorola never offered an MBX that ran faster than 50Mhz.
5) The 10, non-entry level boards, ran at 40Mhz.
6) The EXTCLK input has a minimum clock of 15Mhz for the 823/860.
7) Motorola no longer sells MBXs.

Based on this information, I can surmise that the default power-on
reset clocking was one of the following three options.

Multiplier       SPLL Options
------------------------------------
513              OSCM is SPLL input
5                OSCM is SPLL input
1                EXTCLK is SPLL input

The forth option:

5                EXTCLK is SPLL input

is not possible on MBXs. This is because the minimum EXTCLK input
frequency is 15Mhz. 5 * 15Mhz = 75 Mhz. There was no variant that ran
above 50 Mhz.

The board I have borrowed definitely uses a multiplier of 1 for
EXTCLK and runs at 40Mhz. I even went so far as to put a scope on it.

One of the two default OSCM modes are most likely what was used on
the entry level boards to cheapen them by eliminating the external
crystal oscillator.

To add insult to injury, the stupid 860 PLPRCR register retains it's
multiplication factor through hard resets. You can't clear it out
because it is battery backed and once it is set wrong, it stays
wrong. The only way to reset it, so that it takes on it's default
multiplier is to disconnect all power including external, batteries,
as well discharging caps on the board. This precludes the fact that
your 860 may be quite DEAD by this time!

If you don't setup the multiplication factor for boards that use the
OSCM input, they won't run correctly, but at least they won't be
dead.

Addtionally, there is no good way to determine the clock input source
from CPU register data. The only way to deal with this is either hard
code it, determine the correct value with some rather NASTY timing
loops, or try to grok it from external data sources. Motorola
firmware opts for the NASTY timing loops, but needs to configure the
serial ports to do so.


You may have a legitimate need to define CONFIG_SYS_USE_OSCCLK if your
MBX8xx board is using the OSCM clocking mode.

You better know what you are doing here.