ARM: kirkwood: Trim excess #includes in board-dnskw.c
[deliverable/linux.git] / arch / arm / mach-bcmring / include / mach / csp / cap_inline.h
1 /*****************************************************************************
2 * Copyright 2009 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License version 2, available at
7 * http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
8 *
9 * Notwithstanding the above, under no circumstances may you combine this
10 * software in any way with any other Broadcom software provided under a
11 * license other than the GPL, without Broadcom's express prior written
12 * consent.
13 *****************************************************************************/
14
15 #ifndef CAP_INLINE_H
16 #define CAP_INLINE_H
17
18 /* ---- Include Files ---------------------------------------------------- */
19 #include <mach/csp/cap.h>
20 #include <cfg_global.h>
21
22 /* ---- Public Constants and Types --------------------------------------- */
23 #define CAP_CONFIG0_VPM_DIS 0x00000001
24 #define CAP_CONFIG0_ETH_PHY0_DIS 0x00000002
25 #define CAP_CONFIG0_ETH_PHY1_DIS 0x00000004
26 #define CAP_CONFIG0_ETH_GMII0_DIS 0x00000008
27 #define CAP_CONFIG0_ETH_GMII1_DIS 0x00000010
28 #define CAP_CONFIG0_ETH_SGMII0_DIS 0x00000020
29 #define CAP_CONFIG0_ETH_SGMII1_DIS 0x00000040
30 #define CAP_CONFIG0_USB0_DIS 0x00000080
31 #define CAP_CONFIG0_USB1_DIS 0x00000100
32 #define CAP_CONFIG0_TSC_DIS 0x00000200
33 #define CAP_CONFIG0_EHSS0_DIS 0x00000400
34 #define CAP_CONFIG0_EHSS1_DIS 0x00000800
35 #define CAP_CONFIG0_SDIO0_DIS 0x00001000
36 #define CAP_CONFIG0_SDIO1_DIS 0x00002000
37 #define CAP_CONFIG0_UARTB_DIS 0x00004000
38 #define CAP_CONFIG0_KEYPAD_DIS 0x00008000
39 #define CAP_CONFIG0_CLCD_DIS 0x00010000
40 #define CAP_CONFIG0_GE_DIS 0x00020000
41 #define CAP_CONFIG0_LEDM_DIS 0x00040000
42 #define CAP_CONFIG0_BBL_DIS 0x00080000
43 #define CAP_CONFIG0_VDEC_DIS 0x00100000
44 #define CAP_CONFIG0_PIF_DIS 0x00200000
45 #define CAP_CONFIG0_RESERVED1_DIS 0x00400000
46 #define CAP_CONFIG0_RESERVED2_DIS 0x00800000
47
48 #define CAP_CONFIG1_APMA_DIS 0x00000001
49 #define CAP_CONFIG1_APMB_DIS 0x00000002
50 #define CAP_CONFIG1_APMC_DIS 0x00000004
51 #define CAP_CONFIG1_CLCD_RES_MASK 0x00000600
52 #define CAP_CONFIG1_CLCD_RES_SHIFT 9
53 #define CAP_CONFIG1_CLCD_RES_WVGA (CAP_LCD_WVGA << CAP_CONFIG1_CLCD_RES_SHIFT)
54 #define CAP_CONFIG1_CLCD_RES_VGA (CAP_LCD_VGA << CAP_CONFIG1_CLCD_RES_SHIFT)
55 #define CAP_CONFIG1_CLCD_RES_WQVGA (CAP_LCD_WQVGA << CAP_CONFIG1_CLCD_RES_SHIFT)
56 #define CAP_CONFIG1_CLCD_RES_QVGA (CAP_LCD_QVGA << CAP_CONFIG1_CLCD_RES_SHIFT)
57
58 #define CAP_CONFIG2_SPU_DIS 0x00000010
59 #define CAP_CONFIG2_PKA_DIS 0x00000020
60 #define CAP_CONFIG2_RNG_DIS 0x00000080
61
62 #if (CFG_GLOBAL_CHIP == BCM11107)
63 #define capConfig0 0
64 #define capConfig1 CAP_CONFIG1_CLCD_RES_WVGA
65 #define capConfig2 0
66 #define CAP_APM_MAX_NUM_CHANS 3
67 #elif (CFG_GLOBAL_CHIP == FPGA11107)
68 #define capConfig0 0
69 #define capConfig1 CAP_CONFIG1_CLCD_RES_WVGA
70 #define capConfig2 0
71 #define CAP_APM_MAX_NUM_CHANS 3
72 #elif (CFG_GLOBAL_CHIP == BCM11109)
73 #define capConfig0 (CAP_CONFIG0_USB1_DIS | CAP_CONFIG0_EHSS1_DIS | CAP_CONFIG0_SDIO1_DIS | CAP_CONFIG0_GE_DIS | CAP_CONFIG0_BBL_DIS | CAP_CONFIG0_VDEC_DIS)
74 #define capConfig1 (CAP_CONFIG1_APMC_DIS | CAP_CONFIG1_CLCD_RES_WQVGA)
75 #define capConfig2 (CAP_CONFIG2_SPU_DIS | CAP_CONFIG2_PKA_DIS)
76 #define CAP_APM_MAX_NUM_CHANS 2
77 #elif (CFG_GLOBAL_CHIP == BCM11170)
78 #define capConfig0 (CAP_CONFIG0_ETH_GMII0_DIS | CAP_CONFIG0_ETH_GMII1_DIS | CAP_CONFIG0_USB0_DIS | CAP_CONFIG0_USB1_DIS | CAP_CONFIG0_TSC_DIS | CAP_CONFIG0_EHSS1_DIS | CAP_CONFIG0_SDIO0_DIS | CAP_CONFIG0_SDIO1_DIS | CAP_CONFIG0_UARTB_DIS | CAP_CONFIG0_CLCD_DIS | CAP_CONFIG0_GE_DIS | CAP_CONFIG0_BBL_DIS | CAP_CONFIG0_VDEC_DIS)
79 #define capConfig1 (CAP_CONFIG1_APMC_DIS | CAP_CONFIG1_CLCD_RES_WQVGA)
80 #define capConfig2 (CAP_CONFIG2_SPU_DIS | CAP_CONFIG2_PKA_DIS)
81 #define CAP_APM_MAX_NUM_CHANS 2
82 #elif (CFG_GLOBAL_CHIP == BCM11110)
83 #define capConfig0 (CAP_CONFIG0_USB1_DIS | CAP_CONFIG0_TSC_DIS | CAP_CONFIG0_EHSS1_DIS | CAP_CONFIG0_SDIO0_DIS | CAP_CONFIG0_SDIO1_DIS | CAP_CONFIG0_UARTB_DIS | CAP_CONFIG0_GE_DIS | CAP_CONFIG0_BBL_DIS | CAP_CONFIG0_VDEC_DIS)
84 #define capConfig1 CAP_CONFIG1_APMC_DIS
85 #define capConfig2 (CAP_CONFIG2_SPU_DIS | CAP_CONFIG2_PKA_DIS)
86 #define CAP_APM_MAX_NUM_CHANS 2
87 #elif (CFG_GLOBAL_CHIP == BCM11211)
88 #define capConfig0 (CAP_CONFIG0_ETH_PHY0_DIS | CAP_CONFIG0_ETH_GMII0_DIS | CAP_CONFIG0_ETH_GMII1_DIS | CAP_CONFIG0_ETH_SGMII0_DIS | CAP_CONFIG0_ETH_SGMII1_DIS | CAP_CONFIG0_CLCD_DIS)
89 #define capConfig1 CAP_CONFIG1_APMC_DIS
90 #define capConfig2 0
91 #define CAP_APM_MAX_NUM_CHANS 2
92 #else
93 #error CFG_GLOBAL_CHIP type capabilities not defined
94 #endif
95
96 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == FPGA11107))
97 #define CAP_HW_CFG_ARM_CLK_HZ 500000000
98 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || (CFG_GLOBAL_CHIP == BCM11110))
99 #define CAP_HW_CFG_ARM_CLK_HZ 300000000
100 #elif (CFG_GLOBAL_CHIP == BCM11211)
101 #define CAP_HW_CFG_ARM_CLK_HZ 666666666
102 #else
103 #error CFG_GLOBAL_CHIP type capabilities not defined
104 #endif
105
106 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == BCM11211) || (CFG_GLOBAL_CHIP == FPGA11107))
107 #define CAP_HW_CFG_VPM_CLK_HZ 333333333
108 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || (CFG_GLOBAL_CHIP == BCM11110))
109 #define CAP_HW_CFG_VPM_CLK_HZ 200000000
110 #else
111 #error CFG_GLOBAL_CHIP type capabilities not defined
112 #endif
113
114 /* ---- Public Variable Externs ------------------------------------------ */
115 /* ---- Public Function Prototypes --------------------------------------- */
116
117 /****************************************************************************
118 * cap_isPresent -
119 *
120 * PURPOSE:
121 * Determines if the chip has a certain capability present
122 *
123 * PARAMETERS:
124 * capability - type of capability to determine if present
125 *
126 * RETURNS:
127 * CAP_PRESENT or CAP_NOT_PRESENT
128 ****************************************************************************/
129 static inline CAP_RC_T cap_isPresent(CAP_CAPABILITY_T capability, int index)
130 {
131 CAP_RC_T returnVal = CAP_NOT_PRESENT;
132
133 switch (capability) {
134 case CAP_VPM:
135 {
136 if (!(capConfig0 & CAP_CONFIG0_VPM_DIS)) {
137 returnVal = CAP_PRESENT;
138 }
139 }
140 break;
141
142 case CAP_ETH_PHY:
143 {
144 if ((index == 0)
145 && (!(capConfig0 & CAP_CONFIG0_ETH_PHY0_DIS))) {
146 returnVal = CAP_PRESENT;
147 }
148 if ((index == 1)
149 && (!(capConfig0 & CAP_CONFIG0_ETH_PHY1_DIS))) {
150 returnVal = CAP_PRESENT;
151 }
152 }
153 break;
154
155 case CAP_ETH_GMII:
156 {
157 if ((index == 0)
158 && (!(capConfig0 & CAP_CONFIG0_ETH_GMII0_DIS))) {
159 returnVal = CAP_PRESENT;
160 }
161 if ((index == 1)
162 && (!(capConfig0 & CAP_CONFIG0_ETH_GMII1_DIS))) {
163 returnVal = CAP_PRESENT;
164 }
165 }
166 break;
167
168 case CAP_ETH_SGMII:
169 {
170 if ((index == 0)
171 && (!(capConfig0 & CAP_CONFIG0_ETH_SGMII0_DIS))) {
172 returnVal = CAP_PRESENT;
173 }
174 if ((index == 1)
175 && (!(capConfig0 & CAP_CONFIG0_ETH_SGMII1_DIS))) {
176 returnVal = CAP_PRESENT;
177 }
178 }
179 break;
180
181 case CAP_USB:
182 {
183 if ((index == 0)
184 && (!(capConfig0 & CAP_CONFIG0_USB0_DIS))) {
185 returnVal = CAP_PRESENT;
186 }
187 if ((index == 1)
188 && (!(capConfig0 & CAP_CONFIG0_USB1_DIS))) {
189 returnVal = CAP_PRESENT;
190 }
191 }
192 break;
193
194 case CAP_TSC:
195 {
196 if (!(capConfig0 & CAP_CONFIG0_TSC_DIS)) {
197 returnVal = CAP_PRESENT;
198 }
199 }
200 break;
201
202 case CAP_EHSS:
203 {
204 if ((index == 0)
205 && (!(capConfig0 & CAP_CONFIG0_EHSS0_DIS))) {
206 returnVal = CAP_PRESENT;
207 }
208 if ((index == 1)
209 && (!(capConfig0 & CAP_CONFIG0_EHSS1_DIS))) {
210 returnVal = CAP_PRESENT;
211 }
212 }
213 break;
214
215 case CAP_SDIO:
216 {
217 if ((index == 0)
218 && (!(capConfig0 & CAP_CONFIG0_SDIO0_DIS))) {
219 returnVal = CAP_PRESENT;
220 }
221 if ((index == 1)
222 && (!(capConfig0 & CAP_CONFIG0_SDIO1_DIS))) {
223 returnVal = CAP_PRESENT;
224 }
225 }
226 break;
227
228 case CAP_UARTB:
229 {
230 if (!(capConfig0 & CAP_CONFIG0_UARTB_DIS)) {
231 returnVal = CAP_PRESENT;
232 }
233 }
234 break;
235
236 case CAP_KEYPAD:
237 {
238 if (!(capConfig0 & CAP_CONFIG0_KEYPAD_DIS)) {
239 returnVal = CAP_PRESENT;
240 }
241 }
242 break;
243
244 case CAP_CLCD:
245 {
246 if (!(capConfig0 & CAP_CONFIG0_CLCD_DIS)) {
247 returnVal = CAP_PRESENT;
248 }
249 }
250 break;
251
252 case CAP_GE:
253 {
254 if (!(capConfig0 & CAP_CONFIG0_GE_DIS)) {
255 returnVal = CAP_PRESENT;
256 }
257 }
258 break;
259
260 case CAP_LEDM:
261 {
262 if (!(capConfig0 & CAP_CONFIG0_LEDM_DIS)) {
263 returnVal = CAP_PRESENT;
264 }
265 }
266 break;
267
268 case CAP_BBL:
269 {
270 if (!(capConfig0 & CAP_CONFIG0_BBL_DIS)) {
271 returnVal = CAP_PRESENT;
272 }
273 }
274 break;
275
276 case CAP_VDEC:
277 {
278 if (!(capConfig0 & CAP_CONFIG0_VDEC_DIS)) {
279 returnVal = CAP_PRESENT;
280 }
281 }
282 break;
283
284 case CAP_PIF:
285 {
286 if (!(capConfig0 & CAP_CONFIG0_PIF_DIS)) {
287 returnVal = CAP_PRESENT;
288 }
289 }
290 break;
291
292 case CAP_APM:
293 {
294 if ((index == 0)
295 && (!(capConfig1 & CAP_CONFIG1_APMA_DIS))) {
296 returnVal = CAP_PRESENT;
297 }
298 if ((index == 1)
299 && (!(capConfig1 & CAP_CONFIG1_APMB_DIS))) {
300 returnVal = CAP_PRESENT;
301 }
302 if ((index == 2)
303 && (!(capConfig1 & CAP_CONFIG1_APMC_DIS))) {
304 returnVal = CAP_PRESENT;
305 }
306 }
307 break;
308
309 case CAP_SPU:
310 {
311 if (!(capConfig2 & CAP_CONFIG2_SPU_DIS)) {
312 returnVal = CAP_PRESENT;
313 }
314 }
315 break;
316
317 case CAP_PKA:
318 {
319 if (!(capConfig2 & CAP_CONFIG2_PKA_DIS)) {
320 returnVal = CAP_PRESENT;
321 }
322 }
323 break;
324
325 case CAP_RNG:
326 {
327 if (!(capConfig2 & CAP_CONFIG2_RNG_DIS)) {
328 returnVal = CAP_PRESENT;
329 }
330 }
331 break;
332
333 default:
334 {
335 }
336 break;
337 }
338 return returnVal;
339 }
340
341 /****************************************************************************
342 * cap_getMaxArmSpeedHz -
343 *
344 * PURPOSE:
345 * Determines the maximum speed of the ARM CPU
346 *
347 * PARAMETERS:
348 * none
349 *
350 * RETURNS:
351 * clock speed in Hz that the ARM processor is able to run at
352 ****************************************************************************/
353 static inline uint32_t cap_getMaxArmSpeedHz(void)
354 {
355 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == FPGA11107))
356 return 500000000;
357 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || (CFG_GLOBAL_CHIP == BCM11110))
358 return 300000000;
359 #elif (CFG_GLOBAL_CHIP == BCM11211)
360 return 666666666;
361 #else
362 #error CFG_GLOBAL_CHIP type capabilities not defined
363 #endif
364 }
365
366 /****************************************************************************
367 * cap_getMaxVpmSpeedHz -
368 *
369 * PURPOSE:
370 * Determines the maximum speed of the VPM
371 *
372 * PARAMETERS:
373 * none
374 *
375 * RETURNS:
376 * clock speed in Hz that the VPM is able to run at
377 ****************************************************************************/
378 static inline uint32_t cap_getMaxVpmSpeedHz(void)
379 {
380 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == BCM11211) || (CFG_GLOBAL_CHIP == FPGA11107))
381 return 333333333;
382 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || (CFG_GLOBAL_CHIP == BCM11110))
383 return 200000000;
384 #else
385 #error CFG_GLOBAL_CHIP type capabilities not defined
386 #endif
387 }
388
389 /****************************************************************************
390 * cap_getMaxLcdRes -
391 *
392 * PURPOSE:
393 * Determines the maximum LCD resolution capabilities
394 *
395 * PARAMETERS:
396 * none
397 *
398 * RETURNS:
399 * CAP_LCD_WVGA, CAP_LCD_VGA, CAP_LCD_WQVGA or CAP_LCD_QVGA
400 *
401 ****************************************************************************/
402 static inline CAP_LCD_RES_T cap_getMaxLcdRes(void)
403 {
404 return (CAP_LCD_RES_T)
405 ((capConfig1 & CAP_CONFIG1_CLCD_RES_MASK) >>
406 CAP_CONFIG1_CLCD_RES_SHIFT);
407 }
408
409 #endif
This page took 0.03847 seconds and 5 git commands to generate.