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

📄 voyager_reg.h

📁 usbn9603的驱动程序
💻 H
📖 第 1 页 / 共 4 页
字号:
/*---------------------------------------------------------------------------
*
*  Copyright (c) 2000 by National Semiconductor Corporation
*
*  National Semiconductor Corporation
*
*  All rights reserved.
*
*
*----------------------------------------------------------------------------
*
* File:			voyager_regs.h
*
* Description:	defines all voyager registers.
*				contains bit field definition for allmost all registers bits
*
* Notes:		Not all modules are covered by bit field definitions
*
* Project:		Voyager
*
* Author: 		Lidor Arvats
* Date: 		16.4.2000
* Version: 		$0.3
*
*--------------------------------------------------------------------------*/

#ifndef __v_reg__
#define __v_reg__

#ifdef _CR16_

#include <asm.h>
#endif

/***************************************************************************/
/*	General utilities	   		                                           */
/***************************************************************************/

// structure used by bit-field definitions
struct _BITS {
	unsigned B0  : 1;
	unsigned B1  : 1;
	unsigned B2  : 1;
	unsigned B3  : 1;
	unsigned B4  : 1;
	unsigned B5  : 1;
	unsigned B6  : 1;
	unsigned B7  : 1;
	unsigned B8  : 1;
	unsigned B9  : 1;
	unsigned B10 : 1;
	unsigned B11 : 1;
	unsigned B12 : 1;
	unsigned B13 : 1;
	unsigned B14 : 1;
	unsigned B15 : 1;
};

// general macros
// #define _BIT(reg,bit) 		(*(struct _BITS *)&(reg)).B##bit
#define _BIT(reg,bit) 		(1 << bit)
#define	ATOMIC_OP(exp)		do { _di(); exp; _ei(); } while (0)

/***************************************************************************/


/***************************************************************************/
/*	Voyager Registers Definitions	           							   */
/***************************************************************************/

#define TEST2  (*((volatile unsigned short *)0xFF1C))
#define TEST3  (*((volatile unsigned short *)0xFF1E))
#define SSD  (*((volatile unsigned char *)0xFBD4))

// Bus Interface Unit (BIU)
#define BCFG	(*((volatile unsigned char *)0xF980))
#define IOCFG 	(*((volatile unsigned short *)0xF982))
#define SZCFG0 	(*((volatile unsigned short *)0xF984))
#define SZCFG1	(*((volatile unsigned short *)0xF986))
#define SZCFG2	(*((volatile unsigned short *)0xF988))

// Direct Memory Access (DMA)
#define ADCA0	(*((volatile unsigned long *)0xFA00))
#define ADRA0	(*((volatile unsigned long *)0xFA04))
#define ADCB0	(*((volatile unsigned long *)0xFA08))
#define ADRB0	(*((volatile unsigned long *)0xFA0C))
#define BLTC0	(*((volatile unsigned long *)0xFA10))
#define BLTR0	(*((volatile unsigned long *)0xFA14))
#define CNTL0	(*((volatile unsigned short *)0xFA1C))
#define STAT0	(*((volatile unsigned char *)0xFA1E))
#define ADCA1	(*((volatile unsigned long *)0xFA20))
#define ADRA1	(*((volatile unsigned long *)0xFA24))
#define ADCB1	(*((volatile unsigned long *)0xFA28))
#define ADRB1	(*((volatile unsigned long *)0xFA2C))
#define BLTC1	(*((volatile unsigned long *)0xFA30))
#define BLTR1	(*((volatile unsigned long *)0xFA34))
#define CNTL1	(*((volatile unsigned short *)0xFA3C))
#define STAT1	(*((volatile unsigned char *)0xFA3E))
#define ADCA2	(*((volatile unsigned long *)0xFA40))
#define ADRA2	(*((volatile unsigned long *)0xFA44))
#define ADCB2	(*((volatile unsigned long *)0xFA48))
#define ADRB2	(*((volatile unsigned long *)0xFA4C))
#define BLTC2	(*((volatile unsigned long *)0xFA50))
#define BLTR2	(*((volatile unsigned long *)0xFA54))
#define CNTL2	(*((volatile unsigned short *)0xFA5C))
#define STAT2	(*((volatile unsigned char *)0xFA5E))
#define ADCA3	(*((volatile unsigned long *)0xFA60))
#define ADRA3	(*((volatile unsigned long *)0xFA64))
#define ADCB3	(*((volatile unsigned long *)0xFA68))
#define ADRB3	(*((volatile unsigned long *)0xFA6C))
#define BLTC3	(*((volatile unsigned long *)0xFA70))
#define BLTR3 	(*((volatile unsigned long *)0xFA74))
#define CNTL3 	(*((volatile unsigned short *)0xFA7C))
#define STAT3 	(*((volatile unsigned char *)0xFA7E))

