Linux 6.7-rc7
[linux-modified.git] / arch / mips / include / asm / sibyte / sb1250.h
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