18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* ********************************************************************* 38c2ecf20Sopenharmony_ci * BCM1280/BCM1480 Board Support Package 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Interrupt Mapper definitions File: bcm1480_int.h 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * This module contains constants for manipulating the 88c2ecf20Sopenharmony_ci * BCM1255/BCM1280/BCM1455/BCM1480's interrupt mapper and 98c2ecf20Sopenharmony_ci * definitions for the interrupt sources. 108c2ecf20Sopenharmony_ci * 118c2ecf20Sopenharmony_ci * BCM1480 specification level: 1X55_1X80-UM100-D4 (11/24/03) 128c2ecf20Sopenharmony_ci * 138c2ecf20Sopenharmony_ci ********************************************************************* 148c2ecf20Sopenharmony_ci * 158c2ecf20Sopenharmony_ci * Copyright 2000,2001,2002,2003 168c2ecf20Sopenharmony_ci * Broadcom Corporation. All rights reserved. 178c2ecf20Sopenharmony_ci * 188c2ecf20Sopenharmony_ci ********************************************************************* */ 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#ifndef _BCM1480_INT_H 228c2ecf20Sopenharmony_ci#define _BCM1480_INT_H 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#include <asm/sibyte/sb1250_defs.h> 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci/* ********************************************************************* 278c2ecf20Sopenharmony_ci * Interrupt Mapper Constants 288c2ecf20Sopenharmony_ci ********************************************************************* */ 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci/* 318c2ecf20Sopenharmony_ci * The interrupt mapper deals with 128-bit logical registers that are 328c2ecf20Sopenharmony_ci * implemented as pairs of 64-bit registers, with the "low" 64 bits in 338c2ecf20Sopenharmony_ci * a register that has an address 0x1000 higher(!) than the 348c2ecf20Sopenharmony_ci * corresponding "high" register. 358c2ecf20Sopenharmony_ci * 368c2ecf20Sopenharmony_ci * For appropriate registers, bit 0 of the "high" register is a 378c2ecf20Sopenharmony_ci * cascade bit that summarizes (as a bit-OR) the 64 bits of the "low" 388c2ecf20Sopenharmony_ci * register. 398c2ecf20Sopenharmony_ci */ 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci/* 428c2ecf20Sopenharmony_ci * This entire file uses _BCM1480_ in all the symbols because it is 438c2ecf20Sopenharmony_ci * entirely BCM1480 specific. 448c2ecf20Sopenharmony_ci */ 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci/* 478c2ecf20Sopenharmony_ci * Interrupt sources (Table 22) 488c2ecf20Sopenharmony_ci */ 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci#define K_BCM1480_INT_SOURCES 128 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci#define _BCM1480_INT_HIGH(k) (k) 538c2ecf20Sopenharmony_ci#define _BCM1480_INT_LOW(k) ((k)+64) 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci#define K_BCM1480_INT_ADDR_TRAP _BCM1480_INT_HIGH(1) 568c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_0 _BCM1480_INT_HIGH(4) 578c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_1 _BCM1480_INT_HIGH(5) 588c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_2 _BCM1480_INT_HIGH(6) 598c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_3 _BCM1480_INT_HIGH(7) 608c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_INTA _BCM1480_INT_HIGH(8) 618c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_INTB _BCM1480_INT_HIGH(9) 628c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_INTC _BCM1480_INT_HIGH(10) 638c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_INTD _BCM1480_INT_HIGH(11) 648c2ecf20Sopenharmony_ci#define K_BCM1480_INT_CYCLE_CP0 _BCM1480_INT_HIGH(12) 658c2ecf20Sopenharmony_ci#define K_BCM1480_INT_CYCLE_CP1 _BCM1480_INT_HIGH(13) 668c2ecf20Sopenharmony_ci#define K_BCM1480_INT_CYCLE_CP2 _BCM1480_INT_HIGH(14) 678c2ecf20Sopenharmony_ci#define K_BCM1480_INT_CYCLE_CP3 _BCM1480_INT_HIGH(15) 688c2ecf20Sopenharmony_ci#define K_BCM1480_INT_TIMER_0 _BCM1480_INT_HIGH(20) 698c2ecf20Sopenharmony_ci#define K_BCM1480_INT_TIMER_1 _BCM1480_INT_HIGH(21) 708c2ecf20Sopenharmony_ci#define K_BCM1480_INT_TIMER_2 _BCM1480_INT_HIGH(22) 718c2ecf20Sopenharmony_ci#define K_BCM1480_INT_TIMER_3 _BCM1480_INT_HIGH(23) 728c2ecf20Sopenharmony_ci#define K_BCM1480_INT_DM_CH_0 _BCM1480_INT_HIGH(28) 738c2ecf20Sopenharmony_ci#define K_BCM1480_INT_DM_CH_1 _BCM1480_INT_HIGH(29) 748c2ecf20Sopenharmony_ci#define K_BCM1480_INT_DM_CH_2 _BCM1480_INT_HIGH(30) 758c2ecf20Sopenharmony_ci#define K_BCM1480_INT_DM_CH_3 _BCM1480_INT_HIGH(31) 768c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_0 _BCM1480_INT_HIGH(36) 778c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_0_CH1 _BCM1480_INT_HIGH(37) 788c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_1 _BCM1480_INT_HIGH(38) 798c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_1_CH1 _BCM1480_INT_HIGH(39) 808c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_2 _BCM1480_INT_HIGH(40) 818c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_2_CH1 _BCM1480_INT_HIGH(41) 828c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_3 _BCM1480_INT_HIGH(42) 838c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAC_3_CH1 _BCM1480_INT_HIGH(43) 848c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PMI_LOW _BCM1480_INT_HIGH(52) 858c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PMI_HIGH _BCM1480_INT_HIGH(53) 868c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PMO_LOW _BCM1480_INT_HIGH(54) 878c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PMO_HIGH _BCM1480_INT_HIGH(55) 888c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_0_0 _BCM1480_INT_HIGH(56) 898c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_0_1 _BCM1480_INT_HIGH(57) 908c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_0_2 _BCM1480_INT_HIGH(58) 918c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_0_3 _BCM1480_INT_HIGH(59) 928c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_1_0 _BCM1480_INT_HIGH(60) 938c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_1_1 _BCM1480_INT_HIGH(61) 948c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_1_2 _BCM1480_INT_HIGH(62) 958c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MBOX_1_3 _BCM1480_INT_HIGH(63) 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci#define K_BCM1480_INT_BAD_ECC _BCM1480_INT_LOW(1) 988c2ecf20Sopenharmony_ci#define K_BCM1480_INT_COR_ECC _BCM1480_INT_LOW(2) 998c2ecf20Sopenharmony_ci#define K_BCM1480_INT_IO_BUS _BCM1480_INT_LOW(3) 1008c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PERF_CNT _BCM1480_INT_LOW(4) 1018c2ecf20Sopenharmony_ci#define K_BCM1480_INT_SW_PERF_CNT _BCM1480_INT_LOW(5) 1028c2ecf20Sopenharmony_ci#define K_BCM1480_INT_TRACE_FREEZE _BCM1480_INT_LOW(6) 1038c2ecf20Sopenharmony_ci#define K_BCM1480_INT_SW_TRACE_FREEZE _BCM1480_INT_LOW(7) 1048c2ecf20Sopenharmony_ci#define K_BCM1480_INT_WATCHDOG_TIMER_0 _BCM1480_INT_LOW(8) 1058c2ecf20Sopenharmony_ci#define K_BCM1480_INT_WATCHDOG_TIMER_1 _BCM1480_INT_LOW(9) 1068c2ecf20Sopenharmony_ci#define K_BCM1480_INT_WATCHDOG_TIMER_2 _BCM1480_INT_LOW(10) 1078c2ecf20Sopenharmony_ci#define K_BCM1480_INT_WATCHDOG_TIMER_3 _BCM1480_INT_LOW(11) 1088c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_ERROR _BCM1480_INT_LOW(16) 1098c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCI_RESET _BCM1480_INT_LOW(17) 1108c2ecf20Sopenharmony_ci#define K_BCM1480_INT_NODE_CONTROLLER _BCM1480_INT_LOW(18) 1118c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HOST_BRIDGE _BCM1480_INT_LOW(19) 1128c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_0_FATAL _BCM1480_INT_LOW(20) 1138c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_0_NONFATAL _BCM1480_INT_LOW(21) 1148c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_1_FATAL _BCM1480_INT_LOW(22) 1158c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_1_NONFATAL _BCM1480_INT_LOW(23) 1168c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_2_FATAL _BCM1480_INT_LOW(24) 1178c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PORT_2_NONFATAL _BCM1480_INT_LOW(25) 1188c2ecf20Sopenharmony_ci#define K_BCM1480_INT_LDT_SMI _BCM1480_INT_LOW(32) 1198c2ecf20Sopenharmony_ci#define K_BCM1480_INT_LDT_NMI _BCM1480_INT_LOW(33) 1208c2ecf20Sopenharmony_ci#define K_BCM1480_INT_LDT_INIT _BCM1480_INT_LOW(34) 1218c2ecf20Sopenharmony_ci#define K_BCM1480_INT_LDT_STARTUP _BCM1480_INT_LOW(35) 1228c2ecf20Sopenharmony_ci#define K_BCM1480_INT_LDT_EXT _BCM1480_INT_LOW(36) 1238c2ecf20Sopenharmony_ci#define K_BCM1480_INT_SMB_0 _BCM1480_INT_LOW(40) 1248c2ecf20Sopenharmony_ci#define K_BCM1480_INT_SMB_1 _BCM1480_INT_LOW(41) 1258c2ecf20Sopenharmony_ci#define K_BCM1480_INT_PCMCIA _BCM1480_INT_LOW(42) 1268c2ecf20Sopenharmony_ci#define K_BCM1480_INT_UART_0 _BCM1480_INT_LOW(44) 1278c2ecf20Sopenharmony_ci#define K_BCM1480_INT_UART_1 _BCM1480_INT_LOW(45) 1288c2ecf20Sopenharmony_ci#define K_BCM1480_INT_UART_2 _BCM1480_INT_LOW(46) 1298c2ecf20Sopenharmony_ci#define K_BCM1480_INT_UART_3 _BCM1480_INT_LOW(47) 1308c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_4 _BCM1480_INT_LOW(52) 1318c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_5 _BCM1480_INT_LOW(53) 1328c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_6 _BCM1480_INT_LOW(54) 1338c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_7 _BCM1480_INT_LOW(55) 1348c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_8 _BCM1480_INT_LOW(56) 1358c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_9 _BCM1480_INT_LOW(57) 1368c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_10 _BCM1480_INT_LOW(58) 1378c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_11 _BCM1480_INT_LOW(59) 1388c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_12 _BCM1480_INT_LOW(60) 1398c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_13 _BCM1480_INT_LOW(61) 1408c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_14 _BCM1480_INT_LOW(62) 1418c2ecf20Sopenharmony_ci#define K_BCM1480_INT_GPIO_15 _BCM1480_INT_LOW(63) 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci/* 1448c2ecf20Sopenharmony_ci * Mask values for each interrupt 1458c2ecf20Sopenharmony_ci */ 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci#define _BCM1480_INT_MASK(w, n) _SB_MAKEMASK(w, ((n) & 0x3F)) 1488c2ecf20Sopenharmony_ci#define _BCM1480_INT_MASK1(n) _SB_MAKEMASK1(((n) & 0x3F)) 1498c2ecf20Sopenharmony_ci#define _BCM1480_INT_OFFSET(n) (((n) & 0x40) << 6) 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ci#define M_BCM1480_INT_CASCADE _BCM1480_INT_MASK1(_BCM1480_INT_HIGH(0)) 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci#define M_BCM1480_INT_ADDR_TRAP _BCM1480_INT_MASK1(K_BCM1480_INT_ADDR_TRAP) 1548c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_0 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_0) 1558c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_1 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_1) 1568c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_2 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_2) 1578c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_3 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_3) 1588c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_INTA _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTA) 1598c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_INTB _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTB) 1608c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_INTC _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTC) 1618c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_INTD _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_INTD) 1628c2ecf20Sopenharmony_ci#define M_BCM1480_INT_CYCLE_CP0 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP0) 1638c2ecf20Sopenharmony_ci#define M_BCM1480_INT_CYCLE_CP1 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP1) 1648c2ecf20Sopenharmony_ci#define M_BCM1480_INT_CYCLE_CP2 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP2) 1658c2ecf20Sopenharmony_ci#define M_BCM1480_INT_CYCLE_CP3 _BCM1480_INT_MASK1(K_BCM1480_INT_CYCLE_CP3) 1668c2ecf20Sopenharmony_ci#define M_BCM1480_INT_TIMER_0 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_0) 1678c2ecf20Sopenharmony_ci#define M_BCM1480_INT_TIMER_1 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_1) 1688c2ecf20Sopenharmony_ci#define M_BCM1480_INT_TIMER_2 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_2) 1698c2ecf20Sopenharmony_ci#define M_BCM1480_INT_TIMER_3 _BCM1480_INT_MASK1(K_BCM1480_INT_TIMER_3) 1708c2ecf20Sopenharmony_ci#define M_BCM1480_INT_DM_CH_0 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_0) 1718c2ecf20Sopenharmony_ci#define M_BCM1480_INT_DM_CH_1 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_1) 1728c2ecf20Sopenharmony_ci#define M_BCM1480_INT_DM_CH_2 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_2) 1738c2ecf20Sopenharmony_ci#define M_BCM1480_INT_DM_CH_3 _BCM1480_INT_MASK1(K_BCM1480_INT_DM_CH_3) 1748c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0) 1758c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_0_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_0_CH1) 1768c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1) 1778c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_1_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_1_CH1) 1788c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2) 1798c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_2_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_2_CH1) 1808c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3) 1818c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MAC_3_CH1 _BCM1480_INT_MASK1(K_BCM1480_INT_MAC_3_CH1) 1828c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PMI_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_LOW) 1838c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PMI_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMI_HIGH) 1848c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PMO_LOW _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_LOW) 1858c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PMO_HIGH _BCM1480_INT_MASK1(K_BCM1480_INT_PMO_HIGH) 1868c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_ALL _BCM1480_INT_MASK(8, K_BCM1480_INT_MBOX_0_0) 1878c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_0_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_0) 1888c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_0_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_1) 1898c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_0_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_2) 1908c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_0_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_0_3) 1918c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_1_0 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_0) 1928c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_1_1 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_1) 1938c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_1_2 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_2) 1948c2ecf20Sopenharmony_ci#define M_BCM1480_INT_MBOX_1_3 _BCM1480_INT_MASK1(K_BCM1480_INT_MBOX_1_3) 1958c2ecf20Sopenharmony_ci#define M_BCM1480_INT_BAD_ECC _BCM1480_INT_MASK1(K_BCM1480_INT_BAD_ECC) 1968c2ecf20Sopenharmony_ci#define M_BCM1480_INT_COR_ECC _BCM1480_INT_MASK1(K_BCM1480_INT_COR_ECC) 1978c2ecf20Sopenharmony_ci#define M_BCM1480_INT_IO_BUS _BCM1480_INT_MASK1(K_BCM1480_INT_IO_BUS) 1988c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PERF_CNT _BCM1480_INT_MASK1(K_BCM1480_INT_PERF_CNT) 1998c2ecf20Sopenharmony_ci#define M_BCM1480_INT_SW_PERF_CNT _BCM1480_INT_MASK1(K_BCM1480_INT_SW_PERF_CNT) 2008c2ecf20Sopenharmony_ci#define M_BCM1480_INT_TRACE_FREEZE _BCM1480_INT_MASK1(K_BCM1480_INT_TRACE_FREEZE) 2018c2ecf20Sopenharmony_ci#define M_BCM1480_INT_SW_TRACE_FREEZE _BCM1480_INT_MASK1(K_BCM1480_INT_SW_TRACE_FREEZE) 2028c2ecf20Sopenharmony_ci#define M_BCM1480_INT_WATCHDOG_TIMER_0 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_0) 2038c2ecf20Sopenharmony_ci#define M_BCM1480_INT_WATCHDOG_TIMER_1 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_1) 2048c2ecf20Sopenharmony_ci#define M_BCM1480_INT_WATCHDOG_TIMER_2 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_2) 2058c2ecf20Sopenharmony_ci#define M_BCM1480_INT_WATCHDOG_TIMER_3 _BCM1480_INT_MASK1(K_BCM1480_INT_WATCHDOG_TIMER_3) 2068c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_ERROR _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_ERROR) 2078c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCI_RESET _BCM1480_INT_MASK1(K_BCM1480_INT_PCI_RESET) 2088c2ecf20Sopenharmony_ci#define M_BCM1480_INT_NODE_CONTROLLER _BCM1480_INT_MASK1(K_BCM1480_INT_NODE_CONTROLLER) 2098c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HOST_BRIDGE _BCM1480_INT_MASK1(K_BCM1480_INT_HOST_BRIDGE) 2108c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_0_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_FATAL) 2118c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_0_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_0_NONFATAL) 2128c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_1_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_FATAL) 2138c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_1_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_1_NONFATAL) 2148c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_2_FATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_FATAL) 2158c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PORT_2_NONFATAL _BCM1480_INT_MASK1(K_BCM1480_INT_PORT_2_NONFATAL) 2168c2ecf20Sopenharmony_ci#define M_BCM1480_INT_LDT_SMI _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_SMI) 2178c2ecf20Sopenharmony_ci#define M_BCM1480_INT_LDT_NMI _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_NMI) 2188c2ecf20Sopenharmony_ci#define M_BCM1480_INT_LDT_INIT _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_INIT) 2198c2ecf20Sopenharmony_ci#define M_BCM1480_INT_LDT_STARTUP _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_STARTUP) 2208c2ecf20Sopenharmony_ci#define M_BCM1480_INT_LDT_EXT _BCM1480_INT_MASK1(K_BCM1480_INT_LDT_EXT) 2218c2ecf20Sopenharmony_ci#define M_BCM1480_INT_SMB_0 _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_0) 2228c2ecf20Sopenharmony_ci#define M_BCM1480_INT_SMB_1 _BCM1480_INT_MASK1(K_BCM1480_INT_SMB_1) 2238c2ecf20Sopenharmony_ci#define M_BCM1480_INT_PCMCIA _BCM1480_INT_MASK1(K_BCM1480_INT_PCMCIA) 2248c2ecf20Sopenharmony_ci#define M_BCM1480_INT_UART_0 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_0) 2258c2ecf20Sopenharmony_ci#define M_BCM1480_INT_UART_1 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_1) 2268c2ecf20Sopenharmony_ci#define M_BCM1480_INT_UART_2 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_2) 2278c2ecf20Sopenharmony_ci#define M_BCM1480_INT_UART_3 _BCM1480_INT_MASK1(K_BCM1480_INT_UART_3) 2288c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_4 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_4) 2298c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_5 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_5) 2308c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_6 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_6) 2318c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_7 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_7) 2328c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_8 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_8) 2338c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_9 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_9) 2348c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_10 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_10) 2358c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_11 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_11) 2368c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_12 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_12) 2378c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_13 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_13) 2388c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_14 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_14) 2398c2ecf20Sopenharmony_ci#define M_BCM1480_INT_GPIO_15 _BCM1480_INT_MASK1(K_BCM1480_INT_GPIO_15) 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ci/* 2428c2ecf20Sopenharmony_ci * Interrupt mappings (Table 18) 2438c2ecf20Sopenharmony_ci */ 2448c2ecf20Sopenharmony_ci 2458c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I0 0 /* interrupt pins on processor */ 2468c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I1 1 2478c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I2 2 2488c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I3 3 2498c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I4 4 2508c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_I5 5 2518c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_NMI 6 /* nonmaskable */ 2528c2ecf20Sopenharmony_ci#define K_BCM1480_INT_MAP_DINT 7 /* debug interrupt */ 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci/* 2558c2ecf20Sopenharmony_ci * Interrupt LDT Set Register (Table 19) 2568c2ecf20Sopenharmony_ci */ 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci#define S_BCM1480_INT_HT_INTMSG 0 2598c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HT_INTMSG _SB_MAKEMASK(3, S_BCM1480_INT_HT_INTMSG) 2608c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_INTMSG(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTMSG) 2618c2ecf20Sopenharmony_ci#define G_BCM1480_INT_HT_INTMSG(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_INTMSG, M_BCM1480_INT_HT_INTMSG) 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_FIXED 0 2648c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_ARBITRATED 1 2658c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_SMI 2 2668c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_NMI 3 2678c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_INIT 4 2688c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_STARTUP 5 2698c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_EXTINT 6 2708c2ecf20Sopenharmony_ci#define K_BCM1480_INT_HT_INTMSG_RESERVED 7 2718c2ecf20Sopenharmony_ci 2728c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HT_TRIGGERMODE _SB_MAKEMASK1(3) 2738c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_EDGETRIGGER 0 2748c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_LEVELTRIGGER M_BCM1480_INT_HT_TRIGGERMODE 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HT_DESTMODE _SB_MAKEMASK1(4) 2778c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_PHYSICALDEST 0 2788c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_LOGICALDEST M_BCM1480_INT_HT_DESTMODE 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ci#define S_BCM1480_INT_HT_INTDEST 5 2818c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HT_INTDEST _SB_MAKEMASK(8, S_BCM1480_INT_HT_INTDEST) 2828c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_INTDEST(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_INTDEST) 2838c2ecf20Sopenharmony_ci#define G_BCM1480_INT_HT_INTDEST(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_INTDEST, M_BCM1480_INT_HT_INTDEST) 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci#define S_BCM1480_INT_HT_VECTOR 13 2868c2ecf20Sopenharmony_ci#define M_BCM1480_INT_HT_VECTOR _SB_MAKEMASK(8, S_BCM1480_INT_HT_VECTOR) 2878c2ecf20Sopenharmony_ci#define V_BCM1480_INT_HT_VECTOR(x) _SB_MAKEVALUE(x, S_BCM1480_INT_HT_VECTOR) 2888c2ecf20Sopenharmony_ci#define G_BCM1480_INT_HT_VECTOR(x) _SB_GETVALUE(x, S_BCM1480_INT_HT_VECTOR, M_BCM1480_INT_HT_VECTOR) 2898c2ecf20Sopenharmony_ci 2908c2ecf20Sopenharmony_ci/* 2918c2ecf20Sopenharmony_ci * Vector prefix (Table 4-7) 2928c2ecf20Sopenharmony_ci */ 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci#define M_BCM1480_HTVECT_RAISE_INTLDT_HIGH 0x00 2958c2ecf20Sopenharmony_ci#define M_BCM1480_HTVECT_RAISE_MBOX_0 0x40 2968c2ecf20Sopenharmony_ci#define M_BCM1480_HTVECT_RAISE_INTLDT_LO 0x80 2978c2ecf20Sopenharmony_ci#define M_BCM1480_HTVECT_RAISE_MBOX_1 0xC0 2988c2ecf20Sopenharmony_ci 2998c2ecf20Sopenharmony_ci#endif /* _BCM1480_INT_H */ 300