config.h
上传用户:dqzhongke1
上传日期:2022-06-26
资源大小:667k
文件大小:21k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* config.h - Wind River SBC8548 BSP configuration file */
  2. /*
  3.  * Copyright (c) 2006-2007 Wind River Systems, Inc.
  4.  *
  5.  * The right to copy, distribute, modify or otherwise make use
  6.  * of this software may be licensed only pursuant to the terms
  7.  * of an applicable Wind River license agreement.
  8.  */
  9. /*
  10. modification history
  11. --------------------
  12. 01f,25may07,b_m  add BOOT_FLASH macro to support boot device selection.
  13. 01e,23may07,b_m  add MAX_MAC_DEVS macro.
  14. 01d,06apr07,b_m  modify to use m85xxCCSR driver.
  15. 01c,27mar07,b_m  add MPC8548 rev.2 and TFFS define.
  16. 01b,27feb06,kds  removing INCLUDE_SHOW_ROUTINES
  17. 01a,30jan06,kds  Modify from cds8548/config.h/01d
  18. */
  19. #ifndef __INCconfigh
  20. #define __INCconfigh
  21. #ifdef __cplusplus
  22.     extern "C" {
  23. #endif /* __cplusplus */
  24. #define BSP_VER_1_1     1
  25. #define BSP_VER_1_2     1
  26. #define BSP_VERSION     "2.0"
  27. #define BSP_REV         "/2"
  28. /* for MPC8548 rev.2 silicon */
  29. #define REV2_SILICON
  30. #define SYS_MODEL           "Broadcom GTO"
  31. #define SYS_MODEL_8548E     "Broadcom SBC8548E - Security Engine"
  32. #define SYS_MODEL_8548      "Broadcom SBC8548"
  33. #define SYS_MODEL_8547E     "Broadcom SBC8547E - Security Engine"
  34. #define SYS_MODEL_8545E     "Broadcom SBC8545E - Security Engine"
  35. #define SYS_MODEL_8545      "Broadcom SBC8545"
  36. #define SYS_MODEL_8543E     "Broadcom SBC8543E - Security Engine"
  37. #define SYS_MODEL_8543      "Broadcom SBCC8543"
  38. #define SYS_MODEL_E500      "Freescale E500 : Unknown system version"
  39. #define SYS_MODEL_UNKNOWN   "Freescale Unknown processor"
  40. #undef INCLUDE_AUX_CLK
  41. /* Define Clock Speed and source  */
  42. #define FREQ_33_MHZ  33000000
  43. #define FREQ_66_MHZ  66000000
  44. #define FREQ_100_MHZ  99999999
  45. #define FREQ_133_MHZ 133333333
  46. #define FREQ_266_MHZ 266666666
  47. #define FREQ_400_MHZ    400000000
  48. #define FREQ_333_MHZ 333333333
  49. #define FREQ_533_MHZ 533333333
  50. #define OSCILLATOR_FREQ FREQ_66_MHZ
  51. /*
  52.  * DDR will work only for 400Mhz at the moment
  53.  * These ratios are tested in bootrom for correct init
  54.  */
  55. #if (OSCILLATOR_FREQ == FREQ_33_MHZ)
  56. #define PLAT_RATIO_533_MHZ 16 /* Unsupported */
  57. #define PLAT_RATIO_400_MHZ 12
  58. #define PLAT_RATIO_333_MHZ 8 /* Unsupported */
  59. #endif
  60. #if (OSCILLATOR_FREQ == FREQ_66_MHZ)
  61. #define PLAT_RATIO_533_MHZ 8 /* Unsupported */
  62. #define PLAT_RATIO_400_MHZ 6
  63. #define PLAT_RATIO_333_MHZ 4 /* Unsupported */
  64. #endif
  65. #undef INCLUDE_DDR_ECC
  66. #define DEFAULT_SYSCLKFREQ FREQ_400_MHZ
  67. #define FORCE_DEFAULT_FREQ /* Use to force freq used with DUART/Timers etc */
  68. /* This value is the 60x bus-assigned SDRAM Refresh Timer PSRT setting */
  69. #define LSRT_VALUE 0x20
  70. /*
  71.  * This value is the setting for the MPTPR[PTP] Refresh timer prescaler.
  72.  * The value is dependent on the OSCILLATOR_FREQ value.  For other values
  73.  * a conditionally compiled term must be created here for that OSCILLATOR_FREQ
  74.  * value.
  75.  *
  76.  * BRGCLK_DIV_FACTOR
  77.  * Baud Rate Generator division factor - 0 for division by 1
  78.  *  1 for division by 16
  79.  */
  80. #define DIV_FACT_1 0
  81. #define DIV_FACT_16 1
  82. /*
  83.  * Assume 533MHz CCB with local bus clk ratio of 8
  84.  */
  85. #define TPR 0x0000
  86. #include "configSdkPre.h"   /* Configs for Broadcom SDK */
  87. #include <configAll.h>
  88. #include "configSdkPost.h"  /* Configs for Broadcom SDK */
  89. #include "gto.h"
  90. #define INCLUDE_I2C_DEV
  91. /* Includes I2C support
  92.  * MPC8548 has two I2C bus controller.
  93.  * Bus 0 M41T81M
  94.  * Bus 1 Dev 0x50 - EEPROM
  95.  *       Dev 0x27 - Base Board ID (Rev 1 = 0x51)
  96.  *       Dev xxx  - DDR SDRAM EEPROM 
  97.  */
  98. #define INCLUDE_NV_RAM
  99. /* NVRAM configuration */
  100. #ifdef  INCLUDE_NV_RAM
  101. #   undef  NV_RAM_SIZE
  102. #define NV_RAM_SIZE             (16 * 1024)   /* 16 Kbytes = 128 Kbits */
  103. #   define NV_RAM_ADRS 0
  104. #   define NV_RAM_INTRVL        1
  105. #   undef  NV_BOOT_OFFSET
  106. #   define NV_BOOT_OFFSET       0x3830
  107. #   define NV_MAC_ADRS_OFFSET   0x3800
  108. #else
  109. #   define NV_RAM_SIZE 0
  110. #   define NV_RAM_ADRS 0
  111. #endif  /* INCLUDE_NV_RAM */
  112. /* Common Includes for VXBUS RIO and ETSEC */
  113. #define INCLUDE_VXBUS
  114. #undef INCLUDE_RAPIDIO_BUS
  115. /*
  116.  * RAPIDIO supports only point to point shared memory support
  117.  * This includes TIPC and SM objects
  118.  */
  119. #ifdef INCLUDE_RAPIDIO_BUS
  120. #define INCLUDE_SM_COMMON
  121. #define INCLUDE_M85XX_RAPIDIO
  122. #define INCLUDE_M85XX_CPU
  123. #define DRV_RESOURCE_M85XXCCSR
  124. #define INCLUDE_M85XX_RIO_SM_CFG
  125. #define INCLUDE_VXBUS_SM_SUPPORT
  126. #define RAPIDIO_BUS_STATIC_TABLE
  127. #define VXBUS_TABLE_CONFIG
  128. #endif
  129. #ifdef INCLUDE_VXBUS
  130. #define INCLUDE_VXBUS_INIT
  131. #define INCLUDE_HWMEM_ALLOC
  132. #define INCLUDE_VXBUS_ACTIVATE
  133. #define INCLUDE_PARAM_SYS
  134. #define INCLUDE_PLB_BUS
  135. #define INCLUDE_VXBUS_SHOW
  136. #define INCLUDE_MOT_ETSEC_HEND
  137. #define INCLUDE_MII_BUS
  138. #define INCLUDE_GENERICPHY
  139. #undef INCLUDE_VSC82XXPHY
  140. #define INCLUDE_END
  141. #define INCLUDE_HEND_PARAM_SYS
  142. #define HWMEM_POOL_SIZE 50000
  143. #endif
  144. /*
  145.  * Other useful includes:
  146.  * #define INCLUDE_IFMEDIA
  147.  * #define INCLUDE_VXBUS_SHOW
  148.  * #define INCLUDE_IFCONFIG
  149.  * #define INCLUDE_NET_IF_SHOW
  150.  * #define INCLUDE_SHOW_ROUTINES
  151.  * #define INCLUDE_PCI_CFGSHOW
  152.  * #define INCLUDE_ISR_OBJECTS
  153.  */
  154. /*
  155.  * Need LINKHDR extension to support FCB in ETSEC to
  156.  * reduce FCB insertion requiring it's own BD
  157.  */
  158. #undef MAX_LINKHDR_CFG
  159. #define MAX_LINKHDR_CFG       32
  160. #define WDT_RATE_MIN         (sysTimerClkFreq / (1 << 29))
  161. #define WDT_RATE_MAX         (sysTimerClkFreq / (1 << 21))
  162. #define DEFAULT_BOOT_LINE 
  163. "motetsec(0,0)vaal:/home/labguy/boot/aung/tot/bcm.gto h=10.18.39.53 e=10.18.33.104 g=10.18.32.1 
  164. u=ntswboot pw=ntswboot+ f=0x7000"
  165. #define INCLUDE_END
  166. /* MMU and CACHE */
  167. #define INCLUDE_MMU_BASIC
  168. #define USER_I_MMU_ENABLE
  169. #define USER_D_MMU_ENABLE
  170. #undef E500_L1_PARITY_RECOVERY
  171. #ifdef E500_L1_PARITY_RECOVERY
  172.   /*
  173.    * *** NOTE FOR PROJECT FACILITY USERS ***
  174.    * Needs to use WRITETHROUGH, building with Project Facility must also
  175.    * change USER_D_CACHE_MODE and USER_I_CACHE_MODE in Project Facility.
  176.    */
  177. # define CACHE_LIBRARY_MODE     CACHE_WRITETHROUGH
  178. # define CAM_DRAM_CACHE_MODE    _MMU_TLB_ATTR_W
  179. # define TLB_CACHE_MODE         VM_STATE_CACHEABLE_WRITETHROUGH
  180. #else  /* E500_L1_PARITY_RECOVERY */
  181. # define CACHE_LIBRARY_MODE     (CACHE_COPYBACK | CACHE_SNOOP_ENABLE)
  182. # define CAM_DRAM_CACHE_MODE    _MMU_TLB_ATTR_M
  183. # define TLB_CACHE_MODE         VM_STATE_CACHEABLE | VM_STATE_MEM_COHERENCY
  184. #endif
  185. #define INCLUDE_CACHE_SUPPORT
  186. #define USER_D_CACHE_ENABLE
  187. #undef  USER_D_CACHE_MODE
  188. #define USER_D_CACHE_MODE  (CACHE_LIBRARY_MODE)
  189. #define USER_I_CACHE_ENABLE
  190. #undef  USER_I_CACHE_MODE
  191. #define USER_I_CACHE_MODE (CACHE_LIBRARY_MODE)
  192. #define  INCLUDE_L2_CACHE
  193. #undef   INCLUDE_L2_SRAM
  194.   /*
  195.    * If E500_L1_PARITY_RECOVERY is not defined, use local BSP handler.
  196.    * Works for L1 instr cache but not data cache.  Writethrough not needed.
  197.    */
  198. #ifdef E500_L1_PARITY_RECOVERY
  199. # if defined(INCLUDE_CACHE_SUPPORT) && defined(USER_I_CACHE_ENABLE)
  200. #   if (defined(_WRS_VXWORKS_MAJOR) && (_WRS_VXWORKS_MAJOR >= 6))
  201. #     define INCLUDE_L1_IPARITY_HDLR              /* VxWorks 6.x */
  202. #   else  /* _WRS_VXWORKS_MAJOR */
  203. #     define INCLUDE_L1_IPARITY_HDLR_INBSP        /* VxWorks 5.5.x */
  204. #   endif /* _WRS_VXWORKS_MAJOR */
  205. # endif  /* INCLUDE_CACHE_SUPPORT && USER_I_CACHE_ENABLE */
  206. #endif  /* E500_L1_PARITY_RECOVERY */
  207. #define INCLUDE_BRANCH_PREDICTION
  208. #if ((defined(INCLUDE_L2_CACHE)) && (defined(INCLUDE_L2_SRAM)))
  209. #define L2_CACHE_SIZE      L2SIZ_256KB
  210. #define L2_SRAM_SIZE       L2SIZ_256KB
  211. #elif ((defined(INCLUDE_L2_CACHE)) && (!defined(INCLUDE_L2_SRAM)))
  212. #define L2_CACHE_SIZE      L2SIZ_512KB
  213. #define L2_SRAM_SIZE       0         /* Not Used */
  214. #else
  215. #define L2_SRAM_SIZE       L2SIZ_512KB
  216. #define L2_CACHE_SIZE      0         /* Not Used */
  217. #endif
  218. #define L2SRAM_ADDR        0x7FF80000
  219. #define L2SRAM_WINDOW_SIZE 0x80000
  220. /* Disable Support for SPE 64bit registers */
  221. #define INCLUDE_SPE
  222. #define INCLUDE_SYS_HW_INIT_0 /* extended vectors */
  223. /* TSEC is included */
  224. #define INCLUDE_MOT_TSEC_END
  225. #ifdef INCLUDE_MOT_TSEC_END
  226. #define INCLUDE_PRIMARY_TSEC_END
  227. #define INCLUDE_SECONDARY_TSEC_END
  228. #undef INCLUDE_TERTIARY_TSEC_END
  229. #undef INCLUDE_QUARTINARY_TSEC_END
  230. #define INCLUDE_END
  231. #endif /* INCLUDE_MOT_TSEC_END */
  232. /* console is always DUART */
  233. #define INCLUDE_DUART
  234. /* Serial channel and TTY */
  235. #if defined(INCLUDE_DUART)
  236. #  undef  NUM_TTY
  237. #  define NUM_TTY 1
  238. #endif /* INCLUDE_DUART */
  239. /* Clock rates */
  240. #define SYS_CLK_RATE_MIN 1 /* minimum system clock rate */
  241. #define SYS_CLK_RATE_MAX 8000 /* maximum system clock rate */
  242. #define AUX_CLK_RATE_MIN ((CCB_FREQ / 16) / (1 << FIT_DIVIDER_TAP_21)) /* minimum auxiliary clock rate */
  243. #define AUX_CLK_RATE_MAX ((CCB_FREQ / 16) / (1 << FIT_DIVIDER_TAP_10)) /* maximum auxiliary clock rate */
  244. #define AUX_CLK_RATE        ((CCB_FREQ / 16) / (1 << FIT_DIVIDER_TAP_18))
  245. /*
  246.  * Although the support for point to point has been added it is untested
  247.  * with Serial RIO. SImilar was tested on parallel RIO
  248.  */
  249. #ifdef INCLUDE_RAPIDIO_BUS
  250. /* RapidIO information */
  251. #define RAPIDIO_REG_BASE 0xc0000
  252. #define RAPIDIO_BASE   (CCSBAR + RAPIDIO_REG_BASE)
  253. #define RAPIDIO_ADRS   0xc0000000
  254. #define RAPIDIO_SIZE   0x10000000
  255. #define RAPIDIO_BUS_ADRS 0x80000000
  256. #define RAPIDIO_BUS_SIZE 0x10000000
  257. #endif
  258. /* PCI support is available just not defined by default */
  259. #define INCLUDE_PCI
  260. #ifdef  INCLUDE_PCI
  261. #define PCI_MAX_BUS 4
  262. #define EPIC_EX_DFT_POLAR EPIC_INT_ACT_LOW
  263. #define CDS85XX_PCI_1_BUS       1
  264. #define CDS85XX_PCI_2_BUS       2
  265. #define CDS85XX_PCIEX_BUS       3
  266. /* PCI 2 not available on SBC8548 (single 64b PCI bus only) */
  267. #undef  INCLUDE_CDS85XX_SECONDARY_PCI
  268. /* define this MACRO to enable PCI Express */
  269. #define  PCIEX_BUS_MIN   128
  270. #define  PCIEX_BUS_MAX   255
  271. #define  INCLUDE_CDS85XX_PCIEX
  272. /*  cds85xx support dual PCI controllers */
  273. /*
  274. CPU Addr                                  PCI Addr ( PCI1 or PCI2)
  275. PCI_LOCAL_MEM_BUS        -------------------------- PCI_MSTR_MEM_BUS
  276.                          -                        -
  277.                          -                        -
  278. PCI_LOCAL_MEM_BUS +      -------------------------- PCI_MSTR_MEM_BUS +
  279. PCI_LOCAL_MEM_SIZE       -                        - PCI_MSTR_MEM_SIZE
  280.                          -                        -
  281.                          -                        ----- PCI Bridge (for PCI1 only)
  282.                          -                        -     configuration regs
  283.                          -                        -
  284. CPU_PCI_MEM_ADRS  (PCI1) -------------------------- PCI_MEM_ADRS
  285. CPU_PCI_MEM_ADRS2 (PCI2) -                        - PCI_MEM_ADRS2
  286. CPU_PCI_MEM_ADRS3(PCIEX) -------------------------- PCI_MEM_ADRS3
  287.                          -                        -
  288. CPU_PCI_MEMIO_ADRS       -------------------------- PCI_MEMIO_ADRS
  289. CPU_PCI_MEMIO_ADRS2      -                        - PCI_MEMIO_ADRS2
  290. CPU_PCI_MEMIO_ADRS3      -                        - PCI_MEMIO_ADRS3
  291.                          -                        -
  292. CPU_PCI_IO_ADRS  (PCI1)  -------------------------- PCI_IO_ADRS
  293. CPU_PCI_IO_ADRS2 (PCI2)  -                        - PCI_IO_ADRS2
  294. CPU_PCI_IO_ADRS3 (PCIEX) -                        - PCI_IO_ADRS3
  295.                          -                        -
  296. CPU_PCI_IO_ADRS  (PCI1)+ -------------------------- PCI_IO_ADRS +
  297. CPU_PCI_IO_ADRS2 (PCI2)+                            PCI_IO_ADRS2 +
  298. CPU_PCI_IO_ADRS2 (PCI3)                             PCI_IO_ADRS3
  299. CPU_PCI_IO_SIZE          -                        - PCI_IO_SIZE
  300.                          -                        -
  301. */
  302. /* PCI based addresses */
  303. #define PCI_LAW_BASE             0x50000000       /* PCI LAW window */
  304. #define PCI_LAW_SIZE             0x10000000       /* PCI LAW size   */
  305. #define PCI_MEM_SIZE             0x04000000        /* 64 MB */
  306. #define PCI_MEMIO_SIZE           0x04000000        /* 64 MB */
  307. #define PCI_IO_SIZE              0x04000000        /* 64 MB */
  308. #define PCI_MEM_ADRS             (PCI_LAW_BASE)
  309. #define PCI_MEMIO_ADRS           (PCI_MEM_ADRS   + PCI_MEM_SIZE)
  310. #define PCI_IO_ADRS              (PCI_MEMIO_ADRS + PCI_MEMIO_SIZE)
  311. #define PCIEX_LAW_BASE            0x60000000       /* PCI LAW window */
  312. #define PCIEX_LAW_SIZE            0x10000000       /* PCI LAW size   */
  313. #define PCI_MEM_ADRS3            (PCIEX_LAW_BASE)
  314. #define PCI_MEMIO_ADRS3          (PCI_MEM_ADRS3   + PCI_MEM_SIZE)
  315. #define PCI_IO_ADRS3             (PCI_MEMIO_ADRS3 + PCI_MEMIO_SIZE)
  316. #if (PCI_LAW_SIZE == 0x10000000)
  317. #define  PCI_LAW_WIN_SZ          LAWAR_SIZE_256MB
  318. #endif
  319. #if (PCI2_LAW_SIZE == 0x10000000)
  320. #define  PCI2_LAW_WIN_SZ         LAWAR_SIZE_256MB
  321. #endif
  322. #if (PCIEX_LAW_SIZE == 0x10000000)
  323. #define  PCIEX_LAW_WIN_SZ         LAWAR_SIZE_256MB
  324. #endif
  325. #define PCI_MMU_TLB_SZ           _MMU_TLB_SZ_256M
  326. #if (PCI_MEM_SIZE == 0x04000000)
  327. #define PCI_MEM_SIZE_MASK        PCI_ATTR_WS_64M
  328. #endif
  329. #if (PCI_MEMIO_SIZE == 0x04000000)
  330. #define PCI_MEMIO_SIZE_MASK      PCI_ATTR_WS_64M
  331. #endif
  332. #if (PCI_IO_SIZE == 0x04000000)
  333. #define PCI_IO_SIZE_MASK         PCI_ATTR_WS_64M
  334. #endif
  335. #define PCI_BRIDGE_PIMMR_BASE_ADRS  0x40000000
  336. /* just 1:1 mapping */
  337. /* PCI 1 */
  338. #define CPU_PCI_MEM_ADRS          PCI_MEM_ADRS
  339. #define CPU_PCI_MEMIO_ADRS        PCI_MEMIO_ADRS
  340. #define CPU_PCI_IO_ADRS           PCI_IO_ADRS
  341. /* PCI 2 */
  342. #define CPU_PCI_MEM_ADRS2         PCI_MEM_ADRS2
  343. #define CPU_PCI_MEMIO_ADRS2       PCI_MEMIO_ADRS2
  344. #define CPU_PCI_IO_ADRS2          PCI_IO_ADRS2
  345. /* PCI Express */
  346. #define CPU_PCI_MEM_ADRS3         PCI_MEM_ADRS3
  347. #define CPU_PCI_MEMIO_ADRS3       PCI_MEMIO_ADRS3
  348. #define CPU_PCI_IO_ADRS3          PCI_IO_ADRS3
  349. #define CPU_PCI_MEM_SIZE          PCI_MEM_SIZE
  350. #define CPU_PCI_MEMIO_SIZE        PCI_MEMIO_SIZE
  351. #define CPU_PCI_IO_SIZE           PCI_IO_SIZE
  352. /* CPU from PCI bus */
  353. #define PCI_MSTR_MEM_BUS           0x00000000
  354. #define PCI_MSTR_MEM_SIZE          0x40000000 /* 1G */
  355. /* CPU Address that is visible from PCI */
  356. #define PCI_LOCAL_MEM_BUS         0x00000000
  357. #define PCI_LOCAL_MEM_SIZE        PCI_MSTR_MEM_SIZE
  358. #define PCI_LOCAL_MEM_SIZE_MASK   PCI_ATTR_WS_1G
  359. #define INCLUDE_PCI_AUTOCONF
  360. #ifndef PCI_CFG_TYPE
  361. #   ifdef INCLUDE_PCI_AUTOCONF
  362. #      define PCI_CFG_TYPE PCI_CFG_AUTO
  363. #   else
  364. #      define PCI_CFG_TYPE PCI_CFG_FORCE
  365. #   endif /* INCLUDE_PCI_AUTOCONF */
  366. #endif /* PCI_CFG_TYPE */
  367. #endif /* INCLUDE_PCI */
  368. #ifdef INCLUDE_PCI
  369. /* Intel 8254x support */
  370. #ifdef INCLUDE_GEI8254X_END
  371.  #define INCLUDE_PRIMARY_GEI_END
  372.  #undef INCLUDE_SECONDARY_GEI_END
  373.   #ifndef INCLUDE_END
  374.      #define INCLUDE_END
  375.   #endif  /* INCLUDE_END */
  376. #endif /* INCLUDE_GEI8254X_END */
  377. #endif /* INCLUDE_PCI */
  378. /* Shared memory is set up for Serial RIO but is untested */
  379. #if defined(INCLUDE_SM_COMMON)
  380. #   define INCLUDE_SMEND
  381. #   define INCLUDE_SM_NET
  382. #   define INCLUDE_BSD
  383. #   define INCLUDE_SM_NET_SHOW
  384. #   define INCLUDE_NET_DRV
  385. #   define INCLUDE_NET_LIB
  386. #   ifdef  STANDALONE
  387. #          define STANDALONE_NET
  388. #   endif  /* STANDALONE */
  389. /*
  390.  * Changing SM_OFF_BOARD to TRUE also requires changing
  391.  * SM_ANCHOR_ADRS and SM_MEM_ADRS appropriately.
  392.  */
  393. #define SM_OFF_BOARD    FALSE
  394. #define INCLUDE_SM_SEQ_ADDR
  395. #undef SM_TAS_TYPE
  396. #define SM_TAS_TYPE SM_TAS_HARD
  397. /*
  398.  * INCLUDE_SM_NET and INCLUDE_SM_SEQ_ADDR are the shared memory backplane
  399.  * driver and the auto address setup which are excluded by default.
  400.  * To exclude them, uncomment the following lines:
  401.  *
  402.  * #define INCLUDE_SM_NET
  403.  * #define INCLUDE_SM_SEQ_ADDR
  404.  */
  405. #ifndef _ASMLANGUAGE
  406. IMPORT UINT32 rioHostAdrs;
  407. #undef  SM_ANCHOR_ADRS
  408. #define SM_ANCHOR_ADRS  ((sysProcNumGet() == 0) ? 
  409.         ((char*) (LOCAL_MEM_LOCAL_ADRS + SM_ANCHOR_OFFSET)) : 
  410.         ((char*) (rioHostAdrs + SM_ANCHOR_OFFSET)))
  411. #endif
  412. #define SM_INT_TYPE SM_INT_BUS  /* or SM_INT_NONE */
  413. #define SM_MEM_ADRS 0x00010000 /* Start of actual SM region */
  414. #define SM_MEM_SIZE 0x00070000
  415. #define SM_OBJ_MEM_ADRS (SM_MEM_ADRS+SM_MEM_SIZE) /* SM Objects pool */
  416. #define SM_OBJ_MEM_SIZE 0x00040000
  417. #define SM_INT_ARG1   46 /*EPIC_SR_IN_DB1_INT_VEC*/
  418. #define SM_INT_ARG2   46 /*EPIC_SR_IN_DB1_INT_VEC*/
  419. #define SM_INT_ARG3   1
  420. #define SM_TIPC_ADRS_DEFAULT    ((int) SM_OBJ_MEM_ADRS + SM_OBJ_MEM_SIZE)
  421. #define SM_TIPC_ADRS            SM_TIPC_ADRS_DEFAULT
  422. #define SM_TIPC_SIZE_DEFAULT    0x00020000
  423. #define SM_TIPC_SIZE            SM_TIPC_SIZE_DEFAULT /* SM TIPC pool size  */
  424. #undef IPFORWARDING_CFG
  425. #define IPFORWARDING_CFG        TRUE
  426. #endif /* defined(INCLUDE_SM_NET) */
  427. /*
  428.  * Set the Carrier Card's SW2[12]=00 for the following configuration,
  429.  * the bootrom would be in the last 1 MB of flash0, and UBOOT would still
  430.  * be in the flash 1.
  431.  */
  432. #define FLASH_WINDOW_SIZE               0x08000000
  433. #define CDS85XX_FLASH_RESERVED_SIZE     0x00100000
  434. /* LBC CS0 - flash 0 - 64MB, 16-bit flash - default for bootrom */
  435. #define FLASH0_BASE_ADRS                 0xf8000000
  436. #define FLASH0_ADRS_MASK                 0xf8000000
  437. #define FLASH0_SIZE                      0x08000000
  438. /* LBC CS1 - flash 1 - 64MB, 16-bit flash */
  439. #define FLASH1_BASE_ADRS                 0xf0000000
  440. #define FLASH1_ADRS_MASK                 0xf8000000
  441. #define FLASH1_SIZE                      0x08000000
  442. /* LBC CS2 - Alphanumeric LED Display */
  443. #define ALPHA_LED_BASE_ADRS             0xe8000000
  444. #define ALPHA_LED_ADRS_MASK             0xe8000000
  445. #define ALPHA_LED_SIZE                  0x01000000
  446. /* Memory addresses */
  447. #define INCLUDE_DDR_SDRAM
  448. /* NOTE this should match the LAWAR SIZE in romInit for the chosen SDRAM */
  449. #define LOCAL_MEM_SIZE          0x20000000  /* 256/512 Mbyte memory available */
  450. #define LOCAL_MEM_LOCAL_ADRS    0x00000000  /* Base of RAM */
  451. #define DDR_SDRAM_LOCAL_ADRS       LOCAL_MEM_LOCAL_ADRS
  452. #define DDR_SDRAM_LOCAL_SIZE       LOCAL_MEM_SIZE
  453. #define DDR_SDRAM_LOCAL_ADRS_END   (DDR_SDRAM_LOCAL_ADRS + DDR_SDRAM_LOCAL_SIZE)
  454. #ifdef INCLUDE_MMU_BASIC
  455. #define INCLUDE_AIM_MMU_CONFIG
  456. #define INCLUDE_MMU_OPTIMIZE
  457. #define INCLUDE_AIM_MMU_SHOW
  458. #define INCLUDE_AIM_MMU_MEM_POOL_CONFIG
  459. /*
  460.  * The following parameters are to configure initial memory usage for
  461.  * page table and region tables and in event of running out the increment
  462.  * of memory allocation and is specified as a number of MMU pages (4KByte
  463.  * blocks).
  464.  */
  465. #define AIM_MMU_INIT_PT_NUM 0x40
  466. #define AIM_MMU_INIT_PT_INCR 0x20
  467. #define AIM_MMU_INIT_RT_NUM 0x10
  468. #define AIM_MMU_INIT_RT_INCR 0x10
  469. /* This write protects the page tables */
  470. #define INCLUDE_AIM_MMU_PT_PROTECTION
  471. /*
  472.  * INCLUDE_LOCK_TEXT_SECTION Requires use of CAM entries which can
  473.  * possibly be already used in sysStaticTlbDesc. Also the larger the
  474.  * page size that can be used the less CAM entries required so aligning
  475.  * RAM_LOW_ADRS on a large page size boundary is usually necessary.
  476.  * Locking the text section should increase performance because no
  477.  * Instruction TLB misses are taken within the text section.
  478.  */
  479. #define INCLUDE_LOCK_TEXT_SECTION
  480. #undef INCLUDE_LOCK_TEXT_SECTION
  481. #undef INCLUDE_PAGE_SIZE_OPTIMIZATION /* Not available for 85XX */
  482. #endif /* INCLUDE_MMU_BASIC */
  483. /*
  484.  * Default power management mode - selected via vxPowerModeSet() in
  485.  * sysHwInit().
  486.  */
  487. #define DEFAULT_POWER_MGT_MODE  VX_POWER_MODE_DISABLE
  488. #define INCLUDE_CTORS_DTORS
  489. /*
  490.  * Using software FP support. Athough task based 32 bit HW_FP is allowed
  491.  * no optimised libraries are available. The kernel doesn't execute any hw
  492.  * fp instructions
  493.  */
  494. #undef  INCLUDE_HW_FP
  495. #undef  INCLUDE_PPC_FPU
  496. #define INCLUDE_SW_FP
  497. /*
  498.  * The constants ROM_XXX_ADRS, ROM_SIZE, and RAM_XXX_ADRS are defined
  499.  * in both config.h and Makefile.  All definitions for these constants
  500.  * must be identical.
  501.  */
  502. #ifndef RAM_LOW_ADRS
  503. #define RAM_LOW_ADRS 0x00100000
  504. #endif  /* RAM_LOW_ADRS */
  505. #ifndef RAM_HIGH_ADRS
  506. #define RAM_HIGH_ADRS 0x04000000
  507. #endif  /* RAM_HIGH_ADRS */
  508. #define ROM_TEXT_ADRS 0xFFF00100
  509. #define ROM_BASE_ADRS 0xFFF00000
  510. #define ROM_SIZE      0x00100000
  511. #define USER_RESERVED_MEM 0x000000
  512. #define INCLUDE_SYSLED
  513. #ifndef MAX_MAC_DEVS
  514. #   define MAX_MAC_DEVS     1
  515. #endif
  516. #ifdef INCLUDE_END
  517. #   define ETHERNET_MAC_HANDLER
  518. #   define BRCM_ENET0       0x00 /* BRCM specific portion of MAC (MSB->LSB) */
  519. #   define BRCM_ENET1       0x10
  520. #   define BRCM_ENET2       0x18
  521. #   define CUST_ENET3_0     0xA0    /* Customer portion of MAC address */
  522. #   define CUST_ENET3_1     0xA1
  523. #   define CUST_ENET3_2     0xA2
  524. #   define CUST_ENET3_3     0xA3
  525. #   define CUST_ENET4       0xAA
  526. #   define CUST_ENET5       0xA0
  527. #   define MAX_MAC_ADRS     4
  528. #   define MAC_ADRS_LEN     6
  529. #   define ENET_DEFAULT     0x18100000 /* BRCM fixed MAC addr; see WR_ENETx */
  530. #endif
  531. /* add TFFS as boot device */
  532. #undef INCLUDE_TFFS
  533. #ifdef INCLUDE_TFFS
  534. #   define INCLUDE_TFFS_MOUNT
  535. #   define INCLUDE_TFFS_SHOW
  536. #endif
  537. #ifdef INCLUDE_TFFS
  538. #   ifndef INCLUDE_DOSFS
  539. #       define INCLUDE_DOSFS        /* file system to be used */
  540. #   endif   /* INCLUDE_DOSFS */
  541. #endif  /* INCLUDE_TFFS */
  542. #define INCLUDE_FLASH
  543. #ifdef INCLUDE_FLASH
  544. #define INCLUDE_FLASH_BOOT
  545. #define INCLUDE_DOSFS
  546. #endif
  547. /* Use DOS File System */
  548. #ifdef INCLUDE_DOSFS
  549. #   define  INCLUDE_DOSFS_MAIN
  550. #   define  INCLUDE_DOSFS_CACHE
  551. #   define  INCLUDE_DOSFS_FAT
  552. # define INCLUDE_DOSFS_FMT
  553. # define INCLUDE_DOSFS_DIR_FIXED
  554. #   define  INCLUDE_DOSFS_DIR_VFAT
  555. #   define  INCLUDE_DISK_UTIL
  556. #endif  /* INCLUDE_DOSFS */
  557. #if !defined(PRJ_BUILD)
  558. /* configuration for bootrom */
  559. #   define INCLUDE_ERF
  560. #   define INCLUDE_XBD
  561. #   define INCLUDE_XBD_BLK_DEV
  562. #   define INCLUDE_FS_MONITOR
  563. #   define INCLUDE_FS_EVENT_UTIL
  564. #   define INCLUDE_DEVICE_MANAGER
  565. #endif
  566. #ifdef __cplusplus
  567.     }
  568. #endif /* __cplusplus */
  569. #endif  /* INCconfigh */
  570. #if defined(PRJ_BUILD)
  571.     #include "prjParams.h"
  572. #endif /* PRJ_BUILD */