var_io.h
来自「eCos操作系统源码」· C头文件 代码 · 共 599 行 · 第 1/2 页
H
599 行
#define AT91_TC_CMR_CLKS_MCK2 (0<<0)#define AT91_TC_CMR_CLKS_MCK8 (1<<0)#define AT91_TC_CMR_CLKS_MCK32 (2<<0)#define AT91_TC_CMR_CLKS_MCK128 (3<<0)#define AT91_TC_CMR_CLKS_MCK1024 (4<<0)#define AT91_TC_CMR_CLKS_XC0 (5<<0)#define AT91_TC_CMR_CLKS_XC1 (6<<0)#define AT91_TC_CMR_CLKS_XC2 (7<<0)#define AT91_TC_CMR_CLKI (1<<3)#define AT91_TC_CMR_BURST_NONE (0<<4)#define AT91_TC_CMR_BURST_XC0 (1<<4)#define AT91_TC_CMR_BURST_XC1 (2<<4)#define AT91_TC_CMR_BURST_XC2 (3<<4)#define AT91_TC_CMR_LDBSTOP (1<<6)#define AT91_TC_CMR_LDBDIS (1<<7)#define AT91_TC_CMR_TRIG_NONE (0<<8)#define AT91_TC_CMR_TRIG_NEG (1<<8)#define AT91_TC_CMR_TRIG_POS (2<<8)#define AT91_TC_CMR_TRIG_BOTH (3<<8)#define AT91_TC_CMR_EXT_TRIG_TIOB (0<<10)#define AT91_TC_CMR_EXT_TRIG_TIOA (1<<10)#define AT91_TC_CMR_CPCTRG (1<<14)#define AT91_TC_CMR_LDRA_NONE (0<<16)#define AT91_TC_CMR_LDRA_TIOA_NEG (1<<16)#define AT91_TC_CMR_LDRA_TIOA_POS (2<<16)#define AT91_TC_CMR_LDRA_TIOA_BOTH (3<<16)#define AT91_TC_CMR_LDRB_NONE (0<<16)#define AT91_TC_CMR_LDRB_TIOA_NEG (1<<16)#define AT91_TC_CMR_LDRB_TIOA_POS (2<<16)#define AT91_TC_CMR_LDRB_TIOA_BOTH (3<<16)// Waveform mode definitions [missing]#define AT91_TC_CV 0x10#define AT91_TC_RA 0x14#define AT91_TC_RB 0x18#define AT91_TC_RC 0x1C#define AT91_TC_SR 0x20#define AT91_TC_SR_COVF (1<<0) // Counter overrun#define AT91_TC_SR_LOVR (1<<1) // Load overrun#define AT91_TC_SR_CPA (1<<2) // RA compare#define AT91_TC_SR_CPB (1<<3) // RB compare#define AT91_TC_SR_CPC (1<<4) // RC compare#define AT91_TC_SR_LDRA (1<<5) // Load A status#define AT91_TC_SR_LDRB (1<<6) // Load B status#define AT91_TC_SR_EXT (1<<7) // External trigger#define AT91_TC_SR_CLKSTA (1<<16) // Clock enable/disable status#define AT91_TC_SR_MTIOA (1<<17) // TIOA mirror#define AT91_TC_SR_MTIOB (1<<18) // TIOB mirror#define AT91_TC_IER 0x24#define AT91_TC_IER_COVF (1<<0) // Counter overrun#define AT91_TC_IER_LOVR (1<<1) // Load overrun#define AT91_TC_IER_CPA (1<<2) // RA compare#define AT91_TC_IER_CPB (1<<3) // RB compare#define AT91_TC_IER_CPC (1<<4) // RC compare#define AT91_TC_IER_LDRA (1<<5) // Load A status#define AT91_TC_IER_LDRB (1<<6) // Load B status#define AT91_TC_IER_EXT (1<<7) // External trigger#define AT91_TC_IDR 0x28#define AT91_TC_IMR 0x2C#define AT91_TC_TC1 0x40#define AT91_TC_TC2 0x80#define AT91_TC_BCR 0xC0#define AT91_TC_BCR_SYNC 0x01#define AT91_TC_BMR 0xC4//=============================================================================// External Bus Interface#ifndef AT91_EBI#define AT91_EBI 0xFFE00000#endif#define AT91_EBI_CSR0 0x00#define AT91_EBI_CSR1 0x04#define AT91_EBI_CSR2 0x08#define AT91_EBI_CSR3 0x0C#define AT91_EBI_CSR4 0x10#define AT91_EBI_CSR5 0x14#define AT91_EBI_CSR6 0x18#define AT91_EBI_CSR7 0x1C // Chip select#define AT91_EBI_CSR_DBW_16 0x1 // Data bus 16 bits wide#define AT91_EBI_CSR_DBW_8 0x2 // Data bus 8 bits wide#define AT91_EBI_CSR_NWS_1 (0x0 << 2)#define AT91_EBI_CSR_NWS_2 (0x1 << 2)#define AT91_EBI_CSR_NWS_3 (0x2 << 2)#define AT91_EBI_CSR_NWS_4 (0x3 << 2)#define AT91_EBI_CSR_NWS_5 (0x4 << 2)#define AT91_EBI_CSR_NWS_6 (0x5 << 2)#define AT91_EBI_CSR_NWS_7 (0x6 << 2)#define AT91_EBI_CSR_NWS_8 (0x7 << 2) // Number of wait states#define AT91_EBI_CSR_WSE (0x1 << 5) // Wait state enable#define AT91_EBI_CSR_PAGES_1M (0x0 << 7)#define AT91_EBI_CSR_PAGES_4M (0x1 << 7)#define AT91_EBI_CSR_PAGES_16M (0x2 << 7)#define AT91_EBI_CSR_PAGES_64M (0x3 << 7) // Page size#define AT91_EBI_CSR_TDF_0 (0x0 << 9)#define AT91_EBI_CSR_TDF_1 (0x1 << 9)#define AT91_EBI_CSR_TDF_2 (0x2 << 9)#define AT91_EBI_CSR_TDF_3 (0x3 << 9)#define AT91_EBI_CSR_TDF_4 (0x4 << 9)#define AT91_EBI_CSR_TDF_5 (0x5 << 9)#define AT91_EBI_CSR_TDF_6 (0x6 << 9)#define AT91_EBI_CSR_TDF_7 (0x7 << 9) // Data float output time#define AT91_EBI_CSR_BAT (0x1 << 12) // Byte access type#define AT91_EBI_CSR_CSEN (0x1 << 13) // Chip select enable#define AT91_EBI_CSR_BA (0xFFF << 20) // Base address#define AT91_EBI_RCR 0x20 // Reset control#define AT91_EBI_RCR_RCB 0x1 // Remap command bit#define AT91_EBI_MCR 0x24 // Memory control#define AT91_EBI_MCR_ALE_16M 0x0#define AT91_EBI_MCR_ALE_8M 0x4#define AT91_EBI_MCR_ALE_4M 0x5#define AT91_EBI_MCR_ALE_2M 0x6#define AT91_EBI_MCR_ALE_1M 0x7 // Address line enable#define AT91_EBI_MCR_DRP (0x1 << 4) // Data read protocol//=============================================================================// Power Saving or Management#if defined(CYGHWR_HAL_ARM_AT91_R40807) || \ defined(CYGHWR_HAL_ARM_AT91_R40008)// Power Saving#ifndef AT91_PS#define AT91_PS 0xFFFF4000#endif#define AT91_PS_CR 0x000 // Control#define AT91_PS_CR_CPU (1<<0) // Disable CPU clock (idle mode)#define AT91_PS_PCER 0x004 // Peripheral clock enable#define AT91_PS_PCDR 0x008 // Peripheral clock disable#define AT91_PS_PCSR 0x00c // Peripheral clock status#elif defined(CYGHWR_HAL_ARM_AT91_M42800A) || \ defined(CYGHWR_HAL_ARM_AT91_M55800A)// (Advanced) Power Management#ifndef AT91_PMC#define AT91_PMC 0xFFFF4000#endif#define AT91_PMC_SCER 0x00#define AT91_PMC_SCDR 0x04#define AT91_PMC_SCSR 0x08#define AT91_PMC_PCER 0x10#define AT91_PMC_PCDR 0x14#define AT91_PMC_PCSR 0x18#define AT91_PMC_CGMR 0x20 #define AT91_PMC_SR 0x30#define AT91_PMC_IER 0x34#define AT91_PMC_IDR 0x38#define AT91_PMC_IMR 0x3c#if defined(CYGHWR_HAL_ARM_AT91_M42800A)#define AT91_PMC_PCER_US0 (1<<2)#define AT91_PMC_PCER_US1 (1<<3)#define AT91_PMC_PCER_SPIA (1<<4)#define AT91_PMC_PCER_SPIB (1<<5)#define AT91_PMC_PCER_TC0 (1<<6)#define AT91_PMC_PCER_TC1 (1<<7)#define AT91_PMC_PCER_TC2 (1<<8)#define AT91_PMC_PCER_TC3 (1<<9)#define AT91_PMC_PCER_TC4 (1<<10)#define AT91_PMC_PCER_TC5 (1<<11)#define AT91_PMC_PCER_PIOA (1<<13)#define AT91_PMC_PCER_PIOB (1<<14) #define AT91_PMC_CGMR_PRES_NONE 0#define AT91_PMC_CGMR_PRES_DIV2 1#define AT91_PMC_CGMR_PRES_DIV4 2#define AT91_PMC_CGMR_PRES_DIV8 3#define AT91_PMC_CGMR_PRES_DIV16 4#define AT91_PMC_CGMR_PRES_DIV32 5#define AT91_PMC_CGMR_PRES_DIV64 6#define AT91_PMC_CGMR_PRES_RES 7#define AT91_PMC_CGMR_PLLA 0x00#define AT91_PMC_CGMR_PLLB 0x08#define AT91_PMC_CGMR_MCK_SLCK (0<<4)#define AT91_PMC_CGMR_MCK_MCK (1<<4)#define AT91_PMC_CGMR_MCK_MCKINV (2<<4)#define AT91_PMC_CGMR_MCK_MCKD2 (3<<4)#define AT91_PMC_CGMR_MCKO_ENA (0<<6)#define AT91_PMC_CGMR_MCKO_DIS (1<<6)#define AT91_PMC_CGMR_CSS_SLCK (0<<7)#define AT91_PMC_CGMR_CSS_PLL (1<<7)#define AT91_PMC_CGMR_PLL_MUL(x) ((x)<<8)#define AT91_PMC_CGMR_PLL_CNT(x) ((x)<<24)#define AT91_PMC_SR_LOCK 0x01 #elif defined(CYGHWR_HAL_ARM_AT91_M55800A)#define AT91_PMC_PCER_US0 (1<<2)#define AT91_PMC_PCER_US1 (1<<3)#define AT91_PMC_PCER_US2 (1<<4)#define AT91_PMC_PCER_SPI (1<<5)#define AT91_PMC_PCER_TC0 (1<<6)#define AT91_PMC_PCER_TC1 (1<<7)#define AT91_PMC_PCER_TC2 (1<<8)#define AT91_PMC_PCER_TC3 (1<<9)#define AT91_PMC_PCER_TC4 (1<<10)#define AT91_PMC_PCER_TC5 (1<<11)#define AT91_PMC_PCER_PIOA (1<<13)#define AT91_PMC_PCER_PIOB (1<<14)#define AT91_PMC_PCER_ADC0 (1<<15)#define AT91_PMC_PCER_ADC1 (1<<16)#define AT91_PMC_PCER_DAC0 (1<<17)#define AT91_PMC_PCER_DAC1 (1<<18)#define AT91_PMC_CGMR_MOSC_XTAL 0#define AT91_PMC_CGMR_MOSC_BYP 1#define AT91_PMC_CGMR_MOSC_DIS (0<<1)#define AT91_PMC_CGMR_MOSC_ENA (1<<1)#define AT91_PMC_CGMR_MCKO_ENA (0<<2)#define AT91_PMC_CGMR_MCKO_DIS (1<<2)#define AT91_PMC_CGMR_PRES_NONE (0<<4)#define AT91_PMC_CGMR_PRES_DIV2 (1<<4)#define AT91_PMC_CGMR_PRES_DIV4 (2<<4)#define AT91_PMC_CGMR_PRES_DIV8 (3<<4)#define AT91_PMC_CGMR_PRES_DIV16 (4<<4)#define AT91_PMC_CGMR_PRES_DIV32 (5<<4)#define AT91_PMC_CGMR_PRES_DIV64 (6<<4)#define AT91_PMC_CGMR_PRES_RES (7<<4)#define AT91_PMC_CGMR_CSS_LF (0<<14)#define AT91_PMC_CGMR_CSS_MOSC (1<<14)#define AT91_PMC_CGMR_CSS_PLL (2<<14)#define AT91_PMC_CGMR_CSS_RES (3<<14) #define AT91_PMC_CGMR_PLL_MUL(x) ((x)<<8)#define AT91_PMC_CGMR_OSC_CNT(x) ((x)<<16)#define AT91_PMC_CGMR_PLL_CNT(x) ((x)<<24)#define AT91_PMC_PCR 0x28#define AT91_PMC_PCR_SHDALC 1#define AT91_PMC_PCR_WKACKC 2 #define AT91_PMC_PMR 0x2c#define AT91_PMC_PMR_SHDALS_TRI 0#define AT91_PMC_PMR_SHDALS_LEVEL0 1#define AT91_PMC_PMR_SHDALS_LEVEL1 2#define AT91_PMC_PMR_SHDALS_RES 3#define AT91_PMC_PMR_WKACKS_TRI (0<<2)#define AT91_PMC_PMR_WKACKS_LEVEL0 (1<<2)#define AT91_PMC_PMR_WKACKS_LEVEL1 (2<<2)#define AT91_PMC_PMR_WKACKS_RES (3<<2)#define AT91_PMC_PMR_ALWKEN (1<<4)#define AT91_PMC_PMR_ALSHEN (1<<5)#define AT91_PMC_PMR_WKEDG_NONE (0<<6)#define AT91_PMC_PMR_WKEDG_POS (1<<6)#define AT91_PMC_PMR_WKEDG_NEG (2<<6)#define AT91_PMC_PMR_WKEDG_BOTH (3<<6)#define AT91_PMC_SR_MOSCS 0x01#define AT91_PMC_SR_LOCK 0x02#endif#else#error Unknown AT91 variant#endif//=============================================================================// Watchdog#ifndef AT91_WD#define AT91_WD 0xFFFF8000#endif#define AT91_WD_OMR 0x00#define AT91_WD_OMR_WDEN 0x00000001#define AT91_WD_OMR_RSTEN 0x00000002#define AT91_WD_OMR_IRQEN 0x00000004#define AT91_WD_OMR_EXTEN 0x00000008#define AT91_WD_OMR_OKEY (0x00000234 << 4)#define AT91_WD_CMR 0x04#define AT91_WD_CMR_WDCLKS 0x00000003#define AT91_WD_CMR_HPCV 0x0000003C#define AT91_WD_CMR_CKEY (0x0000006E << 7)#define AT91_WD_CR 0x08#define AT91_WD_CR_RSTKEY 0x0000C071#define AT91_WD_SR 0x0C#define AT91_WD_SR_WDOVF 0x00000001//-----------------------------------------------------------------------------// end of var_io.h#endif // CYGONCE_HAL_VAR_IO_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?