xref: /OK3568_Linux_fs/kernel/arch/mips/include/asm/octeon/cvmx-uctlx-defs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /***********************license start***************
2*4882a593Smuzhiyun  * Author: Cavium Networks
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Contact: support@caviumnetworks.com
5*4882a593Smuzhiyun  * This file is part of the OCTEON SDK
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Copyright (c) 2003-2012 Cavium Networks
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This file is free software; you can redistribute it and/or modify
10*4882a593Smuzhiyun  * it under the terms of the GNU General Public License, Version 2, as
11*4882a593Smuzhiyun  * published by the Free Software Foundation.
12*4882a593Smuzhiyun  *
13*4882a593Smuzhiyun  * This file is distributed in the hope that it will be useful, but
14*4882a593Smuzhiyun  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15*4882a593Smuzhiyun  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16*4882a593Smuzhiyun  * NONINFRINGEMENT.  See the GNU General Public License for more
17*4882a593Smuzhiyun  * details.
18*4882a593Smuzhiyun  *
19*4882a593Smuzhiyun  * You should have received a copy of the GNU General Public License
20*4882a593Smuzhiyun  * along with this file; if not, write to the Free Software
21*4882a593Smuzhiyun  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22*4882a593Smuzhiyun  * or visit http://www.gnu.org/licenses/.
23*4882a593Smuzhiyun  *
24*4882a593Smuzhiyun  * This file may also be available under a different license from Cavium.
25*4882a593Smuzhiyun  * Contact Cavium Networks for more information
26*4882a593Smuzhiyun  ***********************license end**************************************/
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #ifndef __CVMX_UCTLX_DEFS_H__
29*4882a593Smuzhiyun #define __CVMX_UCTLX_DEFS_H__
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define CVMX_UCTLX_BIST_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A0ull))
32*4882a593Smuzhiyun #define CVMX_UCTLX_CLK_RST_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000000ull))
33*4882a593Smuzhiyun #define CVMX_UCTLX_EHCI_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000080ull))
34*4882a593Smuzhiyun #define CVMX_UCTLX_EHCI_FLA(block_id) (CVMX_ADD_IO_SEG(0x000118006F0000A8ull))
35*4882a593Smuzhiyun #define CVMX_UCTLX_ERTO_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000090ull))
36*4882a593Smuzhiyun #define CVMX_UCTLX_IF_ENA(block_id) (CVMX_ADD_IO_SEG(0x000118006F000030ull))
37*4882a593Smuzhiyun #define CVMX_UCTLX_INT_ENA(block_id) (CVMX_ADD_IO_SEG(0x000118006F000028ull))
38*4882a593Smuzhiyun #define CVMX_UCTLX_INT_REG(block_id) (CVMX_ADD_IO_SEG(0x000118006F000020ull))
39*4882a593Smuzhiyun #define CVMX_UCTLX_OHCI_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000088ull))
40*4882a593Smuzhiyun #define CVMX_UCTLX_ORTO_CTL(block_id) (CVMX_ADD_IO_SEG(0x000118006F000098ull))
41*4882a593Smuzhiyun #define CVMX_UCTLX_PPAF_WM(block_id) (CVMX_ADD_IO_SEG(0x000118006F000038ull))
42*4882a593Smuzhiyun #define CVMX_UCTLX_UPHY_CTL_STATUS(block_id) (CVMX_ADD_IO_SEG(0x000118006F000008ull))
43*4882a593Smuzhiyun #define CVMX_UCTLX_UPHY_PORTX_CTL_STATUS(offset, block_id) (CVMX_ADD_IO_SEG(0x000118006F000010ull) + (((offset) & 1) + ((block_id) & 0) * 0x0ull) * 8)
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun union cvmx_uctlx_bist_status {
46*4882a593Smuzhiyun 	uint64_t u64;
47*4882a593Smuzhiyun 	struct cvmx_uctlx_bist_status_s {
48*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
49*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
50*4882a593Smuzhiyun 		uint64_t data_bis:1;
51*4882a593Smuzhiyun 		uint64_t desc_bis:1;
52*4882a593Smuzhiyun 		uint64_t erbm_bis:1;
53*4882a593Smuzhiyun 		uint64_t orbm_bis:1;
54*4882a593Smuzhiyun 		uint64_t wrbm_bis:1;
55*4882a593Smuzhiyun 		uint64_t ppaf_bis:1;
56*4882a593Smuzhiyun #else
57*4882a593Smuzhiyun 		uint64_t ppaf_bis:1;
58*4882a593Smuzhiyun 		uint64_t wrbm_bis:1;
59*4882a593Smuzhiyun 		uint64_t orbm_bis:1;
60*4882a593Smuzhiyun 		uint64_t erbm_bis:1;
61*4882a593Smuzhiyun 		uint64_t desc_bis:1;
62*4882a593Smuzhiyun 		uint64_t data_bis:1;
63*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
64*4882a593Smuzhiyun #endif
65*4882a593Smuzhiyun 	} s;
66*4882a593Smuzhiyun };
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun union cvmx_uctlx_clk_rst_ctl {
69*4882a593Smuzhiyun 	uint64_t u64;
70*4882a593Smuzhiyun 	struct cvmx_uctlx_clk_rst_ctl_s {
71*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
72*4882a593Smuzhiyun 		uint64_t reserved_25_63:39;
73*4882a593Smuzhiyun 		uint64_t clear_bist:1;
74*4882a593Smuzhiyun 		uint64_t start_bist:1;
75*4882a593Smuzhiyun 		uint64_t ehci_sm:1;
76*4882a593Smuzhiyun 		uint64_t ohci_clkcktrst:1;
77*4882a593Smuzhiyun 		uint64_t ohci_sm:1;
78*4882a593Smuzhiyun 		uint64_t ohci_susp_lgcy:1;
79*4882a593Smuzhiyun 		uint64_t app_start_clk:1;
80*4882a593Smuzhiyun 		uint64_t o_clkdiv_rst:1;
81*4882a593Smuzhiyun 		uint64_t h_clkdiv_byp:1;
82*4882a593Smuzhiyun 		uint64_t h_clkdiv_rst:1;
83*4882a593Smuzhiyun 		uint64_t h_clkdiv_en:1;
84*4882a593Smuzhiyun 		uint64_t o_clkdiv_en:1;
85*4882a593Smuzhiyun 		uint64_t h_div:4;
86*4882a593Smuzhiyun 		uint64_t p_refclk_sel:2;
87*4882a593Smuzhiyun 		uint64_t p_refclk_div:2;
88*4882a593Smuzhiyun 		uint64_t reserved_4_4:1;
89*4882a593Smuzhiyun 		uint64_t p_com_on:1;
90*4882a593Smuzhiyun 		uint64_t p_por:1;
91*4882a593Smuzhiyun 		uint64_t p_prst:1;
92*4882a593Smuzhiyun 		uint64_t hrst:1;
93*4882a593Smuzhiyun #else
94*4882a593Smuzhiyun 		uint64_t hrst:1;
95*4882a593Smuzhiyun 		uint64_t p_prst:1;
96*4882a593Smuzhiyun 		uint64_t p_por:1;
97*4882a593Smuzhiyun 		uint64_t p_com_on:1;
98*4882a593Smuzhiyun 		uint64_t reserved_4_4:1;
99*4882a593Smuzhiyun 		uint64_t p_refclk_div:2;
100*4882a593Smuzhiyun 		uint64_t p_refclk_sel:2;
101*4882a593Smuzhiyun 		uint64_t h_div:4;
102*4882a593Smuzhiyun 		uint64_t o_clkdiv_en:1;
103*4882a593Smuzhiyun 		uint64_t h_clkdiv_en:1;
104*4882a593Smuzhiyun 		uint64_t h_clkdiv_rst:1;
105*4882a593Smuzhiyun 		uint64_t h_clkdiv_byp:1;
106*4882a593Smuzhiyun 		uint64_t o_clkdiv_rst:1;
107*4882a593Smuzhiyun 		uint64_t app_start_clk:1;
108*4882a593Smuzhiyun 		uint64_t ohci_susp_lgcy:1;
109*4882a593Smuzhiyun 		uint64_t ohci_sm:1;
110*4882a593Smuzhiyun 		uint64_t ohci_clkcktrst:1;
111*4882a593Smuzhiyun 		uint64_t ehci_sm:1;
112*4882a593Smuzhiyun 		uint64_t start_bist:1;
113*4882a593Smuzhiyun 		uint64_t clear_bist:1;
114*4882a593Smuzhiyun 		uint64_t reserved_25_63:39;
115*4882a593Smuzhiyun #endif
116*4882a593Smuzhiyun 	} s;
117*4882a593Smuzhiyun };
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun union cvmx_uctlx_ehci_ctl {
120*4882a593Smuzhiyun 	uint64_t u64;
121*4882a593Smuzhiyun 	struct cvmx_uctlx_ehci_ctl_s {
122*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
123*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
124*4882a593Smuzhiyun 		uint64_t desc_rbm:1;
125*4882a593Smuzhiyun 		uint64_t reg_nb:1;
126*4882a593Smuzhiyun 		uint64_t l2c_dc:1;
127*4882a593Smuzhiyun 		uint64_t l2c_bc:1;
128*4882a593Smuzhiyun 		uint64_t l2c_0pag:1;
129*4882a593Smuzhiyun 		uint64_t l2c_stt:1;
130*4882a593Smuzhiyun 		uint64_t l2c_buff_emod:2;
131*4882a593Smuzhiyun 		uint64_t l2c_desc_emod:2;
132*4882a593Smuzhiyun 		uint64_t inv_reg_a2:1;
133*4882a593Smuzhiyun 		uint64_t ehci_64b_addr_en:1;
134*4882a593Smuzhiyun 		uint64_t l2c_addr_msb:8;
135*4882a593Smuzhiyun #else
136*4882a593Smuzhiyun 		uint64_t l2c_addr_msb:8;
137*4882a593Smuzhiyun 		uint64_t ehci_64b_addr_en:1;
138*4882a593Smuzhiyun 		uint64_t inv_reg_a2:1;
139*4882a593Smuzhiyun 		uint64_t l2c_desc_emod:2;
140*4882a593Smuzhiyun 		uint64_t l2c_buff_emod:2;
141*4882a593Smuzhiyun 		uint64_t l2c_stt:1;
142*4882a593Smuzhiyun 		uint64_t l2c_0pag:1;
143*4882a593Smuzhiyun 		uint64_t l2c_bc:1;
144*4882a593Smuzhiyun 		uint64_t l2c_dc:1;
145*4882a593Smuzhiyun 		uint64_t reg_nb:1;
146*4882a593Smuzhiyun 		uint64_t desc_rbm:1;
147*4882a593Smuzhiyun 		uint64_t reserved_20_63:44;
148*4882a593Smuzhiyun #endif
149*4882a593Smuzhiyun 	} s;
150*4882a593Smuzhiyun };
151*4882a593Smuzhiyun 
152*4882a593Smuzhiyun union cvmx_uctlx_ehci_fla {
153*4882a593Smuzhiyun 	uint64_t u64;
154*4882a593Smuzhiyun 	struct cvmx_uctlx_ehci_fla_s {
155*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
156*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
157*4882a593Smuzhiyun 		uint64_t fla:6;
158*4882a593Smuzhiyun #else
159*4882a593Smuzhiyun 		uint64_t fla:6;
160*4882a593Smuzhiyun 		uint64_t reserved_6_63:58;
161*4882a593Smuzhiyun #endif
162*4882a593Smuzhiyun 	} s;
163*4882a593Smuzhiyun };
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun union cvmx_uctlx_erto_ctl {
166*4882a593Smuzhiyun 	uint64_t u64;
167*4882a593Smuzhiyun 	struct cvmx_uctlx_erto_ctl_s {
168*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
169*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
170*4882a593Smuzhiyun 		uint64_t to_val:27;
171*4882a593Smuzhiyun 		uint64_t reserved_0_4:5;
172*4882a593Smuzhiyun #else
173*4882a593Smuzhiyun 		uint64_t reserved_0_4:5;
174*4882a593Smuzhiyun 		uint64_t to_val:27;
175*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
176*4882a593Smuzhiyun #endif
177*4882a593Smuzhiyun 	} s;
178*4882a593Smuzhiyun };
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun union cvmx_uctlx_if_ena {
181*4882a593Smuzhiyun 	uint64_t u64;
182*4882a593Smuzhiyun 	struct cvmx_uctlx_if_ena_s {
183*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
184*4882a593Smuzhiyun 		uint64_t reserved_1_63:63;
185*4882a593Smuzhiyun 		uint64_t en:1;
186*4882a593Smuzhiyun #else
187*4882a593Smuzhiyun 		uint64_t en:1;
188*4882a593Smuzhiyun 		uint64_t reserved_1_63:63;
189*4882a593Smuzhiyun #endif
190*4882a593Smuzhiyun 	} s;
191*4882a593Smuzhiyun };
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun union cvmx_uctlx_int_ena {
194*4882a593Smuzhiyun 	uint64_t u64;
195*4882a593Smuzhiyun 	struct cvmx_uctlx_int_ena_s {
196*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
197*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
198*4882a593Smuzhiyun 		uint64_t ec_ovf_e:1;
199*4882a593Smuzhiyun 		uint64_t oc_ovf_e:1;
200*4882a593Smuzhiyun 		uint64_t wb_pop_e:1;
201*4882a593Smuzhiyun 		uint64_t wb_psh_f:1;
202*4882a593Smuzhiyun 		uint64_t cf_psh_f:1;
203*4882a593Smuzhiyun 		uint64_t or_psh_f:1;
204*4882a593Smuzhiyun 		uint64_t er_psh_f:1;
205*4882a593Smuzhiyun 		uint64_t pp_psh_f:1;
206*4882a593Smuzhiyun #else
207*4882a593Smuzhiyun 		uint64_t pp_psh_f:1;
208*4882a593Smuzhiyun 		uint64_t er_psh_f:1;
209*4882a593Smuzhiyun 		uint64_t or_psh_f:1;
210*4882a593Smuzhiyun 		uint64_t cf_psh_f:1;
211*4882a593Smuzhiyun 		uint64_t wb_psh_f:1;
212*4882a593Smuzhiyun 		uint64_t wb_pop_e:1;
213*4882a593Smuzhiyun 		uint64_t oc_ovf_e:1;
214*4882a593Smuzhiyun 		uint64_t ec_ovf_e:1;
215*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
216*4882a593Smuzhiyun #endif
217*4882a593Smuzhiyun 	} s;
218*4882a593Smuzhiyun };
219*4882a593Smuzhiyun 
220*4882a593Smuzhiyun union cvmx_uctlx_int_reg {
221*4882a593Smuzhiyun 	uint64_t u64;
222*4882a593Smuzhiyun 	struct cvmx_uctlx_int_reg_s {
223*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
224*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
225*4882a593Smuzhiyun 		uint64_t ec_ovf_e:1;
226*4882a593Smuzhiyun 		uint64_t oc_ovf_e:1;
227*4882a593Smuzhiyun 		uint64_t wb_pop_e:1;
228*4882a593Smuzhiyun 		uint64_t wb_psh_f:1;
229*4882a593Smuzhiyun 		uint64_t cf_psh_f:1;
230*4882a593Smuzhiyun 		uint64_t or_psh_f:1;
231*4882a593Smuzhiyun 		uint64_t er_psh_f:1;
232*4882a593Smuzhiyun 		uint64_t pp_psh_f:1;
233*4882a593Smuzhiyun #else
234*4882a593Smuzhiyun 		uint64_t pp_psh_f:1;
235*4882a593Smuzhiyun 		uint64_t er_psh_f:1;
236*4882a593Smuzhiyun 		uint64_t or_psh_f:1;
237*4882a593Smuzhiyun 		uint64_t cf_psh_f:1;
238*4882a593Smuzhiyun 		uint64_t wb_psh_f:1;
239*4882a593Smuzhiyun 		uint64_t wb_pop_e:1;
240*4882a593Smuzhiyun 		uint64_t oc_ovf_e:1;
241*4882a593Smuzhiyun 		uint64_t ec_ovf_e:1;
242*4882a593Smuzhiyun 		uint64_t reserved_8_63:56;
243*4882a593Smuzhiyun #endif
244*4882a593Smuzhiyun 	} s;
245*4882a593Smuzhiyun };
246*4882a593Smuzhiyun 
247*4882a593Smuzhiyun union cvmx_uctlx_ohci_ctl {
248*4882a593Smuzhiyun 	uint64_t u64;
249*4882a593Smuzhiyun 	struct cvmx_uctlx_ohci_ctl_s {
250*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
251*4882a593Smuzhiyun 		uint64_t reserved_19_63:45;
252*4882a593Smuzhiyun 		uint64_t reg_nb:1;
253*4882a593Smuzhiyun 		uint64_t l2c_dc:1;
254*4882a593Smuzhiyun 		uint64_t l2c_bc:1;
255*4882a593Smuzhiyun 		uint64_t l2c_0pag:1;
256*4882a593Smuzhiyun 		uint64_t l2c_stt:1;
257*4882a593Smuzhiyun 		uint64_t l2c_buff_emod:2;
258*4882a593Smuzhiyun 		uint64_t l2c_desc_emod:2;
259*4882a593Smuzhiyun 		uint64_t inv_reg_a2:1;
260*4882a593Smuzhiyun 		uint64_t reserved_8_8:1;
261*4882a593Smuzhiyun 		uint64_t l2c_addr_msb:8;
262*4882a593Smuzhiyun #else
263*4882a593Smuzhiyun 		uint64_t l2c_addr_msb:8;
264*4882a593Smuzhiyun 		uint64_t reserved_8_8:1;
265*4882a593Smuzhiyun 		uint64_t inv_reg_a2:1;
266*4882a593Smuzhiyun 		uint64_t l2c_desc_emod:2;
267*4882a593Smuzhiyun 		uint64_t l2c_buff_emod:2;
268*4882a593Smuzhiyun 		uint64_t l2c_stt:1;
269*4882a593Smuzhiyun 		uint64_t l2c_0pag:1;
270*4882a593Smuzhiyun 		uint64_t l2c_bc:1;
271*4882a593Smuzhiyun 		uint64_t l2c_dc:1;
272*4882a593Smuzhiyun 		uint64_t reg_nb:1;
273*4882a593Smuzhiyun 		uint64_t reserved_19_63:45;
274*4882a593Smuzhiyun #endif
275*4882a593Smuzhiyun 	} s;
276*4882a593Smuzhiyun };
277*4882a593Smuzhiyun 
278*4882a593Smuzhiyun union cvmx_uctlx_orto_ctl {
279*4882a593Smuzhiyun 	uint64_t u64;
280*4882a593Smuzhiyun 	struct cvmx_uctlx_orto_ctl_s {
281*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
282*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
283*4882a593Smuzhiyun 		uint64_t to_val:24;
284*4882a593Smuzhiyun 		uint64_t reserved_0_7:8;
285*4882a593Smuzhiyun #else
286*4882a593Smuzhiyun 		uint64_t reserved_0_7:8;
287*4882a593Smuzhiyun 		uint64_t to_val:24;
288*4882a593Smuzhiyun 		uint64_t reserved_32_63:32;
289*4882a593Smuzhiyun #endif
290*4882a593Smuzhiyun 	} s;
291*4882a593Smuzhiyun };
292*4882a593Smuzhiyun 
293*4882a593Smuzhiyun union cvmx_uctlx_ppaf_wm {
294*4882a593Smuzhiyun 	uint64_t u64;
295*4882a593Smuzhiyun 	struct cvmx_uctlx_ppaf_wm_s {
296*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
297*4882a593Smuzhiyun 		uint64_t reserved_5_63:59;
298*4882a593Smuzhiyun 		uint64_t wm:5;
299*4882a593Smuzhiyun #else
300*4882a593Smuzhiyun 		uint64_t wm:5;
301*4882a593Smuzhiyun 		uint64_t reserved_5_63:59;
302*4882a593Smuzhiyun #endif
303*4882a593Smuzhiyun 	} s;
304*4882a593Smuzhiyun };
305*4882a593Smuzhiyun 
306*4882a593Smuzhiyun union cvmx_uctlx_uphy_ctl_status {
307*4882a593Smuzhiyun 	uint64_t u64;
308*4882a593Smuzhiyun 	struct cvmx_uctlx_uphy_ctl_status_s {
309*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
310*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
311*4882a593Smuzhiyun 		uint64_t bist_done:1;
312*4882a593Smuzhiyun 		uint64_t bist_err:1;
313*4882a593Smuzhiyun 		uint64_t hsbist:1;
314*4882a593Smuzhiyun 		uint64_t fsbist:1;
315*4882a593Smuzhiyun 		uint64_t lsbist:1;
316*4882a593Smuzhiyun 		uint64_t siddq:1;
317*4882a593Smuzhiyun 		uint64_t vtest_en:1;
318*4882a593Smuzhiyun 		uint64_t uphy_bist:1;
319*4882a593Smuzhiyun 		uint64_t bist_en:1;
320*4882a593Smuzhiyun 		uint64_t ate_reset:1;
321*4882a593Smuzhiyun #else
322*4882a593Smuzhiyun 		uint64_t ate_reset:1;
323*4882a593Smuzhiyun 		uint64_t bist_en:1;
324*4882a593Smuzhiyun 		uint64_t uphy_bist:1;
325*4882a593Smuzhiyun 		uint64_t vtest_en:1;
326*4882a593Smuzhiyun 		uint64_t siddq:1;
327*4882a593Smuzhiyun 		uint64_t lsbist:1;
328*4882a593Smuzhiyun 		uint64_t fsbist:1;
329*4882a593Smuzhiyun 		uint64_t hsbist:1;
330*4882a593Smuzhiyun 		uint64_t bist_err:1;
331*4882a593Smuzhiyun 		uint64_t bist_done:1;
332*4882a593Smuzhiyun 		uint64_t reserved_10_63:54;
333*4882a593Smuzhiyun #endif
334*4882a593Smuzhiyun 	} s;
335*4882a593Smuzhiyun };
336*4882a593Smuzhiyun 
337*4882a593Smuzhiyun union cvmx_uctlx_uphy_portx_ctl_status {
338*4882a593Smuzhiyun 	uint64_t u64;
339*4882a593Smuzhiyun 	struct cvmx_uctlx_uphy_portx_ctl_status_s {
340*4882a593Smuzhiyun #ifdef __BIG_ENDIAN_BITFIELD
341*4882a593Smuzhiyun 		uint64_t reserved_43_63:21;
342*4882a593Smuzhiyun 		uint64_t tdata_out:4;
343*4882a593Smuzhiyun 		uint64_t txbiststuffenh:1;
344*4882a593Smuzhiyun 		uint64_t txbiststuffen:1;
345*4882a593Smuzhiyun 		uint64_t dmpulldown:1;
346*4882a593Smuzhiyun 		uint64_t dppulldown:1;
347*4882a593Smuzhiyun 		uint64_t vbusvldext:1;
348*4882a593Smuzhiyun 		uint64_t portreset:1;
349*4882a593Smuzhiyun 		uint64_t txhsvxtune:2;
350*4882a593Smuzhiyun 		uint64_t txvreftune:4;
351*4882a593Smuzhiyun 		uint64_t txrisetune:1;
352*4882a593Smuzhiyun 		uint64_t txpreemphasistune:1;
353*4882a593Smuzhiyun 		uint64_t txfslstune:4;
354*4882a593Smuzhiyun 		uint64_t sqrxtune:3;
355*4882a593Smuzhiyun 		uint64_t compdistune:3;
356*4882a593Smuzhiyun 		uint64_t loop_en:1;
357*4882a593Smuzhiyun 		uint64_t tclk:1;
358*4882a593Smuzhiyun 		uint64_t tdata_sel:1;
359*4882a593Smuzhiyun 		uint64_t taddr_in:4;
360*4882a593Smuzhiyun 		uint64_t tdata_in:8;
361*4882a593Smuzhiyun #else
362*4882a593Smuzhiyun 		uint64_t tdata_in:8;
363*4882a593Smuzhiyun 		uint64_t taddr_in:4;
364*4882a593Smuzhiyun 		uint64_t tdata_sel:1;
365*4882a593Smuzhiyun 		uint64_t tclk:1;
366*4882a593Smuzhiyun 		uint64_t loop_en:1;
367*4882a593Smuzhiyun 		uint64_t compdistune:3;
368*4882a593Smuzhiyun 		uint64_t sqrxtune:3;
369*4882a593Smuzhiyun 		uint64_t txfslstune:4;
370*4882a593Smuzhiyun 		uint64_t txpreemphasistune:1;
371*4882a593Smuzhiyun 		uint64_t txrisetune:1;
372*4882a593Smuzhiyun 		uint64_t txvreftune:4;
373*4882a593Smuzhiyun 		uint64_t txhsvxtune:2;
374*4882a593Smuzhiyun 		uint64_t portreset:1;
375*4882a593Smuzhiyun 		uint64_t vbusvldext:1;
376*4882a593Smuzhiyun 		uint64_t dppulldown:1;
377*4882a593Smuzhiyun 		uint64_t dmpulldown:1;
378*4882a593Smuzhiyun 		uint64_t txbiststuffen:1;
379*4882a593Smuzhiyun 		uint64_t txbiststuffenh:1;
380*4882a593Smuzhiyun 		uint64_t tdata_out:4;
381*4882a593Smuzhiyun 		uint64_t reserved_43_63:21;
382*4882a593Smuzhiyun #endif
383*4882a593Smuzhiyun 	} s;
384*4882a593Smuzhiyun };
385*4882a593Smuzhiyun 
386*4882a593Smuzhiyun #endif
387