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

📄 netvia.h

📁 linux下的BOOT程序原码,有需要的可以来下,保证好用
💻 H
📖 第 1 页 / 共 2 页
字号:
#elif CONFIG_8xx_GCLK_FREQ == 80000000#define CFG_PLPRCR	( ((8 - 1) << PLPRCR_MF_SHIFT) | PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)#define CFG_SCCR	(SCCR_TBS     | \			 SCCR_COM00   | SCCR_DFSYNC00 | SCCR_DFBRG00  | \			 SCCR_DFNL000 | SCCR_DFNH000  | SCCR_DFLCD000 | \			 SCCR_DFALCD00 | SCCR_EBDF01)#endif/*----------------------------------------------------------------------- * *----------------------------------------------------------------------- * *//*#define	CFG_DER	0x2002000F*/#define CFG_DER	0/* * Init Memory Controller: * * BR0/1 and OR0/1 (FLASH) */#define FLASH_BASE0_PRELIM	0x40000000	/* FLASH bank #0	*//* used to re-map FLASH both when starting from SRAM or FLASH: * restrict access enough to keep SRAM working (if any) * but not too much to meddle with FLASH accesses */#define CFG_REMAP_OR_AM		0x80000000	/* OR addr mask */#define CFG_PRELIM_OR_AM	0xE0000000	/* OR addr mask *//* FLASH timing: ACS = 11, TRLX = 0, CSNT = 1, SCY = 5, EHTR = 1	*/#define CFG_OR_TIMING_FLASH	(OR_CSNT_SAM  | OR_BI | OR_SCY_5_CLK | OR_TRLX)#define CFG_OR0_REMAP	(CFG_REMAP_OR_AM  | CFG_OR_TIMING_FLASH)#define CFG_OR0_PRELIM	(CFG_PRELIM_OR_AM | CFG_OR_TIMING_FLASH)#define CFG_BR0_PRELIM	((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )/* * BR3 and OR3 (SDRAM) * */#define SDRAM_BASE3_PRELIM	0x00000000	/* SDRAM bank #0	*/#define	SDRAM_MAX_SIZE		0x04000000	/* max 64 MB per bank	*//* SDRAM timing: Multiplexed addresses, GPL5 output to GPL5_A (don't care)	*/#define CFG_OR_TIMING_SDRAM	(OR_CSNT_SAM | OR_G5LS)#define CFG_OR3_PRELIM	((0xFFFFFFFFLU & ~(SDRAM_MAX_SIZE - 1)) | CFG_OR_TIMING_SDRAM)#define CFG_BR3_PRELIM	((SDRAM_BASE3_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_PS_32 | BR_V)/* * Memory Periodic Timer Prescaler *//* periodic timer for refresh */#define CFG_MAMR_PTA	208/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit		*/#define CFG_MPTPR_1BK_8K	MPTPR_PTP_DIV16		/* setting for 1 bank	*//* * MAMR settings for SDRAM *//* 9 column SDRAM */#define CFG_MAMR_9COL	((CFG_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE	    |	\			 MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 |	\			 MAMR_RLFA_1X	 | MAMR_WLFA_1X	   | MAMR_TLFA_4X)/* * Internal Definitions * * Boot Flags */#define	BOOTFLAG_COLD	0x01		/* Normal Power-On: Boot from FLASH	*/#define BOOTFLAG_WARM	0x02		/* Software reboot			*//* Ethernet at SCC2 */#define CONFIG_SCC2_ENET#define CONFIG_ARTOS			/* include ARTOS support *//****************************************************************/#define DSP_SIZE	0x00010000	/* 64K */#define FPGA_SIZE	0x00010000	/* 64K */#define DSP0_BASE	0xF1000000#define DSP1_BASE	(DSP0_BASE + DSP_SIZE)#define FPGA_BASE	(DSP1_BASE + DSP_SIZE)#if defined(CONFIG_NETVIA_VERSION) && CONFIG_NETVIA_VERSION >= 2#define ER_SIZE		0x00010000	/* 64K */#define ER_BASE		(FPGA_BASE + FPGA_SIZE)#define NAND_SIZE	0x00010000	/* 64K */#define NAND_BASE	(ER_BASE + ER_SIZE)#endif/****************************************************************/#if defined(CONFIG_NETVIA_VERSION) && CONFIG_NETVIA_VERSION >= 2#define STATUS_LED_BIT		0x00000001		/* bit 31 */#define STATUS_LED_PERIOD	(CFG_HZ / 2)#define STATUS_LED_STATE	STATUS_LED_BLINKING#define STATUS_LED_BIT1		0x00000002		/* bit 30 */#define STATUS_LED_PERIOD1	(CFG_HZ / 2)#define STATUS_LED_STATE1	STATUS_LED_OFF#define STATUS_LED_ACTIVE	0		/* LED on for bit == 0	*/#define STATUS_LED_BOOT		0		/* LED 0 used for boot status */#endif/*****************************************************************************/#if defined(CONFIG_NETVIA_VERSION) && CONFIG_NETVIA_VERSION >= 2/* NAND */#define CFG_NAND_BASE			NAND_BASE#define CONFIG_MTD_NAND_ECC_JFFS2#define CFG_MAX_NAND_DEVICE		1#define SECTORSIZE		512#define ADDR_COLUMN		1#define ADDR_PAGE		2#define ADDR_COLUMN_PAGE	3#define NAND_ChipID_UNKNOWN 	0x00#define NAND_MAX_FLOORS		1#define NAND_MAX_CHIPS		1#define NAND_DISABLE_CE(nand) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) |=  0x0040; \	} while(0)#define NAND_ENABLE_CE(nand) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) &= ~0x0040; \	} while(0)#define NAND_CTL_CLRALE(nandptr) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) &= ~0x0100; \	} while(0)#define NAND_CTL_SETALE(nandptr) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) |=  0x0100; \	} while(0)#define NAND_CTL_CLRCLE(nandptr) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) &= ~0x0080; \	} while(0)#define NAND_CTL_SETCLE(nandptr) \	do { \		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat) |=  0x0080; \	} while(0)#define NAND_WAIT_READY(nand) \	do { \		while ((((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pcdat & 0x100) == 0) \			; \	} while (0)#define WRITE_NAND_COMMAND(d, adr) \	do { \		*(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \	} while(0)#define WRITE_NAND_ADDRESS(d, adr) \	do { \		*(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \	} while(0)#define WRITE_NAND(d, adr) \	do { \		*(volatile unsigned char *)((unsigned long)(adr)) = (unsigned char)(d); \	} while(0)#define READ_NAND(adr) \	((unsigned char)(*(volatile unsigned char *)(unsigned long)(adr)))#endif/*****************************************************************************/#ifndef __ASSEMBLY__#if defined(CONFIG_NETVIA_VERSION) && CONFIG_NETVIA_VERSION >= 2/* LEDs *//* last value written to the external register; we cannot read back */extern unsigned int last_er_val;/* led_id_t is unsigned long mask */typedef unsigned int led_id_t;static inline void __led_init(led_id_t mask, int state){	unsigned int new_er_val;	if (state)		new_er_val = last_er_val & ~mask;	else		new_er_val = last_er_val |  mask;	*(volatile unsigned int *)ER_BASE = new_er_val;	last_er_val = new_er_val;}static inline void __led_toggle(led_id_t mask){	unsigned int new_er_val;	new_er_val = last_er_val ^ mask;	*(volatile unsigned int *)ER_BASE = new_er_val;	last_er_val = new_er_val;}static inline void __led_set(led_id_t mask, int state){	unsigned int new_er_val;	if (state)		new_er_val = last_er_val & ~mask;	else		new_er_val = last_er_val |  mask;	*(volatile unsigned int *)ER_BASE = new_er_val;	last_er_val = new_er_val;}/* MAX3100 console */#define MAX3100_SPI_RXD_PORT	(((volatile immap_t *)CFG_IMMR)->im_cpm.cp_pbdat)#define MAX3100_SPI_RXD_BIT	0x00000008#define MAX3100_SPI_TXD_PORT	(((volatile immap_t *)CFG_IMMR)->im_cpm.cp_pbdat)#define MAX3100_SPI_TXD_BIT	0x00000004#define MAX3100_SPI_CLK_PORT	(((volatile immap_t *)CFG_IMMR)->im_cpm.cp_pbdat)#define MAX3100_SPI_CLK_BIT	0x00000002#define MAX3100_CS_PORT		(((volatile immap_t *)CFG_IMMR)->im_ioport.iop_pddat)#define MAX3100_CS_BIT		0x0010#endif#endif/*************************************************************************************************/#endif	/* __CONFIG_H */

⌨️ 快捷键说明

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