Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*  *********************************************************************
0003     *  BCM1280/BCM1480 Board Support Package
0004     *
0005     *  Interrupt Mapper definitions     File: bcm1480_int.h
0006     *
0007     *  This module contains constants for manipulating the
0008     *  BCM1255/BCM1280/BCM1455/BCM1480's interrupt mapper and
0009     *  definitions for the interrupt sources.
0010     *
0011     *  BCM1480 specification level: 1X55_1X80-UM100-D4 (11/24/03)
0012     *
0013     *********************************************************************
0014     *
0015     *  Copyright 2000,2001,2002,2003
0016     *  Broadcom Corporation. All rights reserved.
0017     *
0018     ********************************************************************* */
0019 
0020 
0021 #ifndef _BCM1480_INT_H
0022 #define _BCM1480_INT_H
0023 
0024 #include <asm/sibyte/sb1250_defs.h>
0025 
0026 /*  *********************************************************************
0027     *  Interrupt Mapper Constants
0028     ********************************************************************* */
0029 
0030 /*
0031  * The interrupt mapper deals with 128-bit logical registers that are
0032  * implemented as pairs of 64-bit registers, with the "low" 64 bits in
0033  * a register that has an address 0x1000 higher(!) than the
0034  * corresponding "high" register.
0035  *
0036  * For appropriate registers, bit 0 of the "high" register is a
0037  * cascade bit that summarizes (as a bit-OR) the 64 bits of the "low"
0038  * register.
0039  */
0040 
0041 /*
0042  * This entire file uses _BCM1480_ in all the symbols because it is
0043  * entirely BCM1480 specific.
0044  */
0045 
0046 /*
0047  * Interrupt sources (Table 22)
0048  */
0049 
0050 #define K_BCM1480_INT_SOURCES           128
0051 
0052 #define _BCM1480_INT_HIGH(k)   (k)
0053 #define _BCM1480_INT_LOW(k)    ((k)+64)
0054 
0055 #define K_BCM1480_INT_ADDR_TRAP         _BCM1480_INT_HIGH(1)
0056 #define K_BCM1480_INT_GPIO_0            _BCM1480_INT_HIGH(4)
0057 #define K_BCM1480_INT_GPIO_1            _BCM1480_INT_HIGH(5)
0058 #define K_BCM1480_INT_GPIO_2            _BCM1480_INT_HIGH(6)
0059 #define K_BCM1480_INT_GPIO_3            _BCM1480_INT_HIGH(7)
0060 #define K_BCM1480_INT_PCI_INTA          _BCM1480_INT_HIGH(8)
0061 #define K_BCM1480_INT_PCI_INTB          _BCM1480_INT_HIGH(9)
0062 #define K_BCM1480_INT_PCI_INTC          _BCM1480_INT_HIGH(10)
0063 #define K_BCM1480_INT_PCI_INTD          _BCM1480_INT_HIGH(11)
0064 #define K_BCM1480_INT_CYCLE_CP0         _BCM1480_INT_HIGH(12)
0065 #define K_BCM1480_INT_CYCLE_CP1         _BCM1480_INT_HIGH(13)
0066 #define K_BCM1480_INT_CYCLE_CP2         _BCM1480_INT_HIGH(14)
0067 #define K_BCM1480_INT_CYCLE_CP3         _BCM1480_INT_HIGH(15)
0068 #define K_BCM1480_INT_TIMER_0           _BCM1480_INT_HIGH(20)
0069 #define K_BCM1480_INT_TIMER_1           _BCM1480_INT_HIGH(21)
0070 #define K_BCM1480_INT_TIMER_2           _BCM1480_INT_HIGH(22)
0071 #define K_BCM1480_INT_TIMER_3           _BCM1480_INT_HIGH(23)
0072 #define K_BCM1480_INT_DM_CH_0           _BCM1480_INT_HIGH(28)
0073 #define K_BCM1480_INT_DM_CH_1           _BCM1480_INT_HIGH(29)
0074 #define K_BCM1480_INT_DM_CH_2           _BCM1480_INT_HIGH(30)
0075 #define K_BCM1480_INT_DM_CH_3           _BCM1480_INT_HIGH(31)
0076 #define K_BCM1480_INT_MAC_0         _BCM1480_INT_HIGH(36)
0077 #define K_BCM1480_INT_MAC_0_CH1         _BCM1480_INT_HIGH(37)
0078 #define K_BCM1480_INT_MAC_1         _BCM1480_INT_HIGH(38)
0079 #define K_BCM1480_INT_MAC_1_CH1         _BCM1480_INT_HIGH(39)
0080 #define K_BCM1480_INT_MAC_2         _BCM1480_INT_HIGH(40)
0081 #define K_BCM1480_INT_MAC_2_CH1         _BCM1480_INT_HIGH(41)
0082 #define K_BCM1480_INT_MAC_3         _BCM1480_INT_HIGH(42)
0083 #define K_BCM1480_INT_MAC_3_CH1         _BCM1480_INT_HIGH(43)
0084 #define K_BCM1480_INT_PMI_LOW           _BCM1480_INT_HIGH(52)
0085 #define K_BCM1480_INT_PMI_HIGH          _BCM1480_INT_HIGH(53)
0086 #define K_BCM1480_INT_PMO_LOW           _BCM1480_INT_HIGH(54)
0087 #define K_BCM1480_INT_PMO_HIGH          _BCM1480_INT_HIGH(55)
0088 #define K_BCM1480_INT_MBOX_0_0          _BCM1480_INT_HIGH(56)
0089 #define K_BCM1480_INT_MBOX_0_1          _BCM1480_INT_HIGH(57)
0090 #define K_BCM1480_INT_MBOX_0_2          _BCM1480_INT_HIGH(58)
0091 #define K_BCM1480_INT_MBOX_0_3          _BCM1480_INT_HIGH(59)
0092 #define K_BCM1480_INT_MBOX_1_0          _BCM1480_INT_HIGH(60)
0093 #define K_BCM1480_INT_MBOX_1_1          _BCM1480_INT_HIGH(61)
0094 #define K_BCM1480_INT_MBOX_1_2          _BCM1480_INT_HIGH(62)
0095 #define K_BCM1480_INT_MBOX_1_3          _BCM1480_INT_HIGH(63)
0096 
0097 #define K_BCM1480_INT_BAD_ECC           _BCM1480_INT_LOW(1)
0098 #define K_BCM1480_INT_COR_ECC           _BCM1480_INT_LOW(2)
0099 #define K_BCM1480_INT_IO_BUS            _BCM1480_INT_LOW(3)
0100 #define K_BCM1480_INT_PERF_CNT          _BCM1480_INT_LOW(4)
0101 #define K_BCM1480_INT_SW_PERF_CNT       _BCM1480_INT_LOW(5)
0102 #define K_BCM1480_INT_TRACE_FREEZE      _BCM1480_INT_LOW(6)
0103 #define K_BCM1480_INT_SW_TRACE_FREEZE       _BCM1480_INT_LOW(7)
0104 #define K_BCM1480_INT_WATCHDOG_TIMER_0      _BCM1480_INT_LOW(8)
0105 #define K_BCM1480_INT_WATCHDOG_TIMER_1      _BCM1480_INT_LOW(9)
0106 #define K_BCM1480_INT_WATCHDOG_TIMER_2      _BCM1480_INT_LOW(10)
0107 #define K_BCM1480_INT_WATCHDOG_TIMER_3      _BCM1480_INT_LOW(11)
0108 #define K_BCM1480_INT_PCI_ERROR         _BCM1480_INT_LOW(16)
0109 #define K_BCM1480_INT_PCI_RESET         _BCM1480_INT_LOW(17)
0110 #define K_BCM1480_INT_NODE_CONTROLLER       _BCM1480_INT_LOW(18)
0111 #define K_BCM1480_INT_HOST_BRIDGE       _BCM1480_INT_LOW(19)
0112 #define K_BCM1480_INT_PORT_0_FATAL      _BCM1480_INT_LOW(20)
0113 #define K_BCM1480_INT_PORT_0_NONFATAL       _BCM1480_INT_LOW(21)
0114 #define K_BCM1480_INT_PORT_1_FATAL      _BCM1480_INT_LOW(22)
0115 #define K_BCM1480_INT_PORT_1_NONFATAL       _BCM1480_INT_LOW(23)
0116 #define K_BCM1480_INT_PORT_2_FATAL      _BCM1480_INT_LOW(24)
0117 #define K_BCM1480_INT_PORT_2_NONFATAL       _BCM1480_INT_LOW(25)
0118 #define K_BCM1480_INT_LDT_SMI           _BCM1480_INT_LOW(32)
0119 #define K_BCM1480_INT_LDT_NMI           _BCM1480_INT_LOW(33)
0120 #define K_BCM1480_INT_LDT_INIT          _BCM1480_INT_LOW(34)
0121 #define K_BCM1480_INT_LDT_STARTUP       _BCM1480_INT_LOW(35)
0122 #define K_BCM1480_INT_LDT_EXT           _BCM1480_INT_LOW(36)
0123 #define K_BCM1480_INT_SMB_0         _BCM1480_INT_LOW(40)
0124 #define K_BCM1480_INT_SMB_1         _BCM1480_INT_LOW(41)
0125 #define K_BCM1480_INT_PCMCIA            _BCM1480_INT_LOW(42)
0126 #define K_BCM1480_INT_UART_0            _BCM1480_INT_LOW(44)
0127 #define K_BCM1480_INT_UART_1            _BCM1480_INT_LOW(45)
0128 #define K_BCM1480_INT_UART_2            _BCM1480_INT_LOW(46)
0129 #define K_BCM1480_INT_UART_3            _BCM1480_INT_LOW(47)
0130 #define K_BCM1480_INT_GPIO_4            _BCM1480_INT_LOW(52)
0131 #define K_BCM1480_INT_GPIO_5            _BCM1480_INT_LOW(53)
0132 #define K_BCM1480_INT_GPIO_6            _BCM1480_INT_LOW(54)
0133 #define K_BCM1480_INT_GPIO_7            _BCM1480_INT_LOW(55)
0134 #define K_BCM1480_INT_GPIO_8            _BCM1480_INT_LOW(56)
0135 #define K_BCM1480_INT_GPIO_9            _BCM1480_INT_LOW(57)
0136 #define K_BCM1480_INT_GPIO_10           _BCM1480_INT_LOW(58)
0137 #define K_BCM1480_INT_GPIO_11           _BCM1480_INT_LOW(59)
0138 #define K_BCM1480_INT_GPIO_12           _BCM1480_INT_LOW(60)
0139 #define K_BCM1480_INT_GPIO_13           _BCM1480_INT_LOW(61)
0140 #define K_BCM1480_INT_GPIO_14           _BCM1480_INT_LOW(62)
0141 #define K_BCM1480_INT_GPIO_15           _BCM1480_INT_LOW(63)
0142 
0143 /*
0144  * Mask values for each interrupt
0145  */
0146 
0147 #define _BCM1480_INT_MASK(w, n)          _SB_MAKEMASK(w, ((n) & 0x3F))
0148 #define _BCM1480_INT_MASK1(n)           _SB_MAKEMASK1(((n) & 0x3F))
0149 #define _BCM1480_INT_OFFSET(n)          (((n) & 0x40) << 6)
0150 
0151 #define M_BCM1480_INT_CASCADE           _BCM1480_INT_MASK1(_BCM1480_INT_HIGH(0))
0152 
0153 #define M_BCM1480_INT_ADDR_TRAP         _BCM1480_INT_MASK1(K_BCM1480_INT_ADDR_TRAP)
0154 #define M_BCM1480_INT_GPIO_0            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_0)
0155 #define M_BCM1480_INT_GPIO_1            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_1)
0156 #define M_BCM1480_INT_GPIO_2            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_2)
0157 #define M_BCM1480_INT_GPIO_3            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_3)
0158 #define M_BCM1480_INT_PCI_INTA          _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTA)
0159 #define M_BCM1480_INT_PCI_INTB          _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTB)
0160 #define M_BCM1480_INT_PCI_INTC          _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTC)
0161 #define M_BCM1480_INT_PCI_INTD          _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTD)
0162 #define M_BCM1480_INT_CYCLE_CP0         _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP0)
0163 #define M_BCM1480_INT_CYCLE_CP1         _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP1)
0164 #define M_BCM1480_INT_CYCLE_CP2         _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP2)
0165 #define M_BCM1480_INT_CYCLE_CP3         _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP3)
0166 #define M_BCM1480_INT_TIMER_0           _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_0)
0167 #define M_BCM1480_INT_TIMER_1           _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_1)
0168 #define M_BCM1480_INT_TIMER_2           _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_2)
0169 #define M_BCM1480_INT_TIMER_3           _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_3)
0170 #define M_BCM1480_INT_DM_CH_0           _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_0)
0171 #define M_BCM1480_INT_DM_CH_1           _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_1)
0172 #define M_BCM1480_INT_DM_CH_2           _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_2)
0173 #define M_BCM1480_INT_DM_CH_3           _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_3)
0174 #define M_BCM1480_INT_MAC_0         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0)
0175 #define M_BCM1480_INT_MAC_0_CH1         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0_CH1)
0176 #define M_BCM1480_INT_MAC_1         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1)
0177 #define M_BCM1480_INT_MAC_1_CH1         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1_CH1)
0178 #define M_BCM1480_INT_MAC_2         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2)
0179 #define M_BCM1480_INT_MAC_2_CH1         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2_CH1)
0180 #define M_BCM1480_INT_MAC_3         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3)
0181 #define M_BCM1480_INT_MAC_3_CH1         _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3_CH1)
0182 #define M_BCM1480_INT_PMI_LOW           _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_LOW)
0183 #define M_BCM1480_INT_PMI_HIGH          _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_HIGH)
0184 #define M_BCM1480_INT_PMO_LOW           _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_LOW)
0185 #define M_BCM1480_INT_PMO_HIGH          _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_HIGH)
0186 #define M_BCM1480_INT_MBOX_ALL          _BCM1480_INT_MASK(8, K_BCM1480_INT_MBOX_0_0)
0187 #define M_BCM1480_INT_MBOX_0_0          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_0)
0188 #define M_BCM1480_INT_MBOX_0_1          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_1)
0189 #define M_BCM1480_INT_MBOX_0_2          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_2)
0190 #define M_BCM1480_INT_MBOX_0_3          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_3)
0191 #define M_BCM1480_INT_MBOX_1_0          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_0)
0192 #define M_BCM1480_INT_MBOX_1_1          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_1)
0193 #define M_BCM1480_INT_MBOX_1_2          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_2)
0194 #define M_BCM1480_INT_MBOX_1_3          _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_3)
0195 #define M_BCM1480_INT_BAD_ECC           _BCM1480_INT_MASK1(K_BCM1480_INT_BAD_ECC)
0196 #define M_BCM1480_INT_COR_ECC           _BCM1480_INT_MASK1(K_BCM1480_INT_COR_ECC)
0197 #define M_BCM1480_INT_IO_BUS            _BCM1480_INT_MASK1(K_BCM1480_INT_IO_BUS)
0198 #define M_BCM1480_INT_PERF_CNT          _BCM1480_INT_MASK1(K_BCM1480_INT_PERF_CNT)
0199 #define M_BCM1480_INT_SW_PERF_CNT       _BCM1480_INT_MASK1(K_BCM1480_INT_SW_PERF_CNT)
0200 #define M_BCM1480_INT_TRACE_FREEZE      _BCM1480_INT_MASK1(K_BCM1480_INT_TRACE_FREEZE)
0201 #define M_BCM1480_INT_SW_TRACE_FREEZE       _BCM1480_INT_MASK1(K_BCM1480_INT_SW_TRACE_FREEZE)
0202 #define M_BCM1480_INT_WATCHDOG_TIMER_0      _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_0)
0203 #define M_BCM1480_INT_WATCHDOG_TIMER_1      _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_1)
0204 #define M_BCM1480_INT_WATCHDOG_TIMER_2      _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_2)
0205 #define M_BCM1480_INT_WATCHDOG_TIMER_3      _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_3)
0206 #define M_BCM1480_INT_PCI_ERROR         _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_ERROR)
0207 #define M_BCM1480_INT_PCI_RESET         _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_RESET)
0208 #define M_BCM1480_INT_NODE_CONTROLLER       _BCM1480_INT_MASK1(K_BCM1480_INT_NODE_CONTROLLER)
0209 #define M_BCM1480_INT_HOST_BRIDGE       _BCM1480_INT_MASK1(K_BCM1480_INT_HOST_BRIDGE)
0210 #define M_BCM1480_INT_PORT_0_FATAL      _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_FATAL)
0211 #define M_BCM1480_INT_PORT_0_NONFATAL       _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_NONFATAL)
0212 #define M_BCM1480_INT_PORT_1_FATAL      _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_FATAL)
0213 #define M_BCM1480_INT_PORT_1_NONFATAL       _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_NONFATAL)
0214 #define M_BCM1480_INT_PORT_2_FATAL      _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_FATAL)
0215 #define M_BCM1480_INT_PORT_2_NONFATAL       _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_NONFATAL)
0216 #define M_BCM1480_INT_LDT_SMI           _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_SMI)
0217 #define M_BCM1480_INT_LDT_NMI           _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_NMI)
0218 #define M_BCM1480_INT_LDT_INIT          _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_INIT)
0219 #define M_BCM1480_INT_LDT_STARTUP       _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_STARTUP)
0220 #define M_BCM1480_INT_LDT_EXT           _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_EXT)
0221 #define M_BCM1480_INT_SMB_0         _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_0)
0222 #define M_BCM1480_INT_SMB_1         _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_1)
0223 #define M_BCM1480_INT_PCMCIA            _BCM1480_INT_MASK1(K_BCM1480_INT_PCMCIA)
0224 #define M_BCM1480_INT_UART_0            _BCM1480_INT_MASK1(K_BCM1480_INT_UART_0)
0225 #define M_BCM1480_INT_UART_1            _BCM1480_INT_MASK1(K_BCM1480_INT_UART_1)
0226 #define M_BCM1480_INT_UART_2            _BCM1480_INT_MASK1(K_BCM1480_INT_UART_2)
0227 #define M_BCM1480_INT_UART_3            _BCM1480_INT_MASK1(K_BCM1480_INT_UART_3)
0228 #define M_BCM1480_INT_GPIO_4            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_4)
0229 #define M_BCM1480_INT_GPIO_5            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_5)
0230 #define M_BCM1480_INT_GPIO_6            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_6)
0231 #define M_BCM1480_INT_GPIO_7            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_7)
0232 #define M_BCM1480_INT_GPIO_8            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_8)
0233 #define M_BCM1480_INT_GPIO_9            _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_9)
0234 #define M_BCM1480_INT_GPIO_10           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_10)
0235 #define M_BCM1480_INT_GPIO_11           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_11)
0236 #define M_BCM1480_INT_GPIO_12           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_12)
0237 #define M_BCM1480_INT_GPIO_13           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_13)
0238 #define M_BCM1480_INT_GPIO_14           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_14)
0239 #define M_BCM1480_INT_GPIO_15           _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_15)
0240 
0241 /*
0242  * Interrupt mappings (Table 18)
0243  */
0244 
0245 #define K_BCM1480_INT_MAP_I0    0       /* interrupt pins on processor */
0246 #define K_BCM1480_INT_MAP_I1    1
0247 #define K_BCM1480_INT_MAP_I2    2
0248 #define K_BCM1480_INT_MAP_I3    3
0249 #define K_BCM1480_INT_MAP_I4    4
0250 #define K_BCM1480_INT_MAP_I5    5
0251 #define K_BCM1480_INT_MAP_NMI   6       /* nonmaskable */
0252 #define K_BCM1480_INT_MAP_DINT  7       /* debug interrupt */
0253 
0254 /*
0255  * Interrupt LDT Set Register (Table 19)
0256  */
0257 
0258 #define S_BCM1480_INT_HT_INTMSG         0
0259 #define M_BCM1480_INT_HT_INTMSG         _SB_MAKEMASK(3, S_BCM1480_INT_HT_INTMSG)
0260 #define V_BCM1480_INT_HT_INTMSG(x)      _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTMSG)
0261 #define G_BCM1480_INT_HT_INTMSG(x)      _SB_GETVALUE(x, S_BCM1480_INT_HT_INTMSG, M_BCM1480_INT_HT_INTMSG)
0262 
0263 #define K_BCM1480_INT_HT_INTMSG_FIXED       0
0264 #define K_BCM1480_INT_HT_INTMSG_ARBITRATED  1
0265 #define K_BCM1480_INT_HT_INTMSG_SMI     2
0266 #define K_BCM1480_INT_HT_INTMSG_NMI     3
0267 #define K_BCM1480_INT_HT_INTMSG_INIT        4
0268 #define K_BCM1480_INT_HT_INTMSG_STARTUP     5
0269 #define K_BCM1480_INT_HT_INTMSG_EXTINT      6
0270 #define K_BCM1480_INT_HT_INTMSG_RESERVED    7
0271 
0272 #define M_BCM1480_INT_HT_TRIGGERMODE        _SB_MAKEMASK1(3)
0273 #define V_BCM1480_INT_HT_EDGETRIGGER        0
0274 #define V_BCM1480_INT_HT_LEVELTRIGGER       M_BCM1480_INT_HT_TRIGGERMODE
0275 
0276 #define M_BCM1480_INT_HT_DESTMODE       _SB_MAKEMASK1(4)
0277 #define V_BCM1480_INT_HT_PHYSICALDEST       0
0278 #define V_BCM1480_INT_HT_LOGICALDEST        M_BCM1480_INT_HT_DESTMODE
0279 
0280 #define S_BCM1480_INT_HT_INTDEST        5
0281 #define M_BCM1480_INT_HT_INTDEST        _SB_MAKEMASK(8, S_BCM1480_INT_HT_INTDEST)
0282 #define V_BCM1480_INT_HT_INTDEST(x)     _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTDEST)
0283 #define G_BCM1480_INT_HT_INTDEST(x)     _SB_GETVALUE(x, S_BCM1480_INT_HT_INTDEST, M_BCM1480_INT_HT_INTDEST)
0284 
0285 #define S_BCM1480_INT_HT_VECTOR         13
0286 #define M_BCM1480_INT_HT_VECTOR         _SB_MAKEMASK(8, S_BCM1480_INT_HT_VECTOR)
0287 #define V_BCM1480_INT_HT_VECTOR(x)      _SB_MAKEVALUE(x, S_BCM1480_INT_HT_VECTOR)
0288 #define G_BCM1480_INT_HT_VECTOR(x)      _SB_GETVALUE(x, S_BCM1480_INT_HT_VECTOR, M_BCM1480_INT_HT_VECTOR)
0289 
0290 /*
0291  * Vector prefix (Table 4-7)
0292  */
0293 
0294 #define M_BCM1480_HTVECT_RAISE_INTLDT_HIGH  0x00
0295 #define M_BCM1480_HTVECT_RAISE_MBOX_0       0x40
0296 #define M_BCM1480_HTVECT_RAISE_INTLDT_LO    0x80
0297 #define M_BCM1480_HTVECT_RAISE_MBOX_1       0xC0
0298 
0299 #endif /* _BCM1480_INT_H */