18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2000, 2001, 2002, 2003 Broadcom Corporation 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _ASM_SIBYTE_SB1250_H 78c2ecf20Sopenharmony_ci#define _ASM_SIBYTE_SB1250_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci/* 108c2ecf20Sopenharmony_ci * yymmddpp: year, month, day, patch. 118c2ecf20Sopenharmony_ci * should sync with Makefile EXTRAVERSION 128c2ecf20Sopenharmony_ci */ 138c2ecf20Sopenharmony_ci#define SIBYTE_RELEASE 0x02111403 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define SB1250_NR_IRQS 64 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#define BCM1480_NR_IRQS 128 188c2ecf20Sopenharmony_ci#define BCM1480_NR_IRQS_HALF 64 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#define SB1250_DUART_MINOR_BASE 64 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__ 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#include <asm/addrspace.h> 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci/* For revision/pass information */ 278c2ecf20Sopenharmony_ci#include <asm/sibyte/sb1250_scd.h> 288c2ecf20Sopenharmony_ci#include <asm/sibyte/bcm1480_scd.h> 298c2ecf20Sopenharmony_ciextern unsigned int sb1_pass; 308c2ecf20Sopenharmony_ciextern unsigned int soc_pass; 318c2ecf20Sopenharmony_ciextern unsigned int soc_type; 328c2ecf20Sopenharmony_ciextern unsigned int periph_rev; 338c2ecf20Sopenharmony_ciextern unsigned int zbbus_mhz; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciextern void sb1250_time_init(void); 368c2ecf20Sopenharmony_ciextern void sb1250_mask_irq(int cpu, int irq); 378c2ecf20Sopenharmony_ciextern void sb1250_unmask_irq(int cpu, int irq); 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciextern void bcm1480_time_init(void); 408c2ecf20Sopenharmony_ciextern void bcm1480_mask_irq(int cpu, int irq); 418c2ecf20Sopenharmony_ciextern void bcm1480_unmask_irq(int cpu, int irq); 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#define AT_spin \ 448c2ecf20Sopenharmony_ci __asm__ __volatile__ ( \ 458c2ecf20Sopenharmony_ci ".set noat\n" \ 468c2ecf20Sopenharmony_ci "li $at, 0\n" \ 478c2ecf20Sopenharmony_ci "1: beqz $at, 1b\n" \ 488c2ecf20Sopenharmony_ci ".set at\n" \ 498c2ecf20Sopenharmony_ci ) 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci#endif 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci#define IOADDR(a) ((void __iomem *)(IO_BASE + (a))) 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci#endif 56