Scott Wood 83b7e2a7f2 Handle most LDSCRIPT setting centrally 13 gadi atpakaļ
..
Makefile 6d8962e814 Switch from archive libraries to partial linking 13 gadi atpakaļ
README 14d0a02a16 Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 13 gadi atpakaļ
README.cma286 b3b0fd552e Fix Murray Jensen's mail address. 19 gadi atpakaļ
config.mk 83b7e2a7f2 Handle most LDSCRIPT setting centrally 13 gadi atpakaļ
dipsw.c affae2bff8 Initial revision 22 gadi atpakaļ
dipsw.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
flash.c 6d0f6bcf33 rename CFG_ macros to CONFIG_SYS 15 gadi atpakaļ
flash.h db5b0304fc Initial revision 23 gadi atpakaļ
kbm.c 2d39b71fb2 Initial revision 23 gadi atpakaļ
kbm.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
lcd.c 6d0f6bcf33 rename CFG_ macros to CONFIG_SYS 15 gadi atpakaļ
lcd.h 53677ef18e Big white-space cleanup. 16 gadi atpakaļ
mb.c 9973e3c614 Change initdram() return type to phys_size_t 16 gadi atpakaļ
mb.h 6d0f6bcf33 rename CFG_ macros to CONFIG_SYS 15 gadi atpakaļ
par.c 2d39b71fb2 Initial revision 23 gadi atpakaļ
par.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
pci.c 2d39b71fb2 Initial revision 23 gadi atpakaļ
pci.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
rtc.c 2d39b71fb2 Initial revision 23 gadi atpakaļ
rtc.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
serial.c fcec2eb93e board/[A-Za-c]*: Remove obsolete references to CONFIG_COMMANDS 17 gadi atpakaļ
serial.h 2d39b71fb2 Initial revision 23 gadi atpakaļ
u-boot.lds 9d8fbd1b20 powerpc, 8xx: Fixup all 8xx u-boot.lds scripts 13 gadi atpakaļ
u-boot.lds.debug 44c6e6591c rename _end to __bss_end__ 13 gadi atpakaļ

README

Cogent Modular Architecture configuration
-----------------------------------------

As the name suggests, the Cogent platform is a modular system where
you have a motherboard into which plugs a cpu module and one or more
i/o modules. This provides very nice flexibility, but makes the
configuration task somewhat harder.

The possible Cogent motherboards are:

Code Config Variable Description
---- --------------- -----------

CMA101 CONFIG_CMA101 32MB ram, 2 ser, 1 par, rtc, dipsw,
2x16 lcd, eth(?)
CMA102 CONFIG_CMA102 32MB ram, 2 ser, 1 par, rtc, dipsw,
2x16 lcd
CMA111 CONFIG_CMA111 32MB ram, 1MB flash, 4 ser, 1 par,
rtc, ps/2 kbd/mse, 2x16 lcd, 2xPCI,
10/100TP eth
CMA120 CONFIG_CMA120 32MB ram, 1MB flash, 4 ser, 1 par,
rtc, ps/2 kbd/mse, 2x16 lcd, 2xPCI,
10/100TP eth, 2xPCMCIA, video/lcd-panel
CMA150 CONFIG_CMA150 8MB ram, 1MB flash, 2 ser, 1 par, rtc,
ps/2 kbd/mse, 2x16 lcd

The possible Cogent PowerPC CPU modules are:

Code Config Variable Description
---- --------------- -----------

CMA278-603EV CONFIG_CMA278_603EV PPC603ev CPU, 66MHz clock, 512K EPROM,
JTAG/COP
CMA278-603ER CONFIG_CMA278_603ER PPC603er CPU, 66MHz clock, 512K EPROM,
JTAG/COP
CMA278-740 CONFIG_CMA278_740 PPC740 CPU, 66MHz clock, 512K EPROM,
JTAG/COP
CMA280-509 CONFIG_CMA280_509 MPC505/509 CPU, 50MHz clock,
512K EPROM, BDM
CMA282 CONFIG_CMA282 MPC8260 CPU, 66MHz clock, 512K EPROM,
JTAG, 16M RAM, 1 x ser (SMC2),
1 x 10baseT PHY (SCC4), 1 x 10/100 TP
PHY (FCC1), 2 x 48pin DIN (FCC2 + TDM1)
CMA285 CONFIG_CMA285 MPC801 CPU, 33MHz clock, 512K EPROM,
BDM
CMA286-21 CONFIG_CMA286_21 MPC821 CPU, 66MHz clock, 512K EPROM,
BDM, 16M RAM, 2 x ser (SMC1 + SMC2),
1 x 10baseT PHY (SCC2)
CMA286-60-OLD CONFIG_CMA286_60_OLD MPC860 CPU, 33MHz clock, 128K EPROM,
BDM
CMA286-60 CONFIG_CMA286_60 MPC860 CPU, 66MHz clock, 512K EPROM,
BDM, 16M RAM, 2 x ser (SMC1 + SMC2),
1 x 10baseT PHY (SCC2)
CMA286-60P CONFIG_CMA286_60P MPC860P CPU, 66MHz clock, 512K EPROM,
BDM, 16M RAM, 2 x ser (SMC1 + SMC2),
1 x 10baseT PHY (SCC2)
CMA287-23 CONFIG_CMA287_23 MPC823 CPU, 33MHz clock, 512K EPROM,
BDM
CMA287-50 CONFIG_CMA287_50 MPC850 CPU, 33MHz clock, 512K EPROM,
BDM

(there are a lot of other cpu modules with ARM, MIPS and M-CORE CPUs,
but we'll worry about those later).

The possible Cogent CMA I/O Modules are:

Code Config Variable Description
---- --------------- -----------

CMA302 CONFIG_CMA302 up to 16M flash, ps/2 keyboard/mouse
CMA352 CONFIG_CMA352 CMAbus <=> PCI

Currently supported:

Motherboards: CMA102
CPU Modules: CMA286-60-OLD
I/O Modules: CMA302 I/O module

To configure, perform the usual U-Boot configuration task of editing
"include/config_cogent_mpc8xx.h" and reviewing all the options and
settings in there. In particular, check the chip select values
installed into the memory controller's various option and base
registers - these are set by the defines CONFIG_SYS_CMA_CSn_{BASE,SIZE} and
CONFIG_SYS_{B,O}Rn_PRELIM. Also be careful of the clock settings installed
into the SCCR - via the define CONFIG_SYS_SCCR. Finally, decide whether you
want the serial console on motherboard serial port A or on one of the
8xx SMC ports, and set CONFIG_8xx_CONS_{SMC1,SMC2,NONE} accordingly
(NONE means use Cogent motherboard serial port A).

Then edit the file "cogent/config.mk". Firstly, set CONFIG_SYS_TEXT_BASE to be
the base address of the EPROM for the CPU module. This should be the
same as the value selected for CONFIG_SYS_MONITOR_BASE in
"include/config_cogent_*.h" (in fact, I have made this automatic via
the -CONFIG_SYS_TEXT_BASE=... option in CPPFLAGS).

Finally, set the values of the make variables $(CMA_MB) and $(CMA_IOMS).

$(CMA_MB) is the name of the directory that contains support for your
motherboard. At this stage, only "cma10x" exists, which supports the
CMA101 and CMA102 motherboards - but only selected devices, namely
serial, lcd and dipsw.

$(CMA_IOMS) is a list of zero or more directories that contain
support for the i/o modules you have installed. At this stage, only
"cma302" exists, which supports the CMA302 flash i/o module - but
only the flash part, not the ps/2 keyboard and mouse interfaces.

There should be a make variable for each of the above directories,
which is the directory name with "_O" appended. This make variable is
a list of object files to compile from that directory and include in
the library.

e.g. cma10x_O = serial.o ...

That's it. Good Luck.

Murray.Jensen@cmst.csiro.au
August 31, 2000.