vxbsp.h
上传用户:yuanda199
上传日期:2022-06-26
资源大小:412k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /*
  2.     EXTERNAL SOURCE RELEASE on 12/03/2001 3.0 - Subject to change without notice.
  3. */
  4. /*
  5.     Copyright 2001, Broadcom Corporation
  6.     All Rights Reserved.
  7.     
  8.     This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
  9.     the contents of this file may not be disclosed to third parties, copied or
  10.     duplicated in any form, in whole or in part, without the prior written
  11.     permission of Broadcom Corporation.
  12.     
  13. */
  14. /*
  15.  * Copyright(c) 2001 Broadcom Corp.
  16.  * All Rights Reserved.
  17.  * $Id: vxbsp.h,v 1.1 Broadcom SDK $
  18.  */
  19. #ifndef __INCbcm47xxh
  20. #define __INCbcm47xxh
  21. #include "vxWorks.h"
  22. #include "hnbutypedefs.h"
  23. #include "sbconfig.h"
  24. #include "bcm4710.h"
  25. #include "sbutils.h"
  26. #ifndef KSEG1ADDR
  27. #define KSEG1ADDR(_a) ((unsigned long)(_a) | 0xA0000000)
  28. #endif
  29. #define DEF_SBINTVEC    0x20            /* extif */  
  30. #define DEF_SBIPSFLAG   0x00020601      /* 4=pci, 3=il, 2=et1, 1=et0 */
  31. #define BCM47XX_SR      (SR_CU0| INT_LVL_IORQ0 | INT_LVL_IORQ4 |INT_LVL_IORQ3 | INT_LVL_IORQ1 |
  32.                            INT_LVL_TIMER | INT_LVL_IORQ2 | SR_IE)
  33. /* interrupt priority */
  34. #define INT_PRIO_MSB            TRUE            /* interrupt priority msb highest */
  35. /* interrupt levels */
  36. #define INT_LVL_TIMER           SR_IBIT8        /* timer (fixed) */
  37. #define INT_LVL_IORQ4           SR_IBIT7        /* IORQ 4 */
  38. #define INT_LVL_IORQ3           SR_IBIT6        /* IORQ 3 */
  39. #define INT_LVL_IORQ2           SR_IBIT5        /* IORQ 2 */
  40. #define INT_LVL_IORQ1           SR_IBIT4        /* IORQ 1 */
  41. #define INT_LVL_IORQ0           SR_IBIT3        /* IORQ 0 */
  42. #define INT_LVL_SW1             SR_IBIT2        /* sw interrupt 1 (fixed) */
  43. #define INT_LVL_SW0             SR_IBIT1        /* sw interrupt 0 (fixed) */
  44. /* interrupt indexes */
  45. #define INT_INDX_TIMER          7       /* timer (fixed) */
  46. #define INT_INDX_IORQ4          6
  47. #define INT_INDX_IORQ3          5       /* IORQ 3 */
  48. #define INT_INDX_IORQ2          4       /* IORQ 2 */
  49. #define INT_INDX_IORQ1          3       /* IORQ 1 */
  50. #define INT_INDX_IORQ0          2       /* IORQ 0 */
  51. #define INT_INDX_SW1            1       /* sw interrupt 1       */
  52. #define INT_INDX_SW0            0       /* sw interrupt 0       */
  53. /* interrupt vectors */
  54. /* shared mips int 0 */
  55. #ifdef INCLUDE_PCMCIA
  56. #define IV_LAST_VEC             82
  57. #define IV_EXT_ALT4_VEC  81    
  58. #define IV_EXT_ALT3_VEC  80
  59. #else
  60. #define IV_LAST_VEC             80
  61. #endif
  62. #define IV_EXT_ALT2_VEC  79    
  63. #define IV_EXT_ALT1_VEC  78    
  64. #define IV_IORQ0_BIT6_VEC 77    
  65. #define IV_IORQ0_BIT5_VEC 76    
  66. #define IV_IORQ0_BIT4_VEC 75    
  67. #define IV_IORQ0_BIT3_VEC 74    
  68. #define IV_IORQ0_BIT2_VEC 73    
  69. #define IV_IORQ0_BIT1_VEC 72    
  70. #define IV_IORQ0_BIT0_VEC 71    
  71. #define IV_RTIME_VEC            70      /* timer (fixed)          */
  72. #define IV_IORQ4_VEC            69      
  73. #define IV_IORQ3_VEC            68      
  74. #define IV_IORQ2_VEC            67      
  75. #define IV_IORQ1_VEC            66      
  76. #define IV_IORQ0_VEC            65      
  77. #define INT_VEC_IORQ0           IV_IORQ0_VEC
  78. #define INT_VEC_IORQ1           IV_IORQ1_VEC
  79. #define INT_VEC_IORQ2           IV_IORQ2_VEC
  80. #define INT_VEC_IORQ3           IV_IORQ3_VEC
  81. #define INT_VEC_IORQ4           IV_IORQ4_VEC
  82. #define INT_VEC_IORQ5           IV_RTIME_VEC
  83. #define N_SIO_CHANNELS          1     /* Number of serial I/O channels */
  84. extern uint32 get_sb_clock(void); /* routine to return sb clock */
  85. #endif /* __INCbcm47xxh */