aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h
blob: 8ac1698364ed7491331fe87db28a669fc03d0763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
/*******************************************************************************
Copyright (C) Marvell International Ltd. and its affiliates

This software file (the "File") is owned and distributed by Marvell 
International Ltd. and/or its affiliates ("Marvell") under the following
alternative licensing terms.  Once you have made an election to distribute the
File under one of the following license alternatives, please (i) delete this
introductory statement regarding license alternatives, (ii) delete the two
license alternatives that you have not elected to use and (iii) preserve the
Marvell copyright notice above.

********************************************************************************
Marvell Commercial License Option

If you received this File from Marvell and you have entered into a commercial
license agreement (a "Commercial License") with Marvell, the File is licensed
to you under the terms of the applicable Commercial License.

********************************************************************************
Marvell GPL License Option

If you received this File from Marvell, you may opt to use, redistribute and/or 
modify this File in accordance with the terms and conditions of the General 
Public License Version 2, June 1991 (the "GPL License"), a copy of which is 
available along with the File in the license.txt file or by writing to the Free 
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or 
on the worldwide web at http://www.gnu.org/licenses/gpl.txt. 

THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED 
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY 
DISCLAIMED.  The GPL License provides additional details about this warranty 
disclaimer.
********************************************************************************
Marvell BSD License Option

If you received this File from Marvell, you may opt to use, redistribute and/or 
modify this File under the following licensing terms. 
Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

    *   Redistributions of source code must retain the above copyright notice,
	    this list of conditions and the following disclaimer. 

    *   Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution. 

    *   Neither the name of Marvell nor the names of its contributors may be 
        used to endorse or promote products derived from this software without 
        specific prior written permission. 
    
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*******************************************************************************/

#ifndef __INCPEXREGSH
#define __INCPEXREGSH

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* defines */
#define MAX_PEX_DEVICES         32
#define MAX_PEX_FUNCS           8
#define MAX_PEX_BUSSES          256



/*********************************************************/
/* PCI Express Configuration Cycles Generation Registers */
/*********************************************************/

#define PEX_CFG_ADDR_REG(pexIf)		((PEX_IF_BASE(pexIf)) + 0x18F8)
#define PEX_CFG_DATA_REG(pexIf)		((PEX_IF_BASE(pexIf)) + 0x18FC)
#define PEX_PHY_ACCESS_REG(pexIf)	((PEX_IF_BASE(pexIf)) + 0x1B00)
/* PCI Express Configuration Address Register */
/* PEX_CFG_ADDR_REG (PXCAR)*/

#define PXCAR_REG_NUM_OFFS			2
#define PXCAR_REG_NUM_MAX			0x3F
#define PXCAR_REG_NUM_MASK			(PXCAR_REG_NUM_MAX << PXCAR_REG_NUM_OFFS)
#define PXCAR_FUNC_NUM_OFFS			8
#define PXCAR_FUNC_NUM_MAX			0x7
#define PXCAR_FUNC_NUM_MASK			(PXCAR_FUNC_NUM_MAX << PXCAR_FUNC_NUM_OFFS)
#define PXCAR_DEVICE_NUM_OFFS		11
#define PXCAR_DEVICE_NUM_MAX		0x1F
#define PXCAR_DEVICE_NUM_MASK		(PXCAR_DEVICE_NUM_MAX << PXCAR_DEVICE_NUM_OFFS)
#define PXCAR_BUS_NUM_OFFS			16
#define PXCAR_BUS_NUM_MAX			0xFF
#define PXCAR_BUS_NUM_MASK			(PXCAR_BUS_NUM_MAX << PXCAR_BUS_NUM_OFFS)
#define PXCAR_EXT_REG_NUM_OFFS		24
#define PXCAR_EXT_REG_NUM_MAX		0xF

/* in pci express register address is now the legacy register address (8 bits)
with the new extended register address (more 4 bits) , below is the mask of
the upper 4 bits of the full register address */

#define PXCAR_REAL_EXT_REG_NUM_OFFS	8
#define PXCAR_EXT_REG_NUM_MASK		(PXCAR_EXT_REG_NUM_MAX << PXCAR_EXT_REG_NUM_OFFS)
#define PXCAR_CONFIG_EN				BIT31

#define PXCAR_REAL_EXT_REG_NUM_OFFS     8
#define PXCAR_REAL_EXT_REG_NUM_MASK     (0xF << PXCAR_REAL_EXT_REG_NUM_OFFS)

/* The traditional PCI spec defined 6-bit field to describe register offset.*/ 
/* The new PCI Express extend the register offset by an extra 4-bits.       */
/* The below macro assign 10-bit register offset into the apprpreate        */
/* fields in the CFG_ADDR_REG                                               */
#define PXCAR_REG_OFFS_SET(regOffs)                         \
 ( (regOff & PXCAR_REG_NUM_MASK) | \
   ( ((regOff & PXCAR_REAL_EXT_REG_NUM_MASK) >> PXCAR_REAL_EXT_REG_NUM_OFFS) << PXCAR_EXT_REG_NUM_OFFS) )

/***********************************/
/* PCI Express Interrupt registers */
/***********************************/
#define PEX_CAUSE_REG(pexIf)		((PEX_IF_BASE(pexIf)) + 0x1900)
#define PEX_MASK_REG(pexIf)		((PEX_IF_BASE(pexIf)) + 0x1910)

#define PXICR_TX_REQ_IN_DLDOWN_ERR  BIT0  /* Transmit request while field   */
                                          /* <DLDown> of the PCI Express    */
