1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (C) 2000, 2001, 2002, 2003 Broadcom Corporation 4 */ 5 6 #ifndef _ASM_SIBYTE_SB1250_H 7 #define _ASM_SIBYTE_SB1250_H 8 9 /* 10 * yymmddpp: year, month, day, patch. 11 * should sync with Makefile EXTRAVERSION 12 */ 13 #define SIBYTE_RELEASE 0x02111403 14 15 #define SB1250_NR_IRQS 64 16 17 #define BCM1480_NR_IRQS 128 18 #define BCM1480_NR_IRQS_HALF 64 19 20 #define SB1250_DUART_MINOR_BASE 64 21 22 #ifndef __ASSEMBLY__ 23 24 #include <asm/addrspace.h> 25 26 /* For revision/pass information */ 27 #include <asm/sibyte/sb1250_scd.h> 28 #include <asm/sibyte/bcm1480_scd.h> 29 extern unsigned int sb1_pass; 30 extern unsigned int soc_pass; 31 extern unsigned int soc_type; 32 extern unsigned int periph_rev; 33 extern unsigned int zbbus_mhz; 34 35 extern void sb1250_mask_irq(int cpu, int irq); 36 extern void sb1250_unmask_irq(int cpu, int irq); 37 38 extern void bcm1480_time_init(void); 39 extern void bcm1480_mask_irq(int cpu, int irq); 40 extern void bcm1480_unmask_irq(int cpu, int irq); 41 42 #define AT_spin \ 43 __asm__ __volatile__ ( \ 44 ".set noat\n" \ 45 "li $at, 0\n" \ 46 "1: beqz $at, 1b\n" \ 47 ".set at\n" \ 48 ) 49 50 #endif 51 52 #define IOADDR(a) ((void __iomem *)(IO_BASE + (a))) 53 54 #endif 55