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