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

📄 board.h

📁 Compex BIOS for SAMSUNG S3C4510B v1.20-lt
💻 H
字号:
/********************************************************//*							*//* Samsung S3C4510b					*//* Hayden Luo ym_luo@powermatic.com.sg			*//*							*//********************************************************/#ifndef __S3C4510B_BOARD_H#define __S3C4510B_BOARD_H/* * define S3C4510b CPU master clock */#define MHz		1000000#define fMCLK_MHz	(50 * MHz)#define fMCLK		(fMCLK_MHz / MHz)#define MCLK2		(fMCLK_MHz / 2)/* * ASIC Definitions */#define ASIC_PRODUCT_ID	0x00000019#define ASIC_REG_BASE	0x03ff0000#define ASIC_SRAM_BASE	0x03fe0000#define ASIC_EXT_BASE	0x03fd0000#define BASE_ADDR	ASIC_REG_BASE/* ************************ *//* System Manager Registers *//* ************************ */#define SYSCFG		(BASE_ADDR+0x0000)#define CLKCON		(BASE_ADDR+0x3000)#define EXTACON0	(BASE_ADDR+0x3008)#define EXTACON1	(BASE_ADDR+0x300C)#define EXTDBWTH	(BASE_ADDR+0x3010)#define ROMCON0		(BASE_ADDR+0x3014)#define ROMCON1		(BASE_ADDR+0x3018)#define ROMCON2		(BASE_ADDR+0x301C)#define ROMCON3		(BASE_ADDR+0x3020)#define ROMCON4		(BASE_ADDR+0x3024)#define ROMCON5		(BASE_ADDR+0x3028)#define DRAMCON0	(BASE_ADDR+0x302C)#define DRAMCON1	(BASE_ADDR+0x3030)#define DRAMCON2	(BASE_ADDR+0x3034)#define DRAMCON3	(BASE_ADDR+0x3038)#define REFEXTCON	(BASE_ADDR+0x303C)/* *********************** *//* Ethernet BDMA Registers *//* *********************** */#define BDMATXCON	(BASE_ADDR+0x9000)#define BDMARXCON	(BASE_ADDR+0x9004)#define BDMATXPTR	(BASE_ADDR+0x9008)#define BDMARXPTR	(BASE_ADDR+0x900C)#define BDMARXLSZ	(BASE_ADDR+0x9010)#define BDMASTAT	(BASE_ADDR+0x9014)#define CAMBASE		(BASE_ADDR+0x9100)/* * CAM		0x9100 ~ 0x917C * BDMATXBUF	0x9200 ~ 0x92FC * BDMARXBUF	0x9800 ~ 0x99FC *//* ********************** *//* Ethernet MAC Registers *//* ********************** */#define MACON		(BASE_ADDR+0xA000)#define CAMCON		(BASE_ADDR+0xA004)#define MACTXCON	(BASE_ADDR+0xA008)#define MACTXSTAT	(BASE_ADDR+0xA00C)#define MACRXCON	(BASE_ADDR+0xA010)#define MACRXSTAT	(BASE_ADDR+0xA014)#define STADATA		(BASE_ADDR+0xA018)#define STACON		(BASE_ADDR+0xA01C)#define CAMEN		(BASE_ADDR+0xA028)#define EMISSCNT	(BASE_ADDR+0xA03C)#define EPZCNT		(BASE_ADDR+0xA040)#define ERMPZCNT	(BASE_ADDR+0xA044)#define EXTSTAT		(BASE_ADDR+0x9040)/* ************************ *//* HDLC Channel A Registers *//* ************************ *//* ************************ *//* HDLC Channel B Registers *//* ************************ *//* ******************* *//* I/O Ports Registers *//* ******************* */#define IOPMOD		(BASE_ADDR+0x5000)#define IOPCON		(BASE_ADDR+0x5004)#define IOPDATA		(BASE_ADDR+0x5008)/* ****************************** *//* Interrupt Controller Registers *//* ****************************** */#define INTMOD		(BASE_ADDR+0x4000)#define INTPND		(BASE_ADDR+0x4004)#define INTMSK		(BASE_ADDR+0x4008)#define INTPRI0		(BASE_ADDR+0x400C)#define INTPRI1		(BASE_ADDR+0x4010)#define INTPRI2		(BASE_ADDR+0x4014)#define INTPRI3		(BASE_ADDR+0x4018)#define INTPRI4		(BASE_ADDR+0x401C)#define INTPRI5		(BASE_ADDR+0x4020)#define INTOFFSET	(BASE_ADDR+0x4024)#define INTPNDTST	(BASE_ADDR+0x402C)#define INTOSET_FIQ	(BASE_ADDR+0x4030)#define INTOSET_IRQ	(BASE_ADDR+0x4034)#define INT_MODE_IRQ	0x000000#define INT_MODE_FIQ	0x1FFFFF#define INT_MASK_DIS	0x1FFFFF#define INT_MASK_ENA	0x000000/* ***************** *//* I2C Bus Registers *//* ***************** *//* ************** *//* GDMA Registers *//* ************** */// GDMA 0 Registers#define GDMACON0        (BASE_ADDR+0xb000)#define GDMASRC0        (BASE_ADDR+0xb004)#define GDMADST0        (BASE_ADDR+0xb008)#define GDMACNT0        (BASE_ADDR+0xb00c)// GDMA 1 Registers#define GDMACON1        (BASE_ADDR+0xc000)#define GDMASRC1        (BASE_ADDR+0xc004)#define GDMADST1        (BASE_ADDR+0xc008)#define GDMACNT1        (BASE_ADDR+0xc00c)/* ************** *//* UART Registers *//* ************** */#define ULCON0		(BASE_ADDR+0xD000)#define ULCON1		(BASE_ADDR+0xE000)#define UCON0		(BASE_ADDR+0xD004)#define UCON1		(BASE_ADDR+0xE004)#define USTAT0		(BASE_ADDR+0xD008)#define USTAT1		(BASE_ADDR+0xE008)#define UTXBUF0		(BASE_ADDR+0xD00C)#define UTXBUF1		(BASE_ADDR+0xE00C)#define URXBUF0		(BASE_ADDR+0xD010)#define URXBUF1		(BASE_ADDR+0xE010)#define UBRDIV0		(BASE_ADDR+0xD014)#define UBRDIV1		(BASE_ADDR+0xE014)/* **************** *//* Timers Registers *//* **************** */#define TMOD		(BASE_ADDR+0x6000)#define TDATA0		(BASE_ADDR+0x6004)#define TDATA1		(BASE_ADDR+0x6008)#define TCNT0		(BASE_ADDR+0x600C)#define TCNT1		(BASE_ADDR+0x6010)/* **************** *//* Interrupt        *//* **************** */#define INT_EXTINT0	0#define INT_EXTINT1	1#define INT_EXTINT2	2#define INT_EXTINT3	3#define INT_UARTTX0	4#define INT_UARTRX0	5#define INT_UARTTX1	6#define INT_UARTRX1	7#define INT_GDMA0	8#define INT_GDMA1	9#define INT_TIMER0	10#define INT_TIMER1	11#define INT_HDLCTXA	12#define INT_HDLCRXA	13#define INT_HDLCTXB	14#define INT_HDLCRXB	15#define INT_BDMATX	16#define INT_BDMARX	17#define INT_MACTX	18#define INT_MACRX	19#define INT_IIC		20#define INT_GLOBAL	21#define PSR_MODE_MASK   0x1f#define PSR_USER_MODE   0x10#define PSR_SVC_MODE    0x13#define PSR_IRQ_MODE    0x12#define PSR_FIQ_MODE    0x11#define PSR_UNDEF_MODE  0x1b#define PSR_ABORT_MODE  0x17#define TAG_BASE	0x11000000#define NOCACHE_BIT     0x04000000#define VPint	*(volatile unsigned int *)#define VPshort	*(volatile unsigned short *)#define VPchar	*(volatile unsigned char *)#define CAM_Reg(x)		(VPint(CAMBASE+((x)*0x4)))#define inl(addr)        (VPint(addr))#define outl(data, addr) (VPint(addr) = (data))/* SYSCFG register */#define SYS_ALWAYS_SET	( \	((ASIC_SRAM_BASE >> 16) << 6) | \	((ASIC_REG_BASE  >> 16) << 16) | \	(ASIC_PRODUCT_ID << 26) | \	(0x00000001 << 31) \)#define SYS_CACHE_OFF		(0x00000000 << 1)#define SYS_CACHE_ON		(0x00000001 << 1)#define SYS_WBUF_OFF		(0x00000000 << 2)#define SYS_WBUF_ON		(0x00000001 << 2)#define SYS_CACHE_4K		(0x00000000 << 4)#define SYS_CACHE_8K		(0x00000001 << 4)#define SYS_CACHE_0K		(0x00000002 << 4)/* CLKCON register */#define CLK_ALWAYS_SET		(0x00000000)#define CLK_DIV_1		(0x00000000)#define CLK_DIV_2		(0x00000001)#define CLK_DIV_3		(0x00000002)#define CLK_DIV_5		(0x00000004)/* EXTDBWTH register */#define DBWTH_ALWAYS_SET	(0x00000000)#define DBWTH_8BIT		(0x00000001)#define DBWTH_16BIT		(0x00000002)#define DBWTH_32BIT		(0x00000003)/* EXTACON register */#define EXT_ALWAYS_SET		(0x00000000)#define EXT_TCOS_0CYCLE		(0x00000000)#define EXT_TCOS_1CYCLE		(0x00000001)#define EXT_TCOS_2CYCLE		(0x00000002)#define EXT_TCOS_3CYCLE		(0x00000003)#define EXT_TCOS_4CYCLE		(0x00000004)#define EXT_TCOS_5CYCLE		(0x00000005)#define EXT_TCOS_6CYCLE		(0x00000006)#define EXT_TCOS_7CYCLE		(0x00000007)#define EXT_TACS_0CYCLE		(0x00000000 << 3)#define EXT_TACS_1CYCLE		(0x00000001 << 3)#define EXT_TACS_2CYCLE		(0x00000002 << 3)#define EXT_TACS_3CYCLE		(0x00000003 << 3)#define EXT_TACS_4CYCLE		(0x00000004 << 3)#define EXT_TACS_5CYCLE		(0x00000005 << 3)#define EXT_TACS_6CYCLE		(0x00000006 << 3)#define EXT_TACS_7CYCLE		(0x00000007 << 3)#define EXT_TCOH_0CYCLE		(0x00000000 << 6)#define EXT_TCOH_1CYCLE		(0x00000001 << 6)#define EXT_TCOH_2CYCLE		(0x00000002 << 6)#define EXT_TCOH_3CYCLE		(0x00000003 << 6)#define EXT_TCOH_4CYCLE		(0x00000004 << 6)#define EXT_TCOH_5CYCLE		(0x00000005 << 6)#define EXT_TCOH_6CYCLE		(0x00000006 << 6)#define EXT_TCOH_7CYCLE		(0x00000007 << 6)#define EXT_TACC_0CYCLE		(0x00000000 << 9)#define EXT_TACC_1CYCLE		(0x00000001 << 9)#define EXT_TACC_2CYCLE		(0x00000002 << 9)#define EXT_TACC_3CYCLE		(0x00000003 << 9)#define EXT_TACC_4CYCLE		(0x00000004 << 9)#define EXT_TACC_5CYCLE		(0x00000005 << 9)#define EXT_TACC_6CYCLE		(0x00000006 << 9)#define EXT_TACC_7CYCLE		(0x00000007 << 9)/* ROMCON register */#define ROM_ALWAYS_SET		(0x00000000)#define ROM_PMC_NORMAL		(0x00000000)#define ROM_PMC_4WORD		(0x00000001)#define ROM_PMC_8WORD		(0x00000002)#define ROM_PMC_16WORD		(0x00000003)#define ROM_TPA_5CYCLE		(0x00000000 << 2)#define ROM_TPA_2CYCLE		(0x00000001 << 2)#define ROM_TPA_3CYCLE		(0x00000002 << 2)#define ROM_TPA_4CYCLE		(0x00000003 << 2)#define ROM_TACC_0CYCLE		(0x00000000 << 4)#define ROM_TACC_2CYCLE		(0x00000001 << 4)#define ROM_TACC_3CYCLE		(0x00000002 << 4)#define ROM_TACC_4CYCLE		(0x00000003 << 4)#define ROM_TACC_7CYCLE		(0x00000006 << 4)/* DRAMCON register */#define DRAM_ALWAYS_SET		(0x00000001 << 4)#define DRAM_TRCD_1CYCLE	(0x00000000 << 7)#define DRAM_TRCD_2CYCLE	(0x00000001 << 7)#define DRAM_TRP_1CYCLE		(0x00000000 << 8)#define DRAM_TRP_2CYCLE		(0x00000001 << 8)#define DRAM_TRP_3CYCLE		(0x00000002 << 8)#define DRAM_TRP_4CYCLE		(0x00000003 << 8)#define DRAM_CAN_8BIT		(0x00000000 << 30)#define DRAM_CAN_9BIT		(0x00000001 << 30)#define DRAM_CAN_10BIT		(0x00000002 << 30)#define DRAM_CAN_11BIT		(0x00000003 << 30)/* REFEXTCON register */#define REF_ALWAYS_SET		((ASIC_EXT_BASE >> 16) | (0x00000003 << 15))#define REF_TRC_1CYCLE		(0x00000000 << 17)#define REF_TRC_2CYCLE		(0x00000001 << 17)#define REF_TRC_3CYCLE		(0x00000002 << 17)#define REF_TRC_4CYCLE		(0x00000003 << 17)#define REF_TRC_5CYCLE		(0x00000004 << 17)#define REF_TRC_6CYCLE		(0x00000005 << 17)#define REF_PERIOD_8US		((2049 - (8*fMCLK)) << 21)#define REF_PERIOD_16US		((2049 - (16*fMCLK)) << 21)#define REF_PERIOD_24US		((2049 - (24*fMCLK)) << 21)#define REF_PERIOD_32US		((2049 - (32*fMCLK)) << 21)#endif  /* __S3C4510B_BOARD_H */

⌨️ 快捷键说明

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