README for arch/mips/gt64120 directory and subdirectories

Jun Sun, jsun@mvista.com or jsun@junsun.net
01/27, 2001

MOTIVATION
----------

Many MIPS boards share the same system controller (or CPU companian chip),
such as GT-64120.  It is highly desirable to let these boards share
the same controller code instead of duplicating them.

This directory is meant to hold all MIPS boards that use GT-64120 or GT-64120A.


HOW TO ADD A BOARD
------------------
 
. Create a subdirectory include/asm/gt64120/<board>.  

. Create a file called gt64120_dep.h under that directory.

. Modify include/asm/gt64120/gt64120.h file to include the new gt64120_dep.h
  based on config options.  The board-dep section is at the end of 
  include/asm/gt64120/gt64120.h file. There you can find all required
  definitions include/asm/gt64120/<board>/gt64120_dep.h file must supply.

. Create a subdirectory arch/mips/gt64120/<board> directory to hold
  board specific routines.

. The GT-64120 common code is supplied under arch/mips/gt64120/common directory.
  It includes:
	1) arch/mips/gt64120/pci.c -
		common PCI routine, include the top-level pcibios_init()
	2) arch/mips/gt64120/irq.c -
		common IRQ routine, include the top-level do_IRQ() 
	   [This part really belongs to arch/mips/kernel. jsun]
 	3) arch/mips/gt64120/gt_irq.c -
		common IRQ routines for GT-64120 chip.  Currently it only handles
	 	the timer interrupt.

. Board-specific routines are supplied under arch/mips/gt64120/<board> dir.
	1) arch/mips/gt64120/<board>/pci.c - it provides bus fixup routine
	2) arch/mips/gt64120/<board>/irq.c - it provides enable/disable irqs
		and board irq setup routine (irq_setup)
	3) arch/mips/gt64120/<board>/int-handler.S -
		The first-level interrupt dispatching routine.
	4) a bunch of other "normal" stuff (setup, prom, dbg_io, reset, etc)

. Follow other "normal" procedure to modify configuration files, etc.


TO-DO LIST
----------

. Expand arch/mips/gt64120/gt_irq.c to handle all GT-64120 interrupts.
  We probably need to introduce GT_IRQ_BASE  in board-dep header file,
  which is used the starting irq_nr for all GT irqs.

  A function, gt64120_handle_irq(), will be added so that the first-level
  irq dispatcher will call this function if it detects an interrupt
  from GT-64120.

. More support for GT-64120 PCI features (2nd PCI bus, perhaps)