/* PCI Express Interrupt Cause */
/* PEX_INT_CAUSE_REG  (PXICR)*/
/* PEX_INT_MASK_REG*/
/*
NOTE:All bits except bits[27:24] are Read/Write Clear only. A cause bit sets
upon an error event occurrence. A write of 0 clears the bit. A write of 1 has
no affect. Bits[24:27} are set and cleared upon reception of interrupt
emulation messages.

Mask bit per cause bit. If a bit is set to 1, the corresponding event is
enabled. Mask does not affect setting of the Interrupt Cause register bits;
it only affects the assertion of the interrupt .*/
                                          

#define PXICR_MDIS_CAUSE			BIT1  /* Attempt to generate PCI transaction 
                                             while master is disabled */
#define PXICR_ERR_WRTO_REG_CAUSE	BIT3  /* Erroneous write attempt to
                                             PCI Express internal register*/
#define PXICR_HIT_DFLT_WIN_ERR		BIT4  /* Hit Default Window Error */
#define PXICR_RX_RAM_PAR_ERR        BIT6  /* Rx RAM Parity Error */
#define PXICR_TX_RAM_PAR_ERR        BIT7  /* Tx RAM Parity Error */
#define PXICR_COR_ERR_DET			BIT8  /* Correctable Error Detected*/
#define PXICR_NF_ERR_DET			BIT9  /* Non-Fatal Error Detected*/
#define PXICR_FERR_DET				BIT10 /* Fatal Error Detected*/
#define PXICR_DSTATE_CHANGE			BIT11 /* Dstate Change Indication*/
#define PXICR_BIST					BIT12 /* PCI-Express BIST activated*/
#define PXICR_FLW_CTRL_PROT     BIT14 /* Flow Control Protocol Error */

#define PXICR_RCV_UR_CA_ERR         BIT15 /* Received UR or CA status. */
#define PXICR_RCV_ERR_FATAL			BIT16 /* Received ERR_FATAL message.*/
#define PXICR_RCV_ERR_NON_FATAL		BIT17 /* Received ERR_NONFATAL message*/
#define PXICR_RCV_ERR_COR			BIT18 /* Received ERR_COR message.*/
#define PXICR_RCV_CRS				BIT19 /* Received CRS completion status*/
#define PXICR_SLV_HOT_RESET			BIT20 /* Received Hot Reset Indication*/
#define PXICR_SLV_DIS_LINK			BIT21 /* Slave Disable Link Indication*/
#define PXICR_SLV_LB				BIT22 /* Slave Loopback Indication*/
#define PXICR_LINK_FAIL				BIT23 /* Link Failure indication.*/
#define PXICR_RCV_INTA				BIT24 /* IntA status.*/
#define PXICR_RCV_INTB				BIT25 /* IntB status.*/
#define PXICR_RCV_INTC				BIT26 /* IntC status.*/
#define PXICR_RCV_INTD				BIT27 /* IntD status.*/
#define PXICR_RCV_PM_PME            BIT28 /* Received PM_PME message. */


/********************************************/
/* PCI Express Control and Status Registers */
/********************************************/
#define PEX_CTRL_REG(pexIf)				((PEX_IF_BASE(pexIf)) + 0x1A00)
#define PEX_STATUS_REG(pexIf)				((PEX_IF_BASE(pexIf)) + 0x1A04)
#define PEX_COMPLT_TMEOUT_REG(pexIf)			((PEX_IF_BASE(pexIf)) + 0x1A10)
#define PEX_PWR_MNG_EXT_REG(pexIf)			((PEX_IF_BASE(pexIf)) + 0x1A18)
#define PEX_FLOW_CTRL_REG(pexIf)			((PEX_IF_BASE(pexIf)) + 0x1A20)
#define PEX_ACK_TMR_4X_REG(pexIf)			((PEX_IF_BASE(pexIf)) + 0x1A30)
#define PEX_ACK_TMR_1X_REG(pexIf)			((PEX_IF_BASE(pexIf)) + 0x1A40)
#define PEX_TL_CTRL_REG(pexIf)				((PEX_IF_BASE(pexIf)) + 0x1AB0)


#define PEX_RAM_PARITY_CTRL_REG(pexIf)  		((PEX_IF_BASE(pexIf)) + 0x1A50)
/* PCI Express Control Register */
/* PEX_CTRL_REG (PXCR) */

#define PXCR_CONF_LINK_OFFS             0
#define PXCR_CONF_LINK_MASK             (1 << PXCR_CONF_LINK_OFFS)
#define PXCR_CONF_LINK_X4               (0 << PXCR_CONF_LINK_OFFS)
#define PXCR_CONF_LINK_X1               (1 << PXCR_CONF_LINK_OFFS)
#define PXCR_DEV_TYPE_CTRL_OFFS			1     /*PCI ExpressDevice Type Control*/
#define PXCR_DEV_TYPE_CTRL_MASK			BIT1
#define PXCR_DEV_TYPE_CTRL_CMPLX		(1 << PXCR_DEV_TYPE_CTRL_OFFS)
#define PXCR_DEV_TYPE_CTRL_POINT		(0 << PXCR_DEV_TYPE_CTRL_OFFS)
#define PXCR_CFG_MAP_TO_MEM_EN			BIT2  /* Configuration Header Mapping 
											   to Memory Space Enable         */

#define PXCR_CFG_MAP_TO_MEM_EN			BIT2 /* Configuration Header Mapping 
											   to Memory Space Enable*/

#define PXCR_RSRV1_OFFS					5
#define PXCR_RSRV1_MASK					(0x7 << PXCR_RSRV1_OFFS)
#define PXCR_RSRV1_VAL					(0x0 << PXCR_RSRV1_OFFS)