// Interrupt Control Unit (ICU)
#define IVCT 	(*((volatile unsigned char *)0xFE00))
#define NMISTAT	(*((volatile unsigned char *)0xFE02))
#define PFAIL 	(*((volatile unsigned short *)0xFE04))
#define NMIMNTR	(*((volatile unsigned short *)0xFE06))
#define ISTAT0 	(*((volatile unsigned short *)0xFE0A))
#define ISTAT1	(*((volatile unsigned short *)0xFE0C))
#define IENAM0 	(*((volatile unsigned short *)0xFE0E))
#define IENAM1 	(*((volatile unsigned short *)0xFE10))
#define IECLR0 	(*((volatile unsigned short *)0xFE12))
#define IECLR1 	(*((volatile unsigned short *)0xFE14))
#define IDBG	(*((volatile unsigned short *)0xFE1A))
#define ITEST0	(*((volatile unsigned short *)0xFE1C))
#define ITEST1	(*((volatile unsigned short *)0xFE1E))

// Multi Input Wake-Up (MIWU)
#define WKEDG1 	(*((volatile unsigned char *)0xFFC0))
#define WKEDG2 	(*((volatile unsigned char *)0xFFC2))
#define WKEDG3 	(*((volatile unsigned char *)0xFFC4))
#define WKEDG4 	(*((volatile unsigned char *)0xFFC6))
#define WKPND1 	(*((volatile unsigned char *)0xFFCC))
#define WKPND2 	(*((volatile unsigned char *)0xFFD0))
#define WKPND3	(*((volatile unsigned char *)0xFFD4))
#define WKPND4	(*((volatile unsigned char *)0xFFD8))
#define WKPCL1 	(*((volatile unsigned char *)0xFFCA))
#define WKPCL2 	(*((volatile unsigned char *)0xFFCE))
#define WKPCL3 	(*((volatile unsigned char *)0xFFD2))
#define WKPCL4 	(*((volatile unsigned char *)0xFFD6))
#define WKEN1 	(*((volatile unsigned char *)0xFFD8))
#define WKEN2 	(*((volatile unsigned char *)0xFFDA))
#define WKEN3 	(*((volatile unsigned char *)0xFFDC))
#define WKEN4 	(*((volatile unsigned char *)0xFFDE))

