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

📄 at91rm9200.h

📁 omap osk环境下的bootloader,包含完整的uboot源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * (C) Copyright 2003 * AT91RM9200 definitions * Author : ATMEL AT91 application group * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#ifndef AT91RM9200_H#define AT91RM9200_Htypedef volatile unsigned int AT91_REG;/* Hardware register definition *//* ***************************************************************************** *//*              SOFTWARE API DEFINITION  FOR Timer Counter Channel Interface *//* ***************************************************************************** */typedef struct _AT91S_TC {	AT91_REG	 TC_CCR; 	/* Channel Control Register */	AT91_REG	 TC_CMR; 	/* Channel Mode Register */	AT91_REG	 Reserved0[2]; 	/*  */	AT91_REG	 TC_CV; 	/* Counter Value */	AT91_REG	 TC_RA; 	/* Register A */	AT91_REG	 TC_RB; 	/* Register B */	AT91_REG	 TC_RC; 	/* Register C */	AT91_REG	 TC_SR; 	/* Status Register */	AT91_REG	 TC_IER; 	/* Interrupt Enable Register */	AT91_REG	 TC_IDR; 	/* Interrupt Disable Register */	AT91_REG	 TC_IMR; 	/* Interrupt Mask Register */} AT91S_TC, *AT91PS_TC;#define AT91C_TC_TIMER_DIV1_CLOCK      ((unsigned int) 0x0 <<  0) /* (TC) MCK/2 */#define AT91C_TC_TIMER_DIV2_CLOCK      ((unsigned int) 0x1 <<  0) /* (TC) MCK/8 */#define AT91C_TC_TIMER_DIV3_CLOCK      ((unsigned int) 0x2 <<  0) /* (TC) MCK/32 */#define AT91C_TC_TIMER_DIV4_CLOCK      ((unsigned int) 0x3 <<  0) /* (TC) MCK/128 */#define AT91C_TC_SLOW_CLOCK            ((unsigned int) 0x4 <<  0) /* (TC) SLOW CLK */#define AT91C_TC_XC0_CLOCK             ((unsigned int) 0x5 <<  0) /* (TC) XC0 */#define AT91C_TC_XC1_CLOCK             ((unsigned int) 0x6 <<  0) /* (TC) XC1 */#define AT91C_TC_XC2_CLOCK             ((unsigned int) 0x7 <<  0) /* (TC) XC2 */#define 	AT91C_TCB_TC0XC0S_NONE                 ((unsigned int) 0x1) /* (TCB) None signal connected to XC0 */#define 	AT91C_TCB_TC1XC1S_NONE                 ((unsigned int) 0x1 <<  2) /* (TCB) None signal connected to XC1 */#define 	AT91C_TCB_TC2XC2S_NONE                 ((unsigned int) 0x1 <<  4) /* (TCB) None signal connected to XC2 */#define AT91C_TC_CLKDIS       ((unsigned int) 0x1 <<  1) /* (TC) Counter Clock Disable Command */#define AT91C_TC_SWTRG        ((unsigned int) 0x1 <<  2) /* (TC) Software Trigger Command */#define AT91C_TC_CLKEN        ((unsigned int) 0x1 <<  0) /* (TC) Counter Clock Enable Command *//* ***************************************************************************** *//*              SOFTWARE API DEFINITION  FOR Usart *//* ***************************************************************************** */typedef struct _AT91S_USART {	AT91_REG	 US_CR; 	/* Control Register */	AT91_REG	 US_MR; 	/* Mode Register */	AT91_REG	 US_IER; 	/* Interrupt Enable Register */	AT91_REG	 US_IDR; 	/* Interrupt Disable Register */	AT91_REG	 US_IMR; 	/* Interrupt Mask Register */	AT91_REG	 US_CSR; 	/* Channel Status Register */	AT91_REG	 US_RHR; 	/* Receiver Holding Register */	AT91_REG	 US_THR; 	/* Transmitter Holding Register */	AT91_REG	 US_BRGR; 	/* Baud Rate Generator Register */	AT91_REG	 US_RTOR; 	/* Receiver Time-out Register */	AT91_REG	 US_TTGR; 	/* Transmitter Time-guard Register */	AT91_REG	 Reserved0[5]; 	/*  */	AT91_REG	 US_FIDI; 	/* FI_DI_Ratio Register */	AT91_REG	 US_NER; 	/* Nb Errors Register */	AT91_REG	 US_XXR; 	/* XON_XOFF Register */	AT91_REG	 US_IF; 	/* IRDA_FILTER Register */	AT91_REG	 Reserved1[44]; 	/*  */	AT91_REG	 US_RPR; 	/* Receive Pointer Register */	AT91_REG	 US_RCR; 	/* Receive Counter Register */	AT91_REG	 US_TPR; 	/* Transmit Pointer Register */	AT91_REG	 US_TCR; 	/* Transmit Counter Register */	AT91_REG	 US_RNPR; 	/* Receive Next Pointer Register */	AT91_REG	 US_RNCR; 	/* Receive Next Counter Register */	AT91_REG	 US_TNPR; 	/* Transmit Next Pointer Register */	AT91_REG	 US_TNCR; 	/* Transmit Next Counter Register */	AT91_REG	 US_PTCR; 	/* PDC Transfer Control Register */	AT91_REG	 US_PTSR; 	/* PDC Transfer Status Register */} AT91S_USART, *AT91PS_USART;/* ***************************************************************************** *//*              SOFTWARE API DEFINITION  FOR Parallel Input Output Controler *//* ***************************************************************************** */typedef struct _AT91S_PIO {	AT91_REG	 PIO_PER; 	/* PIO Enable Register */	AT91_REG	 PIO_PDR; 	/* PIO Disable Register */	AT91_REG	 PIO_PSR; 	/* PIO Status Register */	AT91_REG	 Reserved0[1]; 	/*  */	AT91_REG	 PIO_OER; 	/* Output Enable Register */	AT91_REG	 PIO_ODR; 	/* Output Disable Registerr */	AT91_REG	 PIO_OSR; 	/* Output Status Register */	AT91_REG	 Reserved1[1]; 	/*  */	AT91_REG	 PIO_IFER; 	/* Input Filter Enable Register */	AT91_REG	 PIO_IFDR; 	/* Input Filter Disable Register */	AT91_REG	 PIO_IFSR; 	/* Input Filter Status Register */	AT91_REG	 Reserved2[1]; 	/*  */	AT91_REG	 PIO_SODR; 	/* Set Output Data Register */	AT91_REG	 PIO_CODR; 	/* Clear Output Data Register */	AT91_REG	 PIO_ODSR; 	/* Output Data Status Register */	AT91_REG	 PIO_PDSR; 	/* Pin Data Status Register */	AT91_REG	 PIO_IER; 	/* Interrupt Enable Register */	AT91_REG	 PIO_IDR; 	/* Interrupt Disable Register */	AT91_REG	 PIO_IMR; 	/* Interrupt Mask Register */	AT91_REG	 PIO_ISR; 	/* Interrupt Status Register */	AT91_REG	 PIO_MDER; 	/* Multi-driver Enable Register */	AT91_REG	 PIO_MDDR; 	/* Multi-driver Disable Register */	AT91_REG	 PIO_MDSR; 	/* Multi-driver Status Register */	AT91_REG	 Reserved3[1]; 	/*  */	AT91_REG	 PIO_PPUDR; 	/* Pull-up Disable Register */	AT91_REG	 PIO_PPUER; 	/* Pull-up Enable Register */	AT91_REG	 PIO_PPUSR; 	/* Pad Pull-up Status Register */	AT91_REG	 Reserved4[1]; 	/*  */	AT91_REG	 PIO_ASR; 	/* Select A Register */	AT91_REG	 PIO_BSR; 	/* Select B Register */	AT91_REG	 PIO_ABSR; 	/* AB Select Status Register */	AT91_REG	 Reserved5[9]; 	/*  */	AT91_REG	 PIO_OWER; 	/* Output Write Enable Register */	AT91_REG	 PIO_OWDR; 	/* Output Write Disable Register */	AT91_REG	 PIO_OWSR; 	/* Output Write Status Register */} AT91S_PIO, *AT91PS_PIO;/* ***************************************************************************** *//*              SOFTWARE API DEFINITION  FOR Debug Unit *//* ***************************************************************************** */typedef struct _AT91S_DBGU {	AT91_REG	 DBGU_CR; 	/* Control Register */	AT91_REG	 DBGU_MR; 	/* Mode Register */	AT91_REG	 DBGU_IER; 	/* Interrupt Enable Register */	AT91_REG	 DBGU_IDR; 	/* Interrupt Disable Register */	AT91_REG	 DBGU_IMR; 	/* Interrupt Mask Register */	AT91_REG	 DBGU_CSR; 	/* Channel Status Register */	AT91_REG	 DBGU_RHR; 	/* Receiver Holding Register */	AT91_REG	 DBGU_THR; 	/* Transmitter Holding Register */	AT91_REG	 DBGU_BRGR; 	/* Baud Rate Generator Register */	AT91_REG	 Reserved0[7]; 	/*  */	AT91_REG	 DBGU_C1R; 	/* Chip ID1 Register */	AT91_REG	 DBGU_C2R; 	/* Chip ID2 Register */	AT91_REG	 DBGU_FNTR; 	/* Force NTRST Register */	AT91_REG	 Reserved1[45]; 	/*  */	AT91_REG	 DBGU_RPR; 	/* Receive Pointer Register */	AT91_REG	 DBGU_RCR; 	/* Receive Counter Register */	AT91_REG	 DBGU_TPR; 	/* Transmit Pointer Register */	AT91_REG	 DBGU_TCR; 	/* Transmit Counter Register */	AT91_REG	 DBGU_RNPR; 	/* Receive Next Pointer Register */	AT91_REG	 DBGU_RNCR; 	/* Receive Next Counter Register */	AT91_REG	 DBGU_TNPR; 	/* Transmit Next Pointer Register */	AT91_REG	 DBGU_TNCR; 	/* Transmit Next Counter Register */	AT91_REG	 DBGU_PTCR; 	/* PDC Transfer Control Register */	AT91_REG	 DBGU_PTSR; 	/* PDC Transfer Status Register */} AT91S_DBGU, *AT91PS_DBGU;/* -------- DBGU_IER : (DBGU Offset: 0x8) Debug Unit Interrupt Enable Register --------  */#define AT91C_US_RXRDY        ((unsigned int) 0x1 <<  0) /* (DBGU) RXRDY Interrupt */#define AT91C_US_TXRDY        ((unsigned int) 0x1 <<  1) /* (DBGU) TXRDY Interrupt */#define AT91C_US_ENDRX        ((unsigned int) 0x1 <<  3) /* (DBGU) End of Receive Transfer Interrupt */#define AT91C_US_ENDTX        ((unsigned int) 0x1 <<  4) /* (DBGU) End of Transmit Interrupt */#define AT91C_US_OVRE         ((unsigned int) 0x1 <<  5) /* (DBGU) Overrun Interrupt */#define AT91C_US_FRAME        ((unsigned int) 0x1 <<  6) /* (DBGU) Framing Error Interrupt */#define AT91C_US_PARE         ((unsigned int) 0x1 <<  7) /* (DBGU) Parity Error Interrupt */#define AT91C_US_TXEMPTY      ((unsigned int) 0x1 <<  9) /* (DBGU) TXEMPTY Interrupt */#define AT91C_US_TXBUFE       ((unsigned int) 0x1 << 11) /* (DBGU) TXBUFE Interrupt */#define AT91C_US_RXBUFF       ((unsigned int) 0x1 << 12) /* (DBGU) RXBUFF Interrupt */#define AT91C_US_COMM_TX      ((unsigned int) 0x1 << 30) /* (DBGU) COMM_TX Interrupt */#define AT91C_US_COMM_RX      ((unsigned int) 0x1 << 31) /* (DBGU) COMM_RX Interrupt *//* -------- DBGU_CR : (DBGU Offset: 0x0) Debug Unit Control Register --------  */#define AT91C_US_RSTRX        ((unsigned int) 0x1 <<  2) /* (DBGU) Reset Receiver */#define AT91C_US_RSTTX        ((unsigned int) 0x1 <<  3) /* (DBGU) Reset Transmitter */#define AT91C_US_RXEN         ((unsigned int) 0x1 <<  4) /* (DBGU) Receiver Enable */#define AT91C_US_RXDIS        ((unsigned int) 0x1 <<  5) /* (DBGU) Receiver Disable */#define AT91C_US_TXEN         ((unsigned int) 0x1 <<  6) /* (DBGU) Transmitter Enable */#define AT91C_US_TXDIS        ((unsigned int) 0x1 <<  7) /* (DBGU) Transmitter Disable */#define AT91C_US_CLKS_CLOCK             ((unsigned int) 0x0 <<  4) /* (USART) Clock */#define AT91C_US_CHRL_8_BITS            ((unsigned int) 0x3 <<  6) /* (USART) Character Length: 8 bits */#define AT91C_US_PAR_NONE               ((unsigned int) 0x4 <<  9) /* (DBGU) No Parity */

⌨️ 快捷键说明

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