[7be6ad9] | 1 | README.irq : Shuchen Kate Feng <feng1@bnl.gov>, 10/10/04 |
---|
| 2 | |
---|
| 3 | |
---|
| 4 | The BSPirqPrioTable[] listed in irq_init.c is where the |
---|
| 5 | software developers can change the levels of priority |
---|
| 6 | for main interrupts based on the need of their |
---|
| 7 | applications. |
---|
| 8 | |
---|
| 9 | |
---|
| 10 | Presently, a dynamic IRQ table (e.g. mainIrqTbl[64]), which is |
---|
| 11 | arranged dynamically based on the priority levels of enabled |
---|
| 12 | main interrupts, is used in C_dispatch_irq_handler() to |
---|
| 13 | incorporate the handling of the software priority levels. |
---|
| 14 | |
---|
| 15 | |
---|
| 16 | The valid entries listed in mainIrqTbl[64] by the BSP are: |
---|
| 17 | |
---|
| 18 | 1. Main interrupt 59 (GPP31_24 : no enabled IRQ yet, |
---|
| 19 | to enable 'watchdog timer' if needed) |
---|
| 20 | 2. Main interrupt 57 (GPP15_8 : VME interrupt enabled, |
---|
| 21 | to enable 'PMC1' if needed) |
---|
| 22 | 3. Main interrupt 58 (GPP23_16 : no enabled IRQ yet, |
---|
| 23 | to enable '1 GHZ ethernet' or 'PMC2' |
---|
| 24 | if needed) |
---|
| 25 | 4. Main interrupt 32 (10/100 MHZ ethernet) |
---|
| 26 | 5. Main interrupt 56 (GPP7_0 : presently only COM1/COM2 enabled) |
---|
| 27 | |
---|
| 28 | |
---|
| 29 | The main IRQs can be added to the mainIrqTbl[] dynamically |
---|
| 30 | via the BSP_enable_main_irq(), or removed from the mainIrqTbl[] |
---|
| 31 | dynamically via the BSP_disable_main_irq(). |
---|
| 32 | |
---|
| 33 | |
---|
| 34 | Regarding other GPP interrupts not listed in the GPP7_0IrqTbl[8], |
---|
| 35 | GPP15_8IrqTbl[8], GPP23_16IrqTbl[8], or GPP31_24IrqTbl[8], they |
---|
| 36 | could be enabled by being added to the correspondent of |
---|
| 37 | the four aforementioned tables listed in the irq_init.c. |
---|
| 38 | |
---|
| 39 | |
---|
| 40 | Caveat: Presently, the eight GPP IRQs for each BSP_MAIN_GPPx_y_IRQ group |
---|
| 41 | are set at the same main priority in the BSPirqPrioTable[], while the |
---|
| 42 | sub-priority levels for the eight GPP in each group are sorted |
---|
| 43 | statically by developers in the GPPx_yIrqTbl[8] from the highest |
---|
| 44 | priority to the lowest one. |
---|
| 45 | |
---|
| 46 | |
---|
| 47 | Note : |
---|
| 48 | 1. GPP7-0 (Main interrupt high cause, bit 24) |
---|
| 49 | 2. GPP15-8 (Main interrupt high cause, bit 25) |
---|
| 50 | 3. GPP23-16 (Main interrupt high cause, bit 26) |
---|
| 51 | 4. GPP31-24 (Main interrupt high cause, bit 27) |
---|
| 52 | |
---|