|
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 *);
|