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

📄 cpc45.h

📁 AT91RM9200的完整启动代码:包括loader, boot及U-boot三部分均已编译通过!欢迎下载使用!
💻 H
📖 第 1 页 / 共 2 页
字号:
 * address. Refer to the MPC8240 book. */#define CFG_BANK0_START	    0x00000000#define CFG_BANK0_END	    (CFG_MAX_RAM_SIZE - 1)#define CFG_BANK0_ENABLE    1#define CFG_BANK1_START	    0x3ff00000#define CFG_BANK1_END	    0x3fffffff#define CFG_BANK1_ENABLE    0#define CFG_BANK2_START	    0x3ff00000#define CFG_BANK2_END	    0x3fffffff#define CFG_BANK2_ENABLE    0#define CFG_BANK3_START	    0x3ff00000#define CFG_BANK3_END	    0x3fffffff#define CFG_BANK3_ENABLE    0#define CFG_BANK4_START	    0x3ff00000#define CFG_BANK4_END	    0x3fffffff#define CFG_BANK4_ENABLE    0#define CFG_BANK5_START	    0x3ff00000#define CFG_BANK5_END	    0x3fffffff#define CFG_BANK5_ENABLE    0#define CFG_BANK6_START	    0x3ff00000#define CFG_BANK6_END	    0x3fffffff#define CFG_BANK6_ENABLE    0#define CFG_BANK7_START	    0x3ff00000#define CFG_BANK7_END	    0x3fffffff#define CFG_BANK7_ENABLE    0#define CFG_ODCR	    0xff#define CFG_IBAT0L  (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)#define CFG_IBAT0U  (CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)#define CFG_IBAT1L  (CFG_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)#define CFG_IBAT1U  (CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)#define CFG_IBAT2L  (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)#define CFG_IBAT2U  (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)#define CFG_IBAT3L  (0xFC000000 | BATL_PP_10 | BATL_CACHEINHIBIT)#define CFG_IBAT3U  (0xFC000000 | BATU_BL_64M | BATU_VS | BATU_VP)#define CFG_DBAT0L  CFG_IBAT0L#define CFG_DBAT0U  CFG_IBAT0U#define CFG_DBAT1L  CFG_IBAT1L#define CFG_DBAT1U  CFG_IBAT1U#define CFG_DBAT2L  CFG_IBAT2L#define CFG_DBAT2U  CFG_IBAT2U#define CFG_DBAT3L  CFG_IBAT3L#define CFG_DBAT3U  CFG_IBAT3U/* * 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 organization */#define CFG_MAX_FLASH_BANKS	1	/* Max number of flash banks		*/#define CFG_MAX_FLASH_SECT	39	/* Max number of sectors in one bank	*/#define INTEL_ID_28F160F3T	0x88F388F3	/*  16M = 1M x 16 top boot sector	*/#define CFG_FLASH_ERASE_TOUT	120000	/* Timeout for Flash Erase (in ms)	*/#define CFG_FLASH_WRITE_TOUT	500	/* Timeout for Flash Write (in ms)	*/	/* Warining: environment is not EMBEDDED in the ppcboot code.	 * It's stored in flash separately.	 */#define CFG_ENV_IS_IN_FLASH	    1#define CFG_ENV_ADDR		(CFG_FLASH_BASE + 0x7C0000)#define CFG_ENV_SIZE		0x4000	/* Size of the Environment		*/#define CFG_ENV_OFFSET		0	/* starting right at the beginning	*/#define CFG_ENV_SECT_SIZE	0x8000 /* Size of the Environment Sector	*//*----------------------------------------------------------------------- * Cache Configuration */#define CFG_CACHELINE_SIZE	32#if (CONFIG_COMMANDS & CFG_CMD_KGDB)#  define CFG_CACHELINE_SHIFT	5	/* log base 2 of the above value	*/#endif/* * Internal Definitions * * Boot Flags */#define BOOTFLAG_COLD		0x01	/* Normal Power-On: Boot from FLASH	*/#define BOOTFLAG_WARM		0x02	/* Software reboot			*/#define	SRAM_BASE		0x80000000	/* SRAM base address 	*/#define	SRAM_END		0x801FFFFF/*---------------------------------------------------------------------*//* CPC45 Memory Map                                                    *//*---------------------------------------------------------------------*/#define	SRAM_BASE	0x80000000	/* SRAM base address            */#define	ST16552_A_BASE	0x80200000	/* ST16552 channel A		*/#define	ST16552_B_BASE	0x80400000	/* ST16552 channel A		*/#define	BCSR_BASE	0x80600000	/* board control / status registers */#define	DISPLAY_BASE	0x80600040	/* DISPLAY base			*/#define	PCMCIA_MEM_BASE	0x81000000	/* PCMCIA memory window base        */#define	PCMCIA_IO_BASE	0xFE000000	/* PCMCIA IO window base            *//*---------------------------------------------------------------------*//* CPC45 Control/Status Registers                                      *//*---------------------------------------------------------------------*/#define	IRQ_ENA_1		*((volatile uchar*)(BCSR_BASE + 0x00))#define	IRQ_STAT_1		*((volatile uchar*)(BCSR_BASE + 0x01))#define	IRQ_ENA_2		*((volatile uchar*)(BCSR_BASE + 0x02))#define	IRQ_STAT_2		*((volatile uchar*)(BCSR_BASE + 0x03))#define	BOARD_CTRL		*((volatile uchar*)(BCSR_BASE + 0x04))#define	BOARD_STAT		*((volatile uchar*)(BCSR_BASE + 0x05))#define	WDG_START		*((volatile uchar*)(BCSR_BASE + 0x06))#define	WDG_PRESTOP		*((volatile uchar*)(BCSR_BASE + 0x06))#define	WDG_STOP		*((volatile uchar*)(BCSR_BASE + 0x06))#define	BOARD_REV		*((volatile uchar*)(BCSR_BASE + 0x07))/* IRQ_ENA_1 bit definitions */#define	I_ENA_1_IERA	0x80		/* INTA enable 			*/#define	I_ENA_1_IERB	0x40		/* INTB enable			*/#define	I_ENA_1_IERC	0x20		/* INTC enable			*/#define	I_ENA_1_IERD	0x10		/* INTD enable			*//* IRQ_STAT_1 bit definitions */#define	I_STAT_1_INTA	0x80		/* INTA status			*/#define	I_STAT_1_INTB	0x40		/* INTB status			*/#define	I_STAT_1_INTC	0x20		/* INTC status			*/#define	I_STAT_1_INTD	0x10		/* INTD status			*//* IRQ_ENA_2 bit definitions */#define	I_ENA_2_IEAB	0x80		/* ABORT IRQ enable		*/#define	I_ENA_2_IEK1	0x40		/* KEY1 IRQ enable		*/#define	I_ENA_2_IEK2	0x20		/* KEY2 IRQ enable		*/#define	I_ENA_2_IERT	0x10		/* RTC IRQ enable		*/#define	I_ENA_2_IESM	0x08		/* LM81 IRQ enable		*/#define	I_ENA_2_IEDG	0x04		/* DEGENERATING IRQ enable	*/#define	I_ENA_2_IES2	0x02		/* ST16552/B IRQ enable		*/#define	I_ENA_2_IES1	0x01		/* ST16552/A IRQ enable		*//* IRQ_STAT_2 bit definitions */#define	I_STAT_2_ABO	0x80		/* ABORT IRQ status		*/#define	I_STAT_2_KY1	0x40		/* KEY1 IRQ status		*/#define	I_STAT_2_KY2	0x20		/* KEY2 IRQ status		*/#define	I_STAT_2_RTC	0x10		/* RTC IRQ status		*/#define	I_STAT_2_SMN	0x08		/* LM81 IRQ status		*/#define	I_STAT_2_DEG	0x04		/* DEGENERATING IRQ status	*/#define	I_STAT_2_SIO2	0x02		/* ST16552/B IRQ status		*/#define	I_STAT_2_SIO1	0x01		/* ST16552/A IRQ status		*//* BOARD_CTRL bit definitions */#define	USER_LEDS		2			/* 2 user LEDs	*/#if (USER_LEDS == 4)#define	B_CTRL_WRSE		0x80#define	B_CTRL_KRSE		0x40#define	B_CTRL_FWRE		0x20		/* Flash write enable		*/#define	B_CTRL_FWPT		0x10		/* Flash write protect		*/#define	B_CTRL_LED3		0x08		/* LED 3 control		*/#define	B_CTRL_LED2		0x04		/* LED 2 control		*/#define	B_CTRL_LED1		0x02		/* LED 1 control		*/#define	B_CTRL_LED0		0x01		/* LED 0 control		*/#else#define	B_CTRL_WRSE		0x80#define	B_CTRL_KRSE		0x40#define	B_CTRL_FWRE_1		0x20		/* Flash write enable		*/#define	B_CTRL_FWPT_1		0x10		/* Flash write protect		*/#define	B_CTRL_LED1		0x08		/* LED 1 control		*/#define	B_CTRL_LED0		0x04		/* LED 0 control		*/#define	B_CTRL_FWRE_0		0x02		/* Flash write enable		*/#define	B_CTRL_FWPT_0		0x01		/* Flash write protect		*/#endif/* BOARD_STAT bit definitions */#define	B_STAT_WDGE		0x80#define	B_STAT_WDGS		0x40#define	B_STAT_WRST		0x20#define	B_STAT_KRST		0x10#define	B_STAT_CSW3		0x08		/* sitch bit 3 status		*/#define	B_STAT_CSW2		0x04		/* sitch bit 2 status		*/#define	B_STAT_CSW1		0x02		/* sitch bit 1 status		*/#define	B_STAT_CSW0		0x01		/* sitch bit 0 status		*//*---------------------------------------------------------------------*//* Display addresses                                                   *//*---------------------------------------------------------------------*/#define	DISP_UDC_RAM	(DISPLAY_BASE + 0x08)	/* UDC RAM	       */#define	DISP_CHR_RAM	(DISPLAY_BASE + 0x18)	/* character Ram       */#define	DISP_FLASH	(DISPLAY_BASE + 0x20)	/* Flash Ram           */#define	DISP_UDC_ADR	*((volatile uchar*)(DISPLAY_BASE + 0x00))	/* UDC Address Reg.    */#define	DISP_CWORD	*((volatile uchar*)(DISPLAY_BASE + 0x10))	/* Control Word Reg.   */#define	DISP_DIG0	*((volatile uchar*)(DISP_CHR_RAM + 0x00))	/* Digit 0 address     */#define	DISP_DIG1	*((volatile uchar*)(DISP_CHR_RAM + 0x01))	/* Digit 0 address     */#define	DISP_DIG2	*((volatile uchar*)(DISP_CHR_RAM + 0x02))	/* Digit 0 address     */#define	DISP_DIG3	*((volatile uchar*)(DISP_CHR_RAM + 0x03))	/* Digit 0 address     */#define	DISP_DIG4	*((volatile uchar*)(DISP_CHR_RAM + 0x04))	/* Digit 0 address     */#define	DISP_DIG5	*((volatile uchar*)(DISP_CHR_RAM + 0x05))	/* Digit 0 address     */#define	DISP_DIG6	*((volatile uchar*)(DISP_CHR_RAM + 0x06))	/* Digit 0 address     */#define	DISP_DIG7	*((volatile uchar*)(DISP_CHR_RAM + 0x07))	/* Digit 0 address     *//*----------------------------------------------------------------------- * PCI stuff *----------------------------------------------------------------------- */#define CONFIG_PCI			/* include pci support			*/#undef CONFIG_PCI_PNP#define CONFIG_NET_MULTI		/* Multi ethernet cards support 	*/#define CONFIG_EEPRO100#define CFG_RX_ETH_BUFFER	8               /* use 8 rx buffer on eepro100  */#define PCI_ENET0_IOADDR	0x00104000#define PCI_ENET0_MEMADDR	0x82000000#define	PCI_PLX9030_MEMADDR	0x82100000#endif	/* __CONFIG_H */

⌨️ 快捷键说明

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