⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gw8260.h

📁 AT91RM9200的完整启动代码:包括loader, boot及U-boot三部分均已编译通过!欢迎下载使用!
💻 H
📖 第 1 页 / 共 2 页
字号:
                  (CFG_SBC_MODCK_H & HRCW_MODCK_H1111)  | \                  CFG_SBC_HRCW_BOOT_FLAGS )/* no slaves */#define CFG_HRCW_SLAVE1     0#define CFG_HRCW_SLAVE2     0#define CFG_HRCW_SLAVE3     0#define CFG_HRCW_SLAVE4     0#define CFG_HRCW_SLAVE5     0#define CFG_HRCW_SLAVE6     0#define CFG_HRCW_SLAVE7     0/*----------------------------------------------------------------------- * Definitions for initial stack pointer and data area (in DPRAM) */#define CFG_INIT_RAM_ADDR    CFG_IMMR#define CFG_INIT_RAM_END     0x4000  /* End of used area in DPRAM    */#define CFG_GBL_DATA_SIZE   128 /* bytes reserved for initial data */#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)#define CFG_INIT_SP_OFFSET   CFG_GBL_DATA_OFFSET/*----------------------------------------------------------------------- * Start addresses for the final memory configuration * (Set up by the startup code) * Please note that CFG_SDRAM_BASE _must_ start at 0 * Note also that the logic that sets CFG_RAMBOOT is platform dependent. */#define CFG_MONITOR_BASE    CFG_FLASH0_BASE#define CFG_MONITOR_LEN     (256 * 1024) /* Reserve 256 kB for Monitor   */#define CFG_MALLOC_LEN      (128 * 1024) /* Reserve 128 kB for malloc()  *//* * For booting Linux, the board info and command line data * have to be in the first 8 MB of memory, since this is * the maximum mapped by the Linux kernel during initialization. */#define CFG_BOOTMAPSZ       (8 * 1024 * 1024) /* Initial Memory map for Linux *//*----------------------------------------------------------------------- * FLASH and environment organization */#define CFG_MAX_FLASH_BANKS   1    /* max number of memory banks        */#define CFG_MAX_FLASH_SECT    32   /* max number of sectors on one chip */#define CFG_FLASH_ERASE_TOUT  8000 /* Timeout for Flash Erase (in ms)   */#define CFG_FLASH_WRITE_TOUT  1    /* Timeout for Flash Write (in ms)   */#define CFG_ENV_IS_IN_FLASH   1#ifdef CFG_ENV_IN_OWN_SECT#  define CFG_ENV_ADDR        (CFG_MONITOR_BASE +  (256 * 1024))#  define CFG_ENV_SECT_SIZE   (256 * 1024)#else#  define CFG_ENV_SIZE        (16 * 1024)/* Size of Environment Sector  */#  define CFG_ENV_ADD  ((CFG_MONITOR_BASE + CFG_MONITOR_LEN) - CFG_ENV_SIZE)#  define CFG_ENV_SECT_SIZE (256 * 1024)/* see README - env sect real size  */#endif /* CFG_ENV_IN_OWN_SECT *//*----------------------------------------------------------------------- * Cache Configuration */#define CFG_CACHELINE_SIZE  32      /* For MPC8260 CPU */#if (CONFIG_COMMANDS & CFG_CMD_KGDB)# define CFG_CACHELINE_SHIFT    5   /* log base 2 of the above value */#endif/*----------------------------------------------------------------------- * HIDx - Hardware Implementation-dependent Registers            2-11 *----------------------------------------------------------------------- * HID0 also contains cache control - initially enable both caches and * invalidate contents, then the final state leaves only the instruction * cache enabled. Note that Power-On and Hard reset invalidate the caches, * but Soft reset does not. * * HID1 has only read-only information - nothing to set. */#define CFG_HID0_INIT   (HID0_ICE  |\                         HID0_DCE  |\                         HID0_ICFI |\                         HID0_DCI  |\                         HID0_IFEM |\                         HID0_ABE)#define CFG_HID0_FINAL  (HID0_ICE  |\                         HID0_IFEM |\                         HID0_ABE  |\                         HID0_EMCP)#define CFG_HID2    0/*----------------------------------------------------------------------- * RMR - Reset Mode Register *----------------------------------------------------------------------- */#define CFG_RMR     0/*----------------------------------------------------------------------- * BCR - Bus Configuration                           4-25 *----------------------------------------------------------------------- */#define CFG_BCR     (BCR_ETM)/*----------------------------------------------------------------------- * SIUMCR - SIU Module Configuration                 4-31 *----------------------------------------------------------------------- */#define CFG_SIUMCR  (SIUMCR_DPPC11  |\                     SIUMCR_L2CPC00 |\                     SIUMCR_APPC10  |\                     SIUMCR_MMR00)/*----------------------------------------------------------------------- * SYPCR - System Protection Control                11-9 * SYPCR can only be written once after reset! *----------------------------------------------------------------------- * Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable */#define CFG_SYPCR   (SYPCR_SWTC |\                     SYPCR_BMT  |\                     SYPCR_PBME |\                     SYPCR_LBME |\                     SYPCR_SWRI |\                     SYPCR_SWP)/*----------------------------------------------------------------------- * TMCNTSC - Time Counter Status and Control             4-40 *----------------------------------------------------------------------- * Clear once per Second and Alarm Interrupt Status, Set 32KHz timersclk, * and enable Time Counter */#define CFG_TMCNTSC (TMCNTSC_SEC |\                     TMCNTSC_ALR |\                     TMCNTSC_TCF |\                     TMCNTSC_TCE)/*----------------------------------------------------------------------- * PISCR - Periodic Interrupt Status and Control         4-42 *----------------------------------------------------------------------- * Clear Periodic Interrupt Status, Set 32KHz timersclk, and enable * Periodic timer */#define CFG_PISCR   (PISCR_PS  |\                     PISCR_PTF |\                     PISCR_PTE)/*----------------------------------------------------------------------- * SCCR - System Clock Control                           9-8 *----------------------------------------------------------------------- */#define CFG_SCCR    0/*----------------------------------------------------------------------- * RCCR - RISC Controller Configuration                 13-7 *----------------------------------------------------------------------- */#define CFG_RCCR    0/* * Initialize Memory Controller: * * Bank Bus   Machine PortSz  Device * ---- ---   ------- ------  ------ *  0   60x   GPCM    32 bit  FLASH (SIMM - 4MB) *  1   60x   GPCM    32 bit  unused *  2   60x   SDRAM   64 bit  SDRAM (DIMM - 16MB or 64MB) *  3   60x   SDRAM   64 bit  unused *  4   Local GPCM     8 bit  IO    (on board - 64k) *  5   60x   GPCM     8 bit  unused *  6   60x   GPCM     8 bit  unused *  7   60x   GPCM     8 bit  unused * *//*----------------------------------------------------------------------- * BR0 - Base Register *     Ref: Section 10.3.1 on page 10-14 * OR0 - Option Register *     Ref: Section 10.3.2 on page 10-18 *----------------------------------------------------------------------- *//* Bank 0,1 - FLASH SIMM * * This expects the FLASH SIMM to be connected to *CS0 * It consists of 4 AM29F016D parts. * * Note: For the 8 MB SIMM, *CS1 is unused. *//* BR0 is configured as follows: * *     - Base address of 0x40000000 *     - 32 bit port size *     - Data errors checking is disabled *     - Read and write access *     - GPCM 60x bus *     - Access are handled by the memory controller according to MSEL *     - Not used for atomic operations *     - No data pipelining is done *     - Valid */#define CFG_BR0_PRELIM  ((CFG_FLASH0_BASE & BRx_BA_MSK) |\                          BRx_PS_32                     |\                          BRx_MS_GPCM_P                 |\                          BRx_V)/* OR0 is configured as follows: * *     - 8 MB *     - *BCTL0 is asserted upon access to the current memory bank *     - *CW / *WE are negated a quarter of a clock earlier *     - *CS is output at the same time as the address lines *     - Uses a clock cycle length of 5 *     - *PSDVAL is generated internally by the memory controller *       unless *GTA is asserted earlier externally. *     - Relaxed timing is generated by the GPCM for accesses *       initiated to this memory region. *     - One idle clock is inserted between a read access from the *       current bank and the next access. */#define CFG_OR0_PRELIM  (MEG_TO_AM(CFG_FLASH0_SIZE) |\                         ORxG_CSNT          |\                         ORxG_ACS_DIV1      |\                         ORxG_SCY_5_CLK     |\                         ORxG_TRLX          |\                         ORxG_EHTR)/*----------------------------------------------------------------------- * BR2 - Base Register *     Ref: Section 10.3.1 on page 10-14 * OR2 - Option Register *     Ref: Section 10.3.2 on page 10-16 *----------------------------------------------------------------------- *//* Bank 2 - SDRAM DIMM * *     16MB DIMM: P/N *     64MB DIMM: P/N  1W-8864X8-4-P1-EST or *                     MT4LSDT864AG-10EB1 (Micron) * * Note: *CS3 is unused for this DIMM *//* With a 16 MB or 64 MB DIMM, the BR2 is configured as follows: * *     - Base address of 0x00000000 *     - 64 bit port size (60x bus only) *     - Data errors checking is disabled *     - Read and write access *     - SDRAM 60x bus *     - Access are handled by the memory controller according to MSEL *     - Not used for atomic operations *     - No data pipelining is done *     - Valid */#define CFG_BR2_PRELIM  ((CFG_SDRAM0_BASE & BRx_BA_MSK) |\                          BRx_PS_64          |\                          BRx_MS_SDRAM_P     |\                          BRx_V)/* With a 16 MB DIMM, the OR2 is configured as follows: * *     - 16 MB *     - 2 internal banks per device *     - Row start address bit is A9 with PSDMR[PBI] = 0 *     - 11 row address lines *     - Back-to-back page mode *     - Internal bank interleaving within save device enabled */#if (CFG_SDRAM0_SIZE == 16)#define CFG_OR2_PRELIM  (MEG_TO_AM(CFG_SDRAM0_SIZE) |\                         ORxS_BPD_2         |\                         ORxS_ROWST_PBI0_A9 |\                         ORxS_NUMR_11)/* With a 16 MB DIMM, the PSDMR is configured as follows: * *     - Page Based Interleaving, *     - Refresh Enable, *     - Address Multiplexing where A5 is output on A14 pin *       (A6 on A15, and so on), *     - use address pins A16-A18 as bank select, *     - A9 is output on SDA10 during an ACTIVATE command, *     - earliest timing for ACTIVATE command after REFRESH command is 7 clocks, *     - earliest timing for ACTIVATE or REFRESH command after PRECHARGE command *       is 3 clocks, *     - earliest timing for READ/WRITE command after ACTIVATE command is *       2 clocks, *     - earliest timing for PRECHARGE after last data was read is 1 clock, *     - earliest timing for PRECHARGE after last data was written is 1 clock, *     - CAS Latency is 2. *//*----------------------------------------------------------------------- * PSDMR - 60x Bus SDRAM Mode Register *     Ref: Section 10.3.3 on page 10-21 *----------------------------------------------------------------------- */#define CFG_PSDMR   (PSDMR_RFEN       |\                     PSDMR_SDAM_A14_IS_A5 |\                     PSDMR_BSMA_A16_A18   |\                     PSDMR_SDA10_PBI0_A9  |\                     PSDMR_RFRC_7_CLK     |\                     PSDMR_PRETOACT_3W    |\                     PSDMR_ACTTORW_2W     |\                     PSDMR_LDOTOPRE_1C    |\                     PSDMR_WRC_1C         |\                     PSDMR_CL_2)#endif /* (CFG_SDRAM0_SIZE == 16) *//* With a 64 MB DIMM, the OR2 is configured as follows: * *     - 64 MB *     - 4 internal banks per device *     - Row start address bit is A8 with PSDMR[PBI] = 0 *     - 12 row address lines *     - Back-to-back page mode *     - Internal bank interleaving within save device enabled */#if (CFG_SDRAM0_SIZE == 64)#define CFG_OR2_PRELIM  (MEG_TO_AM(CFG_SDRAM0_SIZE) |\             ORxS_BPD_4         |\             ORxS_ROWST_PBI0_A8     |\             ORxS_NUMR_12)/* With a 64 MB DIMM, the PSDMR is configured as follows: * *     - Page Based Interleaving, *     - Refresh Enable, *     - Address Multiplexing where A5 is output on A14 pin *       (A6 on A15, and so on), *     - use address pins A14-A16 as bank select, *     - A9 is output on SDA10 during an ACTIVATE command, *     - earliest timing for ACTIVATE command after REFRESH command is 7 clocks, *     - earliest timing for ACTIVATE or REFRESH command after PRECHARGE command *       is 3 clocks, *     - earliest timing for READ/WRITE command after ACTIVATE command is *       2 clocks, *     - earliest timing for PRECHARGE after last data was read is 1 clock, *     - earliest timing for PRECHARGE after last data was written is 1 clock, *     - CAS Latency is 2. *//*----------------------------------------------------------------------- * PSDMR - 60x Bus SDRAM Mode Register *     Ref: Section 10.3.3 on page 10-21 *----------------------------------------------------------------------- */#define CFG_PSDMR   (PSDMR_RFEN       |\                     PSDMR_SDAM_A14_IS_A5 |\                     PSDMR_BSMA_A14_A16   |\                     PSDMR_SDA10_PBI0_A9  |\                     PSDMR_RFRC_7_CLK     |\                     PSDMR_PRETOACT_3W    |\                     PSDMR_ACTTORW_2W     |\                     PSDMR_LDOTOPRE_1C    |\                     PSDMR_WRC_1C         |\                     PSDMR_CL_2)#endif  /* (CFG_SDRAM0_SIZE == 64) */#define CFG_PSRT    0x0e#define CFG_MPTPR   MPTPR_PTP_DIV32/*----------------------------------------------------------------------- * BR4 - Base Register *     Ref: Section 10.3.1 on page 10-14 * OR4 - Option Register *     Ref: Section 10.3.2 on page 10-18 *----------------------------------------------------------------------- *//* Bank 4 - Onboard Memory Mapped IO controller * * This expects the onboard IO controller to connected to *CS4 and * the local bus. *     - Base address of 0xe0000000 *     - 8 bit port size (local bus only) *     - Read and write access *     - GPCM local bus *     - Not used for atomic operations *     - No data pipelining is done *     - Valid *     - extended hold time *     - 11 wait states */#ifdef CFG_IO_BASE#  define CFG_BR4_PRELIM  ((CFG_IO_BASE & BRx_BA_MSK)  |\                            BRx_PS_8                   |\                            BRx_MS_GPCM_L              |\                            BRx_V)#  define CFG_OR4_PRELIM   (ORxG_AM_MSK                |\                            ORxG_SCY_11_CLK            |\                            ORxG_EHTR)#endif /* CFG_IO_BASE *//* * Internal Definitions * * Boot Flags */#define BOOTFLAG_COLD   0x01    /* Normal Power-On: Boot from FLASH  */#define BOOTFLAG_WARM   0x02    /* Software reboot           */#endif  /* __CONFIG_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -