Go to the documentation of this file.
32 #ifndef NIDAS_LINUX_ISA_BUS_H
33 #define NIDAS_LINUX_ISA_BUS_H
37 #ifdef CONFIG_ARCH_VIPER
39 #include <linux/version.h>
41 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
42 #include <mach/irqs.h>
43 #include <mach/viper.h>
45 #include <asm/arch/viper.h>
48 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0)
49 #define SYSTEM_ISA_IOPORT_BASE 0
50 #elif defined(VIPER_PC104IO_BASE)
51 #define SYSTEM_ISA_IOPORT_BASE ((unsigned long)VIPER_PC104IO_BASE)
54 #define SYSTEM_ISA_IOMEM_BASE 0x3c000000
56 #define ISA_16BIT_ADDR_OFFSET 0
62 #define inw_16o(a) inw(a)
63 #define insw_16o(a,p,n) insw(a,p,n)
64 #define outw_16o(v,a) outw(v,a)
66 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
87 #define GET_SYSTEM_ISA_IRQ(x) \
89 const int irq_map[] = { -1, -1, -1, \
105 if ((x) >= 0 && (x) < sizeof(irq_map)/sizeof(irq_map[0])) \
118 #define GET_SYSTEM_ISA_IRQ(x) \
120 const int irq_map[] = { -1, -1, -1, \
136 if ((x) >= 0 && (x) < sizeof(irq_map)/sizeof(irq_map[0])) \
143 #elif defined(CONFIG_MACH_ARCOM_MERCURY) || defined(CONFIG_MACH_ARCOM_VULCAN)
146 #define SYSTEM_ISA_IOPORT_BASE 0x0
147 #define SYSTEM_ISA_IOMEM_BASE 0x049000000
155 #define ISA_16BIT_ADDR_OFFSET 0x1000
162 #define inw_16o(a) inw((a) + ISA_16BIT_ADDR_OFFSET )
163 #define insw_16o(a,p,n) insw((a) + ISA_16BIT_ADDR_OFFSET ,p,n)
164 #define outw_16o(v,a) outw(v,(a) + ISA_16BIT_ADDR_OFFSET )
171 #define GET_SYSTEM_ISA_IRQ(x) \
173 const int irq_map[] = { -1, -1, -1, IRQ_IXP4XX_GPIO5, IRQ_IXP4XX_GPIO6,\
174 IRQ_IXP4XX_GPIO7, IRQ_IXP4XX_GPIO8, \
175 IRQ_IXP4XX_GPIO9, -1, -1, IRQ_IXP4XX_GPIO10,\
176 IRQ_IXP4XX_GPIO11, IRQ_IXP4XX_GPIO12}; \
178 if ((x) >= 0 && (x) < sizeof(irq_map)/sizeof(irq_map[0])) \
183 #elif defined(CONFIG_MACH_ARCOM_TITAN)
185 #include <linux/version.h>
187 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
188 #include <mach/irqs.h>
189 #include <mach/titan.h>
191 #include <asm/arch/titan.h>
194 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0)
195 #define SYSTEM_ISA_IOPORT_BASE 0
196 #elif defined(TITAN_PC104IO_BASE)
197 #define SYSTEM_ISA_IOPORT_BASE ((unsigned long)TITAN_PC104IO_BASE)
198 #elif defined(TITAN_PC104IO_VIRT)
199 #define SYSTEM_ISA_IOPORT_BASE ((unsigned long)TITAN_PC104IO_VIRT)
202 #define SYSTEM_ISA_IOMEM_BASE 0x3c000000
204 #define ISA_16BIT_ADDR_OFFSET 0
210 #define inw_16o(a) inw(a)
211 #define insw_16o(a,p,n) insw(a,p,n)
212 #define outw_16o(v,a) outw(v,a)
214 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
218 #define GET_SYSTEM_ISA_IRQ(x) \
220 const int irq_map[] = { -1, -1, -1, \
236 if ((x) >= 0 && (x) < sizeof(irq_map)/sizeof(irq_map[0])) \
244 #define GET_SYSTEM_ISA_IRQ(x) \
246 const int irq_map[] = { -1, -1, -1, \
262 if ((x) >= 0 && (x) < sizeof(irq_map)/sizeof(irq_map[0])) \
271 #define SYSTEM_ISA_IOPORT_BASE 0x0
272 #define SYSTEM_ISA_IOMEM_BASE 0x0
273 #define GET_SYSTEM_ISA_IRQ(x) (x)
275 #define ISA_16BIT_ADDR_OFFSET 0
276 #define inw_16o(a) inw(a)
277 #define insw_16o(a,p,n) insw(a,p,n)
278 #define outw_16o(v,a) outw(v,a)