144961713Sgirish /*
244961713Sgirish  * CDDL HEADER START
344961713Sgirish  *
444961713Sgirish  * The contents of this file are subject to the terms of the
544961713Sgirish  * Common Development and Distribution License (the "License").
644961713Sgirish  * You may not use this file except in compliance with the License.
744961713Sgirish  *
844961713Sgirish  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
944961713Sgirish  * or http://www.opensolaris.org/os/licensing.
1044961713Sgirish  * See the License for the specific language governing permissions
1144961713Sgirish  * and limitations under the License.
1244961713Sgirish  *
1344961713Sgirish  * When distributing Covered Code, include this CDDL HEADER in each
1444961713Sgirish  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1544961713Sgirish  * If applicable, add the following below this CDDL HEADER, with the
1644961713Sgirish  * fields enclosed by brackets "[]" replaced with your own identifying
1744961713Sgirish  * information: Portions Copyright [yyyy] [name of copyright owner]
1844961713Sgirish  *
1944961713Sgirish  * CDDL HEADER END
2044961713Sgirish  */
2144961713Sgirish /*
2244961713Sgirish  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2344961713Sgirish  * Use is subject to license terms.
2444961713Sgirish  */
2544961713Sgirish 
2644961713Sgirish #ifndef	_SYS_NXGE_NXGE_SR_HW_H
2744961713Sgirish #define	_SYS_NXGE_NXGE_SR_HW_H
2844961713Sgirish 
2944961713Sgirish #ifdef	__cplusplus
3044961713Sgirish extern "C" {
3144961713Sgirish #endif
3244961713Sgirish 
3344961713Sgirish #define	ESR_NEPTUNE_DEV_ADDR	0x1E
3444961713Sgirish #define	ESR_NEPTUNE_BASE	0
3544961713Sgirish #define	ESR_PORT_ADDR_BASE	0
3644961713Sgirish #define	PCISR_DEV_ADDR		0x1E
3744961713Sgirish #define	PCISR_BASE		0
3844961713Sgirish #define	PCISR_PORT_ADDR_BASE	2
3944961713Sgirish 
4044961713Sgirish #define	PB	0
4144961713Sgirish 
4244961713Sgirish #define	SR_RX_TX_COMMON_CONTROL	PB + 0x000
4344961713Sgirish #define	SR_RX_TX_RESET_CONTROL	PB + 0x004
4444961713Sgirish #define	SR_RX_POWER_CONTROL	PB + 0x008
4544961713Sgirish #define	SR_TX_POWER_CONTROL	PB + 0x00C
4644961713Sgirish #define	SR_MISC_POWER_CONTROL	PB + 0x010
4744961713Sgirish #define	SR_RX_TX_CONTROL_A	PB + 0x100
4844961713Sgirish #define	SR_RX_TX_TUNING_A	PB + 0x104
4944961713Sgirish #define	SR_RX_SYNCCHAR_A	PB + 0x108
5044961713Sgirish #define	SR_RX_TX_TEST_A		PB + 0x10C
5144961713Sgirish #define	SR_GLUE_CONTROL0_A	PB + 0x110
5244961713Sgirish #define	SR_GLUE_CONTROL1_A	PB + 0x114
5344961713Sgirish #define	SR_RX_TX_CONTROL_B	PB + 0x120
5444961713Sgirish #define	SR_RX_TX_TUNING_B	PB + 0x124
5544961713Sgirish #define	SR_RX_SYNCCHAR_B	PB + 0x128
5644961713Sgirish #define	SR_RX_TX_TEST_B		PB + 0x12C
5744961713Sgirish #define	SR_GLUE_CONTROL0_B	PB + 0x130
5844961713Sgirish #define	SR_GLUE_CONTROL1_B	PB + 0x134
5944961713Sgirish #define	SR_RX_TX_CONTROL_C	PB + 0x140
6044961713Sgirish #define	SR_RX_TX_TUNING_C	PB + 0x144
6144961713Sgirish #define	SR_RX_SYNCCHAR_C	PB + 0x148
6244961713Sgirish #define	SR_RX_TX_TEST_C		PB + 0x14C
6344961713Sgirish #define	SR_GLUE_CONTROL0_C	PB + 0x150
6444961713Sgirish #define	SR_GLUE_CONTROL1_C	PB + 0x154
6544961713Sgirish #define	SR_RX_TX_CONTROL_D	PB + 0x160
6644961713Sgirish #define	SR_RX_TX_TUNING_D	PB + 0x164
6744961713Sgirish #define	SR_RX_SYNCCHAR_D	PB + 0x168
6844961713Sgirish #define	SR_RX_TX_TEST_D		PB + 0x16C
6944961713Sgirish #define	SR_GLUE_CONTROL0_D	PB + 0x170
7044961713Sgirish #define	SR_GLUE_CONTROL1_D	PB + 0x174
7144961713Sgirish #define	SR_RX_TX_TUNING_1_A	PB + 0x184
7244961713Sgirish #define	SR_RX_TX_TUNING_1_B	PB + 0x1A4
7344961713Sgirish #define	SR_RX_TX_TUNING_1_C	PB + 0x1C4
7444961713Sgirish #define	SR_RX_TX_TUNING_1_D	PB + 0x1E4
7544961713Sgirish #define	SR_RX_TX_TUNING_2_A	PB + 0x204
7644961713Sgirish #define	SR_RX_TX_TUNING_2_B	PB + 0x224
7744961713Sgirish #define	SR_RX_TX_TUNING_2_C	PB + 0x244
7844961713Sgirish #define	SR_RX_TX_TUNING_2_D	PB + 0x264
7944961713Sgirish #define	SR_RX_TX_TUNING_3_A	PB + 0x284
8044961713Sgirish #define	SR_RX_TX_TUNING_3_B	PB + 0x2A4
8144961713Sgirish #define	SR_RX_TX_TUNING_3_C	PB + 0x2C4
8244961713Sgirish #define	SR_RX_TX_TUNING_3_D	PB + 0x2E4
8344961713Sgirish 
8444961713Sgirish /*
8544961713Sgirish  * Shift right by 1 because the PRM requires that all the serdes register
8644961713Sgirish  * address be divided by 2
8744961713Sgirish  */
8844961713Sgirish #define	ESR_NEP_RX_TX_COMMON_CONTROL_L_ADDR()	(ESR_NEPTUNE_BASE +\
8944961713Sgirish 						(SR_RX_TX_COMMON_CONTROL >> 1))
9044961713Sgirish #define	ESR_NEP_RX_TX_COMMON_CONTROL_H_ADDR()	(ESR_NEPTUNE_BASE +\
9144961713Sgirish 						(SR_RX_TX_COMMON_CONTROL >> 1)\
9244961713Sgirish 						+ 1)
9344961713Sgirish #define	ESR_NEP_RX_TX_RESET_CONTROL_L_ADDR()	(ESR_NEPTUNE_BASE +\
9444961713Sgirish 						(SR_RX_TX_RESET_CONTROL >> 1))
9544961713Sgirish #define	ESR_NEP_RX_TX_RESET_CONTROL_H_ADDR()	(ESR_NEPTUNE_BASE +\
9644961713Sgirish 						(SR_RX_TX_RESET_CONTROL >> 1)\
9744961713Sgirish 						+ 1)
9844961713Sgirish #define	ESR_NEP_RX_POWER_CONTROL_L_ADDR()	(ESR_NEPTUNE_BASE +\
9944961713Sgirish 						(SR_RX_POWER_CONTROL >> 1))
10044961713Sgirish #define	ESR_NEP_RX_POWER_CONTROL_H_ADDR()	(ESR_NEPTUNE_BASE +\
10144961713Sgirish 						(SR_RX_POWER_CONTROL >> 1) + 1)
10244961713Sgirish #define	ESR_NEP_TX_POWER_CONTROL_L_ADDR()	(ESR_NEPTUNE_BASE +\
10344961713Sgirish 						(SR_TX_POWER_CONTROL >> 1))
10444961713Sgirish #define	ESR_NEP_TX_POWER_CONTROL_H_ADDR()	(ESR_NEPTUNE_BASE +\
10544961713Sgirish 						(SR_TX_POWER_CONTROL >> 1) + 1)
10644961713Sgirish #define	ESR_NEP_MISC_POWER_CONTROL_L_ADDR()	(ESR_NEPTUNE_BASE +\
10744961713Sgirish 						(SR_MISC_POWER_CONTROL >> 1))
10844961713Sgirish #define	ESR_NEP_MISC_POWER_CONTROL_H_ADDR()	(ESR_NEPTUNE_BASE +\
10944961713Sgirish 						(SR_MISC_POWER_CONTROL >> 1)\
11044961713Sgirish 						+ 1)
11144961713Sgirish #define	ESR_NEP_RX_TX_CONTROL_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
11244961713Sgirish 						SR_RX_TX_CONTROL_A +\
11344961713Sgirish 						(chan * 0x20)) >> 1)
11444961713Sgirish #define	ESR_NEP_RX_TX_CONTROL_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
11544961713Sgirish 						SR_RX_TX_CONTROL_A +\
11644961713Sgirish 						(chan * 0x20)) >> 1) + 1
11744961713Sgirish #define	ESR_NEP_RX_TX_TUNING_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
11844961713Sgirish 						SR_RX_TX_TUNING_A +\
11944961713Sgirish 						(chan * 0x20)) >> 1)
12044961713Sgirish #define	ESR_NEP_RX_TX_TUNING_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
12144961713Sgirish 						SR_RX_TX_TUNING_A +\
12244961713Sgirish 						(chan * 0x20)) >> 1) + 1
12344961713Sgirish #define	ESR_NEP_RX_TX_SYNCCHAR_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
12444961713Sgirish 						SR_RX_SYNCCHAR_A +\
12544961713Sgirish 						(chan * 0x20)) >> 1)
12644961713Sgirish #define	ESR_NEP_RX_TX_SYNCCHAR_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
12744961713Sgirish 						SR_RX_SYNCCHAR_A +\
12844961713Sgirish 						(chan * 0x20)) >> 1) + 1
12944961713Sgirish #define	ESR_NEP_RX_TX_TEST_L_ADDR(chan)		((ESR_NEPTUNE_BASE +\
13044961713Sgirish 						SR_RX_TX_TEST_A +\
13144961713Sgirish 						(chan * 0x20)) >> 1)
13244961713Sgirish #define	ESR_NEP_RX_TX_TEST_H_ADDR(chan)		((ESR_NEPTUNE_BASE +\
13344961713Sgirish 						SR_RX_TX_TEST_A +\
13444961713Sgirish 						(chan * 0x20)) >> 1) + 1
13544961713Sgirish #define	ESR_NEP_GLUE_CONTROL0_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
13644961713Sgirish 						SR_GLUE_CONTROL0_A +\
13744961713Sgirish 						(chan * 0x20)) >> 1)
13844961713Sgirish #define	ESR_NEP_GLUE_CONTROL0_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
13944961713Sgirish 						SR_GLUE_CONTROL0_A +\
14044961713Sgirish 						(chan * 0x20)) >> 1) + 1
14144961713Sgirish #define	ESR_NEP_GLUE_CONTROL1_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
14244961713Sgirish 						SR_GLUE_CONTROL1_A +\
14344961713Sgirish 						(chan * 0x20)) >> 1)
14444961713Sgirish #define	ESR_NEP_GLUE_CONTROL1_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
14544961713Sgirish 						SR_GLUE_CONTROL1_A +\
14644961713Sgirish 						(chan * 0x20)) >> 1) + 1
14744961713Sgirish #define	ESR_NEP_RX_TX_TUNING_1_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
14844961713Sgirish 						SR_RX_TX_TUNING_1_A +\
14944961713Sgirish 						(chan * 0x20)) >> 1)
15044961713Sgirish #define	ESR_NEP_RX_TX_TUNING_1_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
15144961713Sgirish 						SR_RX_TX_TUNING_1_A +\
15244961713Sgirish 						(chan * 0x20)) >> 1) + 1
15344961713Sgirish #define	ESR_NEP_RX_TX_TUNING_2_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
15444961713Sgirish 						SR_RX_TX_TUNING_2_A +\
15544961713Sgirish 						(chan * 0x20)) >> 1)
15644961713Sgirish #define	ESR_NEP_RX_TX_TUNING_2_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
15744961713Sgirish 						SR_RX_TX_TUNING_2_A +\
15844961713Sgirish 						(chan * 0x20)) >> 1) + 1
15944961713Sgirish #define	ESR_NEP_RX_TX_TUNING_3_L_ADDR(chan)	((ESR_NEPTUNE_BASE +\
16044961713Sgirish 						SR_RX_TX_TUNING_3_A +\
16144961713Sgirish 						(chan * 0x20)) >> 1)
16244961713Sgirish #define	ESR_NEP_RX_TX_TUNING_3_H_ADDR(chan)	((ESR_NEPTUNE_BASE +\
16344961713Sgirish 						SR_RX_TX_TUNING_3_A +\
16444961713Sgirish 						(chan * 0x20)) >> 1) + 1
16544961713Sgirish 
16644961713Sgirish typedef	union _sr_rx_tx_common_ctrl_l {
16744961713Sgirish 	uint16_t value;
16844961713Sgirish 	struct {
16944961713Sgirish #if defined(_BIT_FIELDS_HTOL)
17044961713Sgirish 		uint16_t res3		: 3;
17144961713Sgirish 		uint16_t refclkr_freq	: 5;
17244961713Sgirish 		uint16_t res4		: 8;
17344961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
17444961713Sgirish 		uint16_t res4		: 8;
17544961713Sgirish 		uint16_t refclkr_freq	: 5;
17644961713Sgirish 		uint16_t res3		: 3;
17744961713Sgirish #else
17844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
17944961713Sgirish #endif
18044961713Sgirish 	} bits;
18144961713Sgirish } sr_rx_tx_common_ctrl_l;
18244961713Sgirish 
18344961713Sgirish typedef	union _sr_rx_tx_common_ctrl_h {
18444961713Sgirish 	uint16_t value;
18544961713Sgirish 	struct {
18644961713Sgirish #if defined(_BIT_FIELDS_HTOL)
18744961713Sgirish 		uint16_t res1		: 5;
18844961713Sgirish 		uint16_t tdmaster	: 3;
18944961713Sgirish 		uint16_t tp		: 2;
19044961713Sgirish 		uint16_t tz		: 2;
19144961713Sgirish 		uint16_t res2		: 2;
19244961713Sgirish 		uint16_t revlbrefsel	: 2;
19344961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
19444961713Sgirish 		uint16_t revlbrefsel	: 2;
19544961713Sgirish 		uint16_t res2		: 2;
19644961713Sgirish 		uint16_t tz		: 2;
19744961713Sgirish 		uint16_t tp		: 2;
19844961713Sgirish 		uint16_t tdmaster	: 3;
19944961713Sgirish 		uint16_t res1		: 5;
20044961713Sgirish #else
20144961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
20244961713Sgirish #endif
20344961713Sgirish 	} bits;
20444961713Sgirish } sr_rx_tx_common_ctrl_h;
20544961713Sgirish 
20644961713Sgirish 
20744961713Sgirish /* RX TX Common Control Register field values */
20844961713Sgirish 
20944961713Sgirish #define	TDMASTER_LANE_A		0
21044961713Sgirish #define	TDMASTER_LANE_B		1
21144961713Sgirish #define	TDMASTER_LANE_C		2
21244961713Sgirish #define	TDMASTER_LANE_D		3
21344961713Sgirish 
21444961713Sgirish #define	REVLBREFSEL_GBT_RBC_A_O		0
21544961713Sgirish #define	REVLBREFSEL_GBT_RBC_B_O		1
21644961713Sgirish #define	REVLBREFSEL_GBT_RBC_C_O		2
21744961713Sgirish #define	REVLBREFSEL_GBT_RBC_D_O		3
21844961713Sgirish 
21944961713Sgirish #define	REFCLKR_FREQ_SIM		0
22044961713Sgirish #define	REFCLKR_FREQ_53_125		0x1
22144961713Sgirish #define	REFCLKR_FREQ_62_5		0x3
22244961713Sgirish #define	REFCLKR_FREQ_70_83		0x4
22344961713Sgirish #define	REFCLKR_FREQ_75			0x5
22444961713Sgirish #define	REFCLKR_FREQ_78_125		0x6
22544961713Sgirish #define	REFCLKR_FREQ_79_6875		0x7
22644961713Sgirish #define	REFCLKR_FREQ_83_33		0x8
22744961713Sgirish #define	REFCLKR_FREQ_85			0x9
22844961713Sgirish #define	REFCLKR_FREQ_100		0xA
22944961713Sgirish #define	REFCLKR_FREQ_104_17		0xB
23044961713Sgirish #define	REFCLKR_FREQ_106_25		0xC
23144961713Sgirish #define	REFCLKR_FREQ_120		0xF
23244961713Sgirish #define	REFCLKR_FREQ_125		0x10
23344961713Sgirish #define	REFCLKR_FREQ_127_5		0x11
23444961713Sgirish #define	REFCLKR_FREQ_141_67		0x13
23544961713Sgirish #define	REFCLKR_FREQ_150		0x15
23644961713Sgirish #define	REFCLKR_FREQ_156_25		0x16
23744961713Sgirish #define	REFCLKR_FREQ_159_375		0x17
23844961713Sgirish #define	REFCLKR_FREQ_170		0x19
23944961713Sgirish #define	REFCLKR_FREQ_212_5		0x1E
24044961713Sgirish 
24144961713Sgirish typedef	union _sr_rx_tx_reset_ctrl_l {
24244961713Sgirish 	uint16_t value;
24344961713Sgirish 	struct {
24444961713Sgirish #if defined(_BIT_FIELDS_HTOL)
24544961713Sgirish 		uint16_t rxreset_0a	: 1;
24644961713Sgirish 		uint16_t rxreset_0b	: 1;
24744961713Sgirish 		uint16_t rxreset_0c	: 1;
24844961713Sgirish 		uint16_t rxreset_0d	: 1;
24944961713Sgirish 		uint16_t rxreset_1a	: 1;
25044961713Sgirish 		uint16_t rxreset_1b	: 1;
25144961713Sgirish 		uint16_t rxreset_1c	: 1;
25244961713Sgirish 		uint16_t rxreset_1d	: 1;
25344961713Sgirish 		uint16_t rxreset_2a	: 1;
25444961713Sgirish 		uint16_t rxreset_2b	: 1;
25544961713Sgirish 		uint16_t rxreset_2c	: 1;
25644961713Sgirish 		uint16_t rxreset_2d	: 1;
25744961713Sgirish 		uint16_t rxreset_3a	: 1;
25844961713Sgirish 		uint16_t rxreset_3b	: 1;
25944961713Sgirish 		uint16_t rxreset_3c	: 1;
26044961713Sgirish 		uint16_t rxreset_3d	: 1;
26144961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
26244961713Sgirish 		uint16_t rxreset_3d	: 1;
26344961713Sgirish 		uint16_t rxreset_3c	: 1;
26444961713Sgirish 		uint16_t rxreset_3b	: 1;
26544961713Sgirish 		uint16_t rxreset_3a	: 1;
26644961713Sgirish 		uint16_t rxreset_2d	: 1;
26744961713Sgirish 		uint16_t rxreset_2c	: 1;
26844961713Sgirish 		uint16_t rxreset_2b	: 1;
26944961713Sgirish 		uint16_t rxreset_2a	: 1;
27044961713Sgirish 		uint16_t rxreset_1d	: 1;
27144961713Sgirish 		uint16_t rxreset_1c	: 1;
27244961713Sgirish 		uint16_t rxreset_1b	: 1;
27344961713Sgirish 		uint16_t rxreset_1a	: 1;
27444961713Sgirish 		uint16_t rxreset_0d	: 1;
27544961713Sgirish 		uint16_t rxreset_0c	: 1;
27644961713Sgirish 		uint16_t rxreset_0b	: 1;
27744961713Sgirish 		uint16_t rxreset_0a	: 1;
27844961713Sgirish #else
27944961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
28044961713Sgirish #endif
28144961713Sgirish 	} bits;
28244961713Sgirish } sr_rx_tx_reset_ctrl_l;
28344961713Sgirish 
28444961713Sgirish 
28544961713Sgirish typedef	union _sr_rx_tx_reset_ctrl_h {
28644961713Sgirish 	uint16_t value;
28744961713Sgirish 	struct {
28844961713Sgirish #if defined(_BIT_FIELDS_HTOL)
28944961713Sgirish 		uint16_t txreset_0a	: 1;
29044961713Sgirish 		uint16_t txreset_0b	: 1;
29144961713Sgirish 		uint16_t txreset_0c	: 1;
29244961713Sgirish 		uint16_t txreset_0d	: 1;
29344961713Sgirish 		uint16_t txreset_1a	: 1;
29444961713Sgirish 		uint16_t txreset_1b	: 1;
29544961713Sgirish 		uint16_t txreset_1c	: 1;
29644961713Sgirish 		uint16_t txreset_1d	: 1;
29744961713Sgirish 		uint16_t txreset_2a	: 1;
29844961713Sgirish 		uint16_t txreset_2b	: 1;
29944961713Sgirish 		uint16_t txreset_2c	: 1;
30044961713Sgirish 		uint16_t txreset_2d	: 1;
30144961713Sgirish 		uint16_t txreset_3a	: 1;
30244961713Sgirish 		uint16_t txreset_3b	: 1;
30344961713Sgirish 		uint16_t txreset_3c	: 1;
30444961713Sgirish 		uint16_t txreset_3d	: 1;
30544961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
30644961713Sgirish 		uint16_t txreset_3d	: 1;
30744961713Sgirish 		uint16_t txreset_3c	: 1;
30844961713Sgirish 		uint16_t txreset_3b	: 1;
30944961713Sgirish 		uint16_t txreset_3a	: 1;
31044961713Sgirish 		uint16_t txreset_2d	: 1;
31144961713Sgirish 		uint16_t txreset_2c	: 1;
31244961713Sgirish 		uint16_t txreset_2b	: 1;
31344961713Sgirish 		uint16_t txreset_2a	: 1;
31444961713Sgirish 		uint16_t txreset_1d	: 1;
31544961713Sgirish 		uint16_t txreset_1c	: 1;
31644961713Sgirish 		uint16_t txreset_1b	: 1;
31744961713Sgirish 		uint16_t txreset_1a	: 1;
31844961713Sgirish 		uint16_t txreset_0d	: 1;
31944961713Sgirish 		uint16_t txreset_0c	: 1;
32044961713Sgirish 		uint16_t txreset_0b	: 1;
32144961713Sgirish 		uint16_t txreset_0a	: 1;
32244961713Sgirish #else
32344961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
32444961713Sgirish #endif
32544961713Sgirish 	} bits;
32644961713Sgirish } sr_rx_tx_reset_ctrl_h;
32744961713Sgirish 
32844961713Sgirish typedef	union _sr_rx_power_ctrl_l {
32944961713Sgirish 	uint16_t value;
33044961713Sgirish 	struct {
33144961713Sgirish #if defined(_BIT_FIELDS_HTOL)
33244961713Sgirish 		uint16_t pdrxlos_0a	: 1;
33344961713Sgirish 		uint16_t pdrxlos_0b	: 1;
33444961713Sgirish 		uint16_t pdrxlos_0c	: 1;
33544961713Sgirish 		uint16_t pdrxlos_0d	: 1;
33644961713Sgirish 		uint16_t pdrxlos_1a	: 1;
33744961713Sgirish 		uint16_t pdrxlos_1b	: 1;
33844961713Sgirish 		uint16_t pdrxlos_1c	: 1;
33944961713Sgirish 		uint16_t pdrxlos_1d	: 1;
34044961713Sgirish 		uint16_t pdrxlos_2a	: 1;
34144961713Sgirish 		uint16_t pdrxlos_2b	: 1;
34244961713Sgirish 		uint16_t pdrxlos_2c	: 1;
34344961713Sgirish 		uint16_t pdrxlos_2d	: 1;
34444961713Sgirish 		uint16_t pdrxlos_3a	: 1;
34544961713Sgirish 		uint16_t pdrxlos_3b	: 1;
34644961713Sgirish 		uint16_t pdrxlos_3c	: 1;
34744961713Sgirish 		uint16_t pdrxlos_3d	: 1;
34844961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
34944961713Sgirish 		uint16_t pdrxlos_3d	: 1;
35044961713Sgirish 		uint16_t pdrxlos_3c	: 1;
35144961713Sgirish 		uint16_t pdrxlos_3b	: 1;
35244961713Sgirish 		uint16_t pdrxlos_3a	: 1;
35344961713Sgirish 		uint16_t pdrxlos_2d	: 1;
35444961713Sgirish 		uint16_t pdrxlos_2c	: 1;
35544961713Sgirish 		uint16_t pdrxlos_2b	: 1;
35644961713Sgirish 		uint16_t pdrxlos_2a	: 1;
35744961713Sgirish 		uint16_t pdrxlos_1d	: 1;
35844961713Sgirish 		uint16_t pdrxlos_1c	: 1;
35944961713Sgirish 		uint16_t pdrxlos_1b	: 1;
36044961713Sgirish 		uint16_t pdrxlos_1a	: 1;
36144961713Sgirish 		uint16_t pdrxlos_0d	: 1;
36244961713Sgirish 		uint16_t pdrxlos_0c	: 1;
36344961713Sgirish 		uint16_t pdrxlos_0b	: 1;
36444961713Sgirish 		uint16_t pdrxlos_0a	: 1;
36544961713Sgirish #else
36644961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
36744961713Sgirish #endif
36844961713Sgirish 	} bits;
36944961713Sgirish } sr_rx_power_ctrl_l_t;
37044961713Sgirish 
37144961713Sgirish 
37244961713Sgirish typedef	union _sr_rx_power_ctrl_h {
37344961713Sgirish 	uint16_t value;
37444961713Sgirish 	struct {
37544961713Sgirish #if defined(_BIT_FIELDS_HTOL)
37644961713Sgirish 		uint16_t pdownr_0a	: 1;
37744961713Sgirish 		uint16_t pdownr_0b	: 1;
37844961713Sgirish 		uint16_t pdownr_0c	: 1;
37944961713Sgirish 		uint16_t pdownr_0d	: 1;
38044961713Sgirish 		uint16_t pdownr_1a	: 1;
38144961713Sgirish 		uint16_t pdownr_1b	: 1;
38244961713Sgirish 		uint16_t pdownr_1c	: 1;
38344961713Sgirish 		uint16_t pdownr_1d	: 1;
38444961713Sgirish 		uint16_t pdownr_2a	: 1;
38544961713Sgirish 		uint16_t pdownr_2b	: 1;
38644961713Sgirish 		uint16_t pdownr_2c	: 1;
38744961713Sgirish 		uint16_t pdownr_2d	: 1;
38844961713Sgirish 		uint16_t pdownr_3a	: 1;
38944961713Sgirish 		uint16_t pdownr_3b	: 1;
39044961713Sgirish 		uint16_t pdownr_3c	: 1;
39144961713Sgirish 		uint16_t pdownr_3d	: 1;
39244961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
39344961713Sgirish 		uint16_t pdownr_3d	: 1;
39444961713Sgirish 		uint16_t pdownr_3c	: 1;
39544961713Sgirish 		uint16_t pdownr_3b	: 1;
39644961713Sgirish 		uint16_t pdownr_3a	: 1;
39744961713Sgirish 		uint16_t pdownr_2d	: 1;
39844961713Sgirish 		uint16_t pdownr_2c	: 1;
39944961713Sgirish 		uint16_t pdownr_2b	: 1;
40044961713Sgirish 		uint16_t pdownr_2a	: 1;
40144961713Sgirish 		uint16_t pdownr_1d	: 1;
40244961713Sgirish 		uint16_t pdownr_1c	: 1;
40344961713Sgirish 		uint16_t pdownr_1b	: 1;
40444961713Sgirish 		uint16_t pdownr_1a	: 1;
40544961713Sgirish 		uint16_t pdownr_0d	: 1;
40644961713Sgirish 		uint16_t pdownr_0c	: 1;
40744961713Sgirish 		uint16_t pdownr_0b	: 1;
40844961713Sgirish 		uint16_t pdownr_0a	: 1;
40944961713Sgirish #else
41044961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
41144961713Sgirish #endif
41244961713Sgirish 	} bits;
41344961713Sgirish } sr_rx_power_ctrl_h_t;
41444961713Sgirish 
41544961713Sgirish typedef	union _sr_tx_power_ctrl_l {
41644961713Sgirish 	uint16_t value;
41744961713Sgirish 	struct {
41844961713Sgirish #if defined(_BIT_FIELDS_HTOL)
41944961713Sgirish 		uint16_t res1		: 8;
42044961713Sgirish 		uint16_t pdownppll0	: 1;
42144961713Sgirish 		uint16_t pdownppll1	: 1;
42244961713Sgirish 		uint16_t pdownppll2	: 1;
42344961713Sgirish 		uint16_t pdownppll3	: 1;
42444961713Sgirish 		uint16_t res2		: 4;
42544961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
42644961713Sgirish 		uint16_t res2		: 4;
42744961713Sgirish 		uint16_t pdownppll3	: 1;
42844961713Sgirish 		uint16_t pdownppll2	: 1;
42944961713Sgirish 		uint16_t pdownppll1	: 1;
43044961713Sgirish 		uint16_t pdownppll0	: 1;
43144961713Sgirish 		uint16_t res1		: 8;
43244961713Sgirish #else
43344961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
43444961713Sgirish #endif
43544961713Sgirish 	} bits;
43644961713Sgirish } sr_tx_power_ctrl_l_t;
43744961713Sgirish 
43844961713Sgirish typedef	union _sr_tx_power_ctrl_h {
43944961713Sgirish 	uint16_t value;
44044961713Sgirish 	struct {
44144961713Sgirish #if defined(_BIT_FIELDS_HTOL)
44244961713Sgirish 		uint16_t pdownt_0a	: 1;
44344961713Sgirish 		uint16_t pdownt_0b	: 1;
44444961713Sgirish 		uint16_t pdownt_0c	: 1;
44544961713Sgirish 		uint16_t pdownt_0d	: 1;
44644961713Sgirish 		uint16_t pdownt_1a	: 1;
44744961713Sgirish 		uint16_t pdownt_1b	: 1;
44844961713Sgirish 		uint16_t pdownt_1c	: 1;
44944961713Sgirish 		uint16_t pdownt_1d	: 1;
45044961713Sgirish 		uint16_t pdownt_2a	: 1;
45144961713Sgirish 		uint16_t pdownt_2b	: 1;
45244961713Sgirish 		uint16_t pdownt_2c	: 1;
45344961713Sgirish 		uint16_t pdownt_2d	: 1;
45444961713Sgirish 		uint16_t pdownt_3a	: 1;
45544961713Sgirish 		uint16_t pdownt_3b	: 1;
45644961713Sgirish 		uint16_t pdownt_3c	: 1;
45744961713Sgirish 		uint16_t pdownt_3d	: 1;
45844961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
45944961713Sgirish 		uint16_t pdownt_3d	: 1;
46044961713Sgirish 		uint16_t pdownt_3c	: 1;
46144961713Sgirish 		uint16_t pdownt_3b	: 1;
46244961713Sgirish 		uint16_t pdownt_3a	: 1;
46344961713Sgirish 		uint16_t pdownt_2d	: 1;
46444961713Sgirish 		uint16_t pdownt_2c	: 1;
46544961713Sgirish 		uint16_t pdownt_2b	: 1;
46644961713Sgirish 		uint16_t pdownt_2a	: 1;
46744961713Sgirish 		uint16_t pdownt_1d	: 1;
46844961713Sgirish 		uint16_t pdownt_1c	: 1;
46944961713Sgirish 		uint16_t pdownt_1b	: 1;
47044961713Sgirish 		uint16_t pdownt_1a	: 1;
47144961713Sgirish 		uint16_t pdownt_0d	: 1;
47244961713Sgirish 		uint16_t pdownt_0c	: 1;
47344961713Sgirish 		uint16_t pdownt_0b	: 1;
47444961713Sgirish 		uint16_t pdownt_0a	: 1;
47544961713Sgirish #else
47644961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
47744961713Sgirish #endif
47844961713Sgirish 	} bits;
47944961713Sgirish } sr_tx_power_ctrl_h_t;
48044961713Sgirish 
48144961713Sgirish typedef	union _sr_misc_power_ctrl_l {
48244961713Sgirish 	uint16_t value;
48344961713Sgirish 	struct {
48444961713Sgirish #if defined(_BIT_FIELDS_HTOL)
48544961713Sgirish 		uint16_t res1		: 3;
48644961713Sgirish 		uint16_t pdrtrim	: 1;
48744961713Sgirish 		uint16_t pdownpecl0	: 1;
48844961713Sgirish 		uint16_t pdownpecl1	: 1;
48944961713Sgirish 		uint16_t pdownpecl2	: 1;
49044961713Sgirish 		uint16_t pdownpecl3	: 1;
49144961713Sgirish 		uint16_t pdownppll0	: 1;
49244961713Sgirish 		uint16_t pdownppll1	: 1;
49344961713Sgirish 		uint16_t pdownppll2	: 1;
49444961713Sgirish 		uint16_t pdownppll3	: 1;
49544961713Sgirish 		uint16_t res2		: 4;
49644961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
49744961713Sgirish 		uint16_t res2		: 4;
49844961713Sgirish 		uint16_t pdownppll3	: 1;
49944961713Sgirish 		uint16_t pdownppll2	: 1;
50044961713Sgirish 		uint16_t pdownppll1	: 1;
50144961713Sgirish 		uint16_t pdownppll0	: 1;
50244961713Sgirish 		uint16_t pdownpecl3	: 1;
50344961713Sgirish 		uint16_t pdownpecl2	: 1;
50444961713Sgirish 		uint16_t pdownpecl1	: 1;
50544961713Sgirish 		uint16_t pdownpecl0	: 1;
50644961713Sgirish 		uint16_t pdrtrim	: 1;
50744961713Sgirish 		uint16_t res1		: 3;
50844961713Sgirish #else
50944961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
51044961713Sgirish #endif
51144961713Sgirish 	} bits;
51244961713Sgirish } sr_misc_power_ctrl_l_t;
51344961713Sgirish 
51444961713Sgirish typedef	union _misc_power_ctrl_h {
51544961713Sgirish 	uint16_t value;
51644961713Sgirish 	struct {
51744961713Sgirish #if defined(_BIT_FIELDS_HTOL)
51844961713Sgirish 		uint16_t pdclkout0	: 1;
51944961713Sgirish 		uint16_t pdclkout1	: 1;
52044961713Sgirish 		uint16_t pdclkout2	: 1;
52144961713Sgirish 		uint16_t pdclkout3	: 1;
52244961713Sgirish 		uint16_t res1		: 12;
52344961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
52444961713Sgirish 		uint16_t res1		: 12;
52544961713Sgirish 		uint16_t pdclkout3	: 1;
52644961713Sgirish 		uint16_t pdclkout2	: 1;
52744961713Sgirish 		uint16_t pdclkout1	: 1;
52844961713Sgirish 		uint16_t pdclkout0	: 1;
52944961713Sgirish #else
53044961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
53144961713Sgirish #endif
53244961713Sgirish 	} bits;
53344961713Sgirish } misc_power_ctrl_h_t;
53444961713Sgirish 
53544961713Sgirish typedef	union _sr_rx_tx_ctrl_l {
53644961713Sgirish 	uint16_t value;
53744961713Sgirish 	struct {
53844961713Sgirish #if defined(_BIT_FIELDS_HTOL)
53944961713Sgirish 		uint16_t res1		: 2;
54044961713Sgirish 		uint16_t rxpreswin	: 2;
54144961713Sgirish 		uint16_t res2		: 1;
54244961713Sgirish 		uint16_t risefall	: 3;
54344961713Sgirish 		uint16_t res3		: 7;
54444961713Sgirish 		uint16_t enstretch	: 1;
54544961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
54644961713Sgirish 		uint16_t enstretch	: 1;
54744961713Sgirish 		uint16_t res3		: 7;
54844961713Sgirish 		uint16_t risefall	: 3;
54944961713Sgirish 		uint16_t res2		: 1;
55044961713Sgirish 		uint16_t rxpreswin	: 2;
55144961713Sgirish 		uint16_t res1		: 2;
55244961713Sgirish #else
55344961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
55444961713Sgirish #endif
55544961713Sgirish 	} bits;
55644961713Sgirish } sr_rx_tx_ctrl_l_t;
55744961713Sgirish 
55844961713Sgirish typedef	union _sr_rx_tx_ctrl_h {
55944961713Sgirish 	uint16_t value;
56044961713Sgirish 	struct {
56144961713Sgirish #if defined(_BIT_FIELDS_HTOL)
56244961713Sgirish 		uint16_t biascntl	: 1;
56344961713Sgirish 		uint16_t res1		: 5;
56444961713Sgirish 		uint16_t tdenfifo	: 1;
56544961713Sgirish 		uint16_t tdws20		: 1;
56644961713Sgirish 		uint16_t vmuxlo		: 2;
56744961713Sgirish 		uint16_t vpulselo	: 2;
56844961713Sgirish 		uint16_t res2		: 4;
56944961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
57044961713Sgirish 		uint16_t res2		: 4;
57144961713Sgirish 		uint16_t vpulselo	: 2;
57244961713Sgirish 		uint16_t vmuxlo		: 2;
57344961713Sgirish 		uint16_t tdws20		: 1;
57444961713Sgirish 		uint16_t tdenfifo	: 1;
57544961713Sgirish 		uint16_t res1		: 5;
57644961713Sgirish 		uint16_t biascntl	: 1;
57744961713Sgirish #else
57844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
57944961713Sgirish #endif
58044961713Sgirish 	} bits;
58144961713Sgirish } sr_rx_tx_ctrl_h_t;
58244961713Sgirish 
58344961713Sgirish #define	RXPRESWIN_52US_300BITTIMES	0
58444961713Sgirish #define	RXPRESWIN_53US_300BITTIMES	1
58544961713Sgirish #define	RXPRESWIN_54US_300BITTIMES	2
58644961713Sgirish #define	RXPRESWIN_55US_300BITTIMES	3
58744961713Sgirish 
58844961713Sgirish typedef	union _sr_rx_tx_tuning_l {
58944961713Sgirish 	uint16_t value;
59044961713Sgirish 	struct {
59144961713Sgirish #if defined(_BIT_FIELDS_HTOL)
59244961713Sgirish 		uint16_t rxeq		: 4;
59344961713Sgirish 		uint16_t res1		: 12;
59444961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
59544961713Sgirish 		uint16_t res1		: 12;
59644961713Sgirish 		uint16_t rxeq		: 4;
59744961713Sgirish #else
59844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
59944961713Sgirish #endif
60044961713Sgirish 	} bits;
60144961713Sgirish } sr_rx_tx_tuning_l_t;
60244961713Sgirish 
60344961713Sgirish typedef	union _sr_rx_tx_tuning_h {
60444961713Sgirish 	uint16_t value;
60544961713Sgirish 	struct {
60644961713Sgirish #if defined(_BIT_FIELDS_HTOL)
60744961713Sgirish 		uint16_t res1		: 8;
60844961713Sgirish 		uint16_t rp		: 2;
60944961713Sgirish 		uint16_t rz		: 2;
61044961713Sgirish 		uint16_t vtxlo		: 4;
61144961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
61244961713Sgirish 		uint16_t vtxlo		: 4;
61344961713Sgirish 		uint16_t rz		: 2;
61444961713Sgirish 		uint16_t rp		: 2;
61544961713Sgirish 		uint16_t res1		: 8;
61644961713Sgirish #else
61744961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
61844961713Sgirish #endif
61944961713Sgirish 	} bits;
62044961713Sgirish } sr_rx_tx_tuning_h_t;
62144961713Sgirish 
62244961713Sgirish typedef	union _sr_rx_syncchar_l {
62344961713Sgirish 	uint16_t value;
62444961713Sgirish 	struct {
62544961713Sgirish #if defined(_BIT_FIELDS_HTOL)
62644961713Sgirish 		uint16_t syncchar_0_3	: 4;
62744961713Sgirish 		uint16_t res1		: 2;
62844961713Sgirish 		uint16_t syncmask	: 10;
62944961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
63044961713Sgirish 		uint16_t syncmask	: 10;
63144961713Sgirish 		uint16_t res1		: 2;
63244961713Sgirish 		uint16_t syncchar_0_3	: 4;
63344961713Sgirish #else
63444961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
63544961713Sgirish #endif
63644961713Sgirish 	} bits;
63744961713Sgirish } sr_rx_syncchar_l_t;
63844961713Sgirish 
63944961713Sgirish typedef	union _sr_rx_syncchar_h {
64044961713Sgirish 	uint16_t value;
64144961713Sgirish 	struct {
64244961713Sgirish #if defined(_BIT_FIELDS_HTOL)
64344961713Sgirish 		uint16_t res1		: 1;
64444961713Sgirish 		uint16_t syncpol	: 1;
64544961713Sgirish 		uint16_t res2		: 8;
64644961713Sgirish 		uint16_t syncchar_4_10	: 6;
64744961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
64844961713Sgirish 		uint16_t syncchar_4_10	: 6;
64944961713Sgirish 		uint16_t res2		: 8;
65044961713Sgirish 		uint16_t syncpol	: 1;
65144961713Sgirish 		uint16_t res1		: 1;
65244961713Sgirish #else
65344961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
65444961713Sgirish #endif
65544961713Sgirish 	} bits;
65644961713Sgirish } sr_rx_syncchar_h_t;
65744961713Sgirish 
65844961713Sgirish typedef	union _sr_rx_tx_test_l {
65944961713Sgirish 	uint16_t value;
66044961713Sgirish 	struct {
66144961713Sgirish #if defined(_BIT_FIELDS_HTOL)
66244961713Sgirish 		uint16_t res1		: 15;
66344961713Sgirish 		uint16_t ref50		: 1;
66444961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
66544961713Sgirish 		uint16_t ref50		: 1;
66644961713Sgirish 		uint16_t res1		: 15;
66744961713Sgirish #else
66844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
66944961713Sgirish #endif
67044961713Sgirish 	} bits;
67144961713Sgirish } sr_rx_tx_test_l_t;
67244961713Sgirish 
67344961713Sgirish typedef	union _sr_rx_tx_test_h {
67444961713Sgirish 	uint16_t value;
67544961713Sgirish 	struct {
67644961713Sgirish #if defined(_BIT_FIELDS_HTOL)
67744961713Sgirish 		uint16_t res1		: 5;
67844961713Sgirish 		uint16_t selftest	: 3;
67944961713Sgirish 		uint16_t res2		: 8;
68044961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
68144961713Sgirish 		uint16_t res2		: 8;
68244961713Sgirish 		uint16_t selftest	: 3;
68344961713Sgirish 		uint16_t res1		: 5;
68444961713Sgirish #else
68544961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
68644961713Sgirish #endif
68744961713Sgirish 	} bits;
68844961713Sgirish } sr_rx_tx_test_h_t;
68944961713Sgirish 
69044961713Sgirish typedef	union _sr_glue_ctrl0_l {
69144961713Sgirish 	uint16_t value;
69244961713Sgirish 	struct {
69344961713Sgirish #if defined(_BIT_FIELDS_HTOL)
69444961713Sgirish 		uint16_t rxlos_test	: 1;
69544961713Sgirish 		uint16_t res1		: 1;
69644961713Sgirish 		uint16_t rxlosenable	: 1;
69744961713Sgirish 		uint16_t fastresync	: 1;
69844961713Sgirish 		uint16_t samplerate	: 4;
69944961713Sgirish 		uint16_t thresholdcount	: 8;
70044961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
70144961713Sgirish 		uint16_t thresholdcount	: 8;
70244961713Sgirish 		uint16_t samplerate	: 4;
70344961713Sgirish 		uint16_t fastresync	: 1;
70444961713Sgirish 		uint16_t rxlosenable	: 1;
70544961713Sgirish 		uint16_t res1		: 1;
70644961713Sgirish 		uint16_t rxlos_test	: 1;
70744961713Sgirish #else
70844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
70944961713Sgirish #endif
71044961713Sgirish 	} bits;
71144961713Sgirish } sr_glue_ctrl0_l_t;
71244961713Sgirish 
71344961713Sgirish typedef	union _sr_glue_ctrl0_h {
71444961713Sgirish 	uint16_t value;
71544961713Sgirish 	struct {
71644961713Sgirish #if defined(_BIT_FIELDS_HTOL)
71744961713Sgirish 		uint16_t res1		: 5;
71844961713Sgirish 		uint16_t bitlocktime	: 3;
71944961713Sgirish 		uint16_t res2		: 8;
72044961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
72144961713Sgirish 		uint16_t res2		: 8;
72244961713Sgirish 		uint16_t bitlocktime	: 3;
72344961713Sgirish 		uint16_t res1		: 5;
72444961713Sgirish #else
72544961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
72644961713Sgirish #endif
72744961713Sgirish 	} bits;
72844961713Sgirish } sr_glue_ctrl0_h_t;
72944961713Sgirish 
73044961713Sgirish #define	BITLOCKTIME_64_CYCLES		0
73144961713Sgirish #define	BITLOCKTIME_128_CYCLES		1
73244961713Sgirish #define	BITLOCKTIME_256_CYCLES		2
73344961713Sgirish #define	BITLOCKTIME_300_CYCLES		3
73444961713Sgirish #define	BITLOCKTIME_384_CYCLES		4
73544961713Sgirish #define	BITLOCKTIME_512_CYCLES		5
73644961713Sgirish #define	BITLOCKTIME_1024_CYCLES		6
73744961713Sgirish #define	BITLOCKTIME_2048_CYCLES		7
73844961713Sgirish 
73944961713Sgirish typedef	union _sr_glue_ctrl1_l {
74044961713Sgirish 	uint16_t value;
74144961713Sgirish 	struct {
74244961713Sgirish #if defined(_BIT_FIELDS_HTOL)
74344961713Sgirish 		uint16_t res1		: 14;
74444961713Sgirish 		uint16_t inittime	: 2;
74544961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
74644961713Sgirish 		uint16_t inittime	: 2;
74744961713Sgirish 		uint16_t res1		: 14;
74844961713Sgirish #else
74944961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
75044961713Sgirish #endif
75144961713Sgirish 	} bits;
75244961713Sgirish } sr_glue_ctrl1_l_t;
75344961713Sgirish 
75444961713Sgirish typedef	union glue_ctrl1_h {
75544961713Sgirish 	uint16_t value;
75644961713Sgirish 	struct {
75744961713Sgirish #if defined(_BIT_FIELDS_HTOL)
75844961713Sgirish 		uint16_t termr_cfg	: 2;
75944961713Sgirish 		uint16_t termt_cfg	: 2;
76044961713Sgirish 		uint16_t rtrimen	: 2;
76144961713Sgirish 		uint16_t res1		: 10;
76244961713Sgirish #elif defined(_BIT_FIELDS_LTOH)
76344961713Sgirish 		uint16_t res1		: 10;
76444961713Sgirish 		uint16_t rtrimen	: 2;
76544961713Sgirish 		uint16_t termt_cfg	: 2;
76644961713Sgirish 		uint16_t termr_cfg	: 2;
76744961713Sgirish #else
76844961713Sgirish #error one of _BIT_FIELDS_HTOL or _BIT_FIELDS_LTOH must be defined
76944961713Sgirish #endif
77044961713Sgirish 	} bits;
77144961713Sgirish } glue_ctrl1_h_t;
77244961713Sgirish 
77344961713Sgirish #define	TERM_CFG_67OHM		0
77444961713Sgirish #define	TERM_CFG_72OHM		1
77544961713Sgirish #define	TERM_CFG_80OHM		2
77644961713Sgirish #define	TERM_CFG_87OHM		3
77744961713Sgirish #define	TERM_CFG_46OHM		4
77844961713Sgirish #define	TERM_CFG_48OHM		5
77944961713Sgirish #define	TERM_CFG_52OHM		6
78044961713Sgirish #define	TERM_CFG_55OHM		7
78144961713Sgirish 
78244961713Sgirish #define	INITTIME_60US		0
78344961713Sgirish #define	INITTIME_120US		1
78444961713Sgirish #define	INITTIME_240US		2
78544961713Sgirish #define	INITTIME_480US		3
78644961713Sgirish 
78744961713Sgirish #ifdef	__cplusplus
78844961713Sgirish }
78944961713Sgirish #endif
79044961713Sgirish 
79144961713Sgirish #endif	/* _SYS_NXGE_NXGE_SR_HW_H */
792