sb1250.h 1.1 KB

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