base/include/asm-arm/arch-ep9301/rtai_arch.h

Go to the documentation of this file.
00001 /* 00002 * ARM/EP9301 specific parameters 00003 * 00004 * Copyright (c) 2004-2005 Michael Neuhauser, Firmix Software GmbH (mike@firmix.at) 00005 * 00006 * Acknowledgements: 00007 * Paolo Mantegazza <mantegazza@aero.polimi.it>, creator of RTAI 00008 * 00009 * 00010 * This program is free software; you can redistribute it and/or modify it under 00011 * the terms of the GNU General Public License as published by the Free Software 00012 * Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, USA; either version 2 of 00013 * the License, or (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, but WITHOUT 00016 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00018 * details. 00019 * 00020 * You should have received a copy of the GNU General Public License along with 00021 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00022 * Place, Suite 330, Boston, MA 02111-1307 USA 00023 */ 00024 #ifndef _ASM_ARCH_RTAI_ARCH_H_ 00025 #define _ASM_ARCH_RTAI_ARCH_H_ 00026 00027 #include <asm/system.h> 00028 #include <asm/arch/ep93xx_tsc.h> 00029 00030 /* clock frequency of time-stamp-counter (TSC) (timer 4 on EP9301) [Hz] */ 00031 #define RTAI_TSC_FREQ FREQ_EP93XX_TSC 00032 00033 /* EP9301 ties linux-jiffies to TSC, so we don't need the jiffies-recover handler */ 00034 #define USE_LINUX_TIMER_WITHOUT_RECOVER 1 00035 00036 /* interrupt-timer related values 00037 * ============================== */ 00038 00039 /* irq number of timer interrupt */ 00040 #define RTAI_TIMER_IRQ IRQ_TIMER1 00041 00042 /* name of timer */ 00043 #define RTAI_TIMER_NAME "TIMER1" 00044 00045 /* maximal timer load value */ 00046 #define RTAI_TIMER_MAXVAL 0xFFFF 00047 00048 /* clock frequency of timer that generates timer-interrupt [Hz] */ 00049 #define RTAI_TIMER_FREQ CLOCK_TICK_RATE 00050 00051 /* - oneshot timer latency (is subtracted from oneshot delay) [nanoseconds] 00052 * (specify it with TSC resolution (because it is used this way in the scheduler)) */ 00053 #define RTAI_TIMER_LATENCY \ 00054 ((int)((6 * 1000000000LL + RTAI_TSC_FREQ/2) / (long long)RTAI_TSC_FREQ)) 00055 00056 /* - oneshot timer setup delay (i.e. minimal oneshot delay) [nanoseconds] 00057 * (specify it with TSC resolution) */ 00058 #define RTAI_TIMER_SETUP_TIME \ 00059 ((int)((3 * 1000000000LL + RTAI_TSC_FREQ/2) / (long long)RTAI_TSC_FREQ)) 00060 00061 /* this machine doesn't have multiplexed IRQs */ 00062 #define ARCH_MUX_IRQ NO_IRQ 00063 #define isdemuxirq(irq) (0) 00064 00065 /* 00066 * hooks for architecture specific init/exit actions 00067 */ 00068 00069 extern inline void 00070 rtai_archdep_init(void) 00071 { 00072 /* nothing to do */ 00073 } 00074 00075 extern inline void 00076 rtai_archdep_exit(void) 00077 { 00078 /* nothing to do */ 00079 } 00080 00081 #endif /* _ASM_ARCH_RTAI_ARCH_H_ */

Generated on Thu Nov 20 11:49:48 2008 for RTAI API by doxygen 1.3.8