|
From: Andy P. <at...@us...> - 2002-04-09 12:33:53
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500
In directory usw-pr-cvs1:/tmp/cvs-serv9454/asm-arm/arch-cl7500
Modified Files:
hardware.h io.h irq.h irqs.h keyboard.h memory.h system.h
time.h uncompress.h
Removed Files:
shmparam.h
Log Message:
Synch to 2.4.15 commit 1
Index: hardware.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/hardware.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- hardware.h 14 Jan 2001 16:58:52 -0000 1.1.1.1
+++ hardware.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -49,47 +49,18 @@
#define FLUSH_BASE 0xdf000000
-
-#ifndef __ASSEMBLY__
-
-/*
- * for use with inb/outb
- */
-#define IO_VIDC_AUDIO_BASE 0x80140000
-#define IO_VIDC_BASE 0x80100000
-#define IO_IOMD_BASE 0x80080000
-#define IOC_BASE 0x80080000
-
-/*
- * IO definitions
- */
-#define EXPMASK_BASE ((volatile unsigned char *)0xe0360000)
-#define IOEB_BASE ((volatile unsigned char *)0xe0350050)
-#define PCIO_FLOPPYDMABASE ((volatile unsigned char *)0xe002a000)
+#define VIDC_BASE 0xe0400000
+#define IOMD_BASE 0xe0200000
+#define IOC_BASE 0xe0200000
+#define FLOPPYDMA_BASE 0xe002a000
#define PCIO_BASE 0xe0010000
-/* in/out bias for the ISA slot region */
-#define ISASLOT_IO 0x80400000
-
-/*
- * RAM definitions
- */
-#define GET_MEMORY_END(p) (PAGE_OFFSET + p->u1.s.page_size * \
- (p->u1.s.pages_in_bank[0] + \
- p->u1.s.pages_in_bank[1] + \
- p->u1.s.pages_in_bank[2] + \
- p->u1.s.pages_in_bank[3]))
#define FLUSH_BASE_PHYS 0x00000000 /* ROM */
-#else
+#define vidc_writel(val) __raw_writel(val, VIDC_BASE)
-#define VIDC_SND_BASE 0xe0500000
-#define VIDC_BASE 0xe0400000
-#define IOMD_BASE 0xe0200000
-#define IOC_BASE 0xe0200000
-#define PCIO_FLOPPYDMABASE 0xe002a000
-#define PCIO_BASE 0xe0010000
+/* in/out bias for the ISA slot region */
+#define ISASLOT_IO 0x80400000
-#endif
#endif
Index: io.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/io.h,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- io.h 25 Feb 2001 23:14:53 -0000 1.1.1.2
+++ io.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -68,7 +68,7 @@
* Dynamic IO functions - let the compiler
* optimize the expressions
*/
-extern __inline__ void __outb (unsigned int value, unsigned int port)
+static inline void __outb (unsigned int value, unsigned int port)
{
unsigned long temp;
__asm__ __volatile__(
@@ -81,7 +81,7 @@
: "cc");
}
-extern __inline__ void __outw (unsigned int value, unsigned int port)
+static inline void __outw (unsigned int value, unsigned int port)
{
unsigned long temp;
__asm__ __volatile__(
@@ -94,7 +94,7 @@
: "cc");
}
-extern __inline__ void __outl (unsigned int value, unsigned int port)
+static inline void __outl (unsigned int value, unsigned int port)
{
unsigned long temp;
__asm__ __volatile__(
@@ -108,7 +108,7 @@
}
#define DECLARE_DYN_IN(sz,fnsuffix,instr) \
-extern __inline__ unsigned sz __in##fnsuffix (unsigned int port) \
+static inline unsigned sz __in##fnsuffix (unsigned int port) \
{ \
unsigned long temp, value; \
__asm__ __volatile__( \
@@ -122,7 +122,7 @@
return (unsigned sz)value; \
}
-extern __inline__ unsigned int __ioaddr (unsigned int port) \
+static inline unsigned int __ioaddr (unsigned int port) \
{ \
if (__PORT_PCIO(port)) \
return (unsigned int)(PCIO_BASE + (port << 2)); \
Index: irq.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/irq.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- irq.h 14 Jan 2001 16:58:54 -0000 1.1.1.1
+++ irq.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -2,14 +2,16 @@
* include/asm-arm/arch-cl7500/irq.h
*
* Copyright (C) 1996 Russell King
- * Copyright (C) 1999 Nexus Electronics Ltd.
+ * Copyright (C) 1999, 2001 Nexus Electronics Ltd.
*
* Changelog:
* 10-10-1996 RMK Brought up to date with arch-sa110eval
* 22-08-1998 RMK Restructured IRQ routines
* 11-08-1999 PJB Created ARM7500 version, derived from RiscPC code
*/
+
#include <asm/hardware/iomd.h>
+#include <asm/io.h>
static inline int fixup_irq(unsigned int irq)
{
@@ -19,7 +21,7 @@
printk("Spurious ISA IRQ!\n");
return irq;
}
- irq = 40;
+ irq = IRQ_ISA_BASE;
while (!(isabits & 1)) {
irq++;
isabits >>= 1;
@@ -31,161 +33,121 @@
static void cl7500_mask_irq_ack_a(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]\n"
-" strb %1, [%3]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKA)),
- "r" (ioaddr(IOMD_IRQCLRA)));
+ mask = 1 << irq;
+ val = iomd_readb(IOMD_IRQMASKA);
+ iomd_writeb(val & ~mask, IOMD_IRQMASKA);
+ iomd_writeb(mask, IOMD_IRQCLRA);
}
static void cl7500_mask_irq_a(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKA)));
+ mask = 1 << irq;
+ val = iomd_readb(IOMD_IRQMASKA);
+ iomd_writeb(val & ~mask, IOMD_IRQMASKA);
}
static void cl7500_unmask_irq_a(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKA)));
+ mask = 1 << irq;
+ val = iomd_readb(IOMD_IRQMASKA);
+ iomd_writeb(val | mask, IOMD_IRQMASKA);
}
static void cl7500_mask_irq_b(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKB)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKB);
+ iomd_writeb(val & ~mask, IOMD_IRQMASKB);
}
static void cl7500_unmask_irq_b(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKB)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKB);
+ iomd_writeb(val | mask, IOMD_IRQMASKB);
}
static void cl7500_mask_irq_c(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKC)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKC);
+ iomd_writeb(val & ~mask, IOMD_IRQMASKC);
}
static void cl7500_unmask_irq_c(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKC)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKC);
+ iomd_writeb(val | mask, IOMD_IRQMASKC);
}
static void cl7500_mask_irq_d(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKD)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKD);
+ iomd_writeb(val & ~mask, IOMD_IRQMASKD);
}
static void cl7500_unmask_irq_d(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_IRQMASKD)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_IRQMASKD);
+ iomd_writeb(val | mask, IOMD_IRQMASKD);
}
static void cl7500_mask_irq_dma(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_DMAMASK)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_DMAMASK);
+ iomd_writeb(val & ~mask, IOMD_DMAMASK);
}
static void cl7500_unmask_irq_dma(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_DMAMASK)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_DMAMASK);
+ iomd_writeb(val | mask, IOMD_DMAMASK);
}
static void cl7500_mask_irq_fiq(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" bic %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_FIQMASK)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_FIQMASK);
+ iomd_writeb(val & ~mask, IOMD_FIQMASK);
}
static void cl7500_unmask_irq_fiq(unsigned int irq)
{
- unsigned int temp;
+ unsigned int val, mask;
- __asm__ __volatile__(
- "ldrb %0, [%2]\n"
-" orr %0, %0, %1\n"
-" strb %0, [%2]"
- : "=&r" (temp)
- : "r" (1 << (irq & 7)), "r" (ioaddr(IOMD_FIQMASK)));
+ mask = 1 << (irq & 7);
+ val = iomd_readb(IOMD_FIQMASK);
+ iomd_writeb(val | mask, IOMD_FIQMASK);
}
static void no_action(int cpl, void *dev_id, struct pt_regs *regs)
@@ -196,14 +158,12 @@
static __inline__ void irq_init_irq(void)
{
- extern void ecard_disableirq(unsigned int irq);
- extern void ecard_enableirq(unsigned int irq);
int irq;
- outb(0, IOMD_IRQMASKA);
- outb(0, IOMD_IRQMASKB);
- outb(0, IOMD_FIQMASK);
- outb(0, IOMD_DMAMASK);
+ iomd_writeb(0, IOMD_IRQMASKA);
+ iomd_writeb(0, IOMD_IRQMASKB);
+ iomd_writeb(0, IOMD_FIQMASK);
+ iomd_writeb(0, IOMD_DMAMASK);
for (irq = 0; irq < NR_IRQS; irq++) {
switch (irq) {
@@ -239,14 +199,14 @@
irq_desc[irq].unmask = cl7500_unmask_irq_c;
break;
- case 32 ... 39:
+ case 40 ... 47:
irq_desc[irq].valid = 1;
irq_desc[irq].mask_ack = cl7500_mask_irq_d;
irq_desc[irq].mask = cl7500_mask_irq_d;
irq_desc[irq].unmask = cl7500_unmask_irq_d;
break;
- case 40 ... 47:
+ case 48 ... 55:
irq_desc[irq].valid = 1;
irq_desc[irq].probe_ok = 1;
irq_desc[irq].mask_ack = no_action;
Index: irqs.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/irqs.h,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -u -r1.1.1.2 -r1.2
--- irqs.h 25 Feb 2001 23:14:53 -0000 1.1.1.2
+++ irqs.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -35,20 +35,22 @@
#define IRQ_IOP5 29
#define IRQ_IOP6 30
#define IRQ_IOP7 31
-#define IRQ_MOUSERX 32
-#define IRQ_MOUSETX 33
-#define IRQ_ADC 34
-#define IRQ_EVENT1 35
-#define IRQ_EVENT2 36
-#define IRQ_ISA_3 40
-#define IRQ_ISA_4 41
-#define IRQ_ISA_5 42
-#define IRQ_ISA_7 43
-#define IRQ_ISA_9 44
-#define IRQ_ISA_10 45
-#define IRQ_ISA_11 46
-#define IRQ_ISA_14 47
+#define IRQ_MOUSERX 40
+#define IRQ_MOUSETX 41
+#define IRQ_ADC 42
+#define IRQ_EVENT1 43
+#define IRQ_EVENT2 44
+
+#define IRQ_ISA_BASE 48
+#define IRQ_ISA_3 48
+#define IRQ_ISA_4 49
+#define IRQ_ISA_5 50
+#define IRQ_ISA_7 51
+#define IRQ_ISA_9 52
+#define IRQ_ISA_10 53
+#define IRQ_ISA_11 54
+#define IRQ_ISA_14 55
#define FIQ_INT9 0
#define FIQ_INT5 1
Index: keyboard.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/keyboard.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- keyboard.h 14 Jan 2001 16:58:54 -0000 1.1.1.1
+++ keyboard.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -4,26 +4,12 @@
*
* Keyboard driver definitions for CL7500 architecture
*
- * (C) 1998 Russell King
+ * Copyright (C) 1998-2001 Russell King
*/
-
-#include <asm/irq.h>
-
#define NR_SCANCODES 128
-extern void ps2kbd_leds(unsigned char leds);
-extern void ps2kbd_init_hw(void);
-extern unsigned char ps2kbd_sysrq_xlate[NR_SCANCODES];
-
-#define kbd_setkeycode(sc,kc) (-EINVAL)
-#define kbd_getkeycode(sc) (-EINVAL)
-
-#define kbd_translate(sc, kcp, rm) ({ *(kcp) = (sc); 1; })
-#define kbd_unexpected_up(kc) (0200)
-#define kbd_leds(leds) ps2kbd_leds(leds)
-#define kbd_init_hw() ps2kbd_init_hw()
-#define kbd_sysrq_xlate ps2kbd_sysrq_xlate
-#define kbd_disable_irq() disable_irq(IRQ_KEYBOARDRX)
-#define kbd_enable_irq() enable_irq(IRQ_KEYBOARDRX)
+extern int ps2kbd_init_hw(void);
-#define SYSRQ_KEY 13
+#define kbd_disable_irq() disable_irq(IRQ_KEYBOARDRX)
+#define kbd_enable_irq() enable_irq(IRQ_KEYBOARDRX)
+#define kbd_init_hw() ps2kbd_init_hw()
Index: memory.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/memory.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- memory.h 14 Jan 2001 16:58:54 -0000 1.1.1.1
+++ memory.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -46,4 +46,6 @@
#define __bus_to_virt__is_a_macro
#define __bus_to_virt(x) __phys_to_virt(x)
+#define PHYS_TO_NID(addr) (0)
+
#endif
Index: system.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/system.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- system.h 14 Jan 2001 16:58:55 -0000 1.1.1.1
+++ system.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -11,12 +11,12 @@
static void arch_idle(void)
{
while (!current->need_resched && !hlt_counter)
- outb(0, IOMD_SUSMODE);
+ iomd_writeb(0, IOMD_SUSMODE);
}
#define arch_reset(mode) \
do { \
- outb (0, IOMD_ROMCR0); \
+ iomd_writeb(0, IOMD_ROMCR0); \
cpu_reset(0); \
} while (0);
Index: time.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/time.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- time.h 14 Jan 2001 16:58:55 -0000 1.1.1.1
+++ time.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -13,25 +13,27 @@
{
do_timer(regs);
do_set_rtc();
+ do_profile(regs);
{
/* Twinkle the lights. */
- static int count, state = 0xff;
+ static int count, state = 0xff00;
if (count-- == 0) {
- state ^= 1;
+ state ^= 0x100;
count = 25;
- *((volatile unsigned int *)(0xe002ba00)) = state;
+ *((volatile unsigned int *)LED_ADDRESS) = state;
}
}
-
- do_profile(regs);
}
/*
* Set up timer interrupt.
*/
-extern __inline__ void setup_timer(void)
+static inline void setup_timer(void)
{
+ extern void ioctime_init(void);
+ ioctime_init();
+
timer_irq.handler = timer_interrupt;
setup_arm_irq(IRQ_TIMER, &timer_irq);
Index: uncompress.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-cl7500/uncompress.h,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- uncompress.h 14 Jan 2001 16:58:55 -0000 1.1.1.1
+++ uncompress.h 9 Apr 2002 12:33:08 -0000 1.2
@@ -1,11 +1,11 @@
/*
* linux/include/asm-arm/arch-cl7500/uncompress.h
*
- * Copyright (C) 1999 Nexus Electronics Ltd.
+ * Copyright (C) 1999, 2000 Nexus Electronics Ltd.
*/
#define BASE 0x03010000
-#define SERBASE (BASE + (0x3f8 << 2))
+#define SERBASE (BASE + (0x2f8 << 2))
static __inline__ void putc(char c)
{
--- shmparam.h DELETED ---
|