targethw.h (3164B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/****************************************************************************** 3 * 4 * (C)Copyright 1998,1999 SysKonnect, 5 * a business unit of Schneider & Koch & Co. Datensysteme GmbH. 6 * 7 * The information in this file is provided "AS IS" without warranty. 8 * 9 ******************************************************************************/ 10 11#ifndef _TARGETHW_ 12#define _TARGETHW_ 13 14 /* 15 * PCI Watermark definition 16 */ 17#ifdef PCI 18#define RX_WATERMARK 24 19#define TX_WATERMARK 24 20#define SK_ML_ID_1 0x20 21#define SK_ML_ID_2 0x30 22#endif 23 24#include "skfbi.h" 25#ifndef TAG_MODE 26#include "fplus.h" 27#else 28#include "fplustm.h" 29#endif 30 31#ifndef HW_PTR 32#define HW_PTR void __iomem * 33#endif 34 35#ifdef MULT_OEM 36#define OI_STAT_LAST 0 /* end of OEM data base */ 37#define OI_STAT_PRESENT 1 /* entry present but not empty */ 38#define OI_STAT_VALID 2 /* holds valid ID, but is not active */ 39#define OI_STAT_ACTIVE 3 /* holds valid ID, entry is active */ 40 /* active = adapter is supported */ 41 42/* Memory representation of IDs must match representation in adapter. */ 43struct s_oem_ids { 44 u_char oi_status ; /* Stat: last, present, valid, active */ 45 u_char oi_mark[5] ; /* "PID00" .. "PID07" .. */ 46 u_char oi_id[4] ; /* id bytes, representation as */ 47 /* defined by hardware, */ 48#ifdef PCI 49 u_char oi_sub_id[4] ; /* sub id bytes, representation as */ 50 /* defined by hardware, */ 51#endif 52} ; 53#endif /* MULT_OEM */ 54 55 56struct s_smt_hw { 57 /* 58 * global 59 */ 60 HW_PTR iop ; /* IO base address */ 61 short dma ; /* DMA channel */ 62 short irq ; /* IRQ level */ 63 short eprom ; /* FLASH prom */ 64 65#ifndef SYNC 66 u_short n_a_send ; /* pending send requests */ 67#endif 68 69#if defined(PCI) 70 short slot ; /* slot number */ 71 short max_slots ; /* maximum number of slots */ 72 short wdog_used ; /* TRUE if the watch dog is used */ 73#endif 74 75#ifdef PCI 76 u_short pci_handle ; /* handle to access the BIOS func */ 77 u_long is_imask ; /* int maske for the int source reg */ 78 u_long phys_mem_addr ; /* physical memory address */ 79 u_short mc_dummy ; /* work around for MC compiler bug */ 80 /* 81 * state of the hardware 82 */ 83 u_short hw_state ; /* started or stopped */ 84 85#define STARTED 1 86#define STOPPED 0 87 88 int hw_is_64bit ; /* does we have a 64 bit adapter */ 89#endif 90 91#ifdef TAG_MODE 92 u_long pci_fix_value ; /* value parsed by PCIFIX */ 93#endif 94 95 /* 96 * hwt.c 97 */ 98 u_long t_start ; /* HWT start */ 99 u_long t_stop ; /* HWT stop */ 100 u_short timer_activ ; /* HWT timer active */ 101 102 /* 103 * PIC 104 */ 105 u_char pic_a1 ; 106 u_char pic_21 ; 107 108 /* 109 * GENERIC ; do not modify beyond this line 110 */ 111 112 /* 113 * physical and canonical address 114 */ 115 struct fddi_addr fddi_home_addr ; 116 struct fddi_addr fddi_canon_addr ; 117 struct fddi_addr fddi_phys_addr ; 118 119 /* 120 * mac variables 121 */ 122 struct mac_parameter mac_pa ; /* tmin, tmax, tvx, treq .. */ 123 struct mac_counter mac_ct ; /* recv., lost, error */ 124 u_short mac_ring_is_up ; /* ring is up flag */ 125 126 struct s_smt_fp fp ; /* formac+ */ 127 128#ifdef MULT_OEM 129 struct s_oem_ids *oem_id ; /* pointer to selected id */ 130 int oem_min_status ; /* IDs to take care of */ 131#endif /* MULT_OEM */ 132 133} ; 134#endif