// General Purpose  I/O ports (GPIO)
#define PADIR 	(*((volatile unsigned char *)0xFE20))
#define PADIN 	(*((volatile unsigned char *)0xFE22))
#define PADOUT 	(*((volatile unsigned char *)0xFE24))
#define PAWPU 	(*((volatile unsigned char *)0xFE26))
#define PAALT 	(*((volatile unsigned char *)0xFE28))
#define PBDIR 	(*((volatile unsigned char *)0xFE2A))
#define PBDIN 	(*((volatile unsigned char *)0xFE2C))
#define PBDOUT 	(*((volatile unsigned char *)0xFE2E))
#define PBWPU 	(*((volatile unsigned char *)0xFE30))
#define PBALT 	(*((volatile unsigned char *)0xFE32))
#define PCDIR 	(*((volatile unsigned char *)0xFE34))
#define PCDIN 	(*((volatile unsigned char *)0xFE36))
#define PCDOUT 	(*((volatile unsigned char *)0xFE38))
#define PCWPU 	(*((volatile unsigned char *)0xFE3A))
#define PCALT 	(*((volatile unsigned char *)0xFE3C))
#define PDDIR 	(*((volatile unsigned char *)0xFE3E))
#define PDDIN 	(*((volatile unsigned char *)0xFE40))
#define PDDOUT 	(*((volatile unsigned char *)0xFE42))
#define PDWPU 	(*((volatile unsigned char *)0xFE44))
#define PDALT 	(*((volatile unsigned char *)0xFE46))
#define PEDIN 	(*((volatile unsigned char *)0xFE48))
#define PEWPU 	(*((volatile unsigned char *)0xFE4A))
#define PEALT 	(*((volatile unsigned char *)0xFE4C))
#define KBSIN 	(*((volatile unsigned char *)0xFE4E))
#define KBSINPU	(*((volatile unsigned char *)0xFE50))
#define KBSOUT 	(*((volatile unsigned short *)0xFE52))
#define PFDIR 	(*((volatile unsigned char *)0xFE54))
#define PFDIN 	(*((volatile unsigned char *)0xFE56))
#define PFDOUT 	(*((volatile unsigned char *)0xFE58))
#define PFWPU 	(*((volatile unsigned char *)0xFE5A))
#define PFALT 	(*((volatile unsigned char *)0xFE5C))
//#define PHDIR 	(*((volatile unsigned char *)0xFB00))
//#define PHDIN 	(*((volatile unsigned char *)0xFB02))
//#define PHDOUT 	(*((volatile unsigned char *)0xFB04))
//#define PIDIR 	(*((volatile unsigned char *)0xFB06))
//#define PIDIN 	(*((volatile unsigned char *)0xFB08))
//#define PIDOUT 	(*((volatile unsigned char *)0xFB0A))
//#define PJDIR 	(*((volatile unsigned char *)0xFB0C))
//#define PJDIN 	(*((volatile unsigned char *)0xFB0E))
//#define PJDOUT 	(*((volatile unsigned char *)0xFB10))
//#define PKDIR 	(*((volatile unsigned char *)0xFB12))
//#define PKDIN 	(*((volatile unsigned char *)0xFB14))
//#define PKDOUT 	(*((volatile unsigned char *)0xFB16))
//#define PLDIR 	(*((volatile unsigned char *)0xFB18))
//#define PLDIN 	(*((volatile unsigned char *)0xFB1A))
//#define PLDOUT 	(*((volatile unsigned char *)0xFB1C))
//#define PMDIR 	(*((volatile unsigned char *)0xFB1E))
//#define PMDIN 	(*((volatile unsigned char *)0xFB20))
//#define PMDOUT 	(*((volatile unsigned char *)0xFB22))
	// PS/2 Ports
#define PSDAT 	(*((volatile unsigned char *)0xFE80))
#define PSTAT 	(*((volatile unsigned char *)0xFE82))
#define PSCON 	(*((volatile unsigned char *)0xFE84))
#define PSOSIG 	(*((volatile unsigned char *)0xFE86))
#define PSISIG 	(*((volatile unsigned char *)0xFE88))
#define PSIEN 	(*((volatile unsigned char *)0xFE8A))

// Multi function Timers (MFT16)
#define T1CNT1 	(*((volatile unsigned short *)0xFD80))
#define T1CRA 	(*((volatile unsigned short *)0xFD82))
#define T1CRB 	(*((volatile unsigned short *)0xFD84))
#define T1CNT2 	(*((volatile unsigned short *)0xFD86))
#define T1PRSC 	(*((volatile unsigned char *)0xFD88))
#define T1CKC 	(*((volatile unsigned char *)0xFD8A))
#define T1CTRL 	(*((volatile unsigned char *)0xFD8C))
#define T1ICTL  (*((volatile unsigned char *)0xFD8E))
#define T1ICLR 	(*((volatile unsigned char *)0xFD90))
#define T2CNT1 	(*((volatile unsigned short *)0xFDA0))
#define T2CRA 	(*((volatile unsigned short *)0xFDA2))
#define T2CRB 	(*((volatile unsigned short *)0xFDA4))
#define T2CNT2 	(*((volatile unsigned short *)0xFDA6))
#define T2PRSC 	(*((volatile unsigned char *)0xFDA8))
#define T2CKC 	(*((volatile unsigned char *)0xFDAA))
#define T2CTRL 	(*((volatile unsigned char *)0xFDAC))
#define T2ICTL 	(*((volatile unsigned char *)0xFDAE))
#define T2ICLR 	(*((volatile unsigned char *)0xFDB0))

// Pulse Width Modulation (PWM)
#define PRSC	(*((volatile unsigned char *)0xFD00))
#define CTR 	(*((volatile unsigned char *)0xFD02))
#define PWMPOL	(*((volatile unsigned char *)0xFD04))
#define PWMCNT	(*((volatile unsigned char *)0xFD06))
#define DCR0	(*((volatile unsigned char *)0xFD08))
#define DCR1	(*((volatile unsigned char *)0xFD0A))
#define DCR2	(*((volatile unsigned char *)0xFD0C))
#define DCR3	(*((volatile unsigned char *)0xFD0E))
#define DCR4	(*((volatile unsigned char *)0xFD10))
#define DCR5	(*((volatile unsigned char *)0xFD12))
#define DCR6	(*((volatile unsigned char *)0xFD14))
#define DCR7	(*((volatile unsigned char *)0xFD16))

//Universal Synchronous/Asynchronous Receiver Transmiter (USART)
#define UTBUF	(*((volatile unsigned char *)0xFD20))
#define URBUF	(*((volatile unsigned char *)0xFD22))
#define UICTRL	(*((volatile unsigned char *)0xFD24))
#define USTAT	(*((volatile unsigned char *)0xFD26))
#define UFRS	(*((volatile unsigned char *)0xFD28))
#define UMDSL	(*((volatile unsigned char *)0xFD2A))
#define UBAUD	(*((volatile unsigned char *)0xFD2C))
#define UPSR	(*((volatile unsigned char *)0xFD2E))
#define UMCTRL	(*((volatile unsigned char *)0xFD30))

// Timer and Watchdog (TWD)
#define TWCFG	(*((volatile unsigned char *)0xFEE0))
#define TWCP 	(*((volatile unsigned char *)0xFEE2))
#define TWDT0	(*((volatile unsigned short *)0xFEE4))
#define T0CSR 	(*((volatile unsigned char *)0xFEE6))
#define WDCNT 	(*((volatile unsigned char *)0xFEE8))
#define WDSDM 	(*((volatile unsigned char *)0xFEEA))

// Analog to Digital Converter (ADC)
#define ADCSTS		(*((volatile unsigned char *)0xFF20))
#define ADCCNF		(*((volatile unsigned char *)0xFF22))
#define ACLKCTL		(*((volatile unsigned char *)0xFF24))
#define ADLYCTL 	(*((volatile unsigned char *)0xFF26))
#define TLOCOTL 	(*((volatile unsigned char *)0xFF28))
#define ADCPINX 	(*((volatile unsigned char *)0xFF2A))
#define ADCPD	 	(*((volatile unsigned char *)0xFF2C))
#define TCHANCTL	(*((volatile unsigned char *)0xFF30))
#define TCHANDAT	(*((volatile unsigned char *)0xFF32))
#define VCHN1CTL	(*((volatile unsigned char *)0xFF34))
#define VCHN1DAT	(*((volatile unsigned short *)0xFF36))
#define VCHN2CTL	(*((volatile unsigned char *)0xFF38))
#define VCHN2DAT	(*((volatile unsigned short *)0xFF3A))
#define VCHN3CTL	(*((volatile unsigned char *)0xFF3C))
#define VCHN3DAT	(*((volatile unsigned short *)0xFF3E))

// Digital to Analog Converter (DAC)
#define DACCTRL (*((volatile unsigned char *)0xFF40))
#define DACDAT0 (*((volatile unsigned char *)0xFF42))
#define DACDAT1 (*((volatile unsigned char *)0xFF44))
#define DACDAT2 (*((volatile unsigned char *)0xFF46))
#define DACDAT3 (*((volatile unsigned char *)0xFF48))

