Linux Audio

Check our new training course

Linux BSP development engineering services

Need help to port Linux and bootloaders to your hardware?
Loading...
  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