#define PXCR_CONF_MAX_OUTSTND_OFFS		8 /*Maximum outstanding NP requests as a master*/
#define PXCR_CONF_MAX_OUTSTND_MASK		(0x3 << PXCR_CONF_MAX_OUTSTND_OFFS)


#define PXCR_CONF_NFTS_OFFS				16 /*number of FTS Ordered-Sets*/
#define PXCR_CONF_NFTS_MASK				(0xff << PXCR_CONF_NFTS_OFFS)

#define PXCR_CONF_MSTR_HOT_RESET		BIT24 /*Master Hot-Reset.*/
#define PXCR_CONF_MSTR_LB				BIT26 /* Master Loopback */
#define PXCR_CONF_MSTR_DIS_SCRMB		BIT27 /* Master Disable Scrambling*/
#define PXCR_CONF_DIRECT_DIS_SCRMB		BIT28 /* Direct Disable Scrambling*/

/* PCI Express Status Register */
/* PEX_STATUS_REG (PXSR) */

#define PXSR_DL_DOWN					BIT0 /* DL_Down indication.*/

#define PXSR_PEX_BUS_NUM_OFFS			8 /* Bus Number Indication */
#define PXSR_PEX_BUS_NUM_MASK			(0xff << PXSR_PEX_BUS_NUM_OFFS)

#define PXSR_PEX_DEV_NUM_OFFS			16 /* Device Number Indication */
#define PXSR_PEX_DEV_NUM_MASK			(0x1f << PXSR_PEX_DEV_NUM_OFFS)

#define PXSR_PEX_SLV_HOT_RESET			BIT24 /* Slave Hot Reset Indication*/
#define PXSR_PEX_SLV_DIS_LINK			BIT25 /* Slave Disable Link Indication*/
#define PXSR_PEX_SLV_LB					BIT26 /* Slave Loopback Indication*/
#define PXSR_PEX_SLV_DIS_SCRMB			BIT27 /* Slave Disable Scrambling Indication*/


/* PCI Express Completion Timeout Register */
/* PEX_COMPLT_TMEOUT_REG (PXCTR)*/

#define PXCTR_CMP_TO_THRSHLD_OFFS		0 /* Completion Timeout Threshold */
#define PXCTR_CMP_TO_THRSHLD_MASK		(0xffff << PXCTR_CMP_TO_THRSHLD_OFFS)

/* PCI Express Power Management Extended Register */
/* PEX_PWR_MNG_EXT_REG (PXPMER) */

#define PXPMER_L1_ASPM_EN_OFFS			1
#define PXPMER_L1_ASPM_EN_MASK			(0x1 << PXPMER_L1_ASPM_EN_OFFS)

/* PCI Express Flow Control Register */
/* PEX_FLOW_CTRL_REG (PXFCR)*/

#define PXFCR_PH_INIT_FC_OFFS			0 /*Posted Headers Flow Control Credit
										    Initial Value.*/
#define PXFCR_PH_INIT_FC_MASK			(0xff << PXFCR_PH_INIT_FC_OFFS)


#define PXFCR_NPH_INIT_FC_OFFS			8 /* Classified Non-Posted Headers
											 Flow Control Credit Initial Value*/
#define PXFCR_NPH_INIT_FC_MASK			(0xff << PXFCR_NPH_INIT_FC_OFFS)

#define PXFCR_CH_INIT_FC_OFFS			16 /* Completion Headers Flow Control
											  Credit Initial Value Infinite*/
										
#define PXFCR_CH_INIT_FC_MASK			(0xff << PXFCR_CH_INIT_FC_OFFS)

#define PXFCR_FC_UPDATE_TO_OFFS			24 /* Flow Control Update Timeout */
#define PXFCR_FC_UPDATE_TO_MASK			(0xff << PXFCR_FC_UPDATE_TO_OFFS)

/* PCI Express Acknowledge Timers (4X) Register */
/* PEX_ACK_TMR_4X_REG (PXAT4R) */
#define PXAT1R_ACK_LAT_TOX4_OFFS		0  /* Ack Latency Timer Timeout Value */
#define PXAT1R_ACK_LAT_TOX4_MASK		(0xffff << PXAT4R_ACK_LAT_TOX1_OFFS)
#define PXAT1R_ACK_RPLY_TOX4_OFFS		16 /* Ack Replay Timer Timeout Value  */
#define PXAT1R_ACK_RPLY_TOX4_MASK		(0xffff << PXAT1R_ACK_RPLY_TOX1_OFFS)

/* PCI Express Acknowledge Timers (1X) Register */
/* PEX_ACK_TMR_1X_REG (PXAT1R) */

#define PXAT1R_ACK_LAT_TOX1_OFFS		0 /* Acknowledge Latency Timer Timeout
										     Value for 1X Link*/
#define PXAT1R_ACK_LAT_TOX1_MASK		(0xffff << PXAT1R_ACK_LAT_TOX1_OFFS)

#define PXAT1R_ACK_RPLY_TOX1_OFFS		16 /* Acknowledge Replay Timer Timeout
											  Value for 1X*/
#define PXAT1R_ACK_RPLY_TOX1_MASK		(0xffff << PXAT1R_ACK_RPLY_TOX1_OFFS)


/* PCI Express TL Control Register */
/* PEX_TL_CTRL_REG (PXTCR) */

#define PXTCR_TX_CMP_BUFF_NO_OFFS		8 /*Number of completion buffers in Tx*/
#define PXTCR_TX_CMP_BUFF_NO_MASK		(0xf << PXTCR_TX_CMP_BUFF_NO_OFFS)

