blob: c706d679c8925298eae58118fb3e4cd830455b03 [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 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02005 * SPDX-License-Identifier: GPL-2.0+
wdenk012771d2002-03-08 21:31:05 +00006 */
7
wdenk2c9b05d2003-09-10 22:30:53 +00008#ifndef _ISA_H_
9#define _ISA_H_
wdenk012771d2002-03-08 21:31:05 +000010/* Super IO */
11#define SIO_CFG_PORT 0x3F0 /* Config Port Address */
12
wdenk2c9b05d2003-09-10 22:30:53 +000013#if defined(CONFIG_PIP405)
wdenk012771d2002-03-08 21:31:05 +000014/* table fore SIO initialization */
15typedef struct {
16 const uchar index;
17 const uchar val;
18} SIO_LOGDEV_TABLE;
19
20typedef struct {
21 const uchar ldev;
22 const SIO_LOGDEV_TABLE *ldev_table;
23} SIO_TABLE;
24
25
wdenk012771d2002-03-08 21:31:05 +000026unsigned char open_cfg_super_IO(int address);
27unsigned char read_cfg_super_IO(int address, unsigned char function, unsigned char regaddr);
28void write_cfg_super_IO(int address, unsigned char function, unsigned char regaddr, unsigned char data);
29void close_cfg_super_IO(int address);
30void isa_sio_setup(void);
wdenk2c9b05d2003-09-10 22:30:53 +000031#endif
32
wdenk012771d2002-03-08 21:31:05 +000033void isa_irq_install_handler(int vec, interrupt_handler_t *handler, void *arg);
34void isa_irq_free_handler(int vec);
35int handle_isa_int(void);
wdenk2c9b05d2003-09-10 22:30:53 +000036void isa_init_irq_contr(void);
37void isa_show_irq(void);
38int isa_irq_get_count(int vec);
wdenk012771d2002-03-08 21:31:05 +000039
40
41#endif