Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Copyright (C) 2000, 2001, 2002, 2003 Broadcom Corporation
0004  */
0005 
0006 #ifndef _ASM_SIBYTE_SB1250_H
0007 #define _ASM_SIBYTE_SB1250_H
0008 
0009 /*
0010  * yymmddpp: year, month, day, patch.
0011  * should sync with Makefile EXTRAVERSION
0012  */
0013 #define SIBYTE_RELEASE 0x02111403
0014 
0015 #define SB1250_NR_IRQS 64
0016 
0017 #define BCM1480_NR_IRQS         128
0018 #define BCM1480_NR_IRQS_HALF        64
0019 
0020 #define SB1250_DUART_MINOR_BASE     64
0021 
0022 #ifndef __ASSEMBLY__
0023 
0024 #include <asm/addrspace.h>
0025 
0026 /* For revision/pass information */
0027 #include <asm/sibyte/sb1250_scd.h>
0028 #include <asm/sibyte/bcm1480_scd.h>
0029 extern unsigned int sb1_pass;
0030 extern unsigned int soc_pass;
0031 extern unsigned int soc_type;
0032 extern unsigned int periph_rev;
0033 extern unsigned int zbbus_mhz;
0034 
0035 extern void sb1250_time_init(void);
0036 extern void sb1250_mask_irq(int cpu, int irq);
0037 extern void sb1250_unmask_irq(int cpu, int irq);
0038 
0039 extern void bcm1480_time_init(void);
0040 extern void bcm1480_mask_irq(int cpu, int irq);
0041 extern void bcm1480_unmask_irq(int cpu, int irq);
0042 
0043 #define AT_spin \
0044     __asm__ __volatile__ (      \
0045         ".set noat\n"       \
0046         "li $at, 0\n"       \
0047         "1: beqz $at, 1b\n" \
0048         ".set at\n"     \
0049         )
0050 
0051 #endif
0052 
0053 #define IOADDR(a) ((void __iomem *)(IO_BASE + (a)))
0054 
0055 #endif