Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / blackfin / mach-bf527 / include / mach / bf527.h
1 /*
2  * Copyright 2007-2009 Analog Devices Inc.
3  *
4  * Licensed under the GPL-2 or later.
5  */
6
7 #ifndef __MACH_BF527_H__
8 #define __MACH_BF527_H__
9
10 #define OFFSET_(x) ((x) & 0x0000FFFF)
11
12 /*some misc defines*/
13 #define IMASK_IVG15             0x8000
14 #define IMASK_IVG14             0x4000
15 #define IMASK_IVG13             0x2000
16 #define IMASK_IVG12             0x1000
17
18 #define IMASK_IVG11             0x0800
19 #define IMASK_IVG10             0x0400
20 #define IMASK_IVG9              0x0200
21 #define IMASK_IVG8              0x0100
22
23 #define IMASK_IVG7              0x0080
24 #define IMASK_IVGTMR    0x0040
25 #define IMASK_IVGHW             0x0020
26
27 /***************************/
28
29 #define BFIN_DSUBBANKS  4
30 #define BFIN_DWAYS              2
31 #define BFIN_DLINES             64
32 #define BFIN_ISUBBANKS  4
33 #define BFIN_IWAYS              4
34 #define BFIN_ILINES             32
35
36 #define WAY0_L                  0x1
37 #define WAY1_L                  0x2
38 #define WAY01_L                 0x3
39 #define WAY2_L                  0x4
40 #define WAY02_L                 0x5
41 #define WAY12_L                 0x6
42 #define WAY012_L                0x7
43
44 #define WAY3_L                  0x8
45 #define WAY03_L                 0x9
46 #define WAY13_L                 0xA
47 #define WAY013_L                0xB
48
49 #define WAY32_L                 0xC
50 #define WAY320_L                0xD
51 #define WAY321_L                0xE
52 #define WAYALL_L                0xF
53
54 #define DMC_ENABLE (2<<2)       /*yes, 2, not 1 */
55
56 /********************************* EBIU Settings ************************************/
57 #define AMBCTL0VAL      ((CONFIG_BANK_1 << 16) | CONFIG_BANK_0)
58 #define AMBCTL1VAL      ((CONFIG_BANK_3 << 16) | CONFIG_BANK_2)
59
60 #ifdef CONFIG_C_AMBEN_ALL
61 #define V_AMBEN AMBEN_ALL
62 #endif
63 #ifdef CONFIG_C_AMBEN
64 #define V_AMBEN 0x0
65 #endif
66 #ifdef CONFIG_C_AMBEN_B0
67 #define V_AMBEN AMBEN_B0
68 #endif
69 #ifdef CONFIG_C_AMBEN_B0_B1
70 #define V_AMBEN AMBEN_B0_B1
71 #endif
72 #ifdef CONFIG_C_AMBEN_B0_B1_B2
73 #define V_AMBEN AMBEN_B0_B1_B2
74 #endif
75 #ifdef CONFIG_C_AMCKEN
76 #define V_AMCKEN AMCKEN
77 #else
78 #define V_AMCKEN 0x0
79 #endif
80 #ifdef CONFIG_C_CDPRIO
81 #define V_CDPRIO 0x100
82 #else
83 #define V_CDPRIO 0x0
84 #endif
85
86 #define AMGCTLVAL       (V_AMBEN | V_AMCKEN | V_CDPRIO)
87
88 /**************************** Hysteresis Settings ****************************/
89
90 #ifdef CONFIG_BFIN_HYSTERESIS_CONTROL
91 #ifdef CONFIG_GPIO_HYST_PORTF_0_7
92 #define HYST_PORTF_0_7          (1 << 0)
93 #else
94 #define HYST_PORTF_0_7          (0 << 0)
95 #endif
96 #ifdef CONFIG_GPIO_HYST_PORTF_8_9
97 #define HYST_PORTF_8_9          (1 << 2)
98 #else
99 #define HYST_PORTF_8_9          (0 << 2)
100 #endif
101 #ifdef CONFIG_GPIO_HYST_PORTF_10
102 #define HYST_PORTF_10           (1 << 4)
103 #else
104 #define HYST_PORTF_10           (0 << 4)
105 #endif
106 #ifdef CONFIG_GPIO_HYST_PORTF_11
107 #define HYST_PORTF_11           (1 << 6)
108 #else
109 #define HYST_PORTF_11           (0 << 6)
110 #endif
111 #ifdef CONFIG_GPIO_HYST_PORTF_12_13
112 #define HYST_PORTF_12_13        (1 << 8)
113 #else
114 #define HYST_PORTF_12_13        (0 << 8)
115 #endif
116 #ifdef CONFIG_GPIO_HYST_PORTF_14_15
117 #define HYST_PORTF_14_15        (1 << 10)
118 #else
119 #define HYST_PORTF_14_15        (0 << 10)
120 #endif
121
122 #define HYST_PORTF_0_15 (HYST_PORTF_0_7 | HYST_PORTF_8_9 | HYST_PORTF_10 | \
123                 HYST_PORTF_11 | HYST_PORTF_12_13 | HYST_PORTF_14_15)
124
125 #ifdef CONFIG_GPIO_HYST_PORTG_0
126 #define HYST_PORTG_0            (1 << 0)
127 #else
128 #define HYST_PORTG_0            (0 << 0)
129 #endif
130 #ifdef CONFIG_GPIO_HYST_PORTG_1_4
131 #define HYST_PORTG_1_4          (1 << 2)
132 #else
133 #define HYST_PORTG_1_4          (0 << 2)
134 #endif
135 #ifdef CONFIG_GPIO_HYST_PORTG_5_6
136 #define HYST_PORTG_5_6          (1 << 4)
137 #else
138 #define HYST_PORTG_5_6          (0 << 4)
139 #endif
140 #ifdef CONFIG_GPIO_HYST_PORTG_7_8
141 #define HYST_PORTG_7_8          (1 << 6)
142 #else
143 #define HYST_PORTG_7_8          (0 << 6)
144 #endif
145 #ifdef CONFIG_GPIO_HYST_PORTG_9
146 #define HYST_PORTG_9            (1 << 8)
147 #else
148 #define HYST_PORTG_9            (0 << 8)
149 #endif
150 #ifdef CONFIG_GPIO_HYST_PORTG_10
151 #define HYST_PORTG_10           (1 << 10)
152 #else
153 #define HYST_PORTG_10           (0 << 10)
154 #endif
155 #ifdef CONFIG_GPIO_HYST_PORTG_11_13
156 #define HYST_PORTG_11_13        (1 << 12)
157 #else
158 #define HYST_PORTG_11_13        (0 << 12)
159 #endif
160 #ifdef CONFIG_GPIO_HYST_PORTG_14_15
161 #define HYST_PORTG_14_15        (1 << 14)
162 #else
163 #define HYST_PORTG_14_15        (0 << 14)
164 #endif
165
166 #define HYST_PORTG_0_15 (HYST_PORTG_0 | HYST_PORTG_1_4 | HYST_PORTG_5_6 | \
167                 HYST_PORTG_7_8 | HYST_PORTG_9 | HYST_PORTG_10 | \
168                 HYST_PORTG_11_13 | HYST_PORTG_14_15)
169
170 #ifdef CONFIG_GPIO_HYST_PORTH_0_7
171 #define HYST_PORTH_0_7          (1 << 0)
172 #else
173 #define HYST_PORTH_0_7          (0 << 0)
174 #endif
175 #ifdef CONFIG_GPIO_HYST_PORTH_8
176 #define HYST_PORTH_8            (1 << 2)
177 #else
178 #define HYST_PORTH_8            (0 << 2)
179 #endif
180 #ifdef CONFIG_GPIO_HYST_PORTH_9_15
181 #define HYST_PORTH_9_15         (1 << 4)
182 #else
183 #define HYST_PORTH_9_15         (0 << 4)
184 #endif
185
186 #define HYST_PORTH_0_15 (HYST_PORTH_0_7 | HYST_PORTH_8 | HYST_PORTH_9_15)
187
188 #ifdef CONFIG_NONEGPIO_HYST_TMR0_FS1_PPICLK
189 #define HYST_TMR0_FS1_PPICLK            (1 << 0)
190 #else
191 #define HYST_TMR0_FS1_PPICLK            (0 << 0)
192 #endif
193 #ifdef CONFIG_NONEGPIO_HYST_NMI_RST_BMODE
194 #define HYST_NMI_RST_BMODE              (1 << 2)
195 #else
196 #define HYST_NMI_RST_BMODE              (0 << 2)
197 #endif
198 #ifdef CONFIG_NONEGPIO_HYST_JTAG
199 #define HYST_JTAG                       (1 << 4)
200 #else
201 #define HYST_JTAG                       (0 << 4)
202 #endif
203
204 #define HYST_NONEGPIO   (HYST_TMR0_FS1_PPICLK | HYST_NMI_RST_BMODE | HYST_JTAG)
205 #define HYST_NONEGPIO_MASK              (0x3F)
206 #endif /* CONFIG_BFIN_HYSTERESIS_CONTROL */
207
208 #ifdef CONFIG_BF527
209 #define CPU "BF527"
210 #define CPUID 0x27e0
211 #endif
212 #ifdef CONFIG_BF526
213 #define CPU "BF526"
214 #define CPUID 0x27e4
215 #endif
216 #ifdef CONFIG_BF525
217 #define CPU "BF525"
218 #define CPUID 0x27e0
219 #endif
220 #ifdef CONFIG_BF524
221 #define CPU "BF524"
222 #define CPUID 0x27e4
223 #endif
224 #ifdef CONFIG_BF523
225 #define CPU "BF523"
226 #define CPUID 0x27e0
227 #endif
228 #ifdef CONFIG_BF522
229 #define CPU "BF522"
230 #define CPUID 0x27e4
231 #endif
232
233 #ifndef CPU
234 #error "Unknown CPU type - This kernel doesn't seem to be configured properly"
235 #endif
236
237 #endif                          /* __MACH_BF527_H__  */