GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / arm / mach-bcmring / include / mach / csp / cap_inline.h
blobb7d85154ad5dfccb76acf58bbebc81a79a7a0dd5
1 /*****************************************************************************
2 * Copyright 2009 Broadcom Corporation. All rights reserved.
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").
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 *****************************************************************************/
15 #ifndef CAP_INLINE_H
16 #define CAP_INLINE_H
18 /* ---- Include Files ---------------------------------------------------- */
19 #include <mach/csp/cap.h>
20 #include <cfg_global.h>
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
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)
58 #define CAP_CONFIG2_SPU_DIS 0x00000010
59 #define CAP_CONFIG2_PKA_DIS 0x00000020
60 #define CAP_CONFIG2_RNG_DIS 0x00000080
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
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) || \
99 (CFG_GLOBAL_CHIP == BCM11110))
100 #define CAP_HW_CFG_ARM_CLK_HZ 300000000
101 #elif (CFG_GLOBAL_CHIP == BCM11211)
102 #define CAP_HW_CFG_ARM_CLK_HZ 666666666
103 #else
104 #error CFG_GLOBAL_CHIP type capabilities not defined
105 #endif
107 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == BCM11211) || (CFG_GLOBAL_CHIP \
108 == FPGA11107))
109 #define CAP_HW_CFG_VPM_CLK_HZ 333333333
110 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || \
111 (CFG_GLOBAL_CHIP == BCM11110))
112 #define CAP_HW_CFG_VPM_CLK_HZ 200000000
113 #else
114 #error CFG_GLOBAL_CHIP type capabilities not defined
115 #endif
117 /* ---- Public Variable Externs ------------------------------------------ */
118 /* ---- Public Function Prototypes --------------------------------------- */
120 /****************************************************************************
121 * cap_isPresent -
123 * PURPOSE:
124 * Determines if the chip has a certain capability present
126 * PARAMETERS:
127 * capability - type of capability to determine if present
129 * RETURNS:
130 * CAP_PRESENT or CAP_NOT_PRESENT
131 ****************************************************************************/
132 static inline CAP_RC_T cap_isPresent(CAP_CAPABILITY_T capability, int index)
134 CAP_RC_T returnVal = CAP_NOT_PRESENT;
136 switch (capability) {
137 case CAP_VPM:
139 if (!(capConfig0 & CAP_CONFIG0_VPM_DIS)) {
140 returnVal = CAP_PRESENT;
143 break;
145 case CAP_ETH_PHY:
147 if ((index == 0)
148 && (!(capConfig0 & CAP_CONFIG0_ETH_PHY0_DIS))) {
149 returnVal = CAP_PRESENT;
151 if ((index == 1)
152 && (!(capConfig0 & CAP_CONFIG0_ETH_PHY1_DIS))) {
153 returnVal = CAP_PRESENT;
156 break;
158 case CAP_ETH_GMII:
160 if ((index == 0)
161 && (!(capConfig0 & CAP_CONFIG0_ETH_GMII0_DIS))) {
162 returnVal = CAP_PRESENT;
164 if ((index == 1)
165 && (!(capConfig0 & CAP_CONFIG0_ETH_GMII1_DIS))) {
166 returnVal = CAP_PRESENT;
169 break;
171 case CAP_ETH_SGMII:
173 if ((index == 0)
174 && (!(capConfig0 & CAP_CONFIG0_ETH_SGMII0_DIS))) {
175 returnVal = CAP_PRESENT;
177 if ((index == 1)
178 && (!(capConfig0 & CAP_CONFIG0_ETH_SGMII1_DIS))) {
179 returnVal = CAP_PRESENT;
182 break;
184 case CAP_USB:
186 if ((index == 0)
187 && (!(capConfig0 & CAP_CONFIG0_USB0_DIS))) {
188 returnVal = CAP_PRESENT;
190 if ((index == 1)
191 && (!(capConfig0 & CAP_CONFIG0_USB1_DIS))) {
192 returnVal = CAP_PRESENT;
195 break;
197 case CAP_TSC:
199 if (!(capConfig0 & CAP_CONFIG0_TSC_DIS)) {
200 returnVal = CAP_PRESENT;
203 break;
205 case CAP_EHSS:
207 if ((index == 0)
208 && (!(capConfig0 & CAP_CONFIG0_EHSS0_DIS))) {
209 returnVal = CAP_PRESENT;
211 if ((index == 1)
212 && (!(capConfig0 & CAP_CONFIG0_EHSS1_DIS))) {
213 returnVal = CAP_PRESENT;
216 break;
218 case CAP_SDIO:
220 if ((index == 0)
221 && (!(capConfig0 & CAP_CONFIG0_SDIO0_DIS))) {
222 returnVal = CAP_PRESENT;
224 if ((index == 1)
225 && (!(capConfig0 & CAP_CONFIG0_SDIO1_DIS))) {
226 returnVal = CAP_PRESENT;
229 break;
231 case CAP_UARTB:
233 if (!(capConfig0 & CAP_CONFIG0_UARTB_DIS)) {
234 returnVal = CAP_PRESENT;
237 break;
239 case CAP_KEYPAD:
241 if (!(capConfig0 & CAP_CONFIG0_KEYPAD_DIS)) {
242 returnVal = CAP_PRESENT;
245 break;
247 case CAP_CLCD:
249 if (!(capConfig0 & CAP_CONFIG0_CLCD_DIS)) {
250 returnVal = CAP_PRESENT;
253 break;
255 case CAP_GE:
257 if (!(capConfig0 & CAP_CONFIG0_GE_DIS)) {
258 returnVal = CAP_PRESENT;
261 break;
263 case CAP_LEDM:
265 if (!(capConfig0 & CAP_CONFIG0_LEDM_DIS)) {
266 returnVal = CAP_PRESENT;
269 break;
271 case CAP_BBL:
273 if (!(capConfig0 & CAP_CONFIG0_BBL_DIS)) {
274 returnVal = CAP_PRESENT;
277 break;
279 case CAP_VDEC:
281 if (!(capConfig0 & CAP_CONFIG0_VDEC_DIS)) {
282 returnVal = CAP_PRESENT;
285 break;
287 case CAP_PIF:
289 if (!(capConfig0 & CAP_CONFIG0_PIF_DIS)) {
290 returnVal = CAP_PRESENT;
293 break;
295 case CAP_APM:
297 if ((index == 0)
298 && (!(capConfig1 & CAP_CONFIG1_APMA_DIS))) {
299 returnVal = CAP_PRESENT;
301 if ((index == 1)
302 && (!(capConfig1 & CAP_CONFIG1_APMB_DIS))) {
303 returnVal = CAP_PRESENT;
305 if ((index == 2)
306 && (!(capConfig1 & CAP_CONFIG1_APMC_DIS))) {
307 returnVal = CAP_PRESENT;
310 break;
312 case CAP_SPU:
314 if (!(capConfig2 & CAP_CONFIG2_SPU_DIS)) {
315 returnVal = CAP_PRESENT;
318 break;
320 case CAP_PKA:
322 if (!(capConfig2 & CAP_CONFIG2_PKA_DIS)) {
323 returnVal = CAP_PRESENT;
326 break;
328 case CAP_RNG:
330 if (!(capConfig2 & CAP_CONFIG2_RNG_DIS)) {
331 returnVal = CAP_PRESENT;
334 break;
336 default:
339 break;
341 return returnVal;
344 /****************************************************************************
345 * cap_getMaxArmSpeedHz -
347 * PURPOSE:
348 * Determines the maximum speed of the ARM CPU
350 * PARAMETERS:
351 * none
353 * RETURNS:
354 * clock speed in Hz that the ARM processor is able to run at
355 ****************************************************************************/
356 static inline uint32_t cap_getMaxArmSpeedHz(void)
358 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == FPGA11107))
359 return 500000000;
360 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || \
361 (CFG_GLOBAL_CHIP == BCM11110))
362 return 300000000;
363 #elif (CFG_GLOBAL_CHIP == BCM11211)
364 return 666666666;
365 #else
366 #error CFG_GLOBAL_CHIP type capabilities not defined
367 #endif
370 /****************************************************************************
371 * cap_getMaxVpmSpeedHz -
373 * PURPOSE:
374 * Determines the maximum speed of the VPM
376 * PARAMETERS:
377 * none
379 * RETURNS:
380 * clock speed in Hz that the VPM is able to run at
381 ****************************************************************************/
382 static inline uint32_t cap_getMaxVpmSpeedHz(void)
384 #if ((CFG_GLOBAL_CHIP == BCM11107) || (CFG_GLOBAL_CHIP == BCM11211) || (CFG_GLOBAL_CHIP \
385 == FPGA11107))
386 return 333333333;
387 #elif ((CFG_GLOBAL_CHIP == BCM11109) || (CFG_GLOBAL_CHIP == BCM11170) || \
388 (CFG_GLOBAL_CHIP == BCM11110))
389 return 200000000;
390 #else
391 #error CFG_GLOBAL_CHIP type capabilities not defined
392 #endif
395 /****************************************************************************
396 * cap_getMaxLcdRes -
398 * PURPOSE:
399 * Determines the maximum LCD resolution capabilities
401 * PARAMETERS:
402 * none
404 * RETURNS:
405 * CAP_LCD_WVGA, CAP_LCD_VGA, CAP_LCD_WQVGA or CAP_LCD_QVGA
407 ****************************************************************************/
408 static inline CAP_LCD_RES_T cap_getMaxLcdRes(void)
410 return (CAP_LCD_RES_T)
411 ((capConfig1 & CAP_CONFIG1_CLCD_RES_MASK) >>
412 CAP_CONFIG1_CLCD_RES_SHIFT);
415 #endif