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>
29extern unsigned int sb1_pass;
30extern unsigned int soc_pass;
31extern unsigned int soc_type;
32extern unsigned int periph_rev;
33extern unsigned int zbbus_mhz;
34
35extern void sb1250_mask_irq(int cpu, int irq);
36extern void sb1250_unmask_irq(int cpu, int irq);
37
38extern void bcm1480_time_init(void);
39extern void bcm1480_mask_irq(int cpu, int irq);
40extern 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