hal_pxa2x0.h
来自「eCos操作系统源码」· C头文件 代码 · 共 628 行 · 第 1/3 页
H
628 行
#define PXA2X0_GPCR2 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x002c )#define PXA2X0_GRER0 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0030 )#define PXA2X0_GRER1 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0034 )#define PXA2X0_GRER2 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0038 )#define PXA2X0_GFER0 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x003c )#define PXA2X0_GFER1 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0040 )#define PXA2X0_GFER2 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0044 )#define PXA2X0_GEDR0 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0048 )#define PXA2X0_GEDR1 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x004c )#define PXA2X0_GEDR2 PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0050 )#define PXA2X0_GAFR0_L PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0054 )#define PXA2X0_GAFR0_U PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0058 )#define PXA2X0_GAFR1_L PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x005c )#define PXA2X0_GAFR1_U PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0060 )#define PXA2X0_GAFR2_L PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0064 )#define PXA2X0_GAFR2_U PXA2X0_REGISTER( PXA2X0_GPIO_BASE+0x0068 )#define PXA2X0_GPIO_NORM 0x00#define PXA2X0_GPIO_AF1 0x01#define PXA2X0_GPIO_AF2 0x02#define PXA2X0_GPIO_AF3 0x03#define PXA2X0_GPIO_IN 0#define PXA2X0_GPIO_OUT 1// Power Manager and Reset Control#define PXA2X0_PM_BASE ( PXA2X0_PERIPHERALS_BASE + 0x0f00000 )#define PXA2X0_PMCR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0000 )#define PXA2X0_PSSR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0004 )#define PXA2X0_PSPR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0008 )#define PXA2X0_PWER PXA2X0_REGISTER( PXA2X0_PM_BASE+0x000c )#define PXA2X0_PRER PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0010 )#define PXA2X0_PFER PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0014 )#define PXA2X0_PEDR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0018 )#define PXA2X0_PCFR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x001c )#define PXA2X0_PGSR0 PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0020 )#define PXA2X0_PGSR1 PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0024 )#define PXA2X0_PGSR2 PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0028 )#define PXA2X0_RCSR PXA2X0_REGISTER( PXA2X0_PM_BASE+0x0030 )// SSP#define PXA2X0_SSP_BASE ( PXA2X0_PERIPHERALS_BASE + 0x1000000 )#define PXA2X0_SSCR0 PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0000 )#define PXA2X0_SSCR1 PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0004 )#define PXA2X0_SSSR PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0008 )#define PXA2X0_SSITR PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x000c )#define PXA2X0_SSDR PXA2X0_REGISTER( PXA2X0_SSP_BASE+0x0010 )// MMC Controller#define PXA2X0_MMC_BASE ( PXA2X0_PERIPHERALS_BASE + 0x1100000 )#define PXA2X0_MMC_STRPCL PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0000 )#define PXA2X0_MMC_STAT PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0004 )#define PXA2X0_MMC_CLKRT PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0008 )#define PXA2X0_MMC_SPI PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x000c )#define PXA2X0_MMC_CMDAT PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0010 )#define PXA2X0_MMC_RESTO PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0014 )#define PXA2X0_MMC_RDTO PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0018 )#define PXA2X0_MMC_BLKLEN PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x001c )#define PXA2X0_MMC_NOB PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0020 )#define PXA2X0_MMC_PRTBUF PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0024 )#define PXA2X0_MMC_I_MASK PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0028 )#define PXA2X0_MMC_I_REG PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x002c )#define PXA2X0_MMC_CMD PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0030 )#define PXA2X0_MMC_ARGH PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0034 )#define PXA2X0_MMC_ARGL PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0038 )#define PXA2X0_MMC_RES PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x003c )#define PXA2X0_MMC_RXFIFO PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0040 )#define PXA2X0_MMC_TXFIFO PXA2X0_REGISTER( PXA2X0_MMC_BASE+0x0044 )// Clocks Manager#define PXA2X0_CLK_BASE ( PXA2X0_PERIPHERALS_BASE + 0x1300000 )#define PXA2X0_CCCR PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0000 )#define PXA2X0_CKEN PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0004 )#define PXA2X0_CSCC PXA2X0_REGISTER( PXA2X0_CLK_BASE+0x0008 ) // Memory Clock#define PXA2X0_CCCR_L09 (0x1f)#define PXA2X0_CCCR_L27 (0x01)#define PXA2X0_CCCR_L32 (0x02)#define PXA2X0_CCCR_L36 (0x03)#define PXA2X0_CCCR_L40 (0x04)#define PXA2X0_CCCR_L45 (0x05) // Memory-to-Run-Mode multiplier#define PXA2X0_CCCR_M1 (0x1 << 5)#define PXA2X0_CCCR_M2 (0x2 << 5)#define PXA2X0_CCCR_M4 (0x3 << 5) // Run-Mode-to-Turbo-Mode multiplier#define PXA2X0_CCCR_N10 (0x2 << 7) // N=1.0#define PXA2X0_CCCR_N15 (0x3 << 7) // N=1.5#define PXA2X0_CCCR_N20 (0x4 << 7) // N=2.0#define PXA2X0_CCCR_N25 (0x5 << 7) // N=2.5#define PXA2X0_CCCR_N30 (0x6 << 7) // N=3.0// LCD Controller#define PXA2X0_LCCR0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0000 )#define PXA2X0_LCCR1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0004 )#define PXA2X0_LCCR2 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0008 )#define PXA2X0_LCCR3 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x000c )#define PXA2X0_FDADR0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0200 )#define PXA2X0_FSADR0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0204 )#define PXA2X0_FIDR0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0208 )#define PXA2X0_LDCMD0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x020c )#define PXA2X0_FDADR1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0210 )#define PXA2X0_FSADR1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0214 )#define PXA2X0_FIDR1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0218 )#define PXA2X0_LDCMD1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x021c )#define PXA2X0_FBR0 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0020 )#define PXA2X0_FBR1 PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0024 )#define PXA2X0_LCSR PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0038 )#define PXA2X0_LIIDR PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x003c )#define PXA2X0_TRGBR PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0040 )#define PXA2X0_TCR PXA2X0_REGISTER( PXA2X0_LCD_BASE+0x0044 )// Memory Controller#define PXA2X0_MDCNFG PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0000 )#define PXA2X0_MDREFR PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0004 )#define PXA2X0_MSC0 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0008 )#define PXA2X0_MSC1 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x000c )#define PXA2X0_MSC2 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0010 )#define PXA2X0_MECR PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0014 )#define PXA2X0_SXCNFG PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x001c )#define PXA2X0_SXMRS PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0024 )#define PXA2X0_MCMEM0 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0028 )#define PXA2X0_MCMEM1 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x002c )#define PXA2X0_MCATT0 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0030 )#define PXA2X0_MCATT1 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0034 )#define PXA2X0_MCIO0 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0038 )#define PXA2X0_MCIO1 PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x003c )#define PXA2X0_MDMRS PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0040 )#define PXA2X0_BOOT_DEF PXA2X0_REGISTER( PXA2X0_MEMORY_CTL_BASE+0x0044 )// UART definitions// Register offsets#define PXA2X0_UART_RBR ( 0x0000 ) // Receive Buffer Register#define PXA2X0_UART_THR ( 0x0000 ) // Transmit Hold Register#define PXA2X0_UART_IER ( 0x0004 ) // Interrupt Enable Register#define PXA2X0_UART_IIR ( 0x0008 ) // Interrupt ID Register#define PXA2X0_UART_FCR ( 0x0008 )#define PXA2X0_UART_LCR ( 0x000c )#define PXA2X0_UART_MCR ( 0x0010 )#define PXA2X0_UART_LSR ( 0x0014 )#define PXA2X0_UART_MSR ( 0x0018 )#define PXA2X0_UART_SPR ( 0x001c )#define PXA2X0_UART_ISR ( 0x0020 )#define PXA2X0_UART_DLL ( 0x0000 )#define PXA2X0_UART_DLH ( 0x0004 )// The interrupt enable register bits.#define PXA2X0_UART_IER_RAVIE 0x01 // enable received data available irq#define PXA2X0_UART_IER_TIE 0x02 // enable transmit data request interrupt#define PXA2X0_UART_IER_RLSE 0x04 // enable receiver line status irq#define PXA2X0_UART_IER_MIE 0x08 // enable modem status interrupt#define PXA2X0_UART_IER_RTOIE 0x10 // enable Rx timeout interrupt#define PXA2X0_UART_IER_NRZE 0x20 // enable NRZ coding#define PXA2X0_UART_IER_UUE 0x40 // enable the UART unit#define PXA2X0_UART_IER_DMAE 0x80 // enable DMA requests// The interrupt identification register bits.#define PXA2X0_UART_IIR_IP 0x01 // 0 if interrupt pending#define PXA2X0_UART_Tx 0x02#define PXA2X0_UART_Rx 0x04#define PXA2X0_UART_IIR_ID_MASK 0xff // mask for interrupt ID bits// The line status register bits.#define PXA2X0_UART_LSR_DR 0x01 // data ready#define PXA2X0_UART_LSR_OE 0x02 // overrun error#define PXA2X0_UART_LSR_PE 0x04 // parity error#define PXA2X0_UART_LSR_FE 0x08 // framing error#define PXA2X0_UART_LSR_BI 0x10 // break interrupt#define PXA2X0_UART_LSR_THRE 0x20 // transmitter holding register empty#define PXA2X0_UART_LSR_TEMT 0x40 // transmitter holding and Tx shift registers empty#define PXA2X0_UART_LSR_ERR 0x80 // any error condition (FIFOE)// The modem status register bits.#define PXA2X0_UART_MSR_DCTS 0x01 // delta clear to send#define PXA2X0_UART_MSR_DDSR 0x02 // delta data set ready#define PXA2X0_UART_MSR_TERI 0x04 // trailing edge ring indicator#define PXA2X0_UART_MSR_DDCD 0x08 // delta data carrier detect#define PXA2X0_UART_MSR_CTS 0x10 // clear to send#define PXA2X0_UART_MSR_DSR 0x20 // data set ready#define PXA2X0_UART_MSR_RI 0x40 // ring indicator#define PXA2X0_UART_MSR_DCD 0x80 // data carrier detect// The line control register bits.#define PXA2X0_UART_LCR_WLS0 0x01 // word length select bit 0#define PXA2X0_UART_LCR_WLS1 0x02 // word length select bit 1#define PXA2X0_UART_LCR_STB 0x04 // number of stop bits#define PXA2X0_UART_LCR_PEN 0x08 // parity enable#define PXA2X0_UART_LCR_EPS 0x10 // even parity select#define PXA2X0_UART_LCR_SP 0x20 // stick parity#define PXA2X0_UART_LCR_SB 0x40 // set break#define PXA2X0_UART_LCR_DLAB 0x80 // divisor latch access bit// The FIFO control register#define PXA2X0_UART_FCR_FCR0 0x01 // enable xmit and rcvr fifos#define PXA2X0_UART_FCR_FCR1 0x02 // clear RCVR FIFO#define PXA2X0_UART_FCR_FCR2 0x04 // clear XMIT FIFO#define PXA2X0_UART_FCR_ITL0 0x40 // Interrupt trigger level (ITL) bit 0#define PXA2X0_UART_FCR_ITL1 0x80 // Interrupt trigger level (ITL) bit 1#define PXA2X0_UART_FCR_ITL_1BYTE 0x00 // i byte triggers interrupt#define PXA2X0_UART_BAUD_RATE_DIVISOR(x) ((14745600/(16*(x))))#endif // CYGONCE_HAL_ARM_PXA2X0_H// EOF hal_pxa2x0.h
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?