u-boot/board/cogent
Masahiro Yamada dd84058d24 kconfig: add board Kconfig and defconfig files
This commit adds:
 - arch/${ARCH}/Kconfig
    provide a menu to select target boards
 - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
    set CONFIG macros to the appropriate values for each board
 - configs/${TARGET_BOARD}_defconfig
    default setting of each board

(This commit was automatically generated by a conversion script
based on boards.cfg)

In Linux Kernel, defconfig files are located under
arch/${ARCH}/configs/ directory.
It works in Linux Kernel since ARCH is always given from the
command line for cross compile.

But in U-Boot, ARCH is not given from the command line.
Which means we cannot know ARCH until the board configuration is done.
That is why all the "*_defconfig" files should be gathered into a
single directory ./configs/.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30 08:48:01 -04:00
..
dipsw.c board: cogent: include header files in a more natural way 2013-11-15 15:49:36 -05:00
dipsw.h Initial revision 2000-12-14 10:04:19 +00:00
flash.c board: cogent: include header files in a more natural way 2013-11-15 15:49:36 -05:00
flash.h Initial revision 2001-01-23 21:22:09 +00:00
kbm.c Initial revision 2000-12-14 10:04:19 +00:00
Kconfig kconfig: add board Kconfig and defconfig files 2014-07-30 08:48:01 -04:00
lcd.c board: cogent: include header files in a more natural way 2013-11-15 15:49:36 -05:00
lcd.h Big white-space cleanup. 2008-05-21 00:14:08 +02:00
Makefile board: powerpc: convert makefiles to Kbuild style 2013-11-01 11:42:12 -04:00
mb.c powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 2014-03-07 10:59:06 -05:00
mb.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
par.c Initial revision 2000-12-14 10:04:19 +00:00
par.h Initial revision 2000-12-14 10:04:19 +00:00
pci.c Initial revision 2000-12-14 10:04:19 +00:00
pci.h Initial revision 2000-12-14 10:04:19 +00:00
README Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.cma286 Fix Murray Jensen's mail address. 2005-08-12 23:20:59 +02:00
rtc.c Initial revision 2000-12-14 10:04:19 +00:00
rtc.h Initial revision 2000-12-14 10:04:19 +00:00
serial.c powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 2014-03-07 10:59:06 -05:00
serial.h Initial revision 2000-12-14 10:04:19 +00:00
u-boot.lds Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u-boot.lds.debug Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00

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.