/* PCI Express Debug MAC Control Register */
/* PEX_DEBUG_MAC_CTRL_REG (PXDMCR) */

#define PXDMCR_LINKUP					BIT4



/**********************************************/
/* PCI Express Configuration Header Registers */
/**********************************************/
#define PEX_CFG_DIRECT_ACCESS(pexIf,cfgReg)	((PEX_IF_BASE(pexIf)) + (cfgReg))

#define PEX_DEVICE_AND_VENDOR_ID					0x000
#define PEX_STATUS_AND_COMMAND						0x004
#define PEX_CLASS_CODE_AND_REVISION_ID			    0x008
#define PEX_BIST_HDR_TYPE_LAT_TMR_CACHE_LINE		0x00C
#define PEX_MEMORY_BAR_BASE_ADDR(barNum)		 	(0x010 + ((barNum) << 2))
#define PEX_MV_BAR_BASE(barNum)						(0x010 + (barNum) * 8)
#define PEX_MV_BAR_BASE_HIGH(barNum)				(0x014 + (barNum) * 8)
#define PEX_BAR0_INTER_REG							0x010
#define PEX_BAR0_INTER_REG_HIGH						0x014
#define PEX_BAR1_REG								0x018
#define PEX_BAR1_REG_HIGH							0x01C
#define PEX_BAR2_REG								0x020
#define PEX_BAR2_REG_HIGH							0x024

#define PEX_SUBSYS_ID_AND_SUBSYS_VENDOR_ID			0x02C
#define PEX_EXPANSION_ROM_BASE_ADDR_REG				0x030
#define PEX_CAPABILTY_LIST_POINTER					0x034
#define PEX_INTERRUPT_PIN_AND_LINE					0x03C

/* capability list */
#define PEX_POWER_MNG_CAPABILITY		            0x040
#define PEX_POWER_MNG_STATUS_CONTROL		        0x044

#define PEX_MSI_MESSAGE_CONTROL						0x050
#define PEX_MSI_MESSAGE_ADDR		                0x054
#define PEX_MSI_MESSAGE_HIGH_ADDR		            0x058
#define PEX_MSI_MESSAGE_DATA		                0x05C

#define PEX_CAPABILITY_REG							0x60
#define PEX_DEV_CAPABILITY_REG						0x64
#define PEX_DEV_CTRL_STAT_REG						0x68
#define PEX_LINK_CAPABILITY_REG						0x6C
#define PEX_LINK_CTRL_STAT_REG						0x70

#define PEX_ADV_ERR_RPRT_HDR_TRGT_REG				0x100
#define PEX_UNCORRECT_ERR_STAT_REG					0x104
#define PEX_UNCORRECT_ERR_MASK_REG					0x108
#define PEX_UNCORRECT_ERR_SERVITY_REG				0x10C
#define PEX_CORRECT_ERR_STAT_REG					0x110
#define PEX_CORRECT_ERR_MASK_REG					0x114
#define PEX_ADV_ERR_CAPABILITY_CTRL_REG				0x118
#define PEX_HDR_LOG_FIRST_DWORD_REG					0x11C
#define PEX_HDR_LOG_SECOND_DWORD_REG				0x120
#define PEX_HDR_LOG_THIRD_DWORD_REG					0x124
#define PEX_HDR_LOG_FOURTH_DWORD_REG				0x128



/* PCI Express Device and Vendor ID Register*/
/*PEX_DEVICE_AND_VENDOR_ID (PXDAVI)*/

#define PXDAVI_VEN_ID_OFFS			0 	/* Vendor ID */
#define PXDAVI_VEN_ID_MASK			(0xffff << PXDAVI_VEN_ID_OFFS)

#define PXDAVI_DEV_ID_OFFS			16	/* Device ID */
#define PXDAVI_DEV_ID_MASK  		(0xffff << PXDAVI_DEV_ID_OFFS)


/* PCI Express Command and Status Register*/
/*PEX_STATUS_AND_COMMAND (PXSAC)*/

#define PXSAC_IO_EN			BIT0 	/* IO Enable 							  */
#define PXSAC_MEM_EN		BIT1	/* Memory Enable 						  */
#define PXSAC_MASTER_EN		BIT2	/* Master Enable 						  */
#define PXSAC_PERR_EN		BIT6	/* Parity Errors Respond Enable 		  */
#define PXSAC_SERR_EN		BIT8	/* Ability to assert SERR# line			  */
#define PXSAC_INT_DIS		BIT10   /* Interrupt Disable 					  */
#define PXSAC_INT_STAT		BIT19   /* Interrupt Status 			*/
#define PXSAC_CAP_LIST		BIT20	/* Capability List Support 				  */
#define PXSAC_MAS_DATA_PERR	BIT24   /* Master Data Parity Error				  */
#define PXSAC_SLAVE_TABORT	BIT27	/* Signalled Target Abort 	*/
#define PXSAC_RT_ABORT		BIT28	/* Recieved Target Abort 	*/
#define PXSAC_MABORT			BIT29	/* Recieved Master Abort 	*/
#define PXSAC_SYSERR			BIT30	/* Signalled system error 	*/
#define PXSAC_DET_PARERR		BIT31	/* Detect Parity Error 		*/


/* PCI Express Class Code and Revision ID Register*/
/*PEX_CLASS_CODE_AND_REVISION_ID (PXCCARI)*/       

#define PXCCARI_REVID_OFFS		0		/* Revision ID */
#define PXCCARI_REVID_MASK		(0xff << PXCCARI_REVID_OFFS)

#define PXCCARI_FULL_CLASS_OFFS	8		/* Full Class Code */
#define PXCCARI_FULL_CLASS_MASK	(0xffffff << PXCCARI_FULL_CLASS_OFFS)

#define PXCCARI_PROGIF_OFFS		8		/* Prog .I/F*/
#define PXCCARI_PROGIF_MASK		(0xff << PXCCARI_PROGIF_OFFS)

#define PXCCARI_SUB_CLASS_OFFS	16		/* Sub Class*/
#define PXCCARI_SUB_CLASS_MASK	(0xff << PXCCARI_SUB_CLASS_OFFS)

#define PXCCARI_BASE_CLASS_OFFS	24		/* Base Class*/
#define PXCCARI_BASE_CLASS_MASK	(0xff << PXCCARI_BASE_CLASS_OFFS)


/* PCI Express BIST, Header Type and Cache Line Size Register*/
/*PEX_BIST_HDR_TYPE_LAT_TMR_CACHE_LINE (PXBHTLTCL)*/ 

#define PXBHTLTCL_CACHELINE_OFFS		0	/* Specifies the cache line size */
#define PXBHTLTCL_CACHELINE_MASK		(0xff << PXBHTLTCL_CACHELINE_OFFS)

#define PXBHTLTCL_HEADTYPE_FULL_OFFS	16	/* Full Header Type */
#define PXBHTLTCL_HEADTYPE_FULL_MASK	(0xff << PXBHTLTCL_HEADTYPE_FULL_OFFS)

#define PXBHTLTCL_MULTI_FUNC			BIT23	/* Multi/Single function */

#define PXBHTLTCL_HEADER_OFFS			16		/* Header type */
#define PXBHTLTCL_HEADER_MASK			(0x7f << PXBHTLTCL_HEADER_OFFS)
#define PXBHTLTCL_HEADER_STANDARD		(0x0 << PXBHTLTCL_HEADER_OFFS)
#define PXBHTLTCL_HEADER_PCI2PCI_BRIDGE	(0x1 << PXBHTLTCL_HEADER_OFFS)


#define PXBHTLTCL_BISTCOMP_OFFS		24	/* BIST Completion Code */
#define PXBHTLTCL_BISTCOMP_MASK		(0xf << PXBHTLTCL_BISTCOMP_OFFS)

#define PXBHTLTCL_BISTACT			BIT30	/* BIST Activate bit */
#define PXBHTLTCL_BISTCAP			BIT31	/* BIST Capable Bit */
#define PXBHTLTCL_BISTCAP_OFFS		31	
#define PXBHTLTCL_BISTCAP_MASK		BIT31	
#define PXBHTLTCL_BISTCAP_VAL		0


/* PCI Express Subsystem Device and Vendor ID */
/*PEX_SUBSYS_ID_AND_SUBSYS_VENDOR_ID (PXSIASVI)*/

#define PXSIASVI_VENID_OFFS	0	/* Subsystem Manufacturer Vendor ID Number */
#define PXSIASVI_VENID_MASK	(0xffff << PXSIASVI_VENID_OFFS)

#define PXSIASVI_DEVID_OFFS	16	/* Subsystem Device ID Number */
#define PXSIASVI_DEVID_MASK	(0xffff << PXSIASVI_DEVID_OFFS)


/* PCI Express Capability List Pointer Register*/
/*PEX_CAPABILTY_LIST_POINTER (PXCLP)*/

#define PXCLP_CAPPTR_OFFS	0		/* Capability List Pointer */
#define PXCLP_CAPPTR_MASK	(0xff << PXCLP_CAPPTR_OFFS)

/* PCI Express Interrupt Pin and Line Register */
/*PEX_INTERRUPT_PIN_AND_LINE (PXIPAL)*/

#define PXIPAL_INTLINE_OFFS	0	/* Interrupt line (IRQ) */
#define PXIPAL_INTLINE_MASK	(0xff << PXIPAL_INTLINE_OFFS)

#define PXIPAL_INTPIN_OFFS	8	/* interrupt pin (A,B,C,D) */
#define PXIPAL_INTPIN_MASK	(0xff << PXIPAL_INTPIN_OFFS)


/* PCI Express Power Management Capability Header Register*/
/*PEX_POWER_MNG_CAPABILITY (PXPMC)*/

#define PXPMC_CAP_ID_OFFS		0 /* Capability ID */
#define PXPMC_CAP_ID_MASK		(0xff << PXPMC_CAP_ID_OFFS)

#define PXPMC_NEXT_PTR_OFFS		8 /* Next Item Pointer */
#define PXPMC_NEXT_PTR_MASK		(0xff << PXPMC_NEXT_PTR_OFFS)

#define PXPMC_PMC_VER_OFFS		16 /* PCI Power Management Capability Version*/
#define PXPMC_PMC_VER_MASK		(0x7 << PXPMC_PMC_VER_OFFS)

#define PXPMC_DSI 				BIT21/* Device Specific Initialization */

#define PXPMC_AUX_CUR_OFFS		22 /* Auxiliary Current Requirements */
#define PXPMC_AUX_CUR_MASK		(0x7 << PXPMC_AUX_CUR_OFFS)

#define PXPMC_D1_SUP 			BIT25 /* D1 Power Management support*/

#define PXPMC_D2_SUP 			BIT26 /* D2 Power Management support*/

#define PXPMC_PME_SUP_OFFS		27 /* PM Event generation support*/
#define PXPMC_PME_SUP_MASK		(0x1f << PXPMC_PME_SUP_OFFS)

/* PCI Express Power Management Control and Status Register*/
/*PEX_POWER_MNG_STATUS_CONTROL (PXPMSC)*/

#define PXPMSC_PM_STATE_OFFS	0	/* Power State */
#define PXPMSC_PM_STATE_MASK	(0x3 << PXPMSC_PM_STATE_OFFS)
#define PXPMSC_PM_STATE_D0		(0x0 << PXPMSC_PM_STATE_OFFS)
#define PXPMSC_PM_STATE_D1		(0x1 << PXPMSC_PM_STATE_OFFS)
#define PXPMSC_PM_STATE_D2		(0x2 << PXPMSC_PM_STATE_OFFS)
#define PXPMSC_PM_STATE_D3		(0x3 << PXPMSC_PM_STATE_OFFS)

#define PXPMSC_PME_EN			BIT8/* PM_PME Message Generation Enable */

#define PXPMSC_PM_DATA_SEL_OFFS	9	/* Data Select*/
#define PXPMSC_PM_DATA_SEL_MASK	(0xf << PXPMSC_PM_DATA_SEL_OFFS)

#define PXPMSC_PM_DATA_SCALE_OFFS	13	/* Data Scale */
#define PXPMSC_PM_DATA_SCALE_MASK	(0x3 << PXPMSC_PM_DATA_SCALE_OFFS)

#define PXPMSC_PME_STAT				BIT15/* PME Status */

#define PXPMSC_PM_DATA_OFFS			24		/* State Data */
#define PXPMSC_PM_DATA_MASK			(0xff << PXPMSC_PM_DATA_OFFS)


/* PCI Express MSI Message Control Register*/								 
/*PEX_MSI_MESSAGE_CONTROL (PXMMC)*/

#define PXMMC_CAP_ID_OFFS			0 /* Capability ID */
#define PXMMC_CAP_ID_MASK			(0xff << PXMMC_CAP_ID_OFFS)

#define PXMMC_NEXT_PTR_OFFS			8 /* Next Item Pointer */
#define PXMMC_NEXT_PTR_MASK			(0xff << PXMMC_NEXT_PTR_OFFS)

#define PXMMC_MSI_EN				BIT18 /* MSI Enable */

#define PXMMC_MULTI_CAP_OFFS		17 /* Multiple Message Capable */
#define PXMMC_MULTI_CAP_MASK		(0x7 << PXMMC_MULTI_CAP_OFFS)

#define PXMMC_MULTI_EN_OFFS			20  /* Multiple Messages Enable */
#define PXMMC_MULTI_EN_MASK			(0x7 << PXMMC_MULTI_EN_OFFS)

#define PXMMC_ADDR64				BIT23	/* 64-bit Addressing Capable */


/* PCI Express MSI Message Address Register*/
/*PEX_MSI_MESSAGE_ADDR (PXMMA)*/

#define PXMMA_MSI_ADDR_OFFS			2 /* Message Address  corresponds to 
										Address[31:2] of the MSI MWr TLP*/
#define PXMMA_MSI_ADDR_MASK			(0x3fffffff << PXMMA_MSI_ADDR_OFFS)


/* PCI Express MSI Message Address (High) Register */
/*PEX_MSI_MESSAGE_HIGH_ADDR (PXMMHA)*/

#define PXMMA_MSI_ADDR_H_OFFS		0 /* Message Upper Address corresponds to 
											Address[63:32] of the MSI MWr TLP*/
#define PXMMA_MSI_ADDR_H_MASK		(0xffffffff << PXMMA_MSI_ADDR_H_OFFS )


/* PCI Express MSI Message Data Register*/
/*PEX_MSI_MESSAGE_DATA (PXMMD)*/

#define PXMMD_MSI_DATA_OFFS 		0 /* Message Data */
#define PXMMD_MSI_DATA_MASK 		(0xffff << PXMMD_MSI_DATA_OFFS )


/* PCI Express Capability Register*/								 
/*PEX_CAPABILITY_REG (PXCR)*/

#define PXCR_CAP_ID_OFFS			0	/* Capability ID*/
#define PXCR_CAP_ID_MASK			(0xff << PXCR_CAP_ID_OFFS)

#define PXCR_NEXT_PTR_OFFS			8 /* Next Item Pointer*/
#define PXCR_NEXT_PTR_MASK			(0xff << PXCR_NEXT_PTR_OFFS)

#define PXCR_CAP_VER_OFFS			16 /* Capability Version*/
#define PXCR_CAP_VER_MASK			(0xf << PXCR_CAP_VER_OFFS)

#define PXCR_DEV_TYPE_OFFS			20 /*  Device/Port Type*/
#define PXCR_DEV_TYPE_MASK			(0xf << PXCR_DEV_TYPE_OFFS)

#define PXCR_SLOT_IMP 				BIT24 /* Slot Implemented*/

#define PXCR_INT_MSG_NUM_OFFS		25 /* Interrupt Message Number*/
#define PXCR_INT_MSG_NUM_MASK		(0x1f << PXCR_INT_MSG_NUM_OFFS)


/* PCI Express Device Capabilities Register */
/*PEX_DEV_CAPABILITY_REG (PXDCR)*/

#define PXDCR_MAX_PLD_SIZE_SUP_OFFS			0 /* Maximum Payload Size Supported*/
#define PXDCR_MAX_PLD_SIZE_SUP_MASK			(0x7 << PXDCR_MAX_PLD_SIZE_SUP_OFFS)

#define PXDCR_EP_L0S_ACC_LAT_OFFS			6/* Endpoint L0s Acceptable Latency*/
#define PXDCR_EP_L0S_ACC_LAT_MASK			(0x7 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_64NS_LESS		(0x0 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_64NS_128NS		(0x1 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_128NS_256NS	(0x2 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_256NS_512NS	(0x3 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_512NS_1US		(0x4 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_1US_2US		(0x5 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_2US_4US		(0x6 << PXDCR_EP_L0S_ACC_LAT_OFFS)
#define PXDCR_EP_L0S_ACC_LAT_4US_MORE		(0x7 << PXDCR_EP_L0S_ACC_LAT_OFFS)

#define PXDCR_EP_L1_ACC_LAT_OFFS 			9 /* Endpoint L1 Acceptable Latency*/
#define PXDCR_EP_L1_ACC_LAT_MASK			(0x7 << PXDCR_EP_L1_ACC_LAT_OFFS)
#define PXDCR_EP_L1_ACC_LAT_64NS_LESS       (0x0 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_64NS_128NS      (0x1 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_128NS_256NS     (0x2 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_256NS_512NS     (0x3 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_512NS_1US       (0x4 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_1US_2US         (0x5 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_2US_4US         (0x6 << PXDCR_EP_L1_ACC_LAT_OFFS) 
#define PXDCR_EP_L1_ACC_LAT_4US_MORE        (0x7 << PXDCR_EP_L1_ACC_LAT_OFFS) 


#define PXDCR_ATT_BUT_PRS_OFFS				12 /* Attention Button Present*/
#define PXDCR_ATT_BUT_PRS_MASK				BIT12
#define PXDCR_ATT_BUT_PRS_IMPLEMENTED		BIT12

#define PXDCR_ATT_IND_PRS_OFFS				13 /* Attention Indicator Present*/
#define PXDCR_ATT_IND_PRS_MASK				BIT13
#define PXDCR_ATT_IND_PRS_IMPLEMENTED		BIT13

#define PXDCR_PWR_IND_PRS_OFFS        		14/* Power Indicator Present*/
#define PXDCR_PWR_IND_PRS_MASK       		BIT14
#define PXDCR_PWR_IND_PRS_IMPLEMENTED		BIT14

#define PXDCR_CAP_SPL_VAL_OFFS				18 /*Captured Slot Power Limit 
												 Value*/
#define PXDCR_CAP_SPL_VAL_MASK				(0xff << PXDCR_CAP_SPL_VAL_OFFS)

#define PXDCR_CAP_SP_LSCL_OFFS				26 /* Captured Slot Power Limit
												  Scale */
#define PXDCR_CAP_SP_LSCL_MASK				(0x3 << PXDCR_CAP_SP_LSCL_OFFS)

/* PCI Express Device Control Status Register */
/*PEX_DEV_CTRL_STAT_REG (PXDCSR)*/

#define PXDCSR_COR_ERR_REP_EN		BIT0 /* Correctable Error Reporting Enable*/
#define PXDCSR_NF_ERR_REP_EN		BIT1 /* Non-Fatal Error Reporting Enable*/
#define PXDCSR_F_ERR_REP_EN			BIT2 /* Fatal Error Reporting Enable*/
#define PXDCSR_UR_REP_EN			BIT3 /* Unsupported Request (UR) 
													Reporting Enable*/
#define PXDCSR_EN_RO 				BIT4 /* Enable Relaxed Ordering*/

#define PXDCSR_MAX_PLD_SZ_OFFS		5	 /* Maximum Payload Size*/
#define PXDCSR_MAX_PLD_SZ_MASK		(0x7 << PXDCSR_MAX_PLD_SZ_OFFS)
#define PXDCSR_MAX_PLD_SZ_128B		(0x0 << PXDCSR_MAX_PLD_SZ_OFFS)
#define PXDCSR_EN_NS				BIT11  /* Enable No Snoop*/

#define PXDCSR_MAX_RD_RQ_SZ_OFFS	12 /* Maximum Read Request Size*/
#define PXDCSR_MAX_RD_RQ_SZ_MASK	(0x7 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_128B	(0x0 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_256B	(0x1 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_512B	(0x2 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_1KB		(0x3 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_2KB		(0x4 << PXDCSR_MAX_RD_RQ_SZ_OFFS)
#define PXDCSR_MAX_RD_RQ_SZ_4KB		(0x5 << PXDCSR_MAX_RD_RQ_SZ_OFFS)

#define PXDCSR_COR_ERR_DET 			BIT16 /* Correctable Error Detected*/
#define PXDCSR_NF_ERR_DET 			BIT17 /* Non-Fatal Error Detected.*/
#define PXDCSR_F_ERR_DET 			BIT18 /* Fatal Error Detected.*/
#define PXDCSR_UR_DET				BIT19 /* Unsupported Request Detected */
#define PXDCSR_AUX_PWR_DET 			BIT20 /* Reserved*/

#define PXDCSR_TRANS_PEND_OFFS 			21 /* Transactions Pending*/
#define PXDCSR_TRANS_PEND_MASK 			BIT21
#define PXDCSR_TRANS_PEND_NOT_COMPLETED (0x1 << PXDCSR_TRANS_PEND_OFFS)


/* PCI Express Link Capabilities Register*/
/*PEX_LINK_CAPABILITY_REG (PXLCR)*/

#define PXLCR_MAX_LINK_SPD_OFFS		0 /* Maximum Link Speed*/
#define PXLCR_MAX_LINK_SPD_MASK		(0xf << PXLCR_MAX_LINK_SPD_OFFS)

#define PXLCR_MAX_LNK_WDTH_OFFS 	3 /* Maximum Link Width*/
#define PXLCR_MAX_LNK_WDTH_MASK		(0x3f << PXLCR_MAX_LNK_WDTH_OFFS)

#define PXLCR_ASPM_SUP_OFFS 		10 /* Active State Link PM Support*/
#define PXLCR_ASPM_SUP_MASK			(0x3 << PXLCR_ASPM_SUP_OFFS)

#define PXLCR_L0S_EXT_LAT_OFFS 			12 /* L0s Exit Latency*/
#define PXLCR_L0S_EXT_LAT_MASK			(0x7 << PXLCR_L0S_EXT_LAT_OFFS)
#define PXLCR_L0S_EXT_LAT_64NS_LESS     (0x0 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_64NS_128NS   	(0x1 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_128NS_256NS   (0x2 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_256NS_512NS   (0x3 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_512NS_1US     (0x4 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_1US_2US       (0x5 << PXDCR_EP_L1_ACC_LAT_OFFS)  
#define PXLCR_L0S_EXT_LAT_2US_4US       (0x6 << PXDCR_EP_L1_ACC_LAT_OFFS)  

#define PXLCR_POR_TNUM_OFFS 			24 /* Port Number */
#define PXLCR_POR_TNUM_MASK				(0xff << PXLCR_POR_TNUM_OFFS)

/* PCI Express Link Control Status Register */
/*PEX_LINK_CTRL_STAT_REG (PXLCSR)*/

#define PXLCSR_ASPM_CNT_OFFS			0 /* Active State Link PM Control */
#define PXLCSR_ASPM_CNT_MASK			(0x3 << PXLCSR_ASPM_CNT_OFFS)
#define PXLCSR_ASPM_CNT_DISABLED		(0x0 << PXLCSR_ASPM_CNT_OFFS)
#define PXLCSR_ASPM_CNT_L0S_ENT_SUPP		(0x1 << PXLCSR_ASPM_CNT_OFFS)
#define PXLCSR_ASPM_CNT_L1S_ENT_SUPP		(0x2 << PXLCSR_ASPM_CNT_OFFS)
#define PXLCSR_ASPM_CNT_L0S_L1S_ENT_SUPP	(0x3 << PXLCSR_ASPM_CNT_OFFS)

#define PXLCSR_RCB_OFFS				3 /* Read Completion Boundary */
#define PXLCSR_RCB_MASK				BIT3
#define PXLCSR_RCB_64B				(0 << PXLCSR_RCB_OFFS)
#define PXLCSR_RCB_128B				(1 << PXLCSR_RCB_OFFS)

#define PXLCSR_LNK_DIS 				BIT4 /* Link Disable */
#define PXLCSR_RETRN_LNK 			BIT5 /* Retrain Link */
#define PXLCSR_CMN_CLK_CFG			BIT6 /* Common Clock Configuration */
#define PXLCSR_EXTD_SNC 			BIT7 /* Extended Sync */

#define PXLCSR_LNK_SPD_OFFS 		16 /* Link Speed */
#define PXLCSR_LNK_SPD_MASK			(0xf << PXLCSR_LNK_SPD_OFFS)

#define PXLCSR_NEG_LNK_WDTH_OFFS	20  /* Negotiated Link Width */
#define PXLCSR_NEG_LNK_WDTH_MASK 	(0x3f << PXLCSR_NEG_LNK_WDTH_OFFS)
#define PXLCSR_NEG_LNK_WDTH_X1		(0x1 << PXLCSR_NEG_LNK_WDTH_OFFS)

#define PXLCSR_LNK_TRN 				BIT27 /* Link Training */

#define PXLCSR_SLT_CLK_CFG_OFFS		28 /* Slot Clock Configuration */
#define PXLCSR_SLT_CLK_CFG_MASK		BIT28
#define PXLCSR_SLT_CLK_CFG_INDPNT	(0x0 << PXLCSR_SLT_CLK_CFG_OFFS)
#define PXLCSR_SLT_CLK_CFG_REF		(0x1 << PXLCSR_SLT_CLK_CFG_OFFS)
								
/* PCI Express Advanced Error Report Header Register */								 
/*PEX_ADV_ERR_RPRT_HDR_TRGT_REG (PXAERHTR)*/

/* PCI Express Uncorrectable Error Status Register*/
/*PEX_UNCORRECT_ERR_STAT_REG (PXUESR)*/

/* PCI Express Uncorrectable Error Mask Register */
/*PEX_UNCORRECT_ERR_MASK_REG (PXUEMR)*/

/* PCI Express Uncorrectable Error Severity Register */
/*PEX_UNCORRECT_ERR_SERVITY_REG (PXUESR)*/

/* PCI Express Correctable Error Status Register */
/*PEX_CORRECT_ERR_STAT_REG (PXCESR)*/

/* PCI Express Correctable Error Mask Register */
/*PEX_CORRECT_ERR_MASK_REG (PXCEMR)*/

/* PCI Express Advanced Error Capability and Control Register*/
/*PEX_ADV_ERR_CAPABILITY_CTRL_REG (PXAECCR)*/

/* PCI Express Header Log First DWORD Register*/
/*PEX_HDR_LOG_FIRST_DWORD_REG (PXHLFDR)*/

/* PCI Express Header Log Second DWORD Register*/
/*PEX_HDR_LOG_SECOND_DWORD_REG (PXHLSDR)*/

/* PCI Express Header Log Third DWORD Register*/
/*PEX_HDR_LOG_THIRD_DWORD_REG (PXHLTDR)*/

/* PCI Express Header Log Fourth DWORD Register*/
/*PEX_HDR_LOG_FOURTH_DWORD_REG (PXHLFDR)*/

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* #ifndef __INCPEXREGSH */