diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-08-05 17:04:01 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-08-05 17:04:01 -0300 |
commit | 57f0f512b273f60d52568b8c6b77e17f5636edc0 (patch) | |
tree | 5e910f0e82173f4ef4f51111366a3f1299037a7b /drivers/staging/ft1000/ft1000-pcmcia/ft1000.h |
Initial import
Diffstat (limited to 'drivers/staging/ft1000/ft1000-pcmcia/ft1000.h')
-rw-r--r-- | drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h new file mode 100644 index 000000000..5992670f7 --- /dev/null +++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h @@ -0,0 +1,71 @@ +/*--------------------------------------------------------------------------- + FT1000 driver for Flarion Flash OFDM NIC Device + + Copyright (C) 2002 Flarion Technologies, All rights reserved. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) any + later version. This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. You should have received a copy of the GNU General Public + License along with this program; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - + Suite 330, Boston, MA 02111-1307, USA. + --------------------------------------------------------------------------- + Description: Common structures and defines + ---------------------------------------------------------------------------*/ +#ifndef _FT1000H_ +#define _FT1000H_ + +#include "../ft1000.h" + +#define FT1000_DRV_VER 0x01010300 + +#define FT1000_DPRAM_BASE 0x0000 /* Dual Port RAM starting offset */ + +/* + * Maximum number of occurrence of pseudo header errors before resetting PC + * Card. + */ +#define MAX_PH_ERR 300 + +#define SUCCESS 0x00 +#define FAILURE 0x01 + +struct ft1000_pcmcia { + int PktIntfErr; + u16 packetseqnum; + void *link; +}; + +struct pcmcia_device; +struct net_device; +extern struct net_device *init_ft1000_card(struct pcmcia_device *link, + void *ft1000_reset); +extern void stop_ft1000_card(struct net_device *dev); +extern int card_download(struct net_device *dev, const u8 *pFileStart, + size_t FileLength); + +extern u16 ft1000_read_dpram(struct net_device *dev, int offset); +extern void card_bootload(struct net_device *dev); +extern u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, + int Index); +extern u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset); +void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value); + +/* Read the value of a given ASIC register. */ +static inline u16 ft1000_read_reg(struct net_device *dev, u16 offset) +{ + return inw(dev->base_addr + offset); +} + +/* Set the value of a given ASIC register. */ +static inline void ft1000_write_reg(struct net_device *dev, u16 offset, + u16 value) +{ + outw(value, dev->base_addr + offset); +} + +#endif |