From: Andy P. <at...@us...> - 2002-04-09 12:34:02
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-arm/mach In directory usw-pr-cvs1:/tmp/cvs-serv9454/asm-arm/mach Modified Files: arch.h pci.h Added Files: amba_kmi.h serial_sa1100.h Log Message: Synch to 2.4.15 commit 1 --- NEW FILE --- /* * linux/include/asm-arm/mach/amba_kmi.h * * Copyright (C) 2000 Deep Blue Solutions Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ struct kmi_info { u_int base; u_int irq; u_char divisor; u_char type; u_char state; u_char prev_rx; u_char last_tx; u_char resend_count; u_short res; u_char present; wait_queue_head_t wait_q; void (*rx)(struct kmi_info *, u_int val, struct pt_regs *regs); char name[8]; }; #define KMI_KEYBOARD 0 #define KMI_MOUSE 1 int register_kmi(struct kmi_info *kmi); --- NEW FILE --- /* * linux/include/asm-arm/mach/serial_sa1100.h * * Author: Nicolas Pitre * * Moved to include/asm-arm/mach and changed lots, Russell King * * Low level machine dependent UART functions. */ #include <linux/config.h> struct uart_port; struct uart_info; /* * This is a temporary structure for registering these * functions; it is intended to be discarded after boot. */ struct sa1100_port_fns { void (*set_mctrl)(struct uart_port *, u_int); int (*get_mctrl)(struct uart_port *); void (*enable_ms)(struct uart_port *); void (*pm)(struct uart_port *, u_int, u_int); int (*open)(struct uart_port *, struct uart_info *); void (*close)(struct uart_port *, struct uart_info *); }; #if defined(CONFIG_SERIAL_SA1100) && !defined(CONFIG_SERIAL_SA1100_OLD) void sa1100_register_uart_fns(struct sa1100_port_fns *fns); void sa1100_register_uart(int idx, int port); #else #define sa1100_register_uart_fns(fns) do { } while (0) #define sa1100_register_uart(idx,port) do { } while (0) #endif void sa1100_uart1_altgpio(void); Index: arch.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/mach/arch.h,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -u -r1.1.1.2 -r1.2 --- arch.h 25 Feb 2001 23:14:53 -0000 1.1.1.2 +++ arch.h 9 Apr 2002 12:33:10 -0000 1.2 @@ -12,15 +12,13 @@ * The size of struct machine_desc * (for assembler code) */ -#define SIZEOF_MACHINE_DESC 56 +#define SIZEOF_MACHINE_DESC 48 #ifndef __ASSEMBLY__ extern void setup_initrd(unsigned int start, unsigned int size); extern void setup_ramdisk(int doload, int prompt, int start, unsigned int rd_sz); -struct tagtable; - struct machine_desc { /* * Note! The first four elements are used @@ -29,7 +27,8 @@ unsigned int nr; /* architecture number */ unsigned int phys_ram; /* start of physical ram */ unsigned int phys_io; /* start of physical io */ - unsigned int virt_io; /* start of virtual io */ + unsigned int io_pg_offst; /* byte offset for io + * page tabe entry */ const char *name; /* architecture name */ unsigned int param_offset; /* parameter page */ @@ -41,8 +40,6 @@ unsigned int reserve_lp1 :1; /* never has lp1 */ unsigned int reserve_lp2 :1; /* never has lp2 */ unsigned int soft_reboot :1; /* soft reboot */ - const struct tagtable * tagtable; /* tag table */ - int tagsize; /* tag table size */ void (*fixup)(struct machine_desc *, struct param_struct *, char **, struct meminfo *); @@ -63,9 +60,9 @@ #define MAINTAINER(n) #define BOOT_MEM(_pram,_pio,_vio) \ - phys_ram: _pram, \ - phys_io: _pio, \ - virt_io: _vio, + phys_ram: _pram, \ + phys_io: _pio, \ + io_pg_offst: ((_vio)>>18)&0xfffc, #define BOOT_PARAMS(_params) \ param_offset: _params, Index: pci.h =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-arm/mach/pci.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- pci.h 14 Jan 2001 16:58:51 -0000 1.1.1.1 +++ pci.h 9 Apr 2002 12:33:10 -0000 1.2 @@ -7,36 +7,28 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#define MAX_NR_BUS 2 +struct hw_pci { + /* Initialise the hardware */ + void (*init)(void *); + + /* Setup bus resources */ + void (*setup_resources)(struct resource **); -struct arm_bus_sysdata { - /* - * bitmask of features we can turn. - * See PCI command register for more info. - */ - u16 features; - /* - * Maximum devsel for this bus. - */ - u16 maxdevsel; /* - * The maximum latency that devices on this - * bus can withstand. + * This is the offset of PCI memory base registers + * to physical memory. */ - u8 max_lat; -}; - -struct arm_pci_sysdata { - struct arm_bus_sysdata bus[MAX_NR_BUS]; -}; + unsigned long mem_offset; -struct hw_pci { - void (*init)(struct arm_pci_sysdata *); + /* IRQ swizzle */ u8 (*swizzle)(struct pci_dev *dev, u8 *pin); + + /* IRQ mapping */ int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin); }; extern u8 no_swizzle(struct pci_dev *dev, u8 *pin); +extern void __init dc21285_setup_resources(struct resource **resource); +extern void __init dc21285_init(void *sysdata); +extern void __init via82c505_init(void *sysdata); -void __init dc21285_init(struct arm_pci_sysdata *); -void __init plx90x0_init(struct arm_pci_sysdata *); |