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

📄 ep8260.h

📁 嵌入式试验箱S3C2410的bootloader源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define CFG_SDRAM_BASE    CFG_SDRAM0_BASE/*----------------------------------------------------------------------- * Hard Reset Configuration Words */#if defined(CFG_SBC_BOOT_LOW)#  define  CFG_SBC_HRCW_BOOT_FLAGS  (HRCW_CIP | HRCW_BMS)#else#  define  CFG_SBC_HRCW_BOOT_FLAGS  (0x00000000)#endif /* defined(CFG_SBC_BOOT_LOW) */#ifdef CFG_EP8260_H2/* get the HRCW ISB field from CFG_DEFAULT_IMMR */#define CFG_SBC_HRCW_IMMR ( ((CFG_DEFAULT_IMMR & 0x10000000) >> 10) |\			    ((CFG_DEFAULT_IMMR & 0x01000000) >> 7)  |\			    ((CFG_DEFAULT_IMMR & 0x00100000) >> 4) )#define CFG_HRCW_MASTER (HRCW_EBM                |\			 HRCW_L2CPC01            |\			 CFG_SBC_HRCW_IMMR       |\			 HRCW_APPC10             |\			 HRCW_CS10PC01           |\			 CFG_SBC_MODCK_H 	 |\			 CFG_SBC_HRCW_BOOT_FLAGS)#else#define CFG_HRCW_MASTER 0x10400245#endif/* 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          TEXT_BASE#if (CFG_MONITOR_BASE < CFG_FLASH_BASE)#  define CFG_RAMBOOT#endif#define CFG_MONITOR_LEN      (256 << 10)     /* Reserve 256 kB for Monitor   */#define CFG_MALLOC_LEN       (128 << 10)     /* 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 << 20)       /* Initial Memory map for Linux *//*----------------------------------------------------------------------- * FLASH and environment organization */#define CFG_MAX_FLASH_BANKS   1       /* max number of memory banks         */#ifdef CFG_EP8260_H2#define CFG_MAX_FLASH_SECT    128      /* max number of sectors on one chip  */#else#define CFG_MAX_FLASH_SECT    71      /* max number of sectors on one chip  */#endif#ifdef CFG_EP8260_H2#define CFG_FLASH_ERASE_TOUT  240000  /* Timeout for Flash Erase (in ms)    */#define CFG_FLASH_WRITE_TOUT  500     /* Timeout for Flash Write (in ms)    */#else#define CFG_FLASH_ERASE_TOUT  8000    /* Timeout for Flash Erase (in ms)    */#define CFG_FLASH_WRITE_TOUT  1       /* Timeout for Flash Write (in ms)    */#endif#ifndef CFG_RAMBOOT#  define CFG_ENV_IS_IN_FLASH  1#  ifdef CFG_ENV_IN_OWN_SECT#    define CFG_ENV_ADDR       (CFG_MONITOR_BASE + 0x40000)#    define CFG_ENV_SECT_SIZE  0x40000#  else#    define CFG_ENV_ADDR (CFG_FLASH_BASE + CFG_MONITOR_LEN - CFG_ENV_SECT_SIZE)#    define CFG_ENV_SIZE       0x1000  /* Total Size of Environment Sector */#    define CFG_ENV_SECT_SIZE  0x10000 /* see README - env sect real size */#  endif /* CFG_ENV_IN_OWN_SECT */#else#  define CFG_ENV_IS_IN_NVRAM  1#  define CFG_ENV_ADDR         (CFG_MONITOR_BASE - 0x1000)#  define CFG_ENV_SIZE         0x200#endif /* CFG_RAMBOOT *//*----------------------------------------------------------------------- * 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)#ifdef CFG_LSDRAM/* 8260 local bus is NOT cacheable */#define CFG_HID0_FINAL  (/*HID0_ICE  |*/\			 HID0_IFEM |\			 HID0_ABE  |\			 HID0_EMCP)#else /* !CFG_LSDRAM */#define CFG_HID0_FINAL  (HID0_ICE  |\			 HID0_IFEM |\			 HID0_ABE  |\			 HID0_EMCP)#endif /* CFG_LSDRAM */#define CFG_HID2        0/*----------------------------------------------------------------------- * RMR - Reset Mode Register *----------------------------------------------------------------------- */#define CFG_RMR         0/*----------------------------------------------------------------------- * BCR - Bus Configuration                                       4-25 *----------------------------------------------------------------------- */#define CFG_BCR         (BCR_EBM   |\			 BCR_PLDP  |\			 BCR_EAV   |\			 BCR_NPQM0)/*----------------------------------------------------------------------- * SIUMCR - SIU Module Configuration                             4-31 *----------------------------------------------------------------------- */#define CFG_SIUMCR      (SIUMCR_L2CPC01 |\			 SIUMCR_APPC10  |\			 SIUMCR_CS10PC01)/*----------------------------------------------------------------------- * SYPCR - System Protection Control                            11-9 * SYPCR can only be written once after reset! *----------------------------------------------------------------------- * Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable */#ifdef CFG_EP8260_H2/* TBD: Find out why setting the BMT to 0xff causes the FCC to * generate TX buffer underrun errors for large packets under * Linux */#define CFG_SYPCR_BMT	0x00000600#else#define CFG_SYPCR_BMT	SYPCR_BMT#endif#ifdef CFG_LSDRAM#define CFG_SYPCR       (SYPCR_SWTC |\			 CFG_SYPCR_BMT  |\			 SYPCR_PBME |\			 SYPCR_LBME |\			 SYPCR_SWP)#else#define CFG_SYPCR       (SYPCR_SWTC |\			 CFG_SYPCR_BMT  |\			 SYPCR_PBME |\			 SYPCR_SWP)#endif/*----------------------------------------------------------------------- * 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 */#ifdef CFG_EP8260_H2#define CFG_PISCR       (PISCR_PS  |\			 PISCR_PTF |\			 PISCR_PTE)#else#define CFG_PISCR	0#endif/*----------------------------------------------------------------------- * SCCR - System Clock Control                                   9-8 *----------------------------------------------------------------------- */#ifdef CFG_EP8260_H2#define CFG_SCCR        (SCCR_DFBRG00)#else#define CFG_SCCR        (SCCR_DFBRG01)#endif/*----------------------------------------------------------------------- * RCCR - RISC Controller Configuration                         13-7 *----------------------------------------------------------------------- */#define CFG_RCCR        0/*----------------------------------------------------------------------- * MPTPR - Memory Refresh Timer Prescale Register               10-32 *----------------------------------------------------------------------- */#define CFG_MPTPR	(0x0A00 & MPTPR_PTP_MSK)/* * Init Memory Controller: * * Bank Bus     Machine PortSz  Device * ---- ---     ------- ------  ------ *  0   60x     GPCM    64 bit  FLASH (BGA - 16MB AMD AM29DL323DB90WDI) *  1   60x     SDRAM   64 bit  SDRAM (BGA - 64MB Micron 48LC8M16A2TG) *  2   Local   SDRAM   32 bit  SDRAM (BGA - 32MB Micron 48LC8M16A2TG) *  3   unused *  4   60x     GPCM     8 bit  Board Regs, NVRTC *  5   unused *  6   unused *  7   unused *  8   PCMCIA *  9   unused * 10   unused * 11   unused*//*----------------------------------------------------------------------- * BRx - Base Register *     Ref: Section 10.3.1 on page 10-14 * ORx - Option Register *     Ref: Section 10.3.2 on page 10-18 *----------------------------------------------------------------------- *//* Bank 0 - FLASH * */#define CFG_BR0_PRELIM  ((CFG_FLASH0_BASE & BRx_BA_MSK) |\			 BRx_PS_64                      |\			 BRx_DECC_NONE                  |\			 BRx_MS_GPCM_P                  |\			 BRx_V)#define CFG_OR0_PRELIM  (MEG_TO_AM(CFG_FLASH0_SIZE)     |\			 ORxG_CSNT                      |\			 ORxG_ACS_DIV1                  |\			 ORxG_SCY_8_CLK                 |\			 ORxG_EHTR)/* Bank 1 - SDRAM * PSDRAM */#define CFG_BR1_PRELIM  ((CFG_SDRAM0_BASE & BRx_BA_MSK) |\			 BRx_PS_64                      |\			 BRx_MS_SDRAM_P                 |\			 BRx_V)#define CFG_OR1_PRELIM  (MEG_TO_AM(CFG_SDRAM0_SIZE)     |\			 ORxS_BPD_4                     |\			 ORxS_ROWST_PBI1_A6             |\			 ORxS_NUMR_12)#ifdef CFG_EP8260_H2#define CFG_PSDMR       0xC34E246E#else#define CFG_PSDMR       0xC34E2462#endif#define CFG_PSRT	0x64#ifdef CFG_LSDRAM/* Bank 2 - SDRAM * LSDRAM */  #define CFG_BR2_PRELIM  ((CFG_SDRAM1_BASE & BRx_BA_MSK) |\			   BRx_PS_32                      |\			   BRx_MS_SDRAM_L                 |\			   BRx_V)  #define CFG_OR2_PRELIM  (MEG_TO_AM(CFG_SDRAM1_SIZE)     |\			   ORxS_BPD_4                     |\			   ORxS_ROWST_PBI0_A9             |\			   ORxS_NUMR_12)  #define CFG_LSDMR      0x416A2562  #define CFG_LSRT	0x64#else  #define CFG_LSRT	0x0#endif /* CFG_LSDRAM *//* Bank 4 - On board registers * NVRTC and BCSR */#define CFG_BR4_PRELIM   ((CFG_REGS_BASE & BRx_BA_MSK)  |\			   BRx_PS_8                     |\			   BRx_MS_GPCM_P                |\			   BRx_V)/*#define CFG_OR4_PRELIM    (ORxG_AM_MSK                 |\			   ORxG_CSNT                   |\			   ORxG_ACS_DIV1               |\			   ORxG_SCY_10_CLK              |\			   ORxG_TRLX)*/#define CFG_OR4_PRELIM 0xfff00854#ifdef _NOT_USED_SINCE_NOT_WORKING_/* Bank 8 - On board registers * PCMCIA (currently not working!) */#define CFG_BR8_PRELIM   ((CFG_REGS_BASE & BRx_BA_MSK)  |\			   BRx_PS_16                     |\			   BRx_MS_GPCM_P                |\			   BRx_V)#define CFG_OR8_PRELIM    (ORxG_AM_MSK                 |\			   ORxG_CSNT                   |\			   ORxG_ACS_DIV1               |\			   ORxG_SETA                   |\			   ORxG_SCY_10_CLK)#endif/* * Internal Definitions * * Boot Flags */#define BOOTFLAG_COLD   0x01    /* Normal Power-On: Boot from FLASH  */#define BOOTFLAG_WARM   0x02    /* Software reboot                   *//* * JFFS2 partitions * *//* No command line, one static partition, whole device */#undef CONFIG_JFFS2_CMDLINE#define CONFIG_JFFS2_DEV		"nor0"#define CONFIG_JFFS2_PART_SIZE		0xFFFFFFFF#define CONFIG_JFFS2_PART_OFFSET	0x00000000/* mtdparts command line support *//* Note: fake mtd_id used, no linux mtd map file *//*#define CONFIG_JFFS2_CMDLINE#define MTDIDS_DEFAULT		""#define MTDPARTS_DEFAULT	""*/#endif  /* __CONFIG_H */

⌨️ 快捷键说明

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