These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / ft1000 / ft1000.h
diff --git a/kernel/drivers/staging/ft1000/ft1000.h b/kernel/drivers/staging/ft1000/ft1000.h
deleted file mode 100644 (file)
index 8a2e4ca..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
- * Common structures and definitions for FT1000 Flarion Flash OFDM PCMCIA and
- * USB devices.
- *
- * Originally copyright (c) 2002 Flarion Technologies
- *
- */
-
-#define DSPVERSZ       4
-#define HWSERNUMSZ     16
-#define SKUSZ          20
-#define EUISZ          8
-#define MODESZ         2
-#define CALVERSZ       2
-#define CALDATESZ      6
-
-#define ELECTRABUZZ_ID 0       /* ASIC ID for Electrabuzz */
-#define MAGNEMITE_ID   0x1a01  /* ASIC ID for Magnemite */
-
-/* MEMORY MAP common to both ELECTRABUZZ and MAGNEMITE */
-#define        FT1000_REG_DPRAM_ADDR   0x000E  /* DPADR - Dual Port Ram Indirect
-                                        * Address Register
-                                        */
-#define        FT1000_REG_SUP_CTRL     0x0020  /* HCTR - Host Control Register */
-#define        FT1000_REG_SUP_STAT     0x0022  /* HSTAT - Host Status Register */
-#define        FT1000_REG_RESET        0x0024  /* HCTR - Host Control Register */
-#define        FT1000_REG_SUP_ISR      0x0026  /* HISR - Host Interrupt Status
-                                        * Register
-                                        */
-#define        FT1000_REG_SUP_IMASK    0x0028  /* HIMASK - Host Interrupt Mask */
-#define        FT1000_REG_DOORBELL     0x002a  /* DBELL - Door Bell Register */
-#define FT1000_REG_ASIC_ID     0x002e  /* ASICID - ASIC Identification
-                                        * Number
-                                        */
-
-/* MEMORY MAP FOR ELECTRABUZZ ASIC */
-#define FT1000_REG_UFIFO_STAT  0x0000  /* UFSR - Uplink FIFO status register */
-#define FT1000_REG_UFIFO_BEG   0x0002  /* UFBR - Uplink FIFO beginning
-                                        * register
-                                        */
-#define        FT1000_REG_UFIFO_MID    0x0004  /* UFMR - Uplink FIFO middle register */
-#define        FT1000_REG_UFIFO_END    0x0006  /* UFER - Uplink FIFO end register */
-#define        FT1000_REG_DFIFO_STAT   0x0008  /* DFSR - Downlink FIFO status
-                                        * register
-                                        */
-#define        FT1000_REG_DFIFO        0x000A  /* DFR - Downlink FIFO Register */
-#define        FT1000_REG_DPRAM_DATA   0x000C  /* DPRAM - Dual Port Indirect
-                                        * Data Register
-                                        */
-#define        FT1000_REG_WATERMARK    0x0010  /* WMARK - Watermark Register */
-
-/* MEMORY MAP FOR MAGNEMITE */
-#define FT1000_REG_MAG_UFDR    0x0000  /* UFDR - Uplink FIFO Data
-                                        * Register (32-bits)
-                                        */
-#define FT1000_REG_MAG_UFDRL   0x0000  /* UFDRL - Uplink FIFO Data
-                                        * Register low-word (16-bits)
-                                        */
-#define FT1000_REG_MAG_UFDRH   0x0002  /* UFDRH - Uplink FIFO Data Register
-                                        * high-word (16-bits)
-                                        */
-#define FT1000_REG_MAG_UFER    0x0004  /* UFER - Uplink FIFO End Register */
-#define FT1000_REG_MAG_UFSR    0x0006  /* UFSR - Uplink FIFO Status Register */
-#define FT1000_REG_MAG_DFR     0x0008  /* DFR - Downlink FIFO Register
-                                        * (32-bits)
-                                        */
-#define FT1000_REG_MAG_DFRL    0x0008  /* DFRL - Downlink FIFO Register
-                                        * low-word (16-bits)
-                                        */
-#define FT1000_REG_MAG_DFRH    0x000a  /* DFRH - Downlink FIFO Register
-                                        * high-word (16-bits)
-                                        */
-#define FT1000_REG_MAG_DFSR    0x000c  /* DFSR - Downlink FIFO Status
-                                        * Register
-                                        */
-#define FT1000_REG_MAG_DPDATA  0x0010  /* DPDATA - Dual Port RAM Indirect
-                                        * Data Register (32-bits)
-                                        */
-#define FT1000_REG_MAG_DPDATAL 0x0010  /* DPDATAL - Dual Port RAM Indirect
-                                        * Data Register low-word (16-bits)
-                                        */
-#define FT1000_REG_MAG_DPDATAH 0x0012  /* DPDATAH - Dual Port RAM Indirect Data
-                                        * Register high-word (16-bits)
-                                        */
-#define        FT1000_REG_MAG_WATERMARK 0x002c /* WMARK - Watermark Register */
-#define FT1000_REG_MAG_VERSION 0x0030  /* LLC Version */
-
-/* Reserved Dual Port RAM offsets for Electrabuzz */
-#define FT1000_DPRAM_TX_BASE   0x0002  /* Host to PC Card Messaging Area */
-#define FT1000_DPRAM_RX_BASE   0x0800  /* PC Card to Host Messaging Area */
-#define FT1000_FIFO_LEN                0x07FC  /* total length for DSP FIFO tracking */
-#define FT1000_HI_HO           0x07FE  /* heartbeat with HI/HO */
-#define FT1000_DSP_STATUS      0x0FFE  /* dsp status - non-zero is a request
-                                        * to reset dsp
-                                        */
-#define FT1000_DSP_LED         0x0FFA  /* dsp led status for PAD device */
-#define FT1000_DSP_CON_STATE   0x0FF8  /* DSP Connection Status Info */
-#define FT1000_DPRAM_FEFE      0x0002  /* location for dsp ready indicator */
-#define FT1000_DSP_TIMER0      0x1FF0  /* Timer Field from Basestation */
-#define FT1000_DSP_TIMER1      0x1FF2  /* Timer Field from Basestation */
-#define FT1000_DSP_TIMER2      0x1FF4  /* Timer Field from Basestation */
-#define FT1000_DSP_TIMER3      0x1FF6  /* Timer Field from Basestation */
-
-/* Reserved Dual Port RAM offsets for Magnemite */
-#define FT1000_DPRAM_MAG_TX_BASE       0x0000  /* Host to PC Card
-                                                * Messaging Area
-                                                */
-#define FT1000_DPRAM_MAG_RX_BASE       0x0200  /* PC Card to Host
-                                                * Messaging Area
-                                                */
-
-#define FT1000_MAG_FIFO_LEN            0x1FF   /* total length for DSP
-                                                * FIFO tracking
-                                                */
-#define FT1000_MAG_FIFO_LEN_INDX       0x1     /* low-word index */
-#define FT1000_MAG_HI_HO               0x1FF   /* heartbeat with HI/HO */
-#define FT1000_MAG_HI_HO_INDX          0x0     /* high-word index */
-#define FT1000_MAG_DSP_LED             0x3FE   /* dsp led status for
-                                                * PAD device
-                                                */
-#define FT1000_MAG_DSP_LED_INDX                0x0     /* dsp led status for
-                                                * PAD device
-                                                */
-#define FT1000_MAG_DSP_CON_STATE       0x3FE   /* DSP Connection Status Info */
-#define FT1000_MAG_DSP_CON_STATE_INDX  0x1     /* DSP Connection Status Info */
-#define FT1000_MAG_DPRAM_FEFE          0x000   /* location for dsp ready
-                                                * indicator
-                                                */
-#define FT1000_MAG_DPRAM_FEFE_INDX     0x0     /* location for dsp ready
-                                                * indicator
-                                                */
-#define FT1000_MAG_DSP_TIMER0          0x3FC   /* Timer Field from
-                                                * Basestation
-                                                */
-#define FT1000_MAG_DSP_TIMER0_INDX     0x1
-#define FT1000_MAG_DSP_TIMER1          0x3FC   /* Timer Field from
-                                                * Basestation
-                                                */
-#define FT1000_MAG_DSP_TIMER1_INDX     0x0
-#define FT1000_MAG_DSP_TIMER2          0x3FD   /* Timer Field from
-                                                * Basestation
-                                                */
-#define FT1000_MAG_DSP_TIMER2_INDX     0x1
-#define FT1000_MAG_DSP_TIMER3          0x3FD   /* Timer Field from
-                                                * Basestation
-                                                */
-#define FT1000_MAG_DSP_TIMER3_INDX     0x0
-#define FT1000_MAG_TOTAL_LEN           0x200
-#define FT1000_MAG_TOTAL_LEN_INDX      0x1
-#define FT1000_MAG_PH_LEN              0x200
-#define FT1000_MAG_PH_LEN_INDX         0x0
-#define FT1000_MAG_PORT_ID             0x201
-#define FT1000_MAG_PORT_ID_INDX                0x0
-
-#define HOST_INTF_LE   0x0     /* Host interface little endian mode */
-#define HOST_INTF_BE   0x1     /* Host interface big endian mode */
-
-/* FT1000 to Host Doorbell assignments */
-#define FT1000_DB_DPRAM_RX     0x0001  /* this value indicates that DSP
-                                        * has data for host in DPRAM
-                                        */
-#define FT1000_DB_DNLD_RX      0x0002  /* Downloader handshake doorbell */
-#define FT1000_ASIC_RESET_REQ  0x0004  /* DSP requesting host to
-                                        * reset the ASIC
-                                        */
-#define FT1000_DSP_ASIC_RESET  0x0008  /* DSP indicating host that
-                                        * it will reset the ASIC
-                                        */
-#define FT1000_DB_COND_RESET   0x0010  /* DSP request for a card reset. */
-
-/* Host to FT1000 Doorbell assignments */
-#define FT1000_DB_DPRAM_TX     0x0100  /* this value indicates that host
-                                        * has data for DSP in DPRAM.
-                                        */
-#define FT1000_DB_DNLD_TX      0x0200  /* Downloader handshake doorbell */
-#define FT1000_ASIC_RESET_DSP  0x0400  /* Responds to FT1000_ASIC_RESET_REQ */
-#define FT1000_DB_HB           0x1000  /* Indicates that supervisor has a
-                                        * heartbeat message for DSP.
-                                        */
-
-#define hi                     0x6869  /* PC Card heartbeat values */
-#define ho                     0x686f  /* PC Card heartbeat values */
-
-/* Magnemite specific defines */
-#define hi_mag                 0x6968  /* Byte swap hi to avoid
-                                        * additional system call
-                                        */
-#define ho_mag                 0x6f68  /* Byte swap ho to avoid
-                                        * additional system call
-                                        */
-
-/* Bit field definitions for Host Interrupt Status Register */
-/* Indicate the cause of an interrupt. */
-#define ISR_EMPTY              0x00    /* no bits set */
-#define ISR_DOORBELL_ACK       0x01    /* Doorbell acknowledge from DSP */
-#define ISR_DOORBELL_PEND      0x02    /* Doorbell pending from DSP */
-#define ISR_RCV                        0x04    /* Packet available in Downlink FIFO */
-#define ISR_WATERMARK          0x08    /* Watermark requirements satisfied */
-
-/* Bit field definition for Host Interrupt Mask */
-#define ISR_MASK_NONE          0x0000  /* no bits set */
-#define ISR_MASK_DOORBELL_ACK  0x0001  /* Doorbell acknowledge mask */
-#define ISR_MASK_DOORBELL_PEND 0x0002  /* Doorbell pending mask */
-#define ISR_MASK_RCV           0x0004  /* Downlink Packet available mask */
-#define ISR_MASK_WATERMARK     0x0008  /* Watermark interrupt mask */
-#define ISR_MASK_ALL           0xffff  /* Mask all interrupts */
-/* Default interrupt mask
- * (Enable Doorbell pending and Packet available interrupts)
- */
-#define ISR_DEFAULT_MASK       0x7ff9
-
-/* Bit field definition for Host Control Register */
-#define DSP_RESET_BIT          0x0001  /* Bit field to control
-                                        * dsp reset state
-                                        */
-                                       /* (0 = out of reset 1 = reset) */
-#define ASIC_RESET_BIT         0x0002  /* Bit field to control
-                                        * ASIC reset state
-                                        */
-                                       /* (0 = out of reset 1 = reset) */
-#define DSP_UNENCRYPTED                0x0004
-#define DSP_ENCRYPTED          0x0008
-#define EFUSE_MEM_DISABLE      0x0040
-
-/* Application specific IDs */
-#define DSPID          0x20
-#define HOSTID         0x10
-#define DSPAIRID       0x90
-#define DRIVERID       0x00
-#define NETWORKID      0x20
-
-/* Size of DPRAM Message */
-#define MAX_CMD_SQSIZE 1780
-
-#define ENET_MAX_SIZE          1514
-#define ENET_HEADER_SIZE       14
-
-#define SLOWQ_TYPE     0
-#define FASTQ_TYPE     1
-
-#define MAX_DSP_SESS_REC       1024
-
-#define DSP_QID_OFFSET 4
-
-/* Driver message types */
-#define MEDIA_STATE            0x0010
-#define TIME_UPDATE            0x0020
-#define DSP_PROVISION          0x0030
-#define DSP_INIT_MSG           0x0050
-#define DSP_HIBERNATE          0x0060
-#define DSP_STORE_INFO         0x0070
-#define DSP_GET_INFO           0x0071
-#define GET_DRV_ERR_RPT_MSG    0x0073
-#define RSP_DRV_ERR_RPT_MSG    0x0074
-
-/* Driver Error Messages for DSP */
-#define DSP_HB_INFO            0x7ef0
-#define DSP_FIFO_INFO          0x7ef1
-#define DSP_CONDRESET_INFO     0x7ef2
-#define DSP_CMDLEN_INFO                0x7ef3
-#define DSP_CMDPHCKSUM_INFO    0x7ef4
-#define DSP_PKTPHCKSUM_INFO    0x7ef5
-#define DSP_PKTLEN_INFO                0x7ef6
-#define DSP_USER_RESET         0x7ef7
-#define FIFO_FLUSH_MAXLIMIT    0x7ef8
-#define FIFO_FLUSH_BADCNT      0x7ef9
-#define FIFO_ZERO_LEN          0x7efa
-
-/* Pseudo Header structure */
-struct pseudo_hdr {
-       unsigned short  length;         /* length of msg body */
-       unsigned char   source;         /* hardware source id */
-                                       /*    Host = 0x10 */
-                                       /*    Dsp  = 0x20 */
-       unsigned char   destination;    /* hardware destination id
-                                        * (refer to source)
-                                        */
-       unsigned char   portdest;       /* software destination port id */
-                                       /*    Host = 0x00 */
-                                       /*    Applicaton Broadcast = 0x10 */
-                                       /*    Network Stack = 0x20 */
-                                       /*    Dsp OAM = 0x80 */
-                                       /*    Dsp Airlink = 0x90 */
-                                       /*    Dsp Loader = 0xa0 */
-                                       /*    Dsp MIP = 0xb0 */
-       unsigned char   portsrc;        /* software source port id
-                                        * (refer to portdest)
-                                        */
-       unsigned short  sh_str_id;      /* not used */
-       unsigned char   control;        /* not used */
-       unsigned char   rsvd1;
-       unsigned char   seq_num;        /* message sequence number */
-       unsigned char   rsvd2;
-       unsigned short  qos_class;      /* not used */
-       unsigned short  checksum;       /* pseudo header checksum */
-} __packed;
-
-struct drv_msg {
-       struct pseudo_hdr pseudo;
-       u16 type;
-       u16 length;
-       u8  data[0];
-} __packed;
-
-struct media_msg {
-       struct pseudo_hdr pseudo;
-       u16 type;
-       u16 length;
-       u16 state;
-       u32 ip_addr;
-       u32 net_mask;
-       u32 gateway;
-       u32 dns_1;
-       u32 dns_2;
-} __packed;
-
-struct dsp_init_msg {
-       struct pseudo_hdr pseudo;
-       u16 type;
-       u16 length;
-       u8 DspVer[DSPVERSZ];            /* DSP version number */
-       u8 HwSerNum[HWSERNUMSZ];        /* Hardware Serial Number */
-       u8 Sku[SKUSZ];                  /* SKU */
-       u8 eui64[EUISZ];                /* EUI64 */
-       u8 ProductMode[MODESZ];         /* Product Mode (Market/Production) */
-       u8 RfCalVer[CALVERSZ];          /* Rf Calibration version */
-       u8 RfCalDate[CALDATESZ];        /* Rf Calibration date */
-} __packed;
-
-struct prov_record {
-       struct list_head list;
-       u8 *pprov_data;
-};
-
-struct ft1000_info {
-       void *priv;
-       struct net_device_stats stats;
-       u16 DrvErrNum;
-       u16 AsicID;
-       int CardReady;
-       int registered;
-       int mediastate;
-       u8 squeseqnum;                  /* sequence number on slow queue */
-       spinlock_t dpram_lock;
-       u16 fifo_cnt;
-       u8 DspVer[DSPVERSZ];            /* DSP version number */
-       u8 HwSerNum[HWSERNUMSZ];        /* Hardware Serial Number */
-       u8 Sku[SKUSZ];                  /* SKU */
-       u8 eui64[EUISZ];                /* EUI64 */
-       time_t ConTm;                   /* Connection Time */
-       u8 ProductMode[MODESZ];
-       u8 RfCalVer[CALVERSZ];
-       u8 RfCalDate[CALDATESZ];
-       u16 DSP_TIME[4];
-       u16 LedStat;
-       u16 ConStat;
-       u16 ProgConStat;
-       struct list_head prov_list;
-       u16 DSPInfoBlklen;
-       int (*ft1000_reset)(void *);
-       u16 DSPInfoBlk[MAX_DSP_SESS_REC];
-       union {
-               u16 Rec[MAX_DSP_SESS_REC];
-               u32 MagRec[MAX_DSP_SESS_REC/2];
-       } DSPSess;
-};