blob: 28ed219153bdd86f6a8a4a4bdf0f076b4f8e0b95 [file] [log] [blame]
wdenk012771d2002-03-08 21:31:05 +00001/*
2 * (C) Copyright 2001
3 * Denis Peter, MPL AG Switzerland, d.peter@mpl.ch
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
wdenk7205e402003-09-10 22:30:53 +000024#ifndef _ISA_H_
25#define _ISA_H_
wdenk012771d2002-03-08 21:31:05 +000026/* Super IO */
27#define SIO_CFG_PORT 0x3F0 /* Config Port Address */
28
wdenk7205e402003-09-10 22:30:53 +000029#if defined(CONFIG_PIP405)
wdenk012771d2002-03-08 21:31:05 +000030/* table fore SIO initialization */
31typedef struct {
32 const uchar index;
33 const uchar val;
34} SIO_LOGDEV_TABLE;
35
36typedef struct {
37 const uchar ldev;
38 const SIO_LOGDEV_TABLE *ldev_table;
39} SIO_TABLE;
40
41
wdenk012771d2002-03-08 21:31:05 +000042unsigned char open_cfg_super_IO(int address);
43unsigned char read_cfg_super_IO(int address, unsigned char function, unsigned char regaddr);
44void write_cfg_super_IO(int address, unsigned char function, unsigned char regaddr, unsigned char data);
45void close_cfg_super_IO(int address);
46void isa_sio_setup(void);
wdenk7205e402003-09-10 22:30:53 +000047#endif
48
wdenk012771d2002-03-08 21:31:05 +000049void isa_irq_install_handler(int vec, interrupt_handler_t *handler, void *arg);
50void isa_irq_free_handler(int vec);
51int handle_isa_int(void);
wdenk7205e402003-09-10 22:30:53 +000052void isa_init_irq_contr(void);
53void isa_show_irq(void);
54int isa_irq_get_count(int vec);
wdenk012771d2002-03-08 21:31:05 +000055
56
57#endif