00001 /* rtai/include/asm-arm/arch-pxa/rtai_arch.h 00002 ------------------------------------------------------------- 00003 DON´T include directly - it's included through asm-arm/rtai.h 00004 ------------------------------------------------------------- 00005 COPYRIGHT (C) 2002 Guennadi Liakhovetski, DSA GmbH (gl@dsa-ac.de) 00006 COPYRIGHT (C) 2002 Wolfgang Müller (wolfgang.mueller@dsa-ac.de) 00007 Copyright (c) 2001 Alex Züpke, SYSGO RTS GmbH (azu@sysgo.de) 00008 Copyright (c) 2005 Luca Pizzi, (lucapizzi@hotmail.com) 00009 Copyright (c) 2005 Stefano Gafforelli, (stefano.gafforelli@tiscali.it) 00010 Copyright (c) 2006 Torsten Koschorrek, (koschorrek@synertronixx.de) 00011 00012 This program is free software; you can redistribute it and/or modify 00013 it under the terms of version 2 of the GNU General Public License as 00014 published by the Free Software Foundation. 00015 00016 This program is distributed in the hope that it will be useful, 00017 but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 GNU General Public License for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with this program; if not, write to the Free Software 00023 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 */ 00025 /* 00026 -------------------------------------------------------------------------- 00027 Acknowledgements 00028 - Paolo Mantegazza (mantegazza@aero.polimi.it) 00029 creator of RTAI 00030 - port to imx architecture using both 00031 arch-pxa/rtai_arch.h and arch-ep9301/rtai_arch.h 00032 20060613: Torsten Koschorrek (koschorrek@synertronixx.de) 00033 */ 00034 00035 #ifndef _ASM_ARCH_RTAI_ARCH_H_ 00036 #define _ASM_ARCH_RTAI_ARCH_H_ 00037 00038 #include <asm/leds.h> 00039 00040 #define RTAI_TSC_FREQ 200000000 /* 32768 kHz */ 00041 00042 /* interrupt-timer related values 00043 * ============================== */ 00044 00045 /* irq number of timer interrupt */ 00046 #define RTAI_TIMER_IRQ TIM1_INT 00047 00048 /* name of timer */ 00049 #define RTAI_TIMER_NAME "TIMER1" 00050 00051 /* maximal timer load value */ 00052 #define RTAI_TIMER_MAXVAL (CLOCK_TICK_RATE / 100) 00053 00054 /* clock frequency of timer that generates timer-interrupt [Hz] */ 00055 #define RTAI_TIMER_FREQ CLOCK_TICK_RATE /* 32768 kHz */ 00056 00057 /* - oneshot timer latency (is subtracted from oneshot delay) [nanoseconds] 00058 * (specify it with TSC resolution (because it is used this way in the scheduler)) */ 00059 #define RTAI_TIMER_LATENCY \ 00060 0 00061 //((int)((6 * 1000000000LL + RTAI_TSC_FREQ/2) / (long long)RTAI_TSC_FREQ)) 00062 00063 /* - oneshot timer setup delay (i.e. minimal oneshot delay) [nanoseconds] 00064 * (specify it with TSC resolution) */ 00065 #define RTAI_TIMER_SETUP_TIME \ 00066 0 00067 //((int)((3 * 1000000000LL + RTAI_TSC_FREQ/2) / (long long)RTAI_TSC_FREQ)) 00068 00069 /* this machine doesn't have multiplexed IRQs */ 00070 #define ARCH_MUX_IRQ NO_IRQ 00071 #define isdemuxirq(irq) (0) 00072 00073 /* 00074 * hooks for architecture specific init/exit actions 00075 */ 00076 00077 extern inline void 00078 rtai_archdep_init(void) 00079 { 00080 /* nothing to do */ 00081 } 00082 00083 extern inline void 00084 rtai_archdep_exit(void) 00085 { 00086 /* nothing to do */ 00087 } 00088 00089 #endif /* _ASM_ARCH_RTAI_ARCH_H_ */