1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00

Add SMC EtherEZ98 support to ed driver (PC-98).

Reviewed by:	kato
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
This commit is contained in:
KATO Takenori 1998-10-08 17:04:59 +00:00
parent 5baef6cd27
commit bb168650e8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=40068
4 changed files with 53 additions and 16 deletions

View File

@ -6,7 +6,7 @@
* of this software, nor does the author assume any responsibility
* for damages incurred with its use.
*
* $Id$
* $Id: if_edreg.h,v 1.23 1997/02/22 09:36:21 peter Exp $
*/
/*
* National Semiconductor DS8390 NIC register definitions
@ -786,9 +786,22 @@ struct ed_ring {
#define ED_WD_ROM_CHECKSUM_TOTAL 0xFF
#endif
#ifdef PC98
/*
* SMC EtherEZ98(SMC8498BTA)
*/
#define ED_WD_NIC_OFFSET 0x100 /* I/O base offset to NIC */
#define ED_WD_ASIC_OFFSET 0 /* I/O base offset to ASIC */
/*
* XXX - The I/O address range is fragmented in the EtherEZ98;
* this is the number of regs at iobase.
*/
#define ED_WD_IO_PORTS 16 /* # of i/o addresses used */
#else
#define ED_WD_NIC_OFFSET 0x10 /* I/O base offset to NIC */
#define ED_WD_ASIC_OFFSET 0 /* I/O base offset to ASIC */
#define ED_WD_IO_PORTS 32 /* # of i/o addresses used */
#endif /* PC98 */
#define ED_WD_PAGE_OFFSET 0 /* page offset for NIC access to mem */

View File

@ -6,7 +6,7 @@
* of this software, nor does the author assume any responsibility
* for damages incurred with its use.
*
* $Id$
* $Id: if_edreg.h,v 1.23 1997/02/22 09:36:21 peter Exp $
*/
/*
* National Semiconductor DS8390 NIC register definitions
@ -786,9 +786,22 @@ struct ed_ring {
#define ED_WD_ROM_CHECKSUM_TOTAL 0xFF
#endif
#ifdef PC98
/*
* SMC EtherEZ98(SMC8498BTA)
*/
#define ED_WD_NIC_OFFSET 0x100 /* I/O base offset to NIC */
#define ED_WD_ASIC_OFFSET 0 /* I/O base offset to ASIC */
/*
* XXX - The I/O address range is fragmented in the EtherEZ98;
* this is the number of regs at iobase.
*/
#define ED_WD_IO_PORTS 16 /* # of i/o addresses used */
#else
#define ED_WD_NIC_OFFSET 0x10 /* I/O base offset to NIC */
#define ED_WD_ASIC_OFFSET 0 /* I/O base offset to ASIC */
#define ED_WD_IO_PORTS 32 /* # of i/o addresses used */
#endif /* PC98 */
#define ED_WD_PAGE_OFFSET 0 /* page offset for NIC access to mem */

View File

@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: if_ed.c,v 1.51 1998/08/28 12:47:44 kato Exp $
* $Id: if_ed.c,v 1.52 1998/09/14 11:37:29 kato Exp $
*/
/*
@ -356,6 +356,16 @@ static unsigned short ed_intr_mask[] = {
* Interrupt conversion table for 83C790
*/
static unsigned short ed_790_intr_mask[] = {
#ifdef PC98
0,
IRQ3,
IRQ5,
IRQ6,
0,
IRQ9,
IRQ12,
IRQ13
#else
0,
IRQ9,
IRQ3,
@ -364,6 +374,7 @@ static unsigned short ed_790_intr_mask[] = {
IRQ10,
IRQ11,
IRQ15
#endif
};
/*

View File

@ -90,20 +90,20 @@ static int pc98_set_register_unit __P((struct ed_softc *sc, int type, int iobase
* 0xa0 Contec C-NET(98).
* 0xb0 Contec C-NET(98)E/L.
*/
#define ED_TYPE98_BASE 0x10
#define ED_TYPE98_BASE 0x80
#define ED_TYPE98_GENERIC 0x10
#define ED_TYPE98_LPC 0x11
#define ED_TYPE98_BDN 0x12
#define ED_TYPE98_EGY 0x13
#define ED_TYPE98_LGY 0x14
#define ED_TYPE98_ICM 0x15
#define ED_TYPE98_SIC 0x16
#define ED_TYPE98_108 0x18
#define ED_TYPE98_LA98 0x19
#define ED_TYPE98_CNET98 0x1a
#define ED_TYPE98_CNET98EL 0x1b
#define ED_TYPE98_UE2212 0x1c
#define ED_TYPE98_GENERIC 0x80
#define ED_TYPE98_LPC 0x81
#define ED_TYPE98_BDN 0x82
#define ED_TYPE98_EGY 0x83
#define ED_TYPE98_LGY 0x84
#define ED_TYPE98_ICM 0x85
#define ED_TYPE98_SIC 0x86
#define ED_TYPE98_108 0x88
#define ED_TYPE98_LA98 0x89
#define ED_TYPE98_CNET98 0x8a
#define ED_TYPE98_CNET98EL 0x8b
#define ED_TYPE98_UE2212 0x8c
#define ED_TYPE98(x) (((x & 0xffff0000) >> 20) | ED_TYPE98_BASE)
#define ED_TYPE98SUB(x) ((x & 0xf0000) >> 16)