bcm1480_int.h revision 1.1
11.1Ssimonb/* ********************************************************************* 21.1Ssimonb * BCM1280/BCM1480 Board Support Package 31.1Ssimonb * 41.1Ssimonb * Interrupt Mapper definitions File: bcm1480_int.h 51.1Ssimonb * 61.1Ssimonb * This module contains constants for manipulating the 71.1Ssimonb * BCM1255/BCM1280/BCM1455/BCM1480's interrupt mapper and 81.1Ssimonb * definitions for the interrupt sources. 91.1Ssimonb * 101.1Ssimonb * BCM1480 specification level: 1X55_1X80-UM100-D4 (11/24/03) 111.1Ssimonb * 121.1Ssimonb ********************************************************************* 131.1Ssimonb * 141.1Ssimonb * Copyright 2000,2001,2002,2003,2004 151.1Ssimonb * Broadcom Corporation. All rights reserved. 161.1Ssimonb * 171.1Ssimonb * This software is furnished under license and may be used and 181.1Ssimonb * copied only in accordance with the following terms and 191.1Ssimonb * conditions. Subject to these conditions, you may download, 201.1Ssimonb * copy, install, use, modify and distribute modified or unmodified 211.1Ssimonb * copies of this software in source and/or binary form. No title 221.1Ssimonb * or ownership is transferred hereby. 231.1Ssimonb * 241.1Ssimonb * 1) Any source code used, modified or distributed must reproduce 251.1Ssimonb * and retain this copyright notice and list of conditions 261.1Ssimonb * as they appear in the source file. 271.1Ssimonb * 281.1Ssimonb * 2) No right is granted to use any trade name, trademark, or 291.1Ssimonb * logo of Broadcom Corporation. The "Broadcom Corporation" 301.1Ssimonb * name may not be used to endorse or promote products derived 311.1Ssimonb * from this software without the prior written permission of 321.1Ssimonb * Broadcom Corporation. 331.1Ssimonb * 341.1Ssimonb * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR 351.1Ssimonb * IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED 361.1Ssimonb * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 371.1Ssimonb * PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT 381.1Ssimonb * SHALL BROADCOM BE LIABLE FOR ANY DAMAGES WHATSOEVER, AND IN 391.1Ssimonb * PARTICULAR, BROADCOM SHALL NOT BE LIABLE FOR DIRECT, INDIRECT, 401.1Ssimonb * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 411.1Ssimonb * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 421.1Ssimonb * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 431.1Ssimonb * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 441.1Ssimonb * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 451.1Ssimonb * TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF 461.1Ssimonb * THE POSSIBILITY OF SUCH DAMAGE. 471.1Ssimonb ********************************************************************* */ 481.1Ssimonb 491.1Ssimonb 501.1Ssimonb#ifndef _BCM1480_INT_H 511.1Ssimonb#define _BCM1480_INT_H 521.1Ssimonb 531.1Ssimonb#include "sb1250_defs.h" 541.1Ssimonb 551.1Ssimonb/* ********************************************************************* 561.1Ssimonb * Interrupt Mapper Constants 571.1Ssimonb ********************************************************************* */ 581.1Ssimonb 591.1Ssimonb/* 601.1Ssimonb * The interrupt mapper deals with 128-bit logical registers that are 611.1Ssimonb * implemented as pairs of 64-bit registers, with the "low" 64 bits in 621.1Ssimonb * a register that has an address 0x1000 higher(!) than the 631.1Ssimonb * corresponding "high" register. 641.1Ssimonb * 651.1Ssimonb * For appropriate registers, bit 0 of the "high" register is a 661.1Ssimonb * cascade bit that summarizes (as a bit-OR) the 64 bits of the "low" 671.1Ssimonb * register. 681.1Ssimonb */ 691.1Ssimonb 701.1Ssimonb/* 711.1Ssimonb * This entire file uses _BCM1480_ in all the symbols because it is 721.1Ssimonb * entirely BCM1480 specific. 731.1Ssimonb */ 741.1Ssimonb 751.1Ssimonb/* 761.1Ssimonb * Interrupt sources (Table 22) 771.1Ssimonb */ 781.1Ssimonb 791.1Ssimonb#define K_BCM1480_INT_SOURCES 128 801.1Ssimonb 811.1Ssimonb#define _BCM1480_INT_HIGH(k) (k) 821.1Ssimonb#define _BCM1480_INT_LOW(k) ((k)+64) 831.1Ssimonb 841.1Ssimonb#define K_BCM1480_INT_ADDR_TRAP _BCM1480_INT_HIGH(1) 851.1Ssimonb#define K_BCM1480_INT_GPIO_0 _BCM1480_INT_HIGH(4) 861.1Ssimonb#define K_BCM1480_INT_GPIO_1 _BCM1480_INT_HIGH(5) 871.1Ssimonb#define K_BCM1480_INT_GPIO_2 _BCM1480_INT_HIGH(6) 881.1Ssimonb#define K_BCM1480_INT_GPIO_3 _BCM1480_INT_HIGH(7) 891.1Ssimonb#define K_BCM1480_INT_PCI_INTA _BCM1480_INT_HIGH(8) 901.1Ssimonb#define K_BCM1480_INT_PCI_INTB _BCM1480_INT_HIGH(9) 911.1Ssimonb#define K_BCM1480_INT_PCI_INTC _BCM1480_INT_HIGH(10) 921.1Ssimonb#define K_BCM1480_INT_PCI_INTD _BCM1480_INT_HIGH(11) 931.1Ssimonb#define K_BCM1480_INT_CYCLE_CP0 _BCM1480_INT_HIGH(12) 941.1Ssimonb#define K_BCM1480_INT_CYCLE_CP1 _BCM1480_INT_HIGH(13) 951.1Ssimonb#define K_BCM1480_INT_CYCLE_CP2 _BCM1480_INT_HIGH(14) 961.1Ssimonb#define K_BCM1480_INT_CYCLE_CP3 _BCM1480_INT_HIGH(15) 971.1Ssimonb#define K_BCM1480_INT_TIMER_0 _BCM1480_INT_HIGH(20) 981.1Ssimonb#define K_BCM1480_INT_TIMER_1 _BCM1480_INT_HIGH(21) 991.1Ssimonb#define K_BCM1480_INT_TIMER_2 _BCM1480_INT_HIGH(22) 1001.1Ssimonb#define K_BCM1480_INT_TIMER_3 _BCM1480_INT_HIGH(23) 1011.1Ssimonb#define K_BCM1480_INT_DM_CH_0 _BCM1480_INT_HIGH(28) 1021.1Ssimonb#define K_BCM1480_INT_DM_CH_1 _BCM1480_INT_HIGH(29) 1031.1Ssimonb#define K_BCM1480_INT_DM_CH_2 _BCM1480_INT_HIGH(30) 1041.1Ssimonb#define K_BCM1480_INT_DM_CH_3 _BCM1480_INT_HIGH(31) 1051.1Ssimonb#define K_BCM1480_INT_MAC_0 _BCM1480_INT_HIGH(36) 1061.1Ssimonb#define K_BCM1480_INT_MAC_0_CH1 _BCM1480_INT_HIGH(37) 1071.1Ssimonb#define K_BCM1480_INT_MAC_1 _BCM1480_INT_HIGH(38) 1081.1Ssimonb#define K_BCM1480_INT_MAC_1_CH1 _BCM1480_INT_HIGH(39) 1091.1Ssimonb#define K_BCM1480_INT_MAC_2 _BCM1480_INT_HIGH(40) 1101.1Ssimonb#define K_BCM1480_INT_MAC_2_CH1 _BCM1480_INT_HIGH(41) 1111.1Ssimonb#define K_BCM1480_INT_MAC_3 _BCM1480_INT_HIGH(42) 1121.1Ssimonb#define K_BCM1480_INT_MAC_3_CH1 _BCM1480_INT_HIGH(43) 1131.1Ssimonb#define K_BCM1480_INT_PMI_LOW _BCM1480_INT_HIGH(52) 1141.1Ssimonb#define K_BCM1480_INT_PMI_HIGH _BCM1480_INT_HIGH(53) 1151.1Ssimonb#define K_BCM1480_INT_PMO_LOW _BCM1480_INT_HIGH(54) 1161.1Ssimonb#define K_BCM1480_INT_PMO_HIGH _BCM1480_INT_HIGH(55) 1171.1Ssimonb#define K_BCM1480_INT_MBOX_0_0 _BCM1480_INT_HIGH(56) 1181.1Ssimonb#define K_BCM1480_INT_MBOX_0_1 _BCM1480_INT_HIGH(57) 1191.1Ssimonb#define K_BCM1480_INT_MBOX_0_2 _BCM1480_INT_HIGH(58) 1201.1Ssimonb#define K_BCM1480_INT_MBOX_0_3 _BCM1480_INT_HIGH(59) 1211.1Ssimonb#define K_BCM1480_INT_MBOX_1_0 _BCM1480_INT_HIGH(60) 1221.1Ssimonb#define K_BCM1480_INT_MBOX_1_1 _BCM1480_INT_HIGH(61) 1231.1Ssimonb#define K_BCM1480_INT_MBOX_1_2 _BCM1480_INT_HIGH(62) 1241.1Ssimonb#define K_BCM1480_INT_MBOX_1_3 _BCM1480_INT_HIGH(63) 1251.1Ssimonb 1261.1Ssimonb#define K_BCM1480_INT_BAD_ECC _BCM1480_INT_LOW(1) 1271.1Ssimonb#define K_BCM1480_INT_COR_ECC _BCM1480_INT_LOW(2) 1281.1Ssimonb#define K_BCM1480_INT_IO_BUS _BCM1480_INT_LOW(3) 1291.1Ssimonb#define K_BCM1480_INT_PERF_CNT _BCM1480_INT_LOW(4) 1301.1Ssimonb#define K_BCM1480_INT_SW_PERF_CNT _BCM1480_INT_LOW(5) 1311.1Ssimonb#define K_BCM1480_INT_TRACE_FREEZE _BCM1480_INT_LOW(6) 1321.1Ssimonb#define K_BCM1480_INT_SW_TRACE_FREEZE _BCM1480_INT_LOW(7) 1331.1Ssimonb#define K_BCM1480_INT_WATCHDOG_TIMER_0 _BCM1480_INT_LOW(8) 1341.1Ssimonb#define K_BCM1480_INT_WATCHDOG_TIMER_1 _BCM1480_INT_LOW(9) 1351.1Ssimonb#define K_BCM1480_INT_WATCHDOG_TIMER_2 _BCM1480_INT_LOW(10) 1361.1Ssimonb#define K_BCM1480_INT_WATCHDOG_TIMER_3 _BCM1480_INT_LOW(11) 1371.1Ssimonb#define K_BCM1480_INT_PCI_ERROR _BCM1480_INT_LOW(16) 1381.1Ssimonb#define K_BCM1480_INT_PCI_RESET _BCM1480_INT_LOW(17) 1391.1Ssimonb#define K_BCM1480_INT_NODE_CONTROLLER _BCM1480_INT_LOW(18) 1401.1Ssimonb#define K_BCM1480_INT_HOST_BRIDGE _BCM1480_INT_LOW(19) 1411.1Ssimonb#define K_BCM1480_INT_PORT_0_FATAL _BCM1480_INT_LOW(20) 1421.1Ssimonb#define K_BCM1480_INT_PORT_0_NONFATAL _BCM1480_INT_LOW(21) 1431.1Ssimonb#define K_BCM1480_INT_PORT_1_FATAL _BCM1480_INT_LOW(22) 1441.1Ssimonb#define K_BCM1480_INT_PORT_1_NONFATAL _BCM1480_INT_LOW(23) 1451.1Ssimonb#define K_BCM1480_INT_PORT_2_FATAL _BCM1480_INT_LOW(24) 1461.1Ssimonb#define K_BCM1480_INT_PORT_2_NONFATAL _BCM1480_INT_LOW(25) 1471.1Ssimonb#define K_BCM1480_INT_LDT_SMI _BCM1480_INT_LOW(32) 1481.1Ssimonb#define K_BCM1480_INT_LDT_NMI _BCM1480_INT_LOW(33) 1491.1Ssimonb#define K_BCM1480_INT_LDT_INIT _BCM1480_INT_LOW(34) 1501.1Ssimonb#define K_BCM1480_INT_LDT_STARTUP _BCM1480_INT_LOW(35) 1511.1Ssimonb#define K_BCM1480_INT_LDT_EXT _BCM1480_INT_LOW(36) 1521.1Ssimonb#define K_BCM1480_INT_SMB_0 _BCM1480_INT_LOW(40) 1531.1Ssimonb#define K_BCM1480_INT_SMB_1 _BCM1480_INT_LOW(41) 1541.1Ssimonb#define K_BCM1480_INT_PCMCIA _BCM1480_INT_LOW(42) 1551.1Ssimonb#define K_BCM1480_INT_UART_0 _BCM1480_INT_LOW(44) 1561.1Ssimonb#define K_BCM1480_INT_UART_1 _BCM1480_INT_LOW(45) 1571.1Ssimonb#define K_BCM1480_INT_UART_2 _BCM1480_INT_LOW(46) 1581.1Ssimonb#define K_BCM1480_INT_UART_3 _BCM1480_INT_LOW(47) 1591.1Ssimonb#define K_BCM1480_INT_GPIO_4 _BCM1480_INT_LOW(52) 1601.1Ssimonb#define K_BCM1480_INT_GPIO_5 _BCM1480_INT_LOW(53) 1611.1Ssimonb#define K_BCM1480_INT_GPIO_6 _BCM1480_INT_LOW(54) 1621.1Ssimonb#define K_BCM1480_INT_GPIO_7 _BCM1480_INT_LOW(55) 1631.1Ssimonb#define K_BCM1480_INT_GPIO_8 _BCM1480_INT_LOW(56) 1641.1Ssimonb#define K_BCM1480_INT_GPIO_9 _BCM1480_INT_LOW(57) 1651.1Ssimonb#define K_BCM1480_INT_GPIO_10 _BCM1480_INT_LOW(58) 1661.1Ssimonb#define K_BCM1480_INT_GPIO_11 _BCM1480_INT_LOW(59) 1671.1Ssimonb#define K_BCM1480_INT_GPIO_12 _BCM1480_INT_LOW(60) 1681.1Ssimonb#define K_BCM1480_INT_GPIO_13 _BCM1480_INT_LOW(61) 1691.1Ssimonb#define K_BCM1480_INT_GPIO_14 _BCM1480_INT_LOW(62) 1701.1Ssimonb#define K_BCM1480_INT_GPIO_15 _BCM1480_INT_LOW(63) 1711.1Ssimonb 1721.1Ssimonb/* 1731.1Ssimonb * Mask values for each interrupt 1741.1Ssimonb */ 1751.1Ssimonb 1761.1Ssimonb#define _BCM1480_INT_MASK(w,n) _SB_MAKEMASK(w,((n) & 0x3F)) 1771.1Ssimonb#define _BCM1480_INT_MASK1(n) _SB_MAKEMASK1(((n) & 0x3F)) 1781.1Ssimonb#define _BCM1480_INT_OFFSET(n) (((n) & 0x40) << 6) 1791.1Ssimonb 1801.1Ssimonb#define M_BCM1480_INT_CASCADE _BCM1480_INT_MASK1(_BCM1480_INT_HIGH(0)) 1811.1Ssimonb 1821.1Ssimonb#define M_BCM1480_INT_ADDR_TRAP _BCM1480_INT_MASK1(K_BCM1480_INT_ADDR_TRAP) 1831.1Ssimonb#define M_BCM1480_INT_GPIO_0 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_0) 1841.1Ssimonb#define M_BCM1480_INT_GPIO_1 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_1) 1851.1Ssimonb#define M_BCM1480_INT_GPIO_2 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_2) 1861.1Ssimonb#define M_BCM1480_INT_GPIO_3 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_3) 1871.1Ssimonb#define M_BCM1480_INT_PCI_INTA _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTA) 1881.1Ssimonb#define M_BCM1480_INT_PCI_INTB _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTB) 1891.1Ssimonb#define M_BCM1480_INT_PCI_INTC _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTC) 1901.1Ssimonb#define M_BCM1480_INT_PCI_INTD _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTD) 1911.1Ssimonb#define M_BCM1480_INT_CYCLE_CP0 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP0) 1921.1Ssimonb#define M_BCM1480_INT_CYCLE_CP1 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP1) 1931.1Ssimonb#define M_BCM1480_INT_CYCLE_CP2 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP2) 1941.1Ssimonb#define M_BCM1480_INT_CYCLE_CP3 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP3) 1951.1Ssimonb#define M_BCM1480_INT_TIMER_0 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_0) 1961.1Ssimonb#define M_BCM1480_INT_TIMER_1 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_1) 1971.1Ssimonb#define M_BCM1480_INT_TIMER_2 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_2) 1981.1Ssimonb#define M_BCM1480_INT_TIMER_3 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_3) 1991.1Ssimonb#define M_BCM1480_INT_DM_CH_0 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_0) 2001.1Ssimonb#define M_BCM1480_INT_DM_CH_1 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_1) 2011.1Ssimonb#define M_BCM1480_INT_DM_CH_2 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_2) 2021.1Ssimonb#define M_BCM1480_INT_DM_CH_3 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_3) 2031.1Ssimonb#define M_BCM1480_INT_MAC_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0) 2041.1Ssimonb#define M_BCM1480_INT_MAC_0_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0_CH1) 2051.1Ssimonb#define M_BCM1480_INT_MAC_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1) 2061.1Ssimonb#define M_BCM1480_INT_MAC_1_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1_CH1) 2071.1Ssimonb#define M_BCM1480_INT_MAC_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2) 2081.1Ssimonb#define M_BCM1480_INT_MAC_2_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2_CH1) 2091.1Ssimonb#define M_BCM1480_INT_MAC_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3) 2101.1Ssimonb#define M_BCM1480_INT_MAC_3_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3_CH1) 2111.1Ssimonb#define M_BCM1480_INT_PMI_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_LOW) 2121.1Ssimonb#define M_BCM1480_INT_PMI_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_HIGH) 2131.1Ssimonb#define M_BCM1480_INT_PMO_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_LOW) 2141.1Ssimonb#define M_BCM1480_INT_PMO_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_HIGH) 2151.1Ssimonb#define M_BCM1480_INT_MBOX_ALL _BCM1480_INT_MASK(8,K_BCM1480_INT_MBOX_0_0) 2161.1Ssimonb#define M_BCM1480_INT_MBOX_0_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_0) 2171.1Ssimonb#define M_BCM1480_INT_MBOX_0_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_1) 2181.1Ssimonb#define M_BCM1480_INT_MBOX_0_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_2) 2191.1Ssimonb#define M_BCM1480_INT_MBOX_0_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_3) 2201.1Ssimonb#define M_BCM1480_INT_MBOX_1_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_0) 2211.1Ssimonb#define M_BCM1480_INT_MBOX_1_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_1) 2221.1Ssimonb#define M_BCM1480_INT_MBOX_1_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_2) 2231.1Ssimonb#define M_BCM1480_INT_MBOX_1_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_3) 2241.1Ssimonb#define M_BCM1480_INT_BAD_ECC _BCM1480_INT_MASK1(K_BCM1480_INT_BAD_ECC) 2251.1Ssimonb#define M_BCM1480_INT_COR_ECC _BCM1480_INT_MASK1(K_BCM1480_INT_COR_ECC) 2261.1Ssimonb#define M_BCM1480_INT_IO_BUS _BCM1480_INT_MASK1(K_BCM1480_INT_IO_BUS) 2271.1Ssimonb#define M_BCM1480_INT_PERF_CNT _BCM1480_INT_MASK1(K_BCM1480_INT_PERF_CNT) 2281.1Ssimonb#define M_BCM1480_INT_SW_PERF_CNT _BCM1480_INT_MASK1(K_BCM1480_INT_SW_PERF_CNT) 2291.1Ssimonb#define M_BCM1480_INT_TRACE_FREEZE _BCM1480_INT_MASK1(K_BCM1480_INT_TRACE_FREEZE) 2301.1Ssimonb#define M_BCM1480_INT_SW_TRACE_FREEZE _BCM1480_INT_MASK1(K_BCM1480_INT_SW_TRACE_FREEZE) 2311.1Ssimonb#define M_BCM1480_INT_WATCHDOG_TIMER_0 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_0) 2321.1Ssimonb#define M_BCM1480_INT_WATCHDOG_TIMER_1 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_1) 2331.1Ssimonb#define M_BCM1480_INT_WATCHDOG_TIMER_2 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_2) 2341.1Ssimonb#define M_BCM1480_INT_WATCHDOG_TIMER_3 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_3) 2351.1Ssimonb#define M_BCM1480_INT_PCI_ERROR _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_ERROR) 2361.1Ssimonb#define M_BCM1480_INT_PCI_RESET _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_RESET) 2371.1Ssimonb#define M_BCM1480_INT_NODE_CONTROLLER _BCM1480_INT_MASK1(K_BCM1480_INT_NODE_CONTROLLER) 2381.1Ssimonb#define M_BCM1480_INT_HOST_BRIDGE _BCM1480_INT_MASK1(K_BCM1480_INT_HOST_BRIDGE) 2391.1Ssimonb#define M_BCM1480_INT_PORT_0_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_FATAL) 2401.1Ssimonb#define M_BCM1480_INT_PORT_0_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_NONFATAL) 2411.1Ssimonb#define M_BCM1480_INT_PORT_1_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_FATAL) 2421.1Ssimonb#define M_BCM1480_INT_PORT_1_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_NONFATAL) 2431.1Ssimonb#define M_BCM1480_INT_PORT_2_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_FATAL) 2441.1Ssimonb#define M_BCM1480_INT_PORT_2_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_NONFATAL) 2451.1Ssimonb#define M_BCM1480_INT_LDT_SMI _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_SMI) 2461.1Ssimonb#define M_BCM1480_INT_LDT_NMI _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_NMI) 2471.1Ssimonb#define M_BCM1480_INT_LDT_INIT _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_INIT) 2481.1Ssimonb#define M_BCM1480_INT_LDT_STARTUP _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_STARTUP) 2491.1Ssimonb#define M_BCM1480_INT_LDT_EXT _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_EXT) 2501.1Ssimonb#define M_BCM1480_INT_SMB_0 _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_0) 2511.1Ssimonb#define M_BCM1480_INT_SMB_1 _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_1) 2521.1Ssimonb#define M_BCM1480_INT_PCMCIA _BCM1480_INT_MASK1(K_BCM1480_INT_PCMCIA) 2531.1Ssimonb#define M_BCM1480_INT_UART_0 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_0) 2541.1Ssimonb#define M_BCM1480_INT_UART_1 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_1) 2551.1Ssimonb#define M_BCM1480_INT_UART_2 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_2) 2561.1Ssimonb#define M_BCM1480_INT_UART_3 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_3) 2571.1Ssimonb#define M_BCM1480_INT_GPIO_4 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_4) 2581.1Ssimonb#define M_BCM1480_INT_GPIO_5 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_5) 2591.1Ssimonb#define M_BCM1480_INT_GPIO_6 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_6) 2601.1Ssimonb#define M_BCM1480_INT_GPIO_7 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_7) 2611.1Ssimonb#define M_BCM1480_INT_GPIO_8 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_8) 2621.1Ssimonb#define M_BCM1480_INT_GPIO_9 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_9) 2631.1Ssimonb#define M_BCM1480_INT_GPIO_10 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_10) 2641.1Ssimonb#define M_BCM1480_INT_GPIO_11 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_11) 2651.1Ssimonb#define M_BCM1480_INT_GPIO_12 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_12) 2661.1Ssimonb#define M_BCM1480_INT_GPIO_13 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_13) 2671.1Ssimonb#define M_BCM1480_INT_GPIO_14 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_14) 2681.1Ssimonb#define M_BCM1480_INT_GPIO_15 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_15) 2691.1Ssimonb 2701.1Ssimonb/* 2711.1Ssimonb * Interrupt mappings (Table 18) 2721.1Ssimonb */ 2731.1Ssimonb 2741.1Ssimonb#define K_BCM1480_INT_MAP_I0 0 /* interrupt pins on processor */ 2751.1Ssimonb#define K_BCM1480_INT_MAP_I1 1 2761.1Ssimonb#define K_BCM1480_INT_MAP_I2 2 2771.1Ssimonb#define K_BCM1480_INT_MAP_I3 3 2781.1Ssimonb#define K_BCM1480_INT_MAP_I4 4 2791.1Ssimonb#define K_BCM1480_INT_MAP_I5 5 2801.1Ssimonb#define K_BCM1480_INT_MAP_NMI 6 /* nonmaskable */ 2811.1Ssimonb#define K_BCM1480_INT_MAP_DINT 7 /* debug interrupt */ 2821.1Ssimonb 2831.1Ssimonb/* 2841.1Ssimonb * Interrupt LDT Set Register (Table 19) 2851.1Ssimonb */ 2861.1Ssimonb 2871.1Ssimonb#define S_BCM1480_INT_HT_INTMSG 0 2881.1Ssimonb#define M_BCM1480_INT_HT_INTMSG _SB_MAKEMASK(3,S_BCM1480_INT_HT_INTMSG) 2891.1Ssimonb#define V_BCM1480_INT_HT_INTMSG(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_INTMSG) 2901.1Ssimonb#define G_BCM1480_INT_HT_INTMSG(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_INTMSG,M_BCM1480_INT_HT_INTMSG) 2911.1Ssimonb 2921.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_FIXED 0 2931.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_ARBITRATED 1 2941.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_SMI 2 2951.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_NMI 3 2961.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_INIT 4 2971.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_STARTUP 5 2981.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_EXTINT 6 2991.1Ssimonb#define K_BCM1480_INT_HT_INTMSG_RESERVED 7 3001.1Ssimonb 3011.1Ssimonb#define M_BCM1480_INT_HT_TRIGGERMODE _SB_MAKEMASK1(3) 3021.1Ssimonb#define V_BCM1480_INT_HT_EDGETRIGGER 0 3031.1Ssimonb#define V_BCM1480_INT_HT_LEVELTRIGGER M_BCM1480_INT_HT_TRIGGERMODE 3041.1Ssimonb 3051.1Ssimonb#define M_BCM1480_INT_HT_DESTMODE _SB_MAKEMASK1(4) 3061.1Ssimonb#define V_BCM1480_INT_HT_PHYSICALDEST 0 3071.1Ssimonb#define V_BCM1480_INT_HT_LOGICALDEST M_BCM1480_INT_HT_DESTMODE 3081.1Ssimonb 3091.1Ssimonb#define S_BCM1480_INT_HT_INTDEST 5 3101.1Ssimonb#define M_BCM1480_INT_HT_INTDEST _SB_MAKEMASK(8,S_BCM1480_INT_HT_INTDEST) 3111.1Ssimonb#define V_BCM1480_INT_HT_INTDEST(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_INTDEST) 3121.1Ssimonb#define G_BCM1480_INT_HT_INTDEST(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_INTDEST,M_BCM1480_INT_HT_INTDEST) 3131.1Ssimonb 3141.1Ssimonb#define S_BCM1480_INT_HT_VECTOR 13 3151.1Ssimonb#define M_BCM1480_INT_HT_VECTOR _SB_MAKEMASK(8,S_BCM1480_INT_HT_VECTOR) 3161.1Ssimonb#define V_BCM1480_INT_HT_VECTOR(x) _SB_MAKEVALUE(x,S_BCM1480_INT_HT_VECTOR) 3171.1Ssimonb#define G_BCM1480_INT_HT_VECTOR(x) _SB_GETVALUE(x,S_BCM1480_INT_HT_VECTOR,M_BCM1480_INT_HT_VECTOR) 3181.1Ssimonb 3191.1Ssimonb/* 3201.1Ssimonb * Vector prefix (Table 4-7) 3211.1Ssimonb */ 3221.1Ssimonb 3231.1Ssimonb#define M_BCM1480_HTVECT_RAISE_INTLDT_HIGH 0x00 3241.1Ssimonb#define M_BCM1480_HTVECT_RAISE_MBOX_0 0x40 3251.1Ssimonb#define M_BCM1480_HTVECT_RAISE_INTLDT_LO 0x80 3261.1Ssimonb#define M_BCM1480_HTVECT_RAISE_MBOX_1 0xC0 3271.1Ssimonb 3281.1Ssimonb#endif /* _BCM1480_INT_H */ 329