// ACCESS.bus interfaces (ACB)
#define ACB1SDA  	(*((volatile unsigned char *)0xFF60))
#define ACB1ST 		(*((volatile unsigned char *)0xFF62))
#define ACB1CST  	(*((volatile unsigned char *)0xFF64))
#define ACB1CTL1	(*((volatile unsigned char *)0xFF66))
#define ACB1ADDR 	(*((volatile unsigned char *)0xFF68))
#define ACB1CTL2 	(*((volatile unsigned char *)0xFF6A))
#define ACB1CTL3 	(*((volatile unsigned char *)0xFF6C))
#define ACB1ADDR2 	(*((volatile unsigned char *)0xFF6E))
#define ACB2SDA  	(*((volatile unsigned char *)0xFFE0))
#define ACB2ST 		(*((volatile unsigned char *)0xFFE2))
#define ACB2CST  	(*((volatile unsigned char *)0xFFE4))
#define ACB2CTL1 	(*((volatile unsigned char *)0xFFE6))
#define ACB2ADDR 	(*((volatile unsigned char *)0xFFE8))
#define ACB2CTL2 	(*((volatile unsigned char *)0xFFEA))
#define ACB2CTL3 	(*((volatile unsigned char *)0xFFEC))
#define ACB2ADDR2 	(*((volatile unsigned char *)0xFFEE))

// Analog Comperators Monitor (ACM)
#define ACMCTS 	(*((volatile unsigned char *)0xFD40))
#define ACMCNF 	(*((volatile unsigned char *)0xFD42))
#define ACMTIM 	(*((volatile unsigned char *)0xFD44))
#define THRDAT 	(*((volatile unsigned char *)0xFD46))
#define CMPRES 	(*((volatile unsigned char *)0xFD48))
#define VOLDAT0	(*((volatile unsigned char *)0xFD50))
#define VOLDAT1	(*((volatile unsigned char *)0xFD52))
#define VOLDAT2	(*((volatile unsigned char *)0xFD54))
#define VOLDAT3	(*((volatile unsigned char *)0xFD56))
#define VOLDAT4	(*((volatile unsigned char *)0xFD58))
#define VOLDAT5	(*((volatile unsigned char *)0xFD5A))
#define VOLDAT6	(*((volatile unsigned char *)0xFD5C))
#define VOLDAT7	(*((volatile unsigned char *)0xFD5E))

// Flash Interface
#define IBAI 		(*((volatile unsigned short *)0xF880))
#define IBD 		(*((volatile unsigned short *)0xF882))
#define FCWP0 		(*((volatile unsigned short *)0xF890))
#define FCWP1 		(*((volatile unsigned short *)0xF892))
#define FCWP2 		(*((volatile unsigned short *)0xF894))
#define FLCR 		(*((volatile unsigned short *)0xF8C0))
#define FLSR 		(*((volatile unsigned short *)0xF8C2))
#define FLPSLR 		(*((volatile unsigned char *)0xF8C4))
#define FLSTART		(*((volatile unsigned char *)0xF8C6))
#define FLTRAN		(*((volatile unsigned char *)0xF8CA))
#define FLPROG 		(*((volatile unsigned char *)0xF8D0))
#define FLPERASE 	(*((volatile unsigned char *)0xF8D2))
#define FLSERASE0 	(*((volatile unsigned char *)0xF8D4))
#define FLSERASE1 	(*((volatile unsigned char *)0xF8D6))
#define FLEND   	(*((volatile unsigned char *)0xF8D8))
#define FLSEND	 	(*((volatile unsigned char *)0xF8DC))
#define FLRCV	 	(*((volatile unsigned char *)0xF8DE))
#define FLAR0	 	(*((volatile unsigned char *)0xF8E0))
#define FLAR1	 	(*((volatile unsigned char *)0xF8E2))

// Power Management (PMC)
#define PMCSR	(*((volatile unsigned char *)0xFF80))

// High Frequency Clock Generator (HFCG)
#define HFCGCTRL1	(*((volatile unsigned char *)0xFFA0))
#define HFCGML 		(*((volatile unsigned char *)0xFFA2))
#define HFCGMH 		(*((volatile unsigned char *)0xFFA4))
#define HFCGN 		(*((volatile unsigned char *)0xFFA6))
#define HFCGIL 		(*((volatile unsigned char *)0xFFA8))
#define HFCGIH 		(*((volatile unsigned char *)0xFFAA))
#define HFCGP 		(*((volatile unsigned char *)0xFFAC))
#define HFCGCTRL2 	(*((volatile unsigned char *)0xFFAE))

// Debugger Interface
#define DBGRXD0		(*((volatile unsigned short *)0xFDC0))
#define DBGRXD2 	(*((volatile unsigned short *)0xFDC2))
#define DBGRXD8		(*((volatile unsigned short *)0xFDC8))

⌨️ 快捷键说明

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