wdenk [Fri, 28 Dec 2001 17:13:34 +0000 (17:13 +0000)]
Patch by Brad Kemp, 27 Dec 2001
Move board dependend config stuff from cpu/mpc8260/ether_fcc.c to
board config files; cleanup mess of CONFIG_ETHER_ON_* and
CONFIG_ETHER_USE_* definitions.
wdenk [Fri, 28 Dec 2001 14:03:47 +0000 (14:03 +0000)]
Patch by Josh Huber, 19 Dec 2001
- Renamed cpu/mpc74xx to cpu/74xx_7xx, added support for various
CPUs of those families.
- Added support for stack-in-cache trick for both those cpus and
the evb64260 board.
- Replaced code for sizing memory on the evb64260 to auto-configure
the SDRAM by reading the SPD chip w/i2c bus.
- Added a fairly bare bones i2c driver to the evb64260 board
- Added support for ECC memory to the evb64260 board
- Initial support for the new eval boards (and the 64260A chip)
wdenk [Fri, 28 Dec 2001 10:09:14 +0000 (10:09 +0000)]
Patch by Oliver Brown, 17 Dec 2001:
- accept CROSS_COMPILE setting from shell
- add support for gw8260 board
- add support for flash checksum
- add support for inclusion of BUILD_TAG into PPCBoot version string
- mpc8260/cpu_init.c: initialize data register before driving outputs
wdenk [Fri, 7 Dec 2001 01:21:34 +0000 (01:21 +0000)]
* Patch by Denis Peter, 5 Dec 2001
- add USB support for 40x
- add support for MIP405 board
- Move PIP405 into new manufacturer's directory,
separate out common stuff
- changed scsi_init in file common/board.c to make it common to IDE
init
- added last_stage_init in common/board.c (#ifdef
CONFIG_LAST_STAGE_INIT) for parts which needs working interrupts
(ISA Keyboard etc)
- replaced "defined(CONFIG_PIP405)" in common/cmd_i2c.c with
"defined(CONFIG_I2C405)" which is also defined for MIP405. Other
405 based boards may also change to this define. (CONFIG_W70
CONFIG_CPCI405, CONFIG_AR405, CONFIG_WALNUT405 and CONFIG_ERIC).
- add "device_deregister()" in common/devices.c. Used to
deregister the USB keyboard.
- removed drv_isa_kbd_init() in common/devices.c because it will
not work when initializing before setting up the interrupts.
- changed type of TimeOut from int to ulong and the sequence how
the TimeOut value is calculated (to prevent an overflow for a CPU
frequency of 266MHz) in file cpu/ppc4xx/i2c.c.
- fix size rounding in disc/part.c
wdenk [Tue, 4 Dec 2001 08:57:14 +0000 (08:57 +0000)]
Add support for new 8260 mask revisions.
Fix bugs in EEPROM commands introduced by Erik Theisen patch 8.
Fix bug in IP address initialization.
Allow TQM8260 configuration via Makefile target
wdenk [Wed, 28 Nov 2001 17:49:52 +0000 (17:49 +0000)]
The Big Rename: renamed 8240 ==> 824x to allow for easier integration
of 8245 and other 824x CPU's
Patch by Greg Allen <gallen@arlut.utexas.edu>, 26 Nov 2001
wdenk [Mon, 26 Nov 2001 23:10:26 +0000 (23:10 +0000)]
Series of patches by Erik Theisen, 25 Nov 2001:
Patch 6 of 9:
- Fix length check bug in cpu/ppc4xx/i2c.c
- Fix special case handling (for all IBM 4xx derivatives) in
include/i2c.h
- Add new i2c_write_page function.
Patch 7 of 9:
- Fix and document bug in cpu/ppc4xx/serial.c concerning hardware
errata about the serial divisor on all 405s.
- Add watchdog support to cpu/ppc4xx/serial.c
wdenk [Mon, 26 Nov 2001 22:06:14 +0000 (22:06 +0000)]
Series of patches by Erik Theisen, 25 Nov 2001:
Patch 1 of 9:
- common/environment.S replaced by C file; necessary because:
a) People were defining CONFIG_BOOTCOMMAND, CONFIG_BOOTARGS and
other CONFIG parameters as a list of whitespace separated
strings. C does the right thing and concatenates them for
common/cmd_nvedit.c.
b) Was only working for common/environment.S in ppcboot and
tools/envcrc due to a bug in GNU 'as' in that it accepts a
list of whitespace seperated strings and treats them as comma
separated. The GNU 'as' manual explitly states:
`.ascii' expects zero or more string literals (*note
Strings::) SEPARATED BY COMMAS. It assembles each string
(with no automatic trailing zero byte) into consecutive
addresses.
c) Could not build tree on several commercial UNIX's because some
of them do not use GNU 'as'. Therefore the bug in item 'b' was
causing lossage on these platforms (Solaris, Mac OS X).
d) Some UNIXes as well as other OSs prepend leading characters to
symbol names (Motorola V68/Mac OS X/Mach/Others).
common/environment.S had no prevision for this and was causing
build failures for tools/envcrc due to unresolved symbols.
Patch 2 of 9:
- avoid Korn Shellism in MAKEALL Bourne shell script
- Fix build problems caused by non-exported TEXT_BASE,
PLATFORM_CPPFLAGS, and PLATFORM_RELFLAGS make variables.
- Explictly setting PLATFORM_CPPFLAGS and PLATFORM_CPPFLAGS to
nothingness in config.mk was causing lossage on Solaris and Apple
platforms.
- Specialized Makefile host settings in tools directory allows
clean builds on Mac OS X. See comment in tools/Makefile.
Specialized host settings are passed to tools/gdb/Makefile
as well
- Added tools/envcrc support for the new common/environment.c
- Mac OS X uses cc NOT gcc. Added support for this.
- Added a default BFD path for Mac OS X. This is invoked only when
running Mac OS X.
Patch 3 of 9:
- Fix help text alignment for get/set_dcr commands.
- Fix type problem in tools/bmp_logo.c (Not everyone has
uchar/ushort).
Patch 4 of 9:
- Fix "operation may be undefined" warnings for code like this:
rx_new = (++rx_new) % rxRingSize;
- Fix warnings for "Deprecated use of label followed by closing
block statement."
- Fix warnings concerning "Deperecated use of multi-line strings."
in embedded assembler code.
- Fix warnings with "No newline at end of file" files.
[Thanks, GCC 3.0.2, for all these rather usless warnings.]
Patch 5 of 9:
- New watchdog interface via watchdog.h to support Wave 7 Optics
hardware watchdog; cleanup the whole watchdog stuff
wdenk [Sun, 18 Nov 2001 19:54:01 +0000 (19:54 +0000)]
* Add support for direct TFTP download to flash memory (optional).
Patch by David Petersen, 26 Oct 2001
* Adapt to new watchdog on LWMON board; re-trigger watchdog in all
udelay() loops.
* Patch by Stefan Roese, 13 Nov 2001:
- CFG_CMG_ELF added (bootelf, bootvx and VxWorks image type for
bootm). Commands bootelf/bootvx not in CFG_CMD_BEDBUG any more (all
targets using Bedbug changed to use CFG_CMD_ELF too).
- Minor bug fixed in ppc405gp ethernet driver.
- Generic ppc405 EBC (External Bus Controller) setup added. No need
for assembler code in board/init.S (see ESD CPCI405 board).
- Some ESD board setups remorked.
* Make PPCBoot build on OpenBSD (x86 and PPC)
Patch by Rich Ireland, 2 Oct 2001
* Minor fixes/modifcations to CCM configuration
* Add support for FEC on TQM855L(T)/TQM860L(T,P);
pass config options via Makefile target names
* Fix CU824 flash driver to work with all write sizes
wdenk [Mon, 5 Nov 2001 17:47:39 +0000 (17:47 +0000)]
* Misc minor bug fixes, like cache line size for 82xx systems
* Made Sandpoint8240 compile
Patch by Jim Thompson, 5 Nov 2001
* Improving LCD driver
* Improving LWMON keyboard handling
wdenk [Sat, 3 Nov 2001 22:21:12 +0000 (22:21 +0000)]
* Add LCD driver for MPC823;
changed initialization sequence to get display early.
* Minor code reordering, cleanup and reformatting
* Fix bug in cpu/mpc8xx/i2c.c: when used to read environment from
EEPROM, it tries to access serial console before port was initialized
Patch by David Petersen, 2 Nov 2001
wdenk [Sun, 21 Oct 2001 10:54:46 +0000 (10:54 +0000)]
Several patches by Erik Theisen, 14 Oct 2001:
---------------------------------------------
- Fix udelay() for longer delays
- Fix wait_ticks() - don't treat timebase registers as signed
- Fix command name conflicts due to abbreviated length
- Add support for Apple's OS X host environment
- Add support for IBM 4xx DCR registers (commands "getdcr" and
"setdcr" to read and read/modify/write the 4xx DCR)
- Sort command table alphabetically and in descending string length
order to prevent conflicts; added doc/README.commands
- add "reset" option to help info for "date" command
- add support for the ST Electronics M48T35Ax Timekeeper RTC
- add support for "flash_real_protect()" for flash chips that provide
software sector protection routines, e.g. Intel StrataFlash (board
specific code)
- add support for LMC and LMG boards; some of the features might be
interesting to others:
o The flash on these boards is disjointed, e.g. mixed types for
different purposes. Therefore it is kept in different memory
regions.
o The Main Flash is interleaved betweed 2 StrataFlash parts,
necessitating some tricks to fit in with PPCBoot.
o Real software sector protection is used on the main StrataFlash
via flash_real_protect(). The Boot Flash doesn't support software
based sector protection.
o Specialized code is provided to download 1-6 Xilinx FPGAs.
o There is fairly extensive POST testing of some board subsystems.
Some of this code could be reused on other targets. The SDRAM bus
and RTC battery checks come to mind.
wdenk [Sat, 20 Oct 2001 09:41:35 +0000 (09:41 +0000)]
Fix some HUSH problems.
In the current implementation, the local variables space and global
environment variables space are separated. Local variables are those
you define by simply typing like `name=value'. To access a local
variable later on, you have write `$name' or `${name}'; variable
directly by typing say `$name' at the command prompt.
Global environment variables are those you use setenv/printenv to
work with. To run a command stored in such a variable, you need to
use the run command, and you must not use the '$' sign to access
them.
To store commands and special characters in a variable, please use
double quotation marks surrounding the whole text of the variable,
instead of the backslashes before semicolons and special symbols.
NOTE: still serious quoting problems! cannot access env vars in commands!
wdenk [Wed, 17 Oct 2001 20:21:46 +0000 (20:21 +0000)]
* Extend LWMON keyboard driver to allow for more than one key-coded
pre-boot command (we now support an unlimited number of keys)
* Added "hush" shell (from Busybox) as alternative command line
interpreter, thus enabling powerful command line syntax like
if...then...else...fi conditionals or `&&' and '||' constructs
("shell scripts").
* Modified all commands to provide return codes that can be used for
conditional command execution
wdenk [Wed, 17 Oct 2001 20:06:49 +0000 (20:06 +0000)]
Cleanup of 40x code, adding support to read DIMM SPD EEPROMs to
automatically adjust memory timing.
Patch by Stefan Roese / Kenneth Johansson, 17 Oct 2001
wdenk [Mon, 15 Oct 2001 14:47:04 +0000 (14:47 +0000)]
Added CFG_DEFAULT_IMMR:
Default address of the IMMR after system reset. Needed on
some 8260 systems (MPC8260ADS and RPXsuper) to be able to
adjust the position of the IMMR register after a reset.
wdenk [Wed, 10 Oct 2001 09:28:28 +0000 (09:28 +0000)]
* On MPC8240, enable dcache and allocate space for the initial data
structure and initial stack in it; the MMU had to be enabled
because burst-mode accesses to Flash wouldn't work otherwise.
Tested on CU824, but should work for other 8240-based systems as
well.
* Added Configuration for MPC8260ADS board
(Patch by Stuart Hughes, 07 Oct 2001)
* Add automatic RAM size detection to CU824 board configuration
* Make eth_halt() do nothing when ethernet has never been initialized
(board/{esd/common,cu824}/dc2114x.c)
wdenk [Mon, 8 Oct 2001 19:18:17 +0000 (19:18 +0000)]
* Patch by Jerry Van Baren, 19 Sep 2001:
- tweaks to SBC8260 configuration
- added "mii" command to read and write MII PHY registers; it will
also do a simple "info" where it finds all MII PHYs and prints some
info from their registers.
wdenk [Sun, 7 Oct 2001 12:15:54 +0000 (12:15 +0000)]
* Patch by Stefan Roese, 19 Sep 2001:
- Watchdog support for ppc4xx added.
- CONFIG_PCI_SCAN_SHOW added to print pci devices upon startup
(ppc405gp).
- Added OCRTC Board Support
- SDRAM size autodetect added on some esd boards (ppc405)
- Rework of some esd config files
- Changed cpu defines for ppc4xx for Linux compatibility
CONFIG_PPC405 -> CONFIG_4xx
CONFIG_PPC405GP -> CONFIG_405GP
CONFIG_PPC405CR -> CONFIG_405CR
* Fixed register name (PSMR)
Fixed FD mode for 8xx SCC ethernet
Fixed RCCR init problem with I2C and SPI microcode relocation patch
Fixed make problem under tcsh which causes conflicts with VENDOR
variable
* (PPC405GP only) Added interrupt driven serial port input mode with
hardware handshake
Patch by Morten Brørup, 27 Aug 2001
PPCBoot stores all clock information in Hz internally.
####################################################################
# WARNING: #
# This will cause binary incompatibility with older Linux kernels! #
####################################################################
For binary compatibility with older Linux kernels (which expect the
clocks passed in the bd_info data to be in MHz) the environment
variable "clock_in_mhz" can be defined so that PPCBoot converts
clock data to MHZ before passing it to the Linux kernel. When
CONFIG_CLOCKS_IN_MHZ is defined in the board config file, a
definition of "clock_in_mhz=1" is automatically included in the
default environment.
NOTE: for all boards that did not use the (now obsolete)
CFG_CLKS_IN_HZ option such a #define has been added to the config
file.
wdenk [Wed, 29 Aug 2001 07:55:37 +0000 (07:55 +0000)]
* Re-arrange boot message formatting
(includes patch by Jon Diekema, Fri, 10 Aug 2001)
* Add check for and prevent buffer overflow for BOOTP / DHCP string
parameters
* Fix PUMA download on CCM board
* allow 0x... prefix on input
(based on idea by Mads Dydensborg, Tue, 7 Aug 2001)
* allow to put "preboot" command in default configuration
* extended flash chip support for TQM8260 board (AM29LV800T/B,
AM29LV160T/B, AM29DL322T/B, AM29DL323T/B)
* BCR tweakage for the 8260 bus mode on TQM8260
* SIUMCR tweakage enabling the MI interrupt (IRQ7) on TQM8260
* To simplify switching between bus modes, a new configuration option
(CONFIG_BUSMODE_60x) has been added to the "config_TQM8260.h" file.
If defined, BCR will be configured for the 60x mode, otherwise for
8260 mode.
wdenk [Wed, 8 Aug 2001 00:17:55 +0000 (00:17 +0000)]
* allow 0x... prefix on input
(based on idea by Mads Dydensborg, Tue, 7 Aug 2001)
* allow to put "preboot" command in default configuration
* extended flash chip support for TQM8260 board (AM29LV800T/B,
AM29LV160T/B, AM29DL322T/B, AM29DL323T/B)
* BCR tweakage for the 8260 bus mode on TQM8260
* SIUMCR tweakage enabling the MI interrupt (IRQ7) on TQM8260
* To simplify switching between bus modes, a new configuration option
(CONFIG_BUSMODE_60x) has been added to the "config_TQM8260.h" file.
If defined, BCR will be configured for the 60x mode, otherwise for
8260 mode.
wdenk [Sun, 5 Aug 2001 15:35:04 +0000 (15:35 +0000)]
======================================================================
Modifications for 1.0.4:
======================================================================
* "Hymod-Patch": restructuring of files, major changes to support the
i2c serial eeprom, support for the larger flashes, support for a
"global environment", clean-up in common/environment.S not getting
a correct CRC, added hymod support for rtc and i2c serial
eepromrework of information passed to linux kernel based on the
eeprom support
* "I2C-Patch": fixes to i2c stuff so the new i2c driver can be used
with standard eeprom_*() interface functionsstandard eeprom_*()
interface functions, added error handling via a callback function,
cleaned up the generic eeprom functions, added support for a
configurable write delay after a page write
* "Comp-Patch": fix a few compiler warnings with GCC-3.1
* "BDDB-Patch": added board database tools (so far for hymod boards only)
Mega-Patch from Murray Jensen, 26 Jul 2001
* Added configuration for NX823 boards
* Added Autoscript extension
Patch by Kyle Harris, 23 Jul 2001
* New Board DASA_SIM added
* Added network support for ADCIOP
* Moved environment variables from FLASH to NVRAM on ADCIOP
Patch by Stefan Roese, 30 Jul 2001
* Added configuration for Siemens CCM boards
* Moved PCU_E config to new Siemens vendor directory
* Add support for external MAX706T Watchdog (used on LWMON board)
* remove duplicate wait_ticks() in cpu/mpc8260/start.S and ppc/ticks.S
* Updates for EST SBC8260 port (easier selecttion between SCC1 and
FCC2 for ethernet, enable more features)
Patch by Jon Diekema, 4 Aug 2001
* Switching to new directory layout for better support of vendors
with several boards that share some parts of the code, while being
different in other areas
* Make DHCP request exactly the configured parameters
* Added "preboot" command and corresponding CONFIG_PREBOOT
configuration option
* Allow automatic re-configuration of preboot command upon certain
key combinations (for instance, insert boot delay when certain keys
are pressed)
* Fix watchdog handling for slow systems (add more trigger points)
* Added support for PIP405 board, see "doc/README.PIP405".
Supplied by Denis Peter, 4 Jul 2001
This includes:
- SCSI Support (so far only for Symbios SYM53C810A chip)
- Floppy Disk Support
- CD-ROM Support
- ISO Parttion Support (boot from El-Torito bootable ISO CD-ROM)
- MC146818 RTC support
- Chips & Technologies 69000 Video Chip Support
- Standard (PC-Style) Keyboard Support
- Added IH_OS_PPCBOOT and IH_TYPE_FIRMWARE to the image definitions
to allow PPCBoot updates with CRC check.
wdenk [Sun, 3 Jun 2001 21:57:31 +0000 (21:57 +0000)]
* Fixed problems with initrd_high when handling multifile images
* Patch for SBC8260 configuration
by Jon Diekema: 02 Jun 2001
- Removing CFG_SBC_S2 that isn't used
- Improving the MODCK_H & MODCLK[1-3] table.
wdenk [Mon, 28 May 2001 23:44:53 +0000 (23:44 +0000)]
Patch by Stefan Roese: Fri, 11 May 2001
* PPC405GP ethernet driver: MAL error handling added
* CPCI405: new fpga image (problem with some CompactFlash cards solved)
* PPC405GP Rev E and PPC405CR Rev C PVR added