at91rm9200.h

来自「ARM板驱动程序源代码」· C头文件 代码 · 共 909 行 · 第 1/5 页

H
909
字号
/* -------- PMC_SR : (PMC Offset: 0x68) PMC Status Register -------- *//* -------- PMC_IMR : (PMC Offset: 0x6c) PMC Interrupt Mask Register -------- *//* ******************************************************************************//*              SOFTWARE API DEFINITION  FOR Clock Generator Controler*//* ******************************************************************************/typedef struct _AT91S_CKGR {	AT91_REG	 CKGR_MOR; 	/* Main Oscillator Register*/	AT91_REG	 CKGR_MCFR; 	/* Main Clock  Frequency Register*/	AT91_REG	 CKGR_PLLAR; 	/* PLL A Register*/	AT91_REG	 CKGR_PLLBR; 	/* PLL B Register*/} AT91S_CKGR, *AT91PS_CKGR;/* -------- CKGR_MOR : (CKGR Offset: 0x0) Main Oscillator Register -------- */#define AT91C_CKGR_MOSCEN     ((unsigned int) 0x1 <<  0) /* (CKGR) Main Oscillator Enable*/#define AT91C_CKGR_OSCTEST    ((unsigned int) 0x1 <<  1) /* (CKGR) Oscillator Test*/#define AT91C_CKGR_OSCOUNT    ((unsigned int) 0xFF <<  8) /* (CKGR) Main Oscillator Start-up Time*//* -------- CKGR_MCFR : (CKGR Offset: 0x4) Main Clock Frequency Register -------- */#define AT91C_CKGR_MAINF      ((unsigned int) 0xFFFF <<  0) /* (CKGR) Main Clock Frequency*/#define AT91C_CKGR_MAINRDY    ((unsigned int) 0x1 << 16) /* (CKGR) Main Clock Ready*//* -------- CKGR_PLLAR : (CKGR Offset: 0x8) PLL A Register -------- */#define AT91C_CKGR_DIVA       ((unsigned int) 0xFF <<  0) /* (CKGR) Divider Selected*/#define 	AT91C_CKGR_DIVA_0                    ((unsigned int) 0x0) /* (CKGR) Divider output is 0*/#define 	AT91C_CKGR_DIVA_BYPASS               ((unsigned int) 0x1) /* (CKGR) Divider is bypassed*/#define AT91C_CKGR_PLLACOUNT  ((unsigned int) 0x3F <<  8) /* (CKGR) PLL A Counter*/#define AT91C_CKGR_OUTA       ((unsigned int) 0x3 << 14) /* (CKGR) PLL A Output Frequency Range*/#define 	AT91C_CKGR_OUTA_0                    ((unsigned int) 0x0 << 14) /* (CKGR) Please refer to the PLLA datasheet*/#define 	AT91C_CKGR_OUTA_1                    ((unsigned int) 0x1 << 14) /* (CKGR) Please refer to the PLLA datasheet*/#define 	AT91C_CKGR_OUTA_2                    ((unsigned int) 0x2 << 14) /* (CKGR) Please refer to the PLLA datasheet*/#define 	AT91C_CKGR_OUTA_3                    ((unsigned int) 0x3 << 14) /* (CKGR) Please refer to the PLLA datasheet*/#define AT91C_CKGR_MULA       ((unsigned int) 0x7FF << 16) /* (CKGR) PLL A Multiplier*/#define AT91C_CKGR_SRCA       ((unsigned int) 0x1 << 29) /* (CKGR) PLL A Source*//* -------- CKGR_PLLBR : (CKGR Offset: 0xc) PLL B Register -------- */#define AT91C_CKGR_DIVB       ((unsigned int) 0xFF <<  0) /* (CKGR) Divider Selected*/#define 	AT91C_CKGR_DIVB_0                    ((unsigned int) 0x0) /* (CKGR) Divider output is 0*/#define 	AT91C_CKGR_DIVB_BYPASS               ((unsigned int) 0x1) /* (CKGR) Divider is bypassed*/#define AT91C_CKGR_PLLBCOUNT  ((unsigned int) 0x3F <<  8) /* (CKGR) PLL B Counter*/#define AT91C_CKGR_OUTB       ((unsigned int) 0x3 << 14) /* (CKGR) PLL B Output Frequency Range*/#define 	AT91C_CKGR_OUTB_0                    ((unsigned int) 0x0 << 14) /* (CKGR) Please refer to the PLLB datasheet*/#define 	AT91C_CKGR_OUTB_1                    ((unsigned int) 0x1 << 14) /* (CKGR) Please refer to the PLLB datasheet*/#define 	AT91C_CKGR_OUTB_2                    ((unsigned int) 0x2 << 14) /* (CKGR) Please refer to the PLLB datasheet*/#define 	AT91C_CKGR_OUTB_3                    ((unsigned int) 0x3 << 14) /* (CKGR) Please refer to the PLLB datasheet*/#define AT91C_CKGR_MULB       ((unsigned int) 0x7FF << 16) /* (CKGR) PLL B Multiplier*/#define AT91C_CKGR_USB_96M    ((unsigned int) 0x1 << 28) /* (CKGR) Divider for USB Ports*/#define AT91C_CKGR_USB_PLL    ((unsigned int) 0x1 << 29) /* (CKGR) PLL Use*//* ******************************************************************************//*              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_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*//* -------- DBGU_MR : (DBGU Offset: 0x4) Debug Unit Mode Register -------- */#define AT91C_US_PAR          ((unsigned int) 0x7 <<  9) /* (DBGU) Parity type*/#define 	AT91C_US_PAR_EVEN                 ((unsigned int) 0x0 <<  9) /* (DBGU) Even Parity*/#define 	AT91C_US_PAR_ODD                  ((unsigned int) 0x1 <<  9) /* (DBGU) Odd Parity*/#define 	AT91C_US_PAR_SPACE                ((unsigned int) 0x2 <<  9) /* (DBGU) Parity forced to 0 (Space)*/#define 	AT91C_US_PAR_MARK                 ((unsigned int) 0x3 <<  9) /* (DBGU) Parity forced to 1 (Mark)*/#define 	AT91C_US_PAR_NONE                 ((unsigned int) 0x4 <<  9) /* (DBGU) No Parity*/#define 	AT91C_US_PAR_MULTI_DROP           ((unsigned int) 0x6 <<  9) /* (DBGU) Multi-drop mode*/#define AT91C_US_CHMODE       ((unsigned int) 0x3 << 14) /* (DBGU) Channel Mode*/#define 	AT91C_US_CHMODE_NORMAL               ((unsigned int) 0x0 << 14) /* (DBGU) Normal Mode: The USART channel operates as an RX/TX USART.*/#define 	AT91C_US_CHMODE_AUTO                 ((unsigned int) 0x1 << 14) /* (DBGU) Automatic Echo: Receiver Data Input is connected to the TXD pin.*/#define 	AT91C_US_CHMODE_LOCAL                ((unsigned int) 0x2 << 14) /* (DBGU) Local Loopback: Transmitter Output Signal is connected to Receiver Input Signal.*/#define 	AT91C_US_CHMODE_REMOTE               ((unsigned int) 0x3 << 14) /* (DBGU) Remote Loopback: RXD pin is internally connected to TXD pin.*//* -------- 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_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register -------- *//* -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register -------- *//* -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register -------- *//* -------- DBGU_FNTR : (DBGU Offset: 0x48) Debug Unit FORCE_NTRST Register -------- */#define AT91C_US_FORCE_NTRST  ((unsigned int) 0x1 <<  0) /* (DBGU) Force NTRST in JTAG*//* ******************************************************************************//*              SOFTWARE API DEFINITION  FOR Peripheral Data Controller*//* ******************************************************************************/typedef struct _AT91S_PDC {	AT91_REG	 PDC_RPR; 	/* Receive Pointer Register*/	AT91_REG	 PDC_RCR; 	/* Receive Counter Register*/	AT91_REG	 PDC_TPR; 	/* Transmit Pointer Register*/	AT91_REG	 PDC_TCR; 	/* Transmit Counter Register*/	AT91_REG	 PDC_RNPR; 	/* Receive Next Pointer Register*/	AT91_REG	 PDC_RNCR; 	/* Receive Next Counter Register*/	AT91_REG	 PDC_TNPR; 	/* Transmit Next Pointer Register*/	AT91_REG	 PDC_TNCR; 	/* Transmit Next Counter Register*/	AT91_REG	 PDC_PTCR; 	/* PDC Transfer Control Register*/	AT91_REG	 PDC_PTSR; 	/* PDC Transfer Status Register*/} AT91S_PDC, *AT91PS_PDC;/* -------- PDC_PTCR : (PDC Offset: 0x20) PDC Transfer Control Register -------- */#define AT91C_PDC_RXTEN       ((unsigned int) 0x1 <<  0) /* (PDC) Receiver Transfer Enable*/#define AT91C_PDC_RXTDIS      ((unsigned int) 0x1 <<  1) /* (PDC) Receiver Transfer Disable*/#define AT91C_PDC_TXTEN       ((unsigned int) 0x1 <<  8) /* (PDC) Transmitter Transfer Enable*/#define AT91C_PDC_TXTDIS      ((unsigned int) 0x1 <<  9) /* (PDC) Transmitter Transfer Disable*//* -------- PDC_PTSR : (PDC Offset: 0x24) PDC Transfer Status Register -------- *//* ******************************************************************************//*              SOFTWARE API DEFINITION  FOR Advanced Interrupt Controller*/

⌨️ 快捷键说明

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