mirror of https://gitee.com/openkylin/linux.git
90 lines
2.4 KiB
C
90 lines
2.4 KiB
C
/*
|
|
* Copyright (C) 2000 David J. Mckay (david.mckay@st.com)
|
|
*
|
|
* May be copied or modified under the terms of the GNU General Public
|
|
* License. See linux/COPYING for more information.
|
|
*
|
|
*/
|
|
|
|
#include <linux/config.h>
|
|
|
|
#ifndef __OVERDRIVE_H__
|
|
#define __OVERDRIVE_H__
|
|
|
|
#define OVERDRIVE_INT_CT 0xa3a00000
|
|
#define OVERDRIVE_INT_DT 0xa3b00000
|
|
|
|
#define OVERDRIVE_CTRL 0xa3000000
|
|
|
|
/* Shoving all these bits into the same register is not a good idea.
|
|
* As soon as I get a spare moment, I'll change the FPGA and put each
|
|
* bit in a separate register
|
|
*/
|
|
|
|
#define VALID_CTRL_BITS 0x1f
|
|
|
|
#define ENABLE_RS232_MASK 0x1e
|
|
#define DISABLE_RS232_BIT 0x01
|
|
|
|
#define ENABLE_NMI_MASK 0x1d
|
|
#define DISABLE_NMI_BIT 0x02
|
|
|
|
#define RESET_PCI_MASK 0x1b
|
|
#define ENABLE_PCI_BIT 0x04
|
|
|
|
#define ENABLE_LED_MASK 0x17
|
|
#define DISABLE_LED_BIT 0x08
|
|
|
|
#define RESET_FPGA_MASK 0x0f
|
|
#define ENABLE_FPGA_BIT 0x10
|
|
|
|
|
|
#define FPGA_DCLK_ADDRESS 0xA3C00000
|
|
|
|
#define FPGA_DATA 0x01 /* W */
|
|
#define FPGA_CONFDONE 0x02 /* R */
|
|
#define FPGA_NOT_STATUS 0x04 /* R */
|
|
#define FPGA_INITDONE 0x08 /* R */
|
|
|
|
#define FPGA_TIMEOUT 100000
|
|
|
|
|
|
/* Interrupts for the overdrive. Note that these numbers have
|
|
* nothing to do with the actual IRQ numbers they appear on,
|
|
* this is all programmable. This is simply the position in the
|
|
* INT_CT register.
|
|
*/
|
|
|
|
#define OVERDRIVE_PCI_INTA 0
|
|
#define OVERDRIVE_PCI_INTB 1
|
|
#define OVERDRIVE_PCI_INTC 2
|
|
#define OVERDRIVE_PCI_INTD 3
|
|
#define OVERDRIVE_GALILEO_INT 4
|
|
#define OVERDRIVE_GALILEO_LOCAL_INT 5
|
|
#define OVERDRIVE_AUDIO_INT 6
|
|
#define OVERDRIVE_KEYBOARD_INT 7
|
|
|
|
/* Which Linux IRQ should we assign to each interrupt source? */
|
|
#define OVERDRIVE_PCI_IRQ1 2
|
|
#ifdef CONFIG_HACKED_NE2K
|
|
#define OVERDRIVE_PCI_IRQ2 7
|
|
#else
|
|
#define OVERDRIVE_PCI_IRQ2 2
|
|
#undef OVERDRIVE_PCI_INTB
|
|
#define OVERDRIVE_PCI_INTB OVERDRIVE_PCI_INTA
|
|
|
|
#endif
|
|
|
|
/* Put the ESS solo audio chip on IRQ 4 */
|
|
#define OVERDRIVE_ESS_IRQ 4
|
|
|
|
/* Where the memory behind the PCI bus appears */
|
|
#define PCI_DRAM_BASE 0xb7000000
|
|
#define PCI_DRAM_SIZE (16*1024*1024)
|
|
#define PCI_DRAM_FINISH (PCI_DRAM_BASE+PCI_DRAM_SIZE-1)
|
|
|
|
/* Where the IO region appears in the memory */
|
|
#define PCI_GTIO_BASE 0xb8000000
|
|
|
|
#endif
|