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

📄 am5120.h

📁 for mips adm5120 uclibc-0.9.19 toolchain
💻 H
📖 第 1 页 / 共 3 页
字号:
/*****************************************************************************;;   (C) Unpublished Work of ADMtek Incorporated.  All Rights Reserved.;;       THIS WORK IS AN UNPUBLISHED WORK AND CONTAINS CONFIDENTIAL,;       PROPRIETARY AND TRADESECRET INFORMATION OF ADMTEK INCORPORATED.;       ACCESS TO THIS WORK IS RESTRICTED TO (I) ADMTEK EMPLOYEES WHO HAVE A;       NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE OF THEIR ASSIGNMENTS;       AND (II) ENTITIES OTHER THAN ADMTEK WHO HAVE ENTERED INTO APPROPRIATE;       LICENSE AGREEMENTS.  NO PART OF THIS WORK MAY BE USED, PRACTICED,;       PERFORMED, COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED,;       ABBRIDGED, CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,;       TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF ADMTEK.;       ANY USE OR EXPLOITATION OF THIS WORK WITHOUT AUTHORIZATION COULD;       SUBJECT THE PERPERTRATOR TO CRIMINAL AND CIVIL LIABILITY.;;------------------------------------------------------------------------------;;    Project : ADM5120;    Creator : ;    File    : include/asm/am5120/adm5120.h;	 Date    : 2003.3.10;    Abstract: ;;Modification History:; ;;*****************************************************************************/#ifndef  __AM5120_H__#define  __AM5120_H__#include <asm/addrspace.h>#include <linux/ip.h>/*=========================  Physical Memory Map  ============================*/#define SDRAM_BASE						0#define SMEM1_BASE						0x10000000#define EXTIO0_BASE						0x10C00000#define EXTIO1_BASE						0x10E00000#define MPMC_BASE						0x11000000#define USBHOST_BASE					0x11200000#define PCIMEM_BASE						0x11400000#define PCIIO_BASE						0x11500000#define PCICFG_BASE						0x115FFFF0#define PCIDAT_BASE						0x115FFFF8#define MIPS_BASE						0x11A00000#define SWCTRL_BASE						0x12000000#define INTC_BASE						0x12200000#define SYSC_BASE						0x12400000#define UART0_BASE						0x12600000#define UART1_BASE						0x12800000#define SMEM0_BASE						0x1FC00000/*=======================  MIPS interrupt  ===================*/#define MIPSINT_SOFT0					0#define MIPSINT_SOFT1					1#define MIPSINT_IRQ						2#define MIPSINT_FIQ						3#define MIPSINT_REV0					4#define MIPSINT_REV1					5#define MIPSINT_REV2					6#define MIPSINT_TIMER					7/*====================  MultiPort Memory Controller (MPMC) ==================*//* registers offset */#define MPMC_CONTROL_REG						0x0000#define MPMC_STATUS_REG							0x0004#define MPMC_CONFIG_REG							0x0008#define MPMC_DM_CONTROL_REG						0x0020#define MPMC_DM_REFRESH_REG						0x0024#define MPMC_DM_TRP_REG							0x0030#define MPMC_DM_TRAS_REG						0x0034#define MPMC_DM_TSREX_REG						0x0038#define MPMC_DM_TAPR_REG						0x003C#define MPMC_DM_TDAL_REG						0x0040#define MPMC_DM_TWR_REG							0x0044#define MPMC_DM_TRC_REG							0x0048#define MPMC_DM_TRFC_REG						0x004C#define MPMC_DM_TXSR_REG						0x0050#define MPMC_DM_TRRD_REG						0x0054#define MPMC_DM_TMRD_REG						0x0058#define MPMC_SM_EXTWAIT_REG						0x0080#define MPMC_DM_CONFIG0_REG						0x0100#define MPMC_DM_RASCAS0_REG						0x0104#define MPMC_DM_CONFIG1_REG						0x0120#define MPMC_DM_RASCAS1_REG						0x0124#define MPMC_SM_CONFIG0_REG						0x0200#define MPMC_SM_WAITWEN0_REG					0x0204#define MPMC_SM_WAITOEN0_REG					0x0208#define MPMC_SM_WAITRD0_REG						0x020C#define MPMC_SM_WAITPAGE0_REG					0x0210#define MPMC_SM_WAITWR0_REG						0x0214#define MPMC_SM_WAITTURN0_REG					0x0218#define MPMC_SM_CONFIG1_REG						0x0220#define MPMC_SM_WAITWEN1_REG					0x0224#define MPMC_SM_WAITOEN1_REG					0x0228#define MPMC_SM_WAITRD1_REG						0x022C#define MPMC_SM_WAITPAGE1_REG					0x0230#define MPMC_SM_WAITWR1_REG						0x0234#define MPMC_SM_WAITTURN1_REG					0x0238#define MPMC_SM_CONFIG2_REG						0x0240#define MPMC_SM_WAITWEN2_REG					0x0244#define MPMC_SM_WAITOEN2_REG					0x0248#define MPMC_SM_WAITRD2_REG						0x024C#define MPMC_SM_WAITPAGE2_REG					0x0250#define MPMC_SM_WAITWR2_REG						0x0254#define MPMC_SM_WAITTURN2_REG					0x0258#define MPMC_SM_CONFIG3_REG						0x0260#define MPMC_SM_WAITWEN3_REG					0x0264#define MPMC_SM_WAITOEN3_REG					0x0268#define MPMC_SM_WAITRD3_REG						0x026C#define MPMC_SM_WAITPAGE3_REG					0x0270#define MPMC_SM_WAITWR3_REG						0x0274#define MPMC_SM_WAITTURN3_REG					0x0278/* Macro for access MPMC register */#define MPMC_REG(_offset)				\		(*((volatile unsigned long *)(KSEG1ADDR(MPMC_BASE + (_offset)))))/* MPMC_CONTROL_REG (offset: 0x0000) */#define MPMC_DRAIN_W_BUF						0x00000008#define MPMC_LOW_POWER_MODE						0x00000004#define MPMC_ADDR_MIRROR						0x00000002#define MPMC_ENABLE								0x00000001#define MPMC_CONTROL_MASK						0x0000000f/* MPMC_STATUS_REG (offset: 0x0004) */#define MPMC_SREFACK							0x00000004#define MPMC_WBUF_DIRTY							0x00000002#define MPMC_BUSY								0x00000001#define MPMC_STATUS_MASK						0x00000007/* MPMC_CONFIG_REG (offset: 0x0008) */#define MPMC_CLK_RATIO_1_1						0x00000000#define MPMC_CLK_RATIO_1_2						0x00000100#define MPMC_LITTLE_ENDIAN						0x00000000#define MPMC_BIG_ENDIAN							0x00000001#define MPMC_CONFIG_MASK						0x00000101/* MPMC_DM_CONTROL_REG (offset: 0x0020) */#define DM_PVHHOUT_HI_VOLTAGE					0x00008000#define DM_RPOUT_HI_VOLTAGE						0x00004000#define DM_DEEP_SLEEP_MODE						0x00002000#define DM_SDRAM_NOP							0x00000180#define DM_SDRAM_PRECHARGE_ALL					0x00000100#define DM_SDRAM_MODE_SETTING					0x00000080#define DM_SDRAM_NORMAL_OP						0x00000000#define DM_SDRAM_OPMODE_MASK					0x00000180#define DM_SELF_REFRESH_MODE					0x00000004#define DM_CLKOUT_ALWAYS						0x00000002#define DM_CLKEN_ALWAYS							0x00000001#define MPMC_DM_CONTROL_MASK					0x0000e187/* MPMC_DM_REFRESH_REG (offset:0x0024) */#define MPMC_DM_REFRESH_MASK					0x00000300/* MPMC_DM_TRP_REG (offset: 0x0030) */#define MPMC_DM_TRP_MASK						0x0000000f/* MPMC_DM_TRAS_REG (offset: 0x0034) */#define MPMC_DM_TRAS_MASK						0x0000000f/* MPMC_DM_TSREX_REG (offset: 0x0038) */#define MPMC_DM_TSREX_MASK						0x0000000f/* MPMC_DM_TAPR_REG	(offset: 0x003C) */#define MPMC_DM_TAPR_MASK						0x0000000f/* MPMC_DM_TDAL_REG	(offset: 0x0040) */#define MPMC_DM_TDAL_MASK						0x0000000f/* MPMC_DM_TWR_REG (offset: 0x0044) */#define MPMC_DM_TWR_MASK						0x0000000f/* MPMC_DM_TRC_REG (offset: 0x0048) */#define MPMC_DM_TRC_MASK 						0x0000001f/* MPMC_DM_TRFC_REG (offset: 0x004C) */#define MPMC_DM_TRFC_MASK						0x0000001f/* MPMC_DM_TXSR_REG	(offset: 0x0050) */#define MPMC_DM_TXSR_MASK						0x0000001f/* MPMC_DM_TRRD_REG	(offset: 0x0054) */#define MPMC_DM_TRRD_MASK						0x0000000f/* MPMC_DM_TMRD_REG	(offset: 0x0058) */#define MPMC_DM_TMRD_MASK						0x0000000f/* MPMC_SM_EXTWAIT_REG (offset:	0x0080) */#define MPMC_SM_EXTWAIT_MASK					0x0000003f/* MPMC_DM_CONFIG0_REG (offset: 0x0100) *//* MPMC_DM_CONFIG1_REG (offset: 0x0120) */#define DM_CFG_ROW_WIDTH_13BIT					0x20000000#define DM_CFG_ROW_WIDTH_12BIT					0x10000000#define DM_CFG_ROW_WIDTH_11BIT					0x00000000#define DM_CFG_ROW_WIDTH_MASK					0x30000000#define DM_CFG_ROW_WIDTH_SHIFT					28#define DM_CFG_2BANK_DEV						0x00000000#define DM_CFG_4BANK_DEV						0x04000000#define DM_CFG_BANK_SHIFT						26#define DM_CFG_COL_WIDTH_11BIT					0x01400000#define DM_CFG_COL_WIDTH_10BIT					0x01000000#define DM_CFG_COL_WIDTH_9BIT					0x00c00000#define DM_CFG_COL_WIDTH_8BIT					0x00800000#define DM_CFG_COL_WIDTH_7BIT					0x00400000#define DM_CFG_COL_WIDTH_6BIT					0x00000000#define DM_CFG_COL_WIDTH_MASK					0x01c00000#define DM_CFG_COL_WIDTH_SHIFT					22#define DM_CFG_WRITE_PROTECT					0x00100000#define DM_CFG_BUFFER_EN						0x00080000#define DM_CFG_ADDR_MAPPING_MASK				0x00005F80#define DM_CFG_DEV_SYNC_FLASH					0x00000010#define DM_CFG_DEV_LOWPOWER_SDRAM				0x00000008#define DM_CFG_DEV_SDRAM						0x00000000#define DM_CFG_DEV_MASK							0x00000018/* MPMC_DM_RASCAS0_REG (offset: 0x0104) *//* MPMC_DM_RASCAS1_REG (offset: 0x0124) */#define DM_CAS_LATENCY_3						0x00000300#define DM_CAS_LATENCY_2						0x00000200#define DM_CAS_LATENCY_1						0x00000100#define DM_RAS_LATENCY_3						0x00000003#define DM_RAS_LATENCY_2						0x00000002#define DM_RAS_LATENCY_1						0x00000001/* MPMC_SM_CONFIG0_REG (offset: 0x0200) *//* MPMC_SM_CONFIG1_REG (offset: 0x0220) *//* MPMC_SM_CONFIG2_REG (offset: 0x0240) *//* MPMC_SM_CONFIG3_REG (offset: 0x0260) */#define SM_WRITE_PROTECT						0x00100000#define SM_WRITEBUF_ENABLE						0x00080000#define SM_EXTENDED_WAIT						0x00000100#define SM_PB									0x00000080#define SM_CS_HIGH								0x00000040#define SM_PAGE_MODE							0x00000008#define SM_MEM_WIDTH_32BIT						0x00000002#define SM_MEM_WIDTH_16BIT						0x00000001#define SM_MEM_WIDTH_8BIT						0x00000000	#define MPMC_SM_CONFIG_MASK						0x001801cb/* MPMC_SM_WAITWEN0_REG	(offset: 0x0204) *//* MPMC_SM_WAITWEN1_REG	(offset: 0x0224) *//* MPMC_SM_WAITWEN2_REG	(offset: 0x0244) *//* MPMC_SM_WAITWEN3_REG	(offset: 0x0264) */#define MPMC_SM_WAITWEN_MASK					0x0000000f/* MPMC_SM_WAITOEN0_REG (offset: 0x0208) *//* MPMC_SM_WAITOEN1_REG (offset: 0x0228) *//* MPMC_SM_WAITOEN2_REG (offset: 0x0248) *//* MPMC_SM_WAITOEN3_REG (offset: 0x0268) */#define MPMC_SM_WAITOEN_MASK					0x0000000f/* MPMC_SM_WAITRD0_REG (offset: 0x020C) *//* MPMC_SM_WAITRD1_REG (offset: 0x022C) *//* MPMC_SM_WAITRD2_REG (offset: 0x024C) *//* MPMC_SM_WAITRD3_REG (offset: 0x026C) */#define MPMC_SM_WAITRD_MASK						0x0000001f/* MPMC_SM_WAITPAGE0_REG (offset: 0x0210) *//* MPMC_SM_WAITPAGE1_REG (offset: 0x0230) *//* MPMC_SM_WAITPAGE2_REG (offset: 0x0250) *//* MPMC_SM_WAITPAGE3_REG (offset: 0x0270) */#define MPMC_SM_WAITPAGE_MASK					0x0000001f/* MPMC_SM_WAITWR0_REG (offset: 0x0214) *//* MPMC_SM_WAITWR1_REG (offset: 0x0234) *//* MPMC_SM_WAITWR2_REG (offset: 0x0254) *//* MPMC_SM_WAITWR3_REG (offset: 0x0274) */#define MPMC_SM_WAITWR_MASK						0x0000001f/* MPMC_SM_WAITTURN0_REG (offset: 0x0218) *//* MPMC_SM_WAITTURN1_REG (offset: 0x0238) *//* MPMC_SM_WAITTURN2_REG (offset: 0x0258) *//* MPMC_SM_WAITTURN3_REG (offset: 0x0278) */#define MPMC_SM_WAITTURN_MASK					0x0000000f/* SDRAM mode register *//* ref: SDRAM data sheet. Ex: Micron MT48LC4M16A2 data sheet. */#define SDRAM_BTLEN_1							0x0000#define SDRAM_BTLEN_2							0x0001#define SDRAM_BTLEN_4							0x0002#define SDRAM_BTLEN_8							0x0003#define SDRAM_BTLEN_FULLPAGE					0x0007#define SDRAM_BTLEN_MASK						0x0007#define SDRAM_BT_SEQUENCIAL						0x0000#define SDRAM_BT_INTERLEVED						0x0008#define SDRAM_CAS_LATENCY_2						0x0020#define SDRAM_CAS_LATENCY_3						0x0030#define SDRAM_CAS_LATENCY_MASK					0x0030#define SDRAM_OPMODE_STANDARD					0x0000#define SDRAM_OPMODE_MASK						0x0180#define SDRAM_WBTMODE_ENABLE					0x0000#define SDRAM_WBTMODE_DISABLE					0x0200#define SDRAM_MODEREG_MASK						0x03FF/*==========================  Interrupt Controller  ==========================*//* registers offset */#define IRQ_STATUS_REG							0x00	/* Read */#define IRQ_RAW_STATUS_REG						0x04	/* Read */#define IRQ_ENABLE_REG							0x08	/* Read/Write */#define IRQ_DISABLE_REG							0x0C	/* Write */#define IRQ_SOFT_REG							0x10	/* Write */#define IRQ_MODE_REG							0x14	/* Read/Write */#define FIQ_STATUS_REG							0x18	/* Read *//* test registers */#define IRQ_TESTSRC_REG							0x1c	/* Read/Write */#define IRQ_SRCSEL_REG							0x20	/* Read/Write */#define IRQ_LEVEL_REG							0x24	/* Read/Write *//*  Macro for accessing Interrupt controller register  */#define ADM5120_INTC_REG(_reg)		\	(*((volatile unsigned long *)(KSEG1ADDR(INTC_BASE + (_reg)))))/* interrupt levels */#define INT_LVL_TIMER							0	/* Timer */#define INT_LVL_UART0							1	/* Uart 0 */#define INT_LVL_UART1							2	/* Uart 1 */#define INT_LVL_USBHOST							3	/* USB Host */#define INT_LVL_EXTIO_0							4	/* External I/O 0 */#define INT_LVL_EXTIO_1							5	/* External I/O 1 */#define INT_LVL_PCI_0							6	/* PCI 0 */#define INT_LVL_PCI_1							7	/* PCI 1 */#define INT_LVL_PCI_2							8	/* PCI 2 */#define INT_LVL_SWITCH							9	/* Switch */#define INT_LVL_MAX								INT_LVL_SWITCH	

⌨️ 快捷键说明

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