• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * SiliconBackplane Chipcommon core hardware definitions.
3  *
4  * The chipcommon core provides chip identification, SB control,
5  * jtag, 0/1/2 uarts, clock frequency control, a watchdog interrupt timer,
6  * gpio interface, extbus, and support for serial and parallel flashes.
7  *
8  * $Id: sbchipc.h,v 13.103.2.5.4.5.2.9 2009/07/03 14:23:21 Exp $
9  *
10  * Copyright (C) 1999-2009, Broadcom Corporation
11  *
12  *      Unless you and Broadcom execute a separate written software license
13  * agreement governing use of this software, this software is licensed to you
14  * under the terms of the GNU General Public License version 2 (the "GPL"),
15  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
16  * following added to such license:
17  *
18  *      As a special exception, the copyright holders of this software give you
19  * permission to link this software with independent modules, and to copy and
20  * distribute the resulting executable under terms of your choice, provided that
21  * you also meet, for each linked independent module, the terms and conditions of
22  * the license of that module.  An independent module is a module which is not
23  * derived from this software.  The special exception does not apply to any
24  * modifications of the software.
25  *
26  *      Notwithstanding the above, under no circumstances may you combine this
27  * software in any way with any other Broadcom software provided under a license
28  * other than the GPL, without Broadcom's express prior written consent.
29  */
30 
31 
32 #ifndef	_SBCHIPC_H
33 #define	_SBCHIPC_H
34 
35 #ifndef _LANGUAGE_ASSEMBLY
36 
37 
38 #ifndef PAD
39 #define	_PADLINE(line)	pad ## line
40 #define	_XSTR(line)	_PADLINE(line)
41 #define	PAD		_XSTR(__LINE__)
42 #endif
43 
44 typedef volatile struct {
45 	uint32	chipid;
46 	uint32	capabilities;
47 	uint32	corecontrol;
48 	uint32	bist;
49 
50 
51 	uint32	otpstatus;
52 	uint32	otpcontrol;
53 	uint32	otpprog;
54 	uint32	PAD;
55 
56 
57 	uint32	intstatus;
58 	uint32	intmask;
59 	uint32	chipcontrol;
60 	uint32	chipstatus;
61 
62 
63 	uint32	jtagcmd;
64 	uint32	jtagir;
65 	uint32	jtagdr;
66 	uint32	jtagctrl;
67 
68 
69 	uint32	flashcontrol;
70 	uint32	flashaddress;
71 	uint32	flashdata;
72 	uint32	PAD[1];
73 
74 
75 	uint32	broadcastaddress;
76 	uint32	broadcastdata;
77 
78 
79 	uint32	gpiopullup;
80 	uint32	gpiopulldown;
81 	uint32	gpioin;
82 	uint32	gpioout;
83 	uint32	gpioouten;
84 	uint32	gpiocontrol;
85 	uint32	gpiointpolarity;
86 	uint32	gpiointmask;
87 
88 
89 	uint32	gpioevent;
90 	uint32	gpioeventintmask;
91 
92 
93 	uint32	watchdog;
94 
95 
96 	uint32	gpioeventintpolarity;
97 
98 
99 	uint32  gpiotimerval;
100 	uint32  gpiotimeroutmask;
101 
102 
103 	uint32	clockcontrol_n;
104 	uint32	clockcontrol_sb;
105 	uint32	clockcontrol_pci;
106 	uint32	clockcontrol_m2;
107 	uint32	clockcontrol_m3;
108 	uint32	clkdiv;
109 	uint32	PAD[2];
110 
111 
112 	uint32	pll_on_delay;
113 	uint32	fref_sel_delay;
114 	uint32	slow_clk_ctl;
115 	uint32	PAD[1];
116 
117 
118 	uint32	system_clk_ctl;
119 	uint32	clkstatestretch;
120 	uint32	PAD[13];
121 
122 
123 	uint32	eromptr;
124 
125 
126 	uint32	pcmcia_config;
127 	uint32	pcmcia_memwait;
128 	uint32	pcmcia_attrwait;
129 	uint32	pcmcia_iowait;
130 	uint32	ide_config;
131 	uint32	ide_memwait;
132 	uint32	ide_attrwait;
133 	uint32	ide_iowait;
134 	uint32	prog_config;
135 	uint32	prog_waitcount;
136 	uint32	flash_config;
137 	uint32	flash_waitcount;
138 	uint32	PAD[4];
139 	uint32	PAD[40];
140 
141 
142 
143 	uint32	clk_ctl_st;
144 	uint32	hw_war;
145 	uint32	PAD[70];
146 
147 
148 	uint8	uart0data;
149 	uint8	uart0imr;
150 	uint8	uart0fcr;
151 	uint8	uart0lcr;
152 	uint8	uart0mcr;
153 	uint8	uart0lsr;
154 	uint8	uart0msr;
155 	uint8	uart0scratch;
156 	uint8	PAD[248];
157 
158 	uint8	uart1data;
159 	uint8	uart1imr;
160 	uint8	uart1fcr;
161 	uint8	uart1lcr;
162 	uint8	uart1mcr;
163 	uint8	uart1lsr;
164 	uint8	uart1msr;
165 	uint8	uart1scratch;
166 	uint32	PAD[126];
167 
168 
169 	uint32	pmucontrol;
170 	uint32	pmucapabilities;
171 	uint32	pmustatus;
172 	uint32	res_state;
173 	uint32	res_pending;
174 	uint32	pmutimer;
175 	uint32	min_res_mask;
176 	uint32	max_res_mask;
177 	uint32	res_table_sel;
178 	uint32	res_dep_mask;
179 	uint32	res_updn_timer;
180 	uint32	res_timer;
181 	uint32	clkstretch;
182 	uint32	pmuwatchdog;
183 	uint32	gpiosel;
184 	uint32	gpioenable;
185 	uint32	res_req_timer_sel;
186 	uint32	res_req_timer;
187 	uint32	res_req_mask;
188 	uint32	PAD;
189 	uint32	chipcontrol_addr;
190 	uint32	chipcontrol_data;
191 	uint32	regcontrol_addr;
192 	uint32	regcontrol_data;
193 	uint32	pllcontrol_addr;
194 	uint32	pllcontrol_data;
195 	uint32	PAD[102];
196 	uint16	otp[768];
197 } chipcregs_t;
198 
199 #endif
200 
201 #define	CC_CHIPID		0
202 #define	CC_CAPABILITIES		4
203 #define CC_OTPST		0x10
204 #define CC_CHIPST		0x2c
205 #define	CC_JTAGCMD		0x30
206 #define	CC_JTAGIR		0x34
207 #define	CC_JTAGDR		0x38
208 #define	CC_JTAGCTRL		0x3c
209 #define	CC_WATCHDOG		0x80
210 #define	CC_CLKC_N		0x90
211 #define	CC_CLKC_M0		0x94
212 #define	CC_CLKC_M1		0x98
213 #define	CC_CLKC_M2		0x9c
214 #define	CC_CLKC_M3		0xa0
215 #define	CC_CLKDIV		0xa4
216 #define	CC_SYS_CLK_CTL		0xc0
217 #define	CC_CLK_CTL_ST		SI_CLK_CTL_ST
218 #define	CC_EROMPTR		0xfc
219 #define	PMU_CTL			0x600
220 #define	PMU_CAP			0x604
221 #define	PMU_ST			0x608
222 #define PMU_RES_STATE		0x60c
223 #define PMU_TIMER		0x614
224 #define	PMU_MIN_RES_MASK	0x618
225 #define	PMU_MAX_RES_MASK	0x61c
226 #define PMU_REG_CONTROL_ADDR	0x658
227 #define PMU_REG_CONTROL_DATA	0x65C
228 #define PMU_PLL_CONTROL_ADDR 	0x660
229 #define PMU_PLL_CONTROL_DATA 	0x664
230 #define	CC_OTP			0x800
231 
232 
233 #define	CID_ID_MASK		0x0000ffff
234 #define	CID_REV_MASK		0x000f0000
235 #define	CID_REV_SHIFT		16
236 #define	CID_PKG_MASK		0x00f00000
237 #define	CID_PKG_SHIFT		20
238 #define	CID_CC_MASK		0x0f000000
239 #define CID_CC_SHIFT		24
240 #define	CID_TYPE_MASK		0xf0000000
241 #define CID_TYPE_SHIFT		28
242 
243 
244 #define	CC_CAP_UARTS_MASK	0x00000003
245 #define CC_CAP_MIPSEB		0x00000004
246 #define CC_CAP_UCLKSEL		0x00000018
247 #define CC_CAP_UINTCLK		0x00000008
248 #define CC_CAP_UARTGPIO		0x00000020
249 #define CC_CAP_EXTBUS_MASK	0x000000c0
250 #define CC_CAP_EXTBUS_NONE	0x00000000
251 #define CC_CAP_EXTBUS_FULL	0x00000040
252 #define CC_CAP_EXTBUS_PROG	0x00000080
253 #define	CC_CAP_FLASH_MASK	0x00000700
254 #define	CC_CAP_PLL_MASK		0x00038000
255 #define CC_CAP_PWR_CTL		0x00040000
256 #define CC_CAP_OTPSIZE		0x00380000
257 #define CC_CAP_OTPSIZE_SHIFT	19
258 #define CC_CAP_OTPSIZE_BASE	5
259 #define CC_CAP_JTAGP		0x00400000
260 #define CC_CAP_ROM		0x00800000
261 #define CC_CAP_BKPLN64		0x08000000
262 #define	CC_CAP_PMU		0x10000000
263 #define	CC_CAP_ECI		0x20000000
264 
265 
266 #define PLL_NONE		0x00000000
267 #define PLL_TYPE1		0x00010000
268 #define PLL_TYPE2		0x00020000
269 #define PLL_TYPE3		0x00030000
270 #define PLL_TYPE4		0x00008000
271 #define PLL_TYPE5		0x00018000
272 #define PLL_TYPE6		0x00028000
273 #define PLL_TYPE7		0x00038000
274 
275 
276 #define	ILP_CLOCK		32000
277 
278 
279 #define	ALP_CLOCK		20000000
280 
281 
282 #define	HT_CLOCK		80000000
283 
284 
285 #define CC_UARTCLKO		0x00000001
286 #define	CC_SE			0x00000002
287 #define CC_UARTCLKEN		0x00000008
288 
289 
290 #define CHIPCTRL_4321A0_DEFAULT	0x3a4
291 #define CHIPCTRL_4321A1_DEFAULT	0x0a4
292 #define CHIPCTRL_4321_PLL_DOWN	0x800000
293 
294 
295 #define OTPS_OL_MASK		0x000000ff
296 #define OTPS_OL_MFG		0x00000001
297 #define OTPS_OL_OR1		0x00000002
298 #define OTPS_OL_OR2		0x00000004
299 #define OTPS_OL_GU		0x00000008
300 #define OTPS_GUP_MASK		0x00000f00
301 #define OTPS_GUP_SHIFT		8
302 #define OTPS_GUP_HW		0x00000100
303 #define OTPS_GUP_SW		0x00000200
304 #define OTPS_GUP_CI		0x00000400
305 #define OTPS_GUP_FUSE		0x00000800
306 #define OTPS_READY		0x00001000
307 #define OTPS_RV(x)		(1 << (16 + (x)))
308 #define OTPS_RV_MASK		0x0fff0000
309 
310 
311 #define OTPC_PROGSEL		0x00000001
312 #define OTPC_PCOUNT_MASK	0x0000000e
313 #define OTPC_PCOUNT_SHIFT	1
314 #define OTPC_VSEL_MASK		0x000000f0
315 #define OTPC_VSEL_SHIFT		4
316 #define OTPC_TMM_MASK		0x00000700
317 #define OTPC_TMM_SHIFT		8
318 #define OTPC_ODM		0x00000800
319 #define OTPC_PROGEN		0x80000000
320 
321 
322 #define OTPP_COL_MASK		0x000000ff
323 #define OTPP_COL_SHIFT		0
324 #define OTPP_ROW_MASK		0x0000ff00
325 #define OTPP_ROW_SHIFT		8
326 #define OTPP_OC_MASK		0x0f000000
327 #define OTPP_OC_SHIFT		24
328 #define OTPP_READERR		0x10000000
329 #define OTPP_VALUE_MASK		0x20000000
330 #define OTPP_VALUE_SHIFT	29
331 #define OTPP_START_BUSY		0x80000000
332 
333 
334 #define OTPPOC_READ		0
335 #define OTPPOC_BIT_PROG		1
336 #define OTPPOC_VERIFY		3
337 #define OTPPOC_INIT		4
338 #define OTPPOC_SET		5
339 #define OTPPOC_RESET		6
340 #define OTPPOC_OCST		7
341 #define OTPPOC_ROW_LOCK		8
342 #define OTPPOC_PRESCN_TEST	9
343 
344 
345 #define JCMD_START		0x80000000
346 #define JCMD_BUSY		0x80000000
347 #define JCMD_STATE_MASK		0x60000000
348 #define JCMD_STATE_TLR		0x00000000
349 #define JCMD_STATE_PIR		0x20000000
350 #define JCMD_STATE_PDR		0x40000000
351 #define JCMD_STATE_RTI		0x60000000
352 #define JCMD0_ACC_MASK		0x0000f000
353 #define JCMD0_ACC_IRDR		0x00000000
354 #define JCMD0_ACC_DR		0x00001000
355 #define JCMD0_ACC_IR		0x00002000
356 #define JCMD0_ACC_RESET		0x00003000
357 #define JCMD0_ACC_IRPDR		0x00004000
358 #define JCMD0_ACC_PDR		0x00005000
359 #define JCMD0_IRW_MASK		0x00000f00
360 #define JCMD_ACC_MASK		0x000f0000
361 #define JCMD_ACC_IRDR		0x00000000
362 #define JCMD_ACC_DR		0x00010000
363 #define JCMD_ACC_IR		0x00020000
364 #define JCMD_ACC_RESET		0x00030000
365 #define JCMD_ACC_IRPDR		0x00040000
366 #define JCMD_ACC_PDR		0x00050000
367 #define JCMD_ACC_PIR		0x00060000
368 #define JCMD_ACC_IRDR_I		0x00070000
369 #define JCMD_ACC_DR_I		0x00080000
370 #define JCMD_IRW_MASK		0x00001f00
371 #define JCMD_IRW_SHIFT		8
372 #define JCMD_DRW_MASK		0x0000003f
373 
374 
375 #define JCTRL_FORCE_CLK		4
376 #define JCTRL_EXT_EN		2
377 #define JCTRL_EN		1
378 
379 
380 #define	CLKD_SFLASH		0x0f000000
381 #define	CLKD_SFLASH_SHIFT	24
382 #define	CLKD_OTP		0x000f0000
383 #define	CLKD_OTP_SHIFT		16
384 #define	CLKD_JTAG		0x00000f00
385 #define	CLKD_JTAG_SHIFT		8
386 #define	CLKD_UART		0x000000ff
387 
388 
389 #define	CI_GPIO			0x00000001
390 #define	CI_EI			0x00000002
391 #define	CI_TEMP			0x00000004
392 #define	CI_SIRQ			0x00000008
393 #define	CI_ECI			0x00000010
394 #define	CI_PMU			0x00000020
395 #define	CI_UART			0x00000040
396 #define	CI_WDRESET		0x80000000
397 
398 
399 #define SCC_SS_MASK		0x00000007
400 #define	SCC_SS_LPO		0x00000000
401 #define	SCC_SS_XTAL		0x00000001
402 #define	SCC_SS_PCI		0x00000002
403 #define SCC_LF			0x00000200
404 #define SCC_LP			0x00000400
405 #define SCC_FS			0x00000800
406 #define SCC_IP			0x00001000
407 #define SCC_XC			0x00002000
408 #define SCC_XP			0x00004000
409 #define SCC_CD_MASK		0xffff0000
410 #define SCC_CD_SHIFT		16
411 
412 
413 #define	SYCC_IE			0x00000001
414 #define	SYCC_AE			0x00000002
415 #define	SYCC_FP			0x00000004
416 #define	SYCC_AR			0x00000008
417 #define	SYCC_HR			0x00000010
418 #define SYCC_CD_MASK		0xffff0000
419 #define SYCC_CD_SHIFT		16
420 
421 
422 #define	CF_EN			0x00000001
423 #define	CF_EM_MASK		0x0000000e
424 #define	CF_EM_SHIFT		1
425 #define	CF_EM_FLASH		0
426 #define	CF_EM_SYNC		2
427 #define	CF_EM_PCMCIA		4
428 #define	CF_DS			0x00000010
429 #define	CF_BS			0x00000020
430 #define	CF_CD_MASK		0x000000c0
431 #define	CF_CD_SHIFT		6
432 #define	CF_CD_DIV2		0x00000000
433 #define	CF_CD_DIV3		0x00000040
434 #define	CF_CD_DIV4		0x00000080
435 #define	CF_CE			0x00000100
436 #define	CF_SB			0x00000200
437 
438 
439 #define	PM_W0_MASK		0x0000003f
440 #define	PM_W1_MASK		0x00001f00
441 #define	PM_W1_SHIFT		8
442 #define	PM_W2_MASK		0x001f0000
443 #define	PM_W2_SHIFT		16
444 #define	PM_W3_MASK		0x1f000000
445 #define	PM_W3_SHIFT		24
446 
447 
448 #define	PA_W0_MASK		0x0000003f
449 #define	PA_W1_MASK		0x00001f00
450 #define	PA_W1_SHIFT		8
451 #define	PA_W2_MASK		0x001f0000
452 #define	PA_W2_SHIFT		16
453 #define	PA_W3_MASK		0x1f000000
454 #define	PA_W3_SHIFT		24
455 
456 
457 #define	PI_W0_MASK		0x0000003f
458 #define	PI_W1_MASK		0x00001f00
459 #define	PI_W1_SHIFT		8
460 #define	PI_W2_MASK		0x001f0000
461 #define	PI_W2_SHIFT		16
462 #define	PI_W3_MASK		0x1f000000
463 #define	PI_W3_SHIFT		24
464 
465 
466 #define	PW_W0_MASK		0x0000001f
467 #define	PW_W1_MASK		0x00001f00
468 #define	PW_W1_SHIFT		8
469 #define	PW_W2_MASK		0x001f0000
470 #define	PW_W2_SHIFT		16
471 #define	PW_W3_MASK		0x1f000000
472 #define	PW_W3_SHIFT		24
473 
474 #define PW_W0       		0x0000000c
475 #define PW_W1       		0x00000a00
476 #define PW_W2       		0x00020000
477 #define PW_W3       		0x01000000
478 
479 
480 #define	FW_W0_MASK		0x0000003f
481 #define	FW_W1_MASK		0x00001f00
482 #define	FW_W1_SHIFT		8
483 #define	FW_W2_MASK		0x001f0000
484 #define	FW_W2_SHIFT		16
485 #define	FW_W3_MASK		0x1f000000
486 #define	FW_W3_SHIFT		24
487 
488 
489 #define WATCHDOG_CLOCK		48000000
490 #define WATCHDOG_CLOCK_5354 	32000
491 
492 
493 #define	PCTL_ILP_DIV_MASK	0xffff0000
494 #define	PCTL_ILP_DIV_SHIFT	16
495 #define PCTL_PLL_PLLCTL_UPD	0x00000400
496 #define PCTL_NOILP_ON_WAIT	0x00000200
497 #define	PCTL_HT_REQ_EN		0x00000100
498 #define	PCTL_ALP_REQ_EN		0x00000080
499 #define	PCTL_XTALFREQ_MASK	0x0000007c
500 #define	PCTL_XTALFREQ_SHIFT	2
501 #define	PCTL_ILP_DIV_EN		0x00000002
502 #define	PCTL_LPO_SEL		0x00000001
503 
504 
505 #define CSTRETCH_HT		0xffff0000
506 #define CSTRETCH_ALP		0x0000ffff
507 
508 
509 #define GPIO_ONTIME_SHIFT	16
510 
511 
512 #define	CN_N1_MASK		0x3f
513 #define	CN_N2_MASK		0x3f00
514 #define	CN_N2_SHIFT		8
515 #define	CN_PLLC_MASK		0xf0000
516 #define	CN_PLLC_SHIFT		16
517 
518 
519 #define	CC_M1_MASK		0x3f
520 #define	CC_M2_MASK		0x3f00
521 #define	CC_M2_SHIFT		8
522 #define	CC_M3_MASK		0x3f0000
523 #define	CC_M3_SHIFT		16
524 #define	CC_MC_MASK		0x1f000000
525 #define	CC_MC_SHIFT		24
526 
527 
528 #define	CC_F6_2			0x02
529 #define	CC_F6_3			0x03
530 #define	CC_F6_4			0x05
531 #define	CC_F6_5			0x09
532 #define	CC_F6_6			0x11
533 #define	CC_F6_7			0x21
534 
535 #define	CC_F5_BIAS		5
536 
537 #define	CC_MC_BYPASS		0x08
538 #define	CC_MC_M1		0x04
539 #define	CC_MC_M1M2		0x02
540 #define	CC_MC_M1M2M3		0x01
541 #define	CC_MC_M1M3		0x11
542 
543 
544 #define	CC_T2_BIAS		2
545 #define	CC_T2M2_BIAS		3
546 
547 #define	CC_T2MC_M1BYP		1
548 #define	CC_T2MC_M2BYP		2
549 #define	CC_T2MC_M3BYP		4
550 
551 
552 #define	CC_T6_MMASK		1
553 #define	CC_T6_M0		120000000
554 #define	CC_T6_M1		100000000
555 #define	SB2MIPS_T6(sb)		(2 * (sb))
556 
557 
558 #define	CC_CLOCK_BASE1		24000000
559 #define CC_CLOCK_BASE2		12500000
560 
561 
562 #define	CLKC_5350_N		0x0311
563 #define	CLKC_5350_M		0x04020009
564 
565 
566 #define FLASH_NONE		0x000
567 #define SFLASH_ST		0x100
568 #define SFLASH_AT		0x200
569 #define	PFLASH			0x700
570 
571 
572 #define	CC_CFG_EN		0x0001
573 #define	CC_CFG_EM_MASK		0x000e
574 #define	CC_CFG_EM_ASYNC		0x0000
575 #define	CC_CFG_EM_SYNC		0x0002
576 #define	CC_CFG_EM_PCMCIA	0x0004
577 #define	CC_CFG_EM_IDE		0x0006
578 #define	CC_CFG_DS		0x0010
579 #define	CC_CFG_CD_MASK		0x00e0
580 #define	CC_CFG_CE		0x0100
581 #define	CC_CFG_SB		0x0200
582 #define	CC_CFG_IS		0x0400
583 
584 
585 #define	CC_EB_BASE		0x1a000000
586 #define	CC_EB_PCMCIA_MEM	0x1a000000
587 #define	CC_EB_PCMCIA_IO		0x1a200000
588 #define	CC_EB_PCMCIA_CFG	0x1a400000
589 #define	CC_EB_IDE		0x1a800000
590 #define	CC_EB_PCMCIA1_MEM	0x1a800000
591 #define	CC_EB_PCMCIA1_IO	0x1aa00000
592 #define	CC_EB_PCMCIA1_CFG	0x1ac00000
593 #define	CC_EB_PROGIF		0x1b000000
594 
595 
596 
597 #define SFLASH_OPCODE		0x000000ff
598 #define SFLASH_ACTION		0x00000700
599 #define	SFLASH_CS_ACTIVE	0x00001000
600 #define SFLASH_START		0x80000000
601 #define SFLASH_BUSY		SFLASH_START
602 
603 
604 #define	SFLASH_ACT_OPONLY	0x0000
605 #define	SFLASH_ACT_OP1D		0x0100
606 #define	SFLASH_ACT_OP3A		0x0200
607 #define	SFLASH_ACT_OP3A1D	0x0300
608 #define	SFLASH_ACT_OP3A4D	0x0400
609 #define	SFLASH_ACT_OP3A4X4D	0x0500
610 #define	SFLASH_ACT_OP3A1X4D	0x0700
611 
612 
613 #define SFLASH_ST_WREN		0x0006
614 #define SFLASH_ST_WRDIS		0x0004
615 #define SFLASH_ST_RDSR		0x0105
616 #define SFLASH_ST_WRSR		0x0101
617 #define SFLASH_ST_READ		0x0303
618 #define SFLASH_ST_PP		0x0302
619 #define SFLASH_ST_SE		0x02d8
620 #define SFLASH_ST_BE		0x00c7
621 #define SFLASH_ST_DP		0x00b9
622 #define SFLASH_ST_RES		0x03ab
623 #define SFLASH_ST_CSA		0x1000
624 
625 
626 #define SFLASH_ST_WIP		0x01
627 #define SFLASH_ST_WEL		0x02
628 #define SFLASH_ST_BP_MASK	0x1c
629 #define SFLASH_ST_BP_SHIFT	2
630 #define SFLASH_ST_SRWD		0x80
631 
632 
633 #define SFLASH_AT_READ				0x07e8
634 #define SFLASH_AT_PAGE_READ			0x07d2
635 #define SFLASH_AT_BUF1_READ
636 #define SFLASH_AT_BUF2_READ
637 #define SFLASH_AT_STATUS			0x01d7
638 #define SFLASH_AT_BUF1_WRITE			0x0384
639 #define SFLASH_AT_BUF2_WRITE			0x0387
640 #define SFLASH_AT_BUF1_ERASE_PROGRAM		0x0283
641 #define SFLASH_AT_BUF2_ERASE_PROGRAM		0x0286
642 #define SFLASH_AT_BUF1_PROGRAM			0x0288
643 #define SFLASH_AT_BUF2_PROGRAM			0x0289
644 #define SFLASH_AT_PAGE_ERASE			0x0281
645 #define SFLASH_AT_BLOCK_ERASE			0x0250
646 #define SFLASH_AT_BUF1_WRITE_ERASE_PROGRAM	0x0382
647 #define SFLASH_AT_BUF2_WRITE_ERASE_PROGRAM	0x0385
648 #define SFLASH_AT_BUF1_LOAD			0x0253
649 #define SFLASH_AT_BUF2_LOAD			0x0255
650 #define SFLASH_AT_BUF1_COMPARE			0x0260
651 #define SFLASH_AT_BUF2_COMPARE			0x0261
652 #define SFLASH_AT_BUF1_REPROGRAM		0x0258
653 #define SFLASH_AT_BUF2_REPROGRAM		0x0259
654 
655 
656 #define SFLASH_AT_READY				0x80
657 #define SFLASH_AT_MISMATCH			0x40
658 #define SFLASH_AT_ID_MASK			0x38
659 #define SFLASH_AT_ID_SHIFT			3
660 
661 
662 
663 #define UART_RX		0
664 #define UART_TX		0
665 #define UART_DLL	0
666 #define UART_IER	1
667 #define UART_DLM	1
668 #define UART_IIR	2
669 #define UART_FCR	2
670 #define UART_LCR	3
671 #define UART_MCR	4
672 #define UART_LSR	5
673 #define UART_MSR	6
674 #define UART_SCR	7
675 #define UART_LCR_DLAB	0x80
676 #define UART_LCR_WLEN8	0x03
677 #define UART_MCR_OUT2	0x08
678 #define UART_MCR_LOOP	0x10
679 #define UART_LSR_RX_FIFO 	0x80
680 #define UART_LSR_TDHR		0x40
681 #define UART_LSR_THRE		0x20
682 #define UART_LSR_BREAK		0x10
683 #define UART_LSR_FRAMING	0x08
684 #define UART_LSR_PARITY		0x04
685 #define UART_LSR_OVERRUN	0x02
686 #define UART_LSR_RXRDY		0x01
687 #define UART_FCR_FIFO_ENABLE 1
688 
689 
690 #define UART_IIR_FIFO_MASK	0xc0
691 #define UART_IIR_INT_MASK	0xf
692 #define UART_IIR_MDM_CHG	0x0
693 #define UART_IIR_NOINT		0x1
694 #define UART_IIR_THRE		0x2
695 #define UART_IIR_RCVD_DATA	0x4
696 #define UART_IIR_RCVR_STATUS 	0x6
697 #define UART_IIR_CHAR_TIME 	0xc
698 
699 
700 #define UART_IER_EDSSI	8
701 #define UART_IER_ELSI	4
702 #define UART_IER_ETBEI  2
703 #define UART_IER_ERBFI	1
704 
705 
706 #define	PST_INTPEND	0x0040
707 #define	PST_SBCLKST	0x0030
708 #define	PST_SBCLKST_ILP	0x0010
709 #define	PST_SBCLKST_ALP	0x0020
710 #define	PST_SBCLKST_HT	0x0030
711 #define	PST_ALPAVAIL	0x0008
712 #define	PST_HTAVAIL	0x0004
713 #define	PST_RESINIT	0x0003
714 
715 
716 #define PCAP_REV_MASK	0x000000ff
717 #define PCAP_RC_MASK	0x00001f00
718 #define PCAP_RC_SHIFT	8
719 #define PCAP_TC_MASK	0x0001e000
720 #define PCAP_TC_SHIFT	13
721 #define PCAP_PC_MASK	0x001e0000
722 #define PCAP_PC_SHIFT	17
723 #define PCAP_VC_MASK	0x01e00000
724 #define PCAP_VC_SHIFT	21
725 #define PCAP_CC_MASK	0x1e000000
726 #define PCAP_CC_SHIFT	25
727 #define PCAP5_PC_MASK	0x003e0000
728 #define PCAP5_PC_SHIFT	17
729 #define PCAP5_VC_MASK	0x07c00000
730 #define PCAP5_VC_SHIFT	22
731 #define PCAP5_CC_MASK	0xf8000000
732 #define PCAP5_CC_SHIFT	27
733 
734 
735 
736 #define	PRRT_TIME_MASK	0x03ff
737 #define	PRRT_INTEN	0x0400
738 #define	PRRT_REQ_ACTIVE	0x0800
739 #define	PRRT_ALP_REQ	0x1000
740 #define	PRRT_HT_REQ	0x2000
741 
742 
743 #define PMURES_BIT(bit)	(1 << (bit))
744 
745 
746 #define PMURES_MAX_RESNUM	30
747 
748 
749 
750 
751 #define	PMU0_PLL0_PLLCTL0		0
752 #define	PMU0_PLL0_PC0_PDIV_MASK		1
753 #define	PMU0_PLL0_PC0_PDIV_FREQ		25000
754 #define PMU0_PLL0_PC0_DIV_ARM_MASK	0x00000038
755 #define PMU0_PLL0_PC0_DIV_ARM_SHIFT	3
756 #define PMU0_PLL0_PC0_DIV_ARM_BASE	8
757 
758 
759 #define PMU0_PLL0_PC0_DIV_ARM_110MHZ	0
760 #define PMU0_PLL0_PC0_DIV_ARM_97_7MHZ	1
761 #define PMU0_PLL0_PC0_DIV_ARM_88MHZ	2
762 #define PMU0_PLL0_PC0_DIV_ARM_80MHZ	3
763 #define PMU0_PLL0_PC0_DIV_ARM_73_3MHZ	4
764 #define PMU0_PLL0_PC0_DIV_ARM_67_7MHZ	5
765 #define PMU0_PLL0_PC0_DIV_ARM_62_9MHZ	6
766 #define PMU0_PLL0_PC0_DIV_ARM_58_6MHZ	7
767 
768 
769 #define	PMU0_PLL0_PLLCTL1		1
770 #define	PMU0_PLL0_PC1_WILD_INT_MASK	0xf0000000
771 #define	PMU0_PLL0_PC1_WILD_INT_SHIFT	28
772 #define	PMU0_PLL0_PC1_WILD_FRAC_MASK	0x0fffff00
773 #define	PMU0_PLL0_PC1_WILD_FRAC_SHIFT	8
774 #define	PMU0_PLL0_PC1_STOP_MOD		0x00000040
775 
776 
777 #define	PMU0_PLL0_PLLCTL2		2
778 #define	PMU0_PLL0_PC2_WILD_INT_MASK	0xf
779 #define	PMU0_PLL0_PC2_WILD_INT_SHIFT	4
780 
781 
782 #define RES4328_EXT_SWITCHER_PWM	0
783 #define RES4328_BB_SWITCHER_PWM		1
784 #define RES4328_BB_SWITCHER_BURST	2
785 #define RES4328_BB_EXT_SWITCHER_BURST	3
786 #define RES4328_ILP_REQUEST		4
787 #define RES4328_RADIO_SWITCHER_PWM	5
788 #define RES4328_RADIO_SWITCHER_BURST	6
789 #define RES4328_ROM_SWITCH		7
790 #define RES4328_PA_REF_LDO		8
791 #define RES4328_RADIO_LDO		9
792 #define RES4328_AFE_LDO			10
793 #define RES4328_PLL_LDO			11
794 #define RES4328_BG_FILTBYP		12
795 #define RES4328_TX_FILTBYP		13
796 #define RES4328_RX_FILTBYP		14
797 #define RES4328_XTAL_PU			15
798 #define RES4328_XTAL_EN			16
799 #define RES4328_BB_PLL_FILTBYP		17
800 #define RES4328_RF_PLL_FILTBYP		18
801 #define RES4328_BB_PLL_PU		19
802 
803 #define RES5354_EXT_SWITCHER_PWM	0
804 #define RES5354_BB_SWITCHER_PWM		1
805 #define RES5354_BB_SWITCHER_BURST	2
806 #define RES5354_BB_EXT_SWITCHER_BURST	3
807 #define RES5354_ILP_REQUEST		4
808 #define RES5354_RADIO_SWITCHER_PWM	5
809 #define RES5354_RADIO_SWITCHER_BURST	6
810 #define RES5354_ROM_SWITCH		7
811 #define RES5354_PA_REF_LDO		8
812 #define RES5354_RADIO_LDO		9
813 #define RES5354_AFE_LDO			10
814 #define RES5354_PLL_LDO			11
815 #define RES5354_BG_FILTBYP		12
816 #define RES5354_TX_FILTBYP		13
817 #define RES5354_RX_FILTBYP		14
818 #define RES5354_XTAL_PU			15
819 #define RES5354_XTAL_EN			16
820 #define RES5354_BB_PLL_FILTBYP		17
821 #define RES5354_RF_PLL_FILTBYP		18
822 #define RES5354_BB_PLL_PU		19
823 
824 
825 
826 #define DOT11MAC_880MHZ_CLK_DIVISOR_SHIFT 8
827 #define DOT11MAC_880MHZ_CLK_DIVISOR_MASK (0xFF << DOT11MAC_880MHZ_CLK_DIVISOR_SHIFT)
828 #define DOT11MAC_880MHZ_CLK_DIVISOR_VAL  (0xE << DOT11MAC_880MHZ_CLK_DIVISOR_SHIFT)
829 
830 
831 #define PMU2_PHY_PLL_PLLCTL		4
832 #define PMU2_SI_PLL_PLLCTL		10
833 
834 
835 #define RES4325_BUCK_BOOST_BURST	0
836 #define RES4325_CBUCK_BURST		1
837 #define RES4325_CBUCK_PWM		2
838 #define RES4325_CLDO_CBUCK_BURST	3
839 #define RES4325_CLDO_CBUCK_PWM		4
840 #define RES4325_BUCK_BOOST_PWM		5
841 #define RES4325_ILP_REQUEST		6
842 #define RES4325_ABUCK_BURST		7
843 #define RES4325_ABUCK_PWM		8
844 #define RES4325_LNLDO1_PU		9
845 #define RES4325_OTP_PU			10
846 #define RES4325_LNLDO3_PU		11
847 #define RES4325_LNLDO4_PU		12
848 #define RES4325_XTAL_PU			13
849 #define RES4325_ALP_AVAIL		14
850 #define RES4325_RX_PWRSW_PU		15
851 #define RES4325_TX_PWRSW_PU		16
852 #define RES4325_RFPLL_PWRSW_PU		17
853 #define RES4325_LOGEN_PWRSW_PU		18
854 #define RES4325_AFE_PWRSW_PU		19
855 #define RES4325_BBPLL_PWRSW_PU		20
856 #define RES4325_HT_AVAIL		21
857 
858 
859 #define RES4325B0_CBUCK_LPOM		1
860 #define RES4325B0_CBUCK_BURST		2
861 #define RES4325B0_CBUCK_PWM		3
862 #define RES4325B0_CLDO_PU		4
863 
864 
865 #define RES4325C1_OTP_PWRSW_PU		10
866 #define RES4325C1_LNLDO2_PU		12
867 
868 
869 #define CST4325_SPROM_OTP_SEL_MASK	0x00000003
870 #define CST4325_DEFCIS_SEL		0
871 #define CST4325_SPROM_SEL		1
872 #define CST4325_OTP_SEL			2
873 #define CST4325_OTP_PWRDN		3
874 #define CST4325_SDIO_USB_MODE_MASK	0x00000004
875 #define CST4325_SDIO_USB_MODE_SHIFT	2
876 #define CST4325_RCAL_VALID_MASK		0x00000008
877 #define CST4325_RCAL_VALID_SHIFT	3
878 #define CST4325_RCAL_VALUE_MASK		0x000001f0
879 #define CST4325_RCAL_VALUE_SHIFT	4
880 #define CST4325_PMUTOP_2B_MASK 		0x00000200
881 #define CST4325_PMUTOP_2B_SHIFT   	9
882 
883 #define RES4329_RESERVED0		0
884 #define RES4329_CBUCK_LPOM		1
885 #define RES4329_CBUCK_BURST		2
886 #define RES4329_CBUCK_PWM		3
887 #define RES4329_CLDO_PU			4
888 #define RES4329_PALDO_PU		5
889 #define RES4329_ILP_REQUEST		6
890 #define RES4329_RESERVED7		7
891 #define RES4329_RESERVED8		8
892 #define RES4329_LNLDO1_PU		9
893 #define RES4329_OTP_PU			10
894 #define RES4329_RESERVED11		11
895 #define RES4329_LNLDO2_PU		12
896 #define RES4329_XTAL_PU			13
897 #define RES4329_ALP_AVAIL		14
898 #define RES4329_RX_PWRSW_PU		15
899 #define RES4329_TX_PWRSW_PU		16
900 #define RES4329_RFPLL_PWRSW_PU		17
901 #define RES4329_LOGEN_PWRSW_PU		18
902 #define RES4329_AFE_PWRSW_PU		19
903 #define RES4329_BBPLL_PWRSW_PU		20
904 #define RES4329_HT_AVAIL		21
905 
906 #define CST4329_SPROM_OTP_SEL_MASK	0x00000003
907 #define CST4329_DEFCIS_SEL		0
908 #define CST4329_SPROM_SEL		1
909 #define CST4329_OTP_SEL			2
910 #define CST4329_OTP_PWRDN		3
911 #define CST4329_SPI_SDIO_MODE_MASK	0x00000004
912 #define CST4329_SPI_SDIO_MODE_SHIFT	2
913 
914 
915 #define RES4312_SWITCHER_BURST		0
916 #define RES4312_SWITCHER_PWM    	1
917 #define RES4312_PA_REF_LDO		2
918 #define RES4312_CORE_LDO_BURST		3
919 #define RES4312_CORE_LDO_PWM		4
920 #define RES4312_RADIO_LDO		5
921 #define RES4312_ILP_REQUEST		6
922 #define RES4312_BG_FILTBYP		7
923 #define RES4312_TX_FILTBYP		8
924 #define RES4312_RX_FILTBYP		9
925 #define RES4312_XTAL_PU			10
926 #define RES4312_ALP_AVAIL		11
927 #define RES4312_BB_PLL_FILTBYP		12
928 #define RES4312_RF_PLL_FILTBYP		13
929 #define RES4312_HT_AVAIL		14
930 
931 #define RES4322_RF_LDO			0
932 #define RES4322_ILP_REQUEST		1
933 #define RES4322_XTAL_PU			2
934 #define RES4322_ALP_AVAIL		3
935 #define RES4322_SI_PLL_ON		4
936 #define RES4322_HT_SI_AVAIL		5
937 #define RES4322_PHY_PLL_ON		6
938 #define RES4322_HT_PHY_AVAIL		7
939 #define RES4322_OTP_PU			8
940 
941 
942 #define CST4322_XTAL_FREQ_20_40MHZ	0x00000020
943 #define CST4322_SPROM_OTP_SEL_MASK	0x000000c0
944 #define CST4322_SPROM_OTP_SEL_SHIFT	6
945 #define CST4322_NO_SPROM_OTP		0
946 #define CST4322_SPROM_PRESENT		1
947 #define CST4322_OTP_PRESENT		2
948 #define CST4322_PCI_OR_USB		0x00000100
949 #define CST4322_BOOT_MASK		0x00000600
950 #define CST4322_BOOT_SHIFT		9
951 #define CST4322_BOOT_FROM_SRAM		0
952 #define CST4322_BOOT_FROM_ROM		1
953 #define CST4322_BOOT_FROM_FLASH		2
954 #define CST4322_BOOT_FROM_INVALID	3
955 #define CST4322_ILP_DIV_EN		0x00000800
956 #define CST4322_FLASH_TYPE_MASK		0x00001000
957 #define CST4322_FLASH_TYPE_SHIFT	12
958 #define CST4322_FLASH_TYPE_SHIFT_ST	0
959 #define CST4322_FLASH_TYPE_SHIFT_ATMEL	1
960 #define CST4322_ARM_TAP_SEL		0x00002000
961 #define CST4322_RES_INIT_MODE_MASK	0x0000c000
962 #define CST4322_RES_INIT_MODE_SHIFT	14
963 #define CST4322_RES_INIT_MODE_ILPAVAIL	0
964 #define CST4322_RES_INIT_MODE_ILPREQ	1
965 #define CST4322_RES_INIT_MODE_ALPAVAIL	2
966 #define CST4322_RES_INIT_MODE_HTAVAIL	3
967 #define CST4322_PCIPLLCLK_GATING	0x00010000
968 #define CST4322_CLK_SWITCH_PCI_TO_ALP	0x00020000
969 #define CST4322_PCI_CARDBUS_MODE	0x00040000
970 
971 #define RES4315_CBUCK_LPOM		1
972 #define RES4315_CBUCK_BURST		2
973 #define RES4315_CBUCK_PWM		3
974 #define RES4315_CLDO_PU			4
975 #define RES4315_PALDO_PU		5
976 #define RES4315_ILP_REQUEST		6
977 #define RES4315_LNLDO1_PU		9
978 #define RES4315_OTP_PU			10
979 #define RES4315_LNLDO2_PU		12
980 #define RES4315_XTAL_PU			13
981 #define RES4315_ALP_AVAIL		14
982 #define RES4315_RX_PWRSW_PU		15
983 #define RES4315_TX_PWRSW_PU		16
984 #define RES4315_RFPLL_PWRSW_PU		17
985 #define RES4315_LOGEN_PWRSW_PU		18
986 #define RES4315_AFE_PWRSW_PU		19
987 #define RES4315_BBPLL_PWRSW_PU		20
988 #define RES4315_HT_AVAIL		21
989 
990 #define CST4315_SPROM_OTP_SEL_MASK	0x00000003
991 #define CST4315_DEFCIS_SEL		0x00000000
992 #define CST4315_SPROM_SEL		0x00000001
993 #define CST4315_OTP_SEL			0x00000002
994 #define CST4315_OTP_PWRDN		0x00000003
995 #define CST4315_SDIO_MODE		0x00000004
996 #define CST4315_RCAL_VALID		0x00000008
997 #define CST4315_RCAL_VALUE_MASK		0x000001f0
998 #define CST4315_RCAL_VALUE_SHIFT	4
999 #define CST4315_PALDO_EXTPNP		0x00000200
1000 #define CST4315_CBUCK_MODE_MASK		0x00000c00
1001 #define CST4315_CBUCK_MODE_BURST	0x00000400
1002 #define CST4315_CBUCK_MODE_LPBURST	0x00000c00
1003 
1004 #define PMU_MAX_TRANSITION_DLY	15000
1005 
1006 
1007 #define PMURES_UP_TRANSITION	2
1008 
1009 
1010 
1011 
1012 
1013 #define ECI_BW_20   0x0
1014 #define ECI_BW_25   0x1
1015 #define ECI_BW_30   0x2
1016 #define ECI_BW_35   0x3
1017 #define ECI_BW_40   0x4
1018 #define ECI_BW_45   0x5
1019 #define ECI_BW_50   0x6
1020 #define ECI_BW_ALL  0x7
1021 
1022 
1023 #define WLAN_NUM_ANT1 TXANT_0
1024 #define WLAN_NUM_ANT2 TXANT_1
1025 
1026 #endif
1027