?? wrsbcarm7.h
字號:
#define CasPrechargeTime0 1 /*(Tcp)0=1cycle,1=2cycle*/#define CasStrobeTime0 1 /*(Tcs)0=1cycle ~ 3=4cycle*/#define DRAMCON0Reserved 1 /* Must be set to 1*/#define RAS2CASDelay0 0 /*(Trc)0=1cycle,1=2cycle*/#define RASPrechargeTime0 1 /*(Trp)0=1cycle ~ 3=4clcyle*/#define DRAMBasePtr0 (0x100<<10) /*=0x1000000 */#define DRAMBasePtr0_S 0x00 /* now RAM moved to zero */#define DRAMEndPtr0 (((LOCAL_MEM_SIZE >> 16) + 0x100) << 20) /*=0x00800000 - 8 MB */#define DRAMEndPtr0_S ((LOCAL_MEM_SIZE >> 16) << 20) /*=0x00800000 - 8 MB */#define NoColumnAddr0 2 /*0=8bit,1=9bit,2=10bit,3=11bits*/#define Tcs0 (CasStrobeTime0<<1)#define Tcp0 (CasPrechargeTime0<<3)#define dumy0 (DRAMCON0Reserved<<4) /*dummy cycle*/#define Trc0 (RAS2CASDelay0<<7)#define Trp0 (RASPrechargeTime0<<8)#define CAN0 (NoColumnAddr0<<30)#define rDRAMCON0 (CAN0+DRAMEndPtr0+DRAMBasePtr0+Trp0+Trc0+Tcp0+Tcs0+dumy0+EDO_Mode0)#define rDRAMCON0_S (CAN0+DRAMEndPtr0_S+DRAMBasePtr0_S+Trp0+Trc0+Tcp0+Tcs0+dumy0+EDO_Mode0)/**************************************************************************** * -> DRAMCONx : unused RAM Banks */#define rDRAMCON1 0x00#define rDRAMCON2 0x00#define rDRAMCON3 0x00/**************************************************************************** * -> DRAMCON0 : RAM Bank0 control register (for SDRAM) */#define SRAS2CASDelay0 1 /*(Trc)0=1cycle,1=2cycle*/#define SRASPrechargeTime0 3 /*(Trp)0=1cycle ~ 3=4cycle*/#define SCasPrechargeTime0 0 /*(Tcp)0=1cycle,1=2cycle*/#define SCasStrobeTime0 0 /*(Tcs)0=1cycle ~ 3=4cycle*/#define SNoColumnAddr0 0 /*0=8bit,1=9bit,2=10bit,3=11bits*/#define SCAN0 (SNoColumnAddr0<<30)#define STrc0 (SRAS2CASDelay0<<7)#define STrp0 (SRASPrechargeTime0<<8)#define STcp0 (SCasPrechargeTime0<<3)#define STcs0 (SCasStrobeTime0<<1)#define rSDRAMCON0 (SCAN0+DRAMEndPtr0+DRAMBasePtr0+STrp0+STrc0+STcp0+STcs0)#define rSDRAMCON0_S (SCAN0+DRAMEndPtr0_S+DRAMBasePtr0_S+STrp0+STrc0+STcp0+STcs0)/**************************************************************************** * -> DRAMCONx : unused SYNC DRAM Banks */#define rSDRAMCON1 0x00#define rSDRAMCON2 0x00#define rSDRAMCON3 0x00/************************************************************************** * -> REFEXTCON : External I/O & Memory Refresh cycle Control Register */#define RefCycle 16 /*Unit [us], 1k refresh 16ms*//*RefCycle EQU 8 ;Unit [us], 1k refresh 16ms*/#define CASSetupTime 0 /*0=1cycle, 1=2cycle*/#define CASHoldTime 0 /*0=1cycle, 1=2cycle, 2=3cycle, 3=4cycle, 4=5cycle,*/#if (((2<<11)+1-(RefCycle*fMCLK)) < 0x3FF)#define RefCycleValue (((2<<11)+1-(RefCycle*fMCLK))<<21)#else#define RefCycleValue (0x3FF<<21)#endif#define Tcsr (CASSetupTime<<20) /* 1cycle */#define Tcs (CASHoldTime<<17)#define ExtIOBase 0x183fd /* Refresh enable, VSF=1*/#define rREFEXTCON (RefCycleValue+Tcsr+Tcs+ExtIOBase)/****************************************************************** *SRefCycle EQU 16 ;Unit [us], 4k refresh 64ms */#define SRefCycle 8 /*Unit [us], 4k refresh 64ms*/#define ROWcycleTime 3 /*0=1cycle, 1=2cycle, 2=3cycle, 3=4cycle, 4=5cycle,*/#define SRefCycleValue ((2048+1-(SRefCycle*fMCLK))<<21)#define STrc (ROWcycleTime<<17)#define rSREFEXTCON (SRefCycleValue+STrc+ExtIOBase)/* interrupt levels */#define INT_LVL_EXTINT0 0 /* External Interrupt0 */#define INT_LVL_EXTINT1 1 /* External Interrupt1 */#define INT_LVL_EXTINT2 2 /* External Interrupt2 */#define INT_LVL_EXTINT3 3 /* External Interrupt3 */#define INT_LVL_UARTTX0 4 /* UART 0 Transmit Interrupt */#define INT_LVL_UARTRX0 5 /* UART 0 Receive & Error Interrupt */#define INT_LVL_UARTTX1 6 /* UART 1 Transmit Interrupt */#define INT_LVL_UARTRX1 7 /* UART 1 Receive & Error Interrupt */#define INT_LVL_GDMA0 8 /* GDMA channel 0 interrupt*/#define INT_LVL_GDMA1 9 /* GDMA channel 1 interrupt */#define INT_LVL_TIMER0 10 /* Timer 0 Interrupt */#define INT_LVL_TIMER1 11 /* Timer 1 Interrupt */#define INT_LVL_HDLCTxA 12 /* HDLC channel A Tx interrupt*/#define INT_LVL_HDLCRxA 13 /* HDLC channel A Rx interrupt*/#define INT_LVL_HDLCTxB 14 /* HDLC channel B Tx interrupt*/#define INT_LVL_HDLCRxB 15 /* HDLC channel B Rx interrupt*/#define INT_LVL_BDMATx 16 /* Ethernet controller BDMA Tx Interrupt */#define INT_LVL_BDMARx 17 /* Ethernet controller BDMA Rx Interrupt */#define INT_LVL_MACTx 18 /* Ethernet controller MAC Tx Interrupt*/#define INT_LVL_MACRx 19 /* Ethernet controller MAC Rx Interrupt */#define INT_LVL_IIC 20 /* IIC -Bus Interrupt *//* interrupt vectors */#define INT_VEC_EXTINT0 IVEC_TO_INUM(INT_LVL_EXTINT0) /* External Interrupt0 */#define INT_VEC_EXTINT1 IVEC_TO_INUM(INT_LVL_EXTINT1) /* External Interrupt1*/#define INT_VEC_EXTINT2 IVEC_TO_INUM(INT_LVL_EXTINT2) /* External Interrupt2*/#define INT_VEC_EXTINT3 IVEC_TO_INUM(INT_LVL_EXTINT3) /* External Interrupt3*/#define INT_VEC_UARTTX0 IVEC_TO_INUM(INT_LVL_UARTTX0) /* UART 0 Transmit Interrupt */#define INT_VEC_UARTRX0 IVEC_TO_INUM(INT_LVL_UARTRX0) /* UART 0 Receive & Error Interrupt */#define INT_VEC_UARTTX1 IVEC_TO_INUM(INT_LVL_UARTTX1) /* UART 1 Transmit Interrupt */#define INT_VEC_UARTRX1 IVEC_TO_INUM(INT_LVL_UARTRX1) /* UART 1 Receive & Error Interrupt */#define INT_VEC_GDMA0 IVEC_TO_INUM(INT_LVL_GDMA0) /* GDMA channel 0 interrupt*/#define INT_VEC_GDMA1 IVEC_TO_INUM(INT_LVL_GDMA1) /* GDMA channel 0 interrupt*/#define INT_VEC_TIMER0 IVEC_TO_INUM(INT_LVL_TIMER0) /* Timer 0 Interrupt */#define INT_VEC_TIMER1 IVEC_TO_INUM(INT_LVL_TIMER1) /* Timer 1 Interrupt */#define INT_VEC_HDLCTxA IVEC_TO_INUM(INT_LVL_HDLCTxA) /* HDLC channel A Tx interrupt */#define INT_VEC_HDLCRxA IVEC_TO_INUM(INT_LVL_HDLCRxA) /* HDLC channel A Rx interrupt*/#define INT_VEC_HDLCTxB IVEC_TO_INUM(INT_LVL_HDLCTxB) /* HDLC channel B Tx interrupt*/#define INT_VEC_HDLCRxB IVEC_TO_INUM(INT_LVL_HDLCRxB) /* HDLC channel B Rx interrupt*/#define INT_VEC_BDMATx IVEC_TO_INUM(INT_LVL_BDMATx) /* Ethernet controller BDMA Tx Interrupt */#define INT_VEC_BDMARx IVEC_TO_INUM(INT_LVL_BDMARx) /* Ethernet controller BDMA Rx Interrupt */#define INT_VEC_MACTx IVEC_TO_INUM(INT_LVL_MACTx) /* Ethernet controller MAC Tx Interrupt*/#define INT_VEC_MACRx IVEC_TO_INUM(INT_LVL_MACRx) /* Ethernet controller MAC Rx Interrupt */#define INT_VEC_IIC IVEC_TO_INUM(INT_LVL_IIC) /* IIC -Bus Interrupt *//********************************************************************************************************** * Cache Definitions * */#define NON_CACHE_REGION 0x4000000#define SBCARM7_CACHE_ENABLE 0x02#define SBCARM7_CACHE_4K 0x00#define SBCARM7_CACHE_8K 0x10#define SBCARM7_CACHE_MODE 0x30#define SBCARM7_WRITE_BUFF 0x04#define SBCARM7_TAGRAM 0x11000000/* * * definitions for the SBCARM7 Timer: * two timers clocked from same source and with the same reload overhead */#define SBCARM7_TIMER_SYS_TC_DISABLE (TC_DISABLE | TC_PERIODIC | TC_DIV16)#define SBCARM7_TIMER_SYS_TC_ENABLE (TC_ENABLE | TC_PERIODIC | TC_DIV16)#define SBCARM7_TIMER_AUX_TC_DISABLE (TC_DISABLE | TC_PERIODIC | TC_DIV16)#define SBCARM7_TIMER_AUX_TC_ENABLE (TC_ENABLE | TC_PERIODIC | TC_DIV16)#define SYS_TIMER_CLK (SBCARM7_CPU_SPEED) /* Frequency of counter/timer */#define AUX_TIMER_CLK (SBCARM7_CPU_SPEED) /* Frequency of counter/timer */#define SBCARM7_RELOAD_TICKS 3 /* three ticks to reload timer */#define SYS_TIMER_CLEAR(x) (SBCARM7_TIMER_T1CLEAR(x)) /* sys Clk is timer 1 */#define SYS_TIMER_CTRL(x) (SBCARM7_TIMER_T1CTRL(x))#define SYS_TIMER_LOAD(x) (SBCARM7_TIMER_T1LOAD(x))#define SYS_TIMER_VALUE(x) (SBCARM7_TIMER_T1VALUE(x))#define SBCARM7_TIMER_VALUE_MASK 0xFFFF#define AUX_TIMER_CLEAR(x) (SBCARM7_TIMER_T2CLEAR(x)) /* aux Clk is timer 2 */#define AUX_TIMER_CTRL(x) (SBCARM7_TIMER_T2CTRL(x))#define AUX_TIMER_LOAD(x) (SBCARM7_TIMER_T2LOAD(x))#define AUX_TIMER_VALUE(x) (SBCARM7_TIMER_T2VALUE(x))#define SYS_TIMER_INT_LVL (INT_LVL_TIMER0)#define AUX_TIMER_INT_LVL (INT_LVL_TIMER1)/****************************************************************************************** * Clock rates depend upon CPU power and work load of application. * The values below are minimum and maximum allowed by the hardware. * Note that it takes 3 ticks to reload the 16-bit counter and we don't * accept values that would mean a zero reload value as we don't know what * that will do. * So: * min frequency = roundup(clock_rate/(max_counter_value+3)) * max frequency = rounddown(clock_rate/(min_counter_value+3)) * i.e. SYS_CLK_RATE_MAX (SYS_TIMER_CLK/4) * However, we must set maxima that are sustainable on a running * system. Experiments suggest that a 16MHz PID board can sustain a * maximum clock rate of 10000 to 10500. The values below have been * chosen so that there is a reasonable margin and the BSP passes the * test suite. */#define SYS_CLK_RATE_MIN 10#define SYS_CLK_RATE_MAX 10000#define AUX_CLK_RATE_MIN 2#define AUX_CLK_RATE_MAX 10000#define SBCARM7_RESET_RAM_BASE 0x1000000 RAM base in reset memory map */ /* * Our MAC address definition. User can change this value as * per requirement. Note, the least significant byte of the * address is changed to the value of the user DIP switch setting. * SW4-D0 is the least significant bit of this byte. Open=0. */#define ETHERNET_MAC_ADRS { 0x00, 0xA0, 0x88, 0x88, 0x88, 0x00 }#ifdef __cplusplus}#endif#endif /* INCsbcarm7h */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -