19609e3e9SSteven J. Hill /* SPDX-License-Identifier: GPL-2.0 */
29609e3e9SSteven J. Hill /* Octeon CIU definitions
354293ec3SDavid Daney  *
49609e3e9SSteven J. Hill  * Copyright (C) 2003-2018 Cavium, Inc.
59609e3e9SSteven J. Hill  */
654293ec3SDavid Daney 
754293ec3SDavid Daney #ifndef __CVMX_CIU_DEFS_H__
854293ec3SDavid Daney #define __CVMX_CIU_DEFS_H__
954293ec3SDavid Daney 
109609e3e9SSteven J. Hill #include <asm/bitfield.h>
119609e3e9SSteven J. Hill 
12c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x000107000000A400ull) + ((offset) & 15) * 8)
13c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4_W1C(offset) (CVMX_ADD_IO_SEG(0x000107000000CC00ull) + ((offset) & 15) * 8)
14c5aa59e8SDavid Daney #define CVMX_CIU_EN2_PPX_IP4_W1S(offset) (CVMX_ADD_IO_SEG(0x000107000000AC00ull) + ((offset) & 15) * 8)
15aa32a955SDavid Daney #define CVMX_CIU_FUSE (CVMX_ADD_IO_SEG(0x0001070000000728ull))
16c39f8ecfSSteven J. Hill #define CVMX_CIU_INT_SUM1 (CVMX_ADD_IO_SEG(0x0001070000000108ull))
17aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0(offset) (CVMX_ADD_IO_SEG(0x0001070000000200ull) + ((offset) & 63) * 16)
18aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002200ull) + ((offset) & 63) * 16)
19aa32a955SDavid Daney #define CVMX_CIU_INTX_EN0_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006200ull) + ((offset) & 63) * 16)
20aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1(offset) (CVMX_ADD_IO_SEG(0x0001070000000208ull) + ((offset) & 63) * 16)
21aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1_W1C(offset) (CVMX_ADD_IO_SEG(0x0001070000002208ull) + ((offset) & 63) * 16)
22aa32a955SDavid Daney #define CVMX_CIU_INTX_EN1_W1S(offset) (CVMX_ADD_IO_SEG(0x0001070000006208ull) + ((offset) & 63) * 16)
23aa32a955SDavid Daney #define CVMX_CIU_INTX_SUM0(offset) (CVMX_ADD_IO_SEG(0x0001070000000000ull) + ((offset) & 63) * 8)
24c39f8ecfSSteven J. Hill #define CVMX_CIU_NMI (CVMX_ADD_IO_SEG(0x0001070000000718ull))
25c39f8ecfSSteven J. Hill #define CVMX_CIU_PCI_INTA (CVMX_ADD_IO_SEG(0x0001070000000750ull))
26c39f8ecfSSteven J. Hill #define CVMX_CIU_PP_BIST_STAT (CVMX_ADD_IO_SEG(0x00010700000007E0ull))
27c39f8ecfSSteven J. Hill #define CVMX_CIU_PP_DBG (CVMX_ADD_IO_SEG(0x0001070000000708ull))
28c39f8ecfSSteven J. Hill #define CVMX_CIU_PP_RST (CVMX_ADD_IO_SEG(0x0001070000000700ull))
29c39f8ecfSSteven J. Hill #define CVMX_CIU_QLM0 (CVMX_ADD_IO_SEG(0x0001070000000780ull))
30c39f8ecfSSteven J. Hill #define CVMX_CIU_QLM1 (CVMX_ADD_IO_SEG(0x0001070000000788ull))
31c39f8ecfSSteven J. Hill #define CVMX_CIU_QLM_JTGC (CVMX_ADD_IO_SEG(0x0001070000000768ull))
32c39f8ecfSSteven J. Hill #define CVMX_CIU_QLM_JTGD (CVMX_ADD_IO_SEG(0x0001070000000770ull))
33c39f8ecfSSteven J. Hill #define CVMX_CIU_SOFT_BIST (CVMX_ADD_IO_SEG(0x0001070000000738ull))
34c39f8ecfSSteven J. Hill #define CVMX_CIU_SOFT_PRST1 (CVMX_ADD_IO_SEG(0x0001070000000758ull))
35c39f8ecfSSteven J. Hill #define CVMX_CIU_SOFT_PRST (CVMX_ADD_IO_SEG(0x0001070000000748ull))
36c39f8ecfSSteven J. Hill #define CVMX_CIU_SOFT_RST (CVMX_ADD_IO_SEG(0x0001070000000740ull))
37c39f8ecfSSteven J. Hill #define CVMX_CIU_SUM2_PPX_IP4(offset) (CVMX_ADD_IO_SEG(0x0001070000008C00ull) + ((offset) & 15) * 8)
38c39f8ecfSSteven J. Hill #define CVMX_CIU_TIM_MULTI_CAST (CVMX_ADD_IO_SEG(0x000107000000C200ull))
39c39f8ecfSSteven J. Hill #define CVMX_CIU_TIMX(offset) (CVMX_ADD_IO_SEG(0x0001070000000480ull) + ((offset) & 15) * 8)
40c39f8ecfSSteven J. Hill 
41c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_MBOX_CLRX(unsigned long offset)
42c5aa59e8SDavid Daney {
43c5aa59e8SDavid Daney 	switch (cvmx_get_octeon_family()) {
44c5aa59e8SDavid Daney 	case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
45c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
46c5aa59e8SDavid Daney 	case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
47c5aa59e8SDavid Daney 	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
48c5aa59e8SDavid Daney 	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
49c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
50c5aa59e8SDavid Daney 	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
51c5aa59e8SDavid Daney 	case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
52c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
53c5aa59e8SDavid Daney 	case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
54c5aa59e8SDavid Daney 	case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
55c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
56c5aa59e8SDavid Daney 	case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
57c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
58c5aa59e8SDavid Daney 	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
59c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
60c5aa59e8SDavid Daney 	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
61c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
62c5aa59e8SDavid Daney 	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
63c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070100100600ull) + (offset) * 8;
64c5aa59e8SDavid Daney 	}
65c5aa59e8SDavid Daney 	return CVMX_ADD_IO_SEG(0x0001070000000680ull) + (offset) * 8;
66c5aa59e8SDavid Daney }
67c5aa59e8SDavid Daney 
68c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_MBOX_SETX(unsigned long offset)
69c5aa59e8SDavid Daney {
70c5aa59e8SDavid Daney 	switch (cvmx_get_octeon_family()) {
71c5aa59e8SDavid Daney 	case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
72c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
73c5aa59e8SDavid Daney 	case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
74c5aa59e8SDavid Daney 	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
75c5aa59e8SDavid Daney 	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
76c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
77c5aa59e8SDavid Daney 	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
78c5aa59e8SDavid Daney 	case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
79c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
80c5aa59e8SDavid Daney 	case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
81c5aa59e8SDavid Daney 	case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
82c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
83c5aa59e8SDavid Daney 	case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
84c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
85c5aa59e8SDavid Daney 	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
86c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
87c5aa59e8SDavid Daney 	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
88c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
89c5aa59e8SDavid Daney 	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
90c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070100100400ull) + (offset) * 8;
91c5aa59e8SDavid Daney 	}
92c5aa59e8SDavid Daney 	return CVMX_ADD_IO_SEG(0x0001070000000600ull) + (offset) * 8;
93c5aa59e8SDavid Daney }
94c5aa59e8SDavid Daney 
95c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_PP_POKEX(unsigned long offset)
96c5aa59e8SDavid Daney {
97c5aa59e8SDavid Daney 	switch (cvmx_get_octeon_family()) {
98c5aa59e8SDavid Daney 	case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
99c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
100c5aa59e8SDavid Daney 	case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
101c5aa59e8SDavid Daney 	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
102c5aa59e8SDavid Daney 	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1031fb6e539SSteven J. Hill 	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
104c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
105c5aa59e8SDavid Daney 	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
106c5aa59e8SDavid Daney 	case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
107c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
108c5aa59e8SDavid Daney 	case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
109c5aa59e8SDavid Daney 	case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
110c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
111c5aa59e8SDavid Daney 	case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
112c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
113c5aa59e8SDavid Daney 	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
114c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
115c5aa59e8SDavid Daney 	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
116c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
117c5aa59e8SDavid Daney 	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
118c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070100100200ull) + (offset) * 8;
1191fb6e539SSteven J. Hill 	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1201fb6e539SSteven J. Hill 	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1211fb6e539SSteven J. Hill 	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1221fb6e539SSteven J. Hill 		return CVMX_ADD_IO_SEG(0x0001010000030000ull) + (offset) * 8;
123c5aa59e8SDavid Daney 	}
124c5aa59e8SDavid Daney 	return CVMX_ADD_IO_SEG(0x0001070000000580ull) + (offset) * 8;
125c5aa59e8SDavid Daney }
126c5aa59e8SDavid Daney 
127c5aa59e8SDavid Daney static inline uint64_t CVMX_CIU_WDOGX(unsigned long offset)
128c5aa59e8SDavid Daney {
129c5aa59e8SDavid Daney 	switch (cvmx_get_octeon_family()) {
130c5aa59e8SDavid Daney 	case OCTEON_CN30XX & OCTEON_FAMILY_MASK:
131c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
132c5aa59e8SDavid Daney 	case OCTEON_CN52XX & OCTEON_FAMILY_MASK:
133c5aa59e8SDavid Daney 	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
134c5aa59e8SDavid Daney 	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
1351fb6e539SSteven J. Hill 	case OCTEON_CN70XX & OCTEON_FAMILY_MASK:
136c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
137c5aa59e8SDavid Daney 	case OCTEON_CN31XX & OCTEON_FAMILY_MASK:
138c5aa59e8SDavid Daney 	case OCTEON_CN50XX & OCTEON_FAMILY_MASK:
139c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
140c5aa59e8SDavid Daney 	case OCTEON_CN38XX & OCTEON_FAMILY_MASK:
141c5aa59e8SDavid Daney 	case OCTEON_CN58XX & OCTEON_FAMILY_MASK:
142c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
143c5aa59e8SDavid Daney 	case OCTEON_CN56XX & OCTEON_FAMILY_MASK:
144c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
145c5aa59e8SDavid Daney 	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
146c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
147c5aa59e8SDavid Daney 	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
148c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
149c5aa59e8SDavid Daney 	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
150c5aa59e8SDavid Daney 		return CVMX_ADD_IO_SEG(0x0001070100100000ull) + (offset) * 8;
1511fb6e539SSteven J. Hill 	case OCTEON_CNF75XX & OCTEON_FAMILY_MASK:
1521fb6e539SSteven J. Hill 	case OCTEON_CN73XX & OCTEON_FAMILY_MASK:
1531fb6e539SSteven J. Hill 	case OCTEON_CN78XX & OCTEON_FAMILY_MASK:
1541fb6e539SSteven J. Hill 		return CVMX_ADD_IO_SEG(0x0001010000020000ull) + (offset) * 8;
155c5aa59e8SDavid Daney 	}
156c5aa59e8SDavid Daney 	return CVMX_ADD_IO_SEG(0x0001070000000500ull) + (offset) * 8;
157c5aa59e8SDavid Daney }
15854293ec3SDavid Daney 
1599609e3e9SSteven J. Hill 
160769f4372SSteven J. Hill union cvmx_ciu_qlm {
161aa32a955SDavid Daney 	uint64_t u64;
162769f4372SSteven J. Hill 	struct cvmx_ciu_qlm_s {
1639609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t g2bypass:1,
1649609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_53_62:10,
1659609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t g2deemph:5,
1669609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_45_47:3,
1679609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t g2margin:5,
1689609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_32_39:8,
1699609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t txbypass:1,
1709609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_21_30:10,
1719609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t txdeemph:5,
1729609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_13_15:3,
1739609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t txmargin:5,
1749609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_4_7:4,
1759609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t lane_en:4,
1769609e3e9SSteven J. Hill 		;)))))))))))))
177aa32a955SDavid Daney 	} s;
17854293ec3SDavid Daney };
17954293ec3SDavid Daney 
18054293ec3SDavid Daney union cvmx_ciu_qlm_jtgc {
18154293ec3SDavid Daney 	uint64_t u64;
18254293ec3SDavid Daney 	struct cvmx_ciu_qlm_jtgc_s {
1839609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_17_63:47,
1849609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t bypass_ext:1,
1859609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_11_15:5,
1869609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t clk_div:3,
1879609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_7_7:1,
1889609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t mux_sel:3,
1899609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t bypass:4,
1909609e3e9SSteven J. Hill 		;)))))))
19154293ec3SDavid Daney 	} s;
19254293ec3SDavid Daney };
19354293ec3SDavid Daney 
19454293ec3SDavid Daney union cvmx_ciu_qlm_jtgd {
19554293ec3SDavid Daney 	uint64_t u64;
19654293ec3SDavid Daney 	struct cvmx_ciu_qlm_jtgd_s {
1979609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t capture:1,
1989609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t shift:1,
1999609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t update:1,
2009609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_45_60:16,
2019609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t select:5,
2029609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_37_39:3,
2039609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t shft_cnt:5,
2049609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t shft_reg:32,
2059609e3e9SSteven J. Hill 		;))))))))
20654293ec3SDavid Daney 	} s;
20754293ec3SDavid Daney };
20854293ec3SDavid Daney 
20954293ec3SDavid Daney union cvmx_ciu_soft_prst {
21054293ec3SDavid Daney 	uint64_t u64;
21154293ec3SDavid Daney 	struct cvmx_ciu_soft_prst_s {
2129609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_3_63:61,
2139609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t host64:1,
2149609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t npi:1,
2159609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t soft_prst:1,
2169609e3e9SSteven J. Hill 		;))))
21754293ec3SDavid Daney 	} s;
21854293ec3SDavid Daney };
21954293ec3SDavid Daney 
22054293ec3SDavid Daney union cvmx_ciu_timx {
22154293ec3SDavid Daney 	uint64_t u64;
22254293ec3SDavid Daney 	struct cvmx_ciu_timx_s {
2239609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_37_63:27,
2249609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t one_shot:1,
2259609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t len:36,
2269609e3e9SSteven J. Hill 		;)))
22754293ec3SDavid Daney 	} s;
22854293ec3SDavid Daney };
22954293ec3SDavid Daney 
23054293ec3SDavid Daney union cvmx_ciu_wdogx {
23154293ec3SDavid Daney 	uint64_t u64;
23254293ec3SDavid Daney 	struct cvmx_ciu_wdogx_s {
2339609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t reserved_46_63:18,
2349609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t gstopen:1,
2359609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t dstop:1,
2369609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t cnt:24,
2379609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t len:16,
2389609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t state:2,
2399609e3e9SSteven J. Hill 		__BITFIELD_FIELD(uint64_t mode:2,
2409609e3e9SSteven J. Hill 		;)))))))
24154293ec3SDavid Daney 	} s;
24254293ec3SDavid Daney };
24354293ec3SDavid Daney 
2449609e3e9SSteven J. Hill #endif /* __CVMX_CIU_DEFS_H__ */
245