* 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".
wdenk [Sat, 14 Oct 2000 23:05:33 +0000 (23:05 +0000)]
* Replaced `serial_io' and `intr_util' structs in bd_info by generic
structure `mon_fnc' containing `monitor functions'; added putstr(),
malloc() and free().
* Added "bootd" command (run "bootcmd"): now you can type just "boot"
to run an arbitrary default (boot) command.
* Added ';' as command separator for the default boot command: now
"bootcmd" can contain a sequence of several commands which are
executed in sequence. Please note that there is absolutely no flow
control, conditional execition, or the like: PPCBoot will always
run all commands strictly one after the other [assuming the command
returns to PPCBoot, which cannot be expected for instance when you
start an OS kernel...]
* Fixed bugs in interrupt handler (thanks to Murray): enable only CPM
interrupts; disable any bogus interrupts.
* Added support for ATA disks (directly connected to PCMCIA port)
WARNING: work in progress, tested only on SPD823TS systems
* Added configuration for FADS board with support for video and
wireless keyboard (thanks to Paolo Scaffardi).
WARNING: work in progress, not complete yet.
wdenk [Wed, 11 Oct 2000 22:04:27 +0000 (22:04 +0000)]
* Added MPC855 support
* Tested with MPC8xx at 80 MHz CPU clock / 40 MHz bus clock
* Don't block booting of other OS than Linux using "bootm"
* Added Cogent port (by Murray Jensen <Murray.Jensen@cmst.csiro.au>)
* Added KGDB support (by Murray Jensen)
Warning: the KGDB code is *big*. If you include it you'll probably
need to throw out lots of other features or increas the size of
your firmware memory.
* Extended flash addressing to use sector numbers
wdenk [Wed, 11 Oct 2000 22:04:27 +0000 (22:04 +0000)]
* Added MPC855 support
* Tested with MPC8xx at 80 MHz CPU clock / 40 MHz bus clock
* Don't block booting of other OS than Linux using "bootm"
* Added Cogent port (by Murray Jensen <Murray.Jensen@cmst.csiro.au>)
* Added KGDB support (by Murray Jensen)
Warning: the KGDB code is *big*. If you include it you'll probably
need to throw out lots of other features or increas the size of
your firmware memory.
* Extended flash addressing to use sector numbers
wdenk [Tue, 10 Oct 2000 00:30:54 +0000 (00:30 +0000)]
======================================================================
Modifications for 0.5.1:
======================================================================
* Made many commands configurable to save memory on production
systems or to disable features (like network support) on hardware
which cannot support it
* Added support for SPD823TS board.
* Added CPM reset during CPU startup.
* Update IMMR structure for MPC823; fix SCCR_DFLCDxxx definitions and
add MAMR_AMB_* definitions to mpc8xx.h
* Allow default configuration of CPM interrupt level and GCLK
frequency
* Allow default configuration of environment variables "ethaddr",
"ipaddr" and "serverip"
* Fix udelay() for different EXTCLK / OSCLK combinations
* Added memory compare command
* Changes of the ethernet address and/or IP address in the
environment are copied to the board info structure for later use by
the network code and/or any other program
* Added multi-file images to allow to boot a combined kernel+initrd
file using BOOTP; see include/image.h for details.
* Added network support for IBM 40x (by Stefan Roese)
* Added binary download over serial line using kermit protocol
(optional)
* Eliminated asc_to_hex() - replaced by simple_strtoul()
* Bug fixes:
- There was a silly bug in common/cmd_net.c which crippled the
"rarpboot" and "tftpboot" commands ==> fixed
- Changed mpc8xx/cpu_init.c again to allow for boot ROMS to be 8,
16 or 32 bit wide (lost this fix by accident)
- Allow to set the MF bits using the CFG_PLPRCR definition
- Fix BR0 reset handling for older CPU mask revisions: Clear every-
thing except Port Size bits, then add just the "Bank Valid" bit
hydra [Wed, 4 Oct 2000 15:06:11 +0000 (15:06 +0000)]
Add a dumpdata() routing that will dump out an area of memory in
hex values along with addresses.
Also, rearrange and correct the setting of BCSR bits for FADS when
initializing the ethernet.
hydra [Wed, 4 Oct 2000 15:00:15 +0000 (15:00 +0000)]
Replaced config_FADS860T.h with the one provided by Christian Vejlbo.
The previous one was known to not work, and Christian says that this
new one works for him.
Also deleted some unused CPM defines that were holdovers from the 8xxROM era.
hydra [Wed, 4 Oct 2000 14:52:05 +0000 (14:52 +0000)]
Add in the multiplication factor (MF) setting for the PLPRCR so we can
get a reasonable clock value for the FADS.
Relax some uses of BCSR4 bits for more fads daughter boards.
Delete some unused CPM defined that were holdovers from the 8xxROM era.
hydra [Wed, 4 Oct 2000 14:48:30 +0000 (14:48 +0000)]
Fix the CLKRT setting for the FADS board. Specifically for the FADS850SAR,
but I think this is a general FADS850 setting (or any mpc where the ethernet
runs on scc2).
Also, add some commentary to the defines for the various port line settings.
wdenk [Mon, 2 Oct 2000 19:02:37 +0000 (19:02 +0000)]
Bug fixes:
- There was a silly bug in common/cmd_net.c which crippled the
"rarpboot" and "tftpboot" commands ==> fixed
- Changed mpc8xx/cpu_init.c again to allow for boot ROMS to be 8,
16 or 32 bit wide (lost this fix by accident)
- Allow to set the MF bits using the CFG_PLPRCR definition
wdenk [Sun, 1 Oct 2000 19:21:20 +0000 (19:21 +0000)]
* Added Network support; allows:
- Network Interface configuration using environment variables or RARP or BOOTP
- image download and booting over Ethernet using TFTP
- automatic booting over ethernet when "autostart=yes" and
downloaded image is bootable
* Some code cleanup to make easier adaptable to different hardware
* Bug fixes, especially:
- avoid clobbering the PLL divider in interrupts.c (thanks to Till Straumann)
- make Ethernet code work on SCC1 or SCC2
Preliminary FADS support.
Tested: FADS850SAR
Working: serial, flash
Not working: net
Questionable: clock configuration - ppcboot reports it is running
at 20Mhz while it should be 50Mhz.
wdenk [Mon, 21 Aug 2000 15:05:47 +0000 (15:05 +0000)]
* Added network support (file download using BOOTP / TFTP)
- test vewrsion only, no timeout / error handling yet -
* Cleanup: removed dependencies on Linux Source code
(by copying the necessary header files).
* Bug Fix: the command table was not relocated completely,
so you could not continue when you erased the monitor
sectors in flash memory.
wdenk [Thu, 17 Aug 2000 13:27:04 +0000 (13:27 +0000)]
Modifications while porting PPCBoot to the ETX_094 prototype hardware:
- Changed configuring: don't use symlinks any more, don't need to
edit files for supported standard configurations (Thanks to Dan A.
Dickey for many suggestions).
- Cleanup: separate CPU dependend parts to make porting to other
CPU's easier (Thanks to Stefan Roese for his input).
- Removed manual clock configuration, added automatic detection of
bus clock
- Added check for monitor size
- Fix several flash related functions when configured for more flash
banks that actually present
- Fix flash_get_size() not to exceed configured maximum number of
flash sectors
- Added configuration and board specific code for ETX_094 board (Siemens)
Change the file holding the dependencies to ".depend".
This is about the best choice of all, and hopefully - this will
be the last change to which filename we use. :)
Modify the Makefiles to store dependencies on the "outside": In Makefile.cc
instead. This allows us to *not* keep dependencies in CVS. Dependencies
are, as the name implies - too dependent on specific systems.