net: wifi: rockchip: update broadcom drivers for kernel4.4
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rkwifi / bcmdhd / include / sbpcmcia.h
1 /*
2  * BCM43XX Sonics SiliconBackplane PCMCIA core hardware definitions.
3  *
4  * Copyright (C) 1999-2016, Broadcom Corporation
5  * 
6  *      Unless you and Broadcom execute a separate written software license
7  * agreement governing use of this software, this software is licensed to you
8  * under the terms of the GNU General Public License version 2 (the "GPL"),
9  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10  * following added to such license:
11  * 
12  *      As a special exception, the copyright holders of this software give you
13  * permission to link this software with independent modules, and to copy and
14  * distribute the resulting executable under terms of your choice, provided that
15  * you also meet, for each linked independent module, the terms and conditions of
16  * the license of that module.  An independent module is a module which is not
17  * derived from this software.  The special exception does not apply to any
18  * modifications of the software.
19  * 
20  *      Notwithstanding the above, under no circumstances may you combine this
21  * software in any way with any other Broadcom software provided under a license
22  * other than the GPL, without Broadcom's express prior written consent.
23  *
24  *
25  * <<Broadcom-WL-IPTag/Open:>>
26  *
27  * $Id: sbpcmcia.h 521344 2014-12-17 10:03:55Z $
28  */
29
30 #ifndef _SBPCMCIA_H
31 #define _SBPCMCIA_H
32
33 /* All the addresses that are offsets in attribute space are divided
34  * by two to account for the fact that odd bytes are invalid in
35  * attribute space and our read/write routines make the space appear
36  * as if they didn't exist. Still we want to show the original numbers
37  * as documented in the hnd_pcmcia core manual.
38  */
39
40 /* PCMCIA Function Configuration Registers */
41 #define PCMCIA_FCR              (0x700 / 2)
42
43 #define FCR0_OFF                0
44 #define FCR1_OFF                (0x40 / 2)
45 #define FCR2_OFF                (0x80 / 2)
46 #define FCR3_OFF                (0xc0 / 2)
47
48 #define PCMCIA_FCR0             (0x700 / 2)
49 #define PCMCIA_FCR1             (0x740 / 2)
50 #define PCMCIA_FCR2             (0x780 / 2)
51 #define PCMCIA_FCR3             (0x7c0 / 2)
52
53 /* Standard PCMCIA FCR registers */
54
55 #define PCMCIA_COR              0
56
57 #define COR_RST                 0x80
58 #define COR_LEV                 0x40
59 #define COR_IRQEN               0x04
60 #define COR_BLREN               0x01
61 #define COR_FUNEN               0x01
62
63
64 #define PCICIA_FCSR             (2 / 2)
65 #define PCICIA_PRR              (4 / 2)
66 #define PCICIA_SCR              (6 / 2)
67 #define PCICIA_ESR              (8 / 2)
68
69
70 #define PCM_MEMOFF              0x0000
71 #define F0_MEMOFF               0x1000
72 #define F1_MEMOFF               0x2000
73 #define F2_MEMOFF               0x3000
74 #define F3_MEMOFF               0x4000
75
76 /* Memory base in the function fcr's */
77 #define MEM_ADDR0               (0x728 / 2)
78 #define MEM_ADDR1               (0x72a / 2)
79 #define MEM_ADDR2               (0x72c / 2)
80
81 /* PCMCIA base plus Srom access in fcr0: */
82 #define PCMCIA_ADDR0            (0x072e / 2)
83 #define PCMCIA_ADDR1            (0x0730 / 2)
84 #define PCMCIA_ADDR2            (0x0732 / 2)
85
86 #define MEM_SEG                 (0x0734 / 2)
87 #define SROM_CS                 (0x0736 / 2)
88 #define SROM_DATAL              (0x0738 / 2)
89 #define SROM_DATAH              (0x073a / 2)
90 #define SROM_ADDRL              (0x073c / 2)
91 #define SROM_ADDRH              (0x073e / 2)
92 #define SROM_INFO2              (0x0772 / 2)    /* Corerev >= 2 && <= 5 */
93 #define SROM_INFO               (0x07be / 2)    /* Corerev >= 6 */
94
95 /*  Values for srom_cs: */
96 #define SROM_IDLE               0
97 #define SROM_WRITE              1
98 #define SROM_READ               2
99 #define SROM_WEN                4
100 #define SROM_WDS                7
101 #define SROM_DONE               8
102
103 /* Fields in srom_info: */
104 #define SRI_SZ_MASK             0x03
105 #define SRI_BLANK               0x04
106 #define SRI_OTP                 0x80
107
108
109 /* sbtmstatelow */
110 #define SBTML_INT_ACK           0x40000         /* ack the sb interrupt */
111 #define SBTML_INT_EN            0x20000         /* enable sb interrupt */
112
113 /* sbtmstatehigh */
114 #define SBTMH_INT_STATUS        0x40000         /* sb interrupt status */
115
116 #endif  /* _SBPCMCIA_H */