| 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) | |