* Added generic interface for board dependend spacial command
extensions.
* Moved EEPROM code to common directory (cmd_eeprom.c); eliminnated
board specific EEPROM code from a couple of board configurations.
* Moved code for software-I2C from board specific to CPU specific
directory as general alternative for hardware supported code.
Sorry, we have several different interfaces to I2C code right now;
ideally, the hardware supported code should be simplified /
rewritten so that the software and hardware versions become drop-in
replacements for each other.
* Cleanup of 8xx specific #includes, Makefiles, ...
* Fix console on SCC3 for MPC850 systems
(Patch by Dr. Bruno Achauer, 31 Mar 2001)
* Work in progress on LWMON board
wdenk [Wed, 21 Mar 2001 21:27:46 +0000 (21:27 +0000)]
* Added support for LWMON board
(Wolfgang Denk, March 2001)
* Added support for GTH board
(Thomas Lange, 19 Mar 2001)
* Misc patches:
- Latest Hymod code
- minor patch for the "immap" command
- minor patch to the "ctrlc" stuff to support interrupting during
interpreting a command line with multiple sections separated by
semi-colons. i.e. if any command is interrupted with control-C,
this fact is recorded and the command line parser will not
continue running further commands.
- backport to the 8xx platform of the new i2c driver that was
introduced for the 8260 platform
(Patch by Murray Jensen, 05 Mar 2001)
* Fixes for PCMCIA code
(Patch by Thomas Lange, 19 Mar 2001)
* Misc ADCIOP modifications
(Patch by Stefan Roese, 16 Mar 2001)
* Fix sector erase bug on Walnut board
(Patch by Raymond Lo, 14 Mar 2001)
* Added BeOS and *BSD #defines to several files
(Patch by Erik Theisen, 14 Mar 2001)
* MBX8xx Board fixes:
- problem with basic clocking due to bad calculation of the PLPRCR
register's multiplication factor
- couldn't access the board's NVRAM due to incorrect initialization
order of chip selects; the Boot ROM's CS0 was overiding the setup
of the NVRAM.
- initialization of BR and OR memory controller registers was not
compliant with the MBX860 Users Manual
- board level configuration and status register # 2's mapping was
defined in the wrong bit order. This was resulting in a incorrect
error message about NVRAM battery failure.
- Re-enabled CFG_CMD_ENV to allow access to the NVRAM
(Patch by Erik Theisen, 14 Mar 2001)
* Network driver fixes
(Patch by Anne-Sophie Harnois, 13 Mar 2001)
* board_pre_init() patch for CANBT/CPCI405/AR405/CANBT/WALNUT405/CPCIISER4
(Patch from Stefan Roese, 12 Mar 2001)
* Fix problems booting PPCBoot on MBX860
(Patch from Paul Ruhland, 10 Mar 2001)
* Fixed bug in command parsing code
(Patch from Dave Ellis, 05 Mar 2001)
wdenk [Sat, 3 Mar 2001 22:11:50 +0000 (22:11 +0000)]
Fix nasty bug: run_command failed in some cases when the executed
command modifiec the environment (like "bootp" does when it creates
or modifies environment variables). The reason was that we used a
pointer directly into the environment area, which may change while we
are running the command. Grrrgh...
wdenk [Tue, 27 Feb 2001 23:50:37 +0000 (23:50 +0000)]
* Fix watchdog support when used with IDE / PCMCIA
* Add KGDB support for IBM 4xx (Anne-Sophie Harnois): configure one
of the two serial ports for KGDB according to CONFIG_KGDB_SER_INDEX
variable defined in "include/config_WALNUT405.h"
* 'bootd' recursion checking was broken (did nothing).
* 'run' recursion checking was broken.
* There were some problems with 'run' caused by run_command() not
being reentrant. This is fixed.
* New configuration options are to make autobooting more dependable
for production systems. They allow the PPCBoot prompt to time out
and retry the autoboot, and can make it harder to accidentally stop
the autoboot. The options and the reasons to use them are explained
in doc/README.autoboot. (Dave Ellis)
wdenk [Mon, 29 Jan 2001 18:41:09 +0000 (18:41 +0000)]
* Squeeze a few bytes here and there to make it fit in 128k again. Sic!
* Don't count-down if no bootcmd is defined
* Add I2C command
* On the 8260, the i2c parameter RAM must be 64 aligned. Turn off
debugging.
* board.c: include mpc8xx.h only when compiling for MPC8xx CPUs
* Fix "tags" target
* The i2c pins on the 8260 chip must be set Open Drain (I believe
this is common to all, but I'm not sure).
wdenk [Tue, 23 Jan 2001 21:22:08 +0000 (21:22 +0000)]
* Added "echo" command
* Added "tags" make target
* Fix serial driver for MPC8xx / SCC
* Fix compile problems with cogent_mpc8xx
* Use macros with arguments instead of lots of separate #defines in
the cogent/hymod flash drivers
* Add configuration for Walnut405 (Anne-Sophie Harnois)
* Fix bug in PCMCIA initialization; add PCMCIA support for IVML24
wdenk [Wed, 17 Jan 2001 21:17:58 +0000 (21:17 +0000)]
* Add timeout handling to I2C code
* Allow to overwrite CROSS_COMPILE setting when running MAKEALL
script
* Fixes ins rdsproto configuration
* Add missing '\n" in help messages
* Remove PCMCIA code from sixnet configuration (has no PCMCIA)
* Update bd info struct after baudrate changes
* Added "ramboot" and "nfsboot" environment variables for easy
switching between ramdisk and nfsroot configurations
* updated ETX_096 configuration
wdenk [Thu, 11 Jan 2001 22:40:50 +0000 (22:40 +0000)]
Modifications for 0.7.2:
* New configuration for RDS prototype board (by Marius Gröger)
* New i2c.c driver for 82xx (by Marius Gröger)
* Fix TFTP over routers: send ARP to router's ethernet address.
* Add code to recognize ICMP Host Redirect messages; print a warning
(probably bad BOOTP server configuration, like announcing a wrong
or unnecessary router).
* Fix BCSR address in FADS860T configuration (preventing ethernet
from working)
* "setenv" and "saveenv" commands no longer auto-repeatable
* Restrict baudrate settings to certain legal values (see table
CFG_BAUDRATE_TABLE in the board's config header file)
* Now baudrate changes take place immediately (without reset)
----------------------------------------------------------------------
GENIETV patch by Paolo Scaffardi (Fri, 5 Jan 2001 11:27:44 +0100):
* Added support for AMDLV040B 512Kb flash into flash.h
* Changed TEXTBASE into GENIETV configuration
* Added VIDEO_ADDR definition into config_GENIETV.h
* Removed unused files: wl_4ppm_keyboard.c and wl_4ppm_keyboard.h
----------------------------------------------------------------------
* Fix in cpu/mpc8xx/fec.c (by Dave Ellis): The PHY discovery code
must be called after the FEC is enabled, since it uses the FEC to
talk to the PHY.
* Fix bug in clock routing when using SMC2 for console.
* EEPROM Speedup; allow other addresses (by Dave Ellis)
wdenk [Tue, 9 Jan 2001 20:23:06 +0000 (20:23 +0000)]
* New configuration for RDS prototype board (by Marius Gröger)
* New i2c.c driver for 82xx (by Marius Gröger)
* "setenv" and "saveenv" commands no longer auto-repeatable
* Restrict baudrate settings to certain legal values (see table
CFG_BAUDRATE_TABLE in the board's config header file); Now baudrate
changes take place immediately (by Stefan Röse)
wdenk [Fri, 22 Dec 2000 22:52:00 +0000 (22:52 +0000)]
* Added support for PPC405CR (Stefan Roese)
* Fixes in environment code; better detection of CRC errors
* Fixed serial driver over SCC; for MPC8xx now tested on all 4 SCC's
wdenk [Thu, 30 Nov 2000 22:56:37 +0000 (22:56 +0000)]
* Added support for console on SCCx
* Added configuration for ADS860 board
* Add support for MPC860TFADS with ethernet on FEC (but default is
still on SCC1)
* Add PHY type checking.
* Fix typos in mpc8260.h
* Check mask revision in mpc8260/cpu.c
* Add support for OR/BR[45] in mpc8260/cpu_init.c
* Map ELIC and SHARC regions for IVMS8
* Fix timeout handling in TFTP code
* Fix Bug in Boot File Size calculation
* Fix MPC8xxFADS configuration (don't clobber unused port lines)
wdenk [Mon, 20 Nov 2000 17:19:27 +0000 (17:19 +0000)]
* Added support for MBX860T (thanks to Rob Taylor)
* Added support for Sandpoint8240 (thanks to Rob Taylor); this is
Work In Progress (TM); current status: boots to command line input.
EPIC code non-functional (interrupts disabled), No net, No IDE.
wdenk [Sat, 18 Nov 2000 00:48:35 +0000 (00:48 +0000)]
* Misc bug fixes
* All frequencies in HZ now (internally)
* Add support for BOOTP Domain Name Server Option
* Avoid overflowing the BOOTP vendor extension field
wdenk [Sun, 12 Nov 2000 00:42:24 +0000 (00:42 +0000)]
* Cleanup of PCMCIA / IDE code (thanks to Stefan Röse)
* Added configuration for IVMS8 boards (Speech Design)
* Added configuration for SM850 "Service Module" which has a MPC850
with Ethernet on SCC3
WARNING: you CANNOT use SMC1 when Ethernet is on SCC3 - parameter
RAM conflicts!
* Allow to use '\' to escape control characters (';' and '$') while
parsing input - needed to be able to enter a `bootcmd' which
contains more than one command and/or references to variables,
which are resolved not before when running the command.
* MBX8xx support (thanks to Marius Gröger)
* Fix violation of BOOTP message format.
* Allow for configurations which don't define some environment
variables.
wdenk [Fri, 3 Nov 2000 14:18:43 +0000 (14:18 +0000)]
Allow longer BOOTP replies as required by RFC 1524:
NOTE: Future extensions to the BOOTP protocol may increase the size
of BOOTP messages. Therefore, BOOTP messages which, according to the
IP Total Length and UDP Length fields, are larger than the minimum
size specified by [1] MUST also be accepted.
wdenk [Wed, 1 Nov 2000 10:49:44 +0000 (10:49 +0000)]
Allow to use '\' to escape control characters (';' and '$') while
parsing input - needed to be able to enter a `bootcmd' which
contains more than one command and/or references to variables.
wdenk [Sun, 29 Oct 2000 21:36:04 +0000 (21:36 +0000)]
Fix violation of BOOTP message format.
Allow for configurations which don't define some environment variables.
Unified handling of (default) load address.
Changed compiler options to reduce code size.
wdenk [Sun, 29 Oct 2000 21:30:50 +0000 (21:30 +0000)]
Fix violation of BOOTP message format.
Allow for configurations which don't define some environment variables.
Unified handling of (default) load address.
Change compiler options to reduce code size.
* Shifted all CFG_CMD_* definitions to a new include file
"include/cmd_confdefs.h", which must be included in the
include/config_xxx.h file after any definition of CONFIG_COMMANDS
(because it defines CONFIG_COMMAND if it isn't defined already),
but before testing the value of CONFIG_COMMANDS in any #ifs.
* Fixed Cogent support.
* To allow for platform specific make options, we added two new make
variables: PLATFORM_RELFLAGS and PLATFORM_CPPFLAGS. They are
initially set empty, and are included in the definitions of
RELFLAGS and CPPFLAGS in the top level config.mk file. After making
this change, it no longer made sense to have things like #ifdef
CONFIG_8xx or CONFIG_4xx etc in the top level config.mk file - so I
moved each of the platform dependent flags into the various
subdirectory config.mk files.
* Replaced CFG_FLASH_BASE by CFG_MONITOR_BASE when dealing with the
location of the monitor code for systems that boot from EPROM, but
have FLASH somewhere else.
* Added CFG_FLASH_ENV_ADDR for systems where monitor and environment
are in different memory regions.
* Added CFG_FLASH_ENV_BUF for systems with very large flash sectors,
where you cannot reserve a whole sector for the environment (well,
you could store the Linux kernel as environemnt variable then :-)
* Added watchdog support (this will need sppropiate changes in the
Linux kernel, too!)
* Added command to boot from a partition on an IDE device
* Improved IDE support
* Added support for MacOS / LinuxPPC compatible partitions on IDE
devices
* Added support for MBX8xx boards (unfinished, work in progress!
- thanks to Marius Gröger)
* Added list handling into 'common/list.c'
* Added devices support into 'common/devices.c' (now used to install
console devices and redirect stdin, stdout and stderr)
* Detected keypress while showing the help
* Minimized the console structures
* Use a dynamic way to redirect the console input, output and error
using environment variables (stdin, stdout, stderr). The list of
available console devices is printed using the 'coninfo' command.
Supported console drivers are "serial" (buildin) & "video". Who
want to add the LCD console driver? Read the README.CONSOLE for
more infos.
* Some commands default to the "last used address" so that for
instance a "bootp" could be followed by a plain "iminfo" or "bootm"
(without arguments) using the memory address used by the previous
(here bootp) command.
* Rewrite the commandline parser (added a 'repeatable' field to the
command structure)
* The command separator ';' now can be used in interactive commands,
too
* Changed console support to use a global variable that points to the
bd_t structure instead of old bi_mon_fnc_ptr. All console functions
called before relocation will be replaced with the serial functions
on linking.
* Extended BOOTP features. Now we have more network parameters from
the server in net/net.c: subnet mask, gateways ip, NIS domain,
hostname, bootfile size & root path. More can be added by looking
at the RFC1048.
* Added tab emulation on video_putc.
* Fixed FADS823 pcmcia support. Changed PCMCIA driver to support 3.3V
pcmcia cards on the 5V keyed socket.
* Added a custom board configuration (GENIETV).
* Added AD7177 video encoder support.
* Added NTSC support to video controller (untested).
* Added putc, getc, puts and tstc functions.
* Hacked a bug into /tools/easylogo.c
* Some changes to CPCI405 code (by Stefan Roese): added
CONFIG_NVRAM_ENV so that environment variables are no longer in
flash, but in NVRAM (this needs some more defines like base address
and size of the NVRAM); also, the environment is CRC checked
* Some fixes to ATA support, added LinuxPPC partition awareness
* Tested (and fixed) FPS850L configuration
* Added ethernet support for FADS860T (thanks to Christian Vejlbo)
wdenk [Wed, 25 Oct 2000 11:13:54 +0000 (11:13 +0000)]
Modifications for 0.6.0:
* Shifted all CFG_CMD_* definitions to a new include file
"include/cmd_confdefs.h", which must be included in the
include/config_xxx.h file after any definition of CONFIG_COMMANDS
(because it defines CONFIG_COMMAND if it isn't defined already),
but before testing the value of CONFIG_COMMANDS in any #ifs.
* Fixed Cogent support.
* To allow for platform specific make options, we added two new make
variables: PLATFORM_RELFLAGS and PLATFORM_CPPFLAGS. They are
initially set empty, and are included in the definitions of
RELFLAGS and CPPFLAGS in the top level config.mk file. After making
this change, it no longer made sense to have things like #ifdef
CONFIG_8xx or CONFIG_4xx etc in the top level config.mk file - so I
moved each of the platform dependent flags into the various
subdirectory config.mk files.
* Replaced CFG_FLASH_BASE by CFG_MONITOR_BASE when dealing with the
location of the monitor code for systems that boot from EPROM, but
have FLASH somewhere else.
* Added CFG_FLASH_ENV_ADDR for systems where monitor and environment
are in different memory regions.
* Added CFG_FLASH_ENV_BUF for systems with very large flash sectors,
where you cannot reserve a whole sector for the environment (well,
you could store the Linux kernel as environemnt variable then :-)
* Added watchdog support (this will need sppropiate changes in the
Linux kernel, too!)
* Added command to boot from a partition on an IDE device
* Improved IDE support
* Added support for MacOS / LinuxPPC compatible partitions on IDE
devices
* Added support for MBX8xx boards (unfinished, work in progress!
- thanks to Marius Gröger)
* Added list handling into 'common/list.c'
* Added devices support into 'common/devices.c' (now used to install
console devices and redirect stdin, stdout and stderr)
* Detected keypress while showing the help
* Minimized the console structures
* Use a dynamic way to redirect the console input, output and error
using environment variables (stdin, stdout, stderr). The list of
available console devices is printed using the 'coninfo' command.
Supported console drivers are "serial" (buildin) & "video". Who
want to add the LCD console driver? Read the README.CONSOLE for
more infos.
* Some commands default to the "last used address" so that for
instance a "bootp" could be followed by a plain "iminfo" or "bootm"
(without arguments) using the memory address used by the previous
(here bootp) command.
* Rewrite the commandline parser (added a 'repeatable' field to the
command structure)
* The command separator ';' now can be used in interactive commands,
too
* Changed console support to use a global variable that points to the
bd_t structure instead of old bi_mon_fnc_ptr. All console functions
called before relocation will be replaced with the serial functions
on linking.
* Extended BOOTP features. Now we have more network parameters from
the server in net/net.c: subnet mask, gateways ip, NIS domain,
hostname, bootfile size & root path. More can be added by looking
at the RFC1048.
* Added tab emulation on video_putc.
* Fixed FADS823 pcmcia support. Changed PCMCIA driver to support 3.3V
pcmcia cards on the 5V keyed socket.
* Added a custom board configuration (GENIETV).
* Added AD7177 video encoder support.
* Added NTSC support to video controller (untested).
* Added putc, getc, puts and tstc functions.
* Hacked a bug into /tools/easylogo.c
* Some changes to CPCI405 code (by Stefan Roese): added
CONFIG_NVRAM_ENV so that environment variables are no longer in
flash, but in NVRAM (this needs some more defines like base address
and size of the NVRAM); also, the environment is CRC checked
* Some fixes to ATA support, added LinuxPPC partition awareness
* Tested (and fixed) FPS850L configuration
* Added ethernet support for FADS860T (thanks to Christian Vejlbo)
hydra [Sun, 22 Oct 2000 01:51:11 +0000 (01:51 +0000)]
Round two of changes necessary to get the CPCI config to work with
the extended bd_t. Damn.. When will I *ever* learn to compile before
committing? I've been doing for far too long to forget that.
hydra [Sun, 22 Oct 2000 01:46:14 +0000 (01:46 +0000)]
Add changes necessary to boot with the 2.4.0-test2 version of Linux,
which uses an "extended" board_info (bd_t) structure. It needs a
few items that are not available in the standard ppcboot bd_t.
In the future, this new structure type may become the "standard".