1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _ASM_SGI_SN0_HUBNI_H
20#define _ASM_SGI_SN0_HUBNI_H
21#ifndef __ASSEMBLY__
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#endif
25#define NI_BASE 0x600000
26#define NI_BASE_TABLES 0x630000
27#define NI_STATUS_REV_ID 0x600000
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define NI_PORT_RESET 0x600008
30#define NI_PROTECTION 0x600010
31#define NI_GLOBAL_PARMS 0x600018
32#define NI_SCRATCH_REG0 0x600100
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define NI_SCRATCH_REG1 0x600108
35#define NI_DIAG_PARMS 0x600110
36#define NI_VECTOR_PARMS 0x600200
37#define NI_VECTOR 0x600208
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define NI_VECTOR_DATA 0x600210
40#define NI_VECTOR_STATUS 0x600300
41#define NI_RETURN_VECTOR 0x600308
42#define NI_VECTOR_READ_DATA 0x600310
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define NI_VECTOR_CLEAR 0x600380
45#define NI_IO_PROTECT 0x600400
46#define NI_IO_PROT_OVRRD 0x600408
47#define NI_AGE_CPU0_MEMORY 0x600500
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define NI_AGE_CPU0_PIO 0x600508
50#define NI_AGE_CPU1_MEMORY 0x600510
51#define NI_AGE_CPU1_PIO 0x600518
52#define NI_AGE_GBR_MEMORY 0x600520
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define NI_AGE_GBR_PIO 0x600528
55#define NI_AGE_IO_MEMORY 0x600530
56#define NI_AGE_IO_PIO 0x600538
57#define NI_AGE_REG_MIN NI_AGE_CPU0_MEMORY
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define NI_AGE_REG_MAX NI_AGE_IO_PIO
60#define NI_PORT_PARMS 0x608000
61#define NI_PORT_ERROR 0x608008
62#define NI_PORT_ERROR_CLEAR 0x608088
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define NI_META_TABLE0 0x638000
65#define NI_META_TABLE(_x) (NI_META_TABLE0 + (8 * (_x)))
66#define NI_META_ENTRIES 32
67#define NI_LOCAL_TABLE0 0x638100
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define NI_LOCAL_TABLE(_x) (NI_LOCAL_TABLE0 + (8 * (_x)))
70#define NI_LOCAL_ENTRIES 16
71#define NSRI_8BITMODE_SHFT 30
72#define NSRI_8BITMODE_MASK (UINT64_CAST 0x1 << 30)
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define NSRI_LINKUP_SHFT 29
75#define NSRI_LINKUP_MASK (UINT64_CAST 0x1 << 29)
76#define NSRI_DOWNREASON_SHFT 28
77#define NSRI_DOWNREASON_MASK (UINT64_CAST 0x1 << 28)
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define NSRI_MORENODES_SHFT 18
80#define NSRI_MORENODES_MASK (UINT64_CAST 1 << 18)
81#define MORE_MEMORY 0
82#define MORE_NODES 1
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define NSRI_REGIONSIZE_SHFT 17
85#define NSRI_REGIONSIZE_MASK (UINT64_CAST 1 << 17)
86#define REGIONSIZE_FINE 1
87#define REGIONSIZE_COARSE 0
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define NSRI_NODEID_SHFT 8
90#define NSRI_NODEID_MASK (UINT64_CAST 0x1ff << 8)
91#define NSRI_REV_SHFT 4
92#define NSRI_REV_MASK (UINT64_CAST 0xf << 4)
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define NSRI_CHIPID_SHFT 0
95#define NSRI_CHIPID_MASK (UINT64_CAST 0xf)
96#define NASID_TO_FINEREG_SHFT 0
97#define NASID_TO_COARSEREG_SHFT 3
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define NPR_PORTRESET (UINT64_CAST 1 << 7)
100#define NPR_LINKRESET (UINT64_CAST 1 << 1)
101#define NPR_LOCALRESET (UINT64_CAST 1)
102#define NPROT_RESETOK (UINT64_CAST 1)
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define NGP_MAXRETRY_SHFT 48
105#define NGP_MAXRETRY_MASK (UINT64_CAST 0x3ff << 48)
106#define NGP_TAILTOWRAP_SHFT 32
107#define NGP_TAILTOWRAP_MASK (UINT64_CAST 0xffff << 32)
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define NGP_CREDITTOVAL_SHFT 16
110#define NGP_CREDITTOVAL_MASK (UINT64_CAST 0xf << 16)
111#define NGP_TAILTOVAL_SHFT 4
112#define NGP_TAILTOVAL_MASK (UINT64_CAST 0xf << 4)
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define NDP_PORTTORESET (UINT64_CAST 1 << 18)
115#define NDP_LLP8BITMODE (UINT64_CAST 1 << 12)
116#define NDP_PORTDISABLE (UINT64_CAST 1 << 6)
117#define NDP_SENDERROR (UINT64_CAST 1)
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define NVP_PIOID_SHFT 40
120#define NVP_PIOID_MASK (UINT64_CAST 0x3ff << 40)
121#define NVP_WRITEID_SHFT 32
122#define NVP_WRITEID_MASK (UINT64_CAST 0xff << 32)
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define NVP_ADDRESS_MASK (UINT64_CAST 0xffff8)
125#define NVP_TYPE_SHFT 0
126#define NVP_TYPE_MASK (UINT64_CAST 0x3)
127#define NVS_VALID (UINT64_CAST 1 << 63)
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define NVS_OVERRUN (UINT64_CAST 1 << 62)
130#define NVS_TARGET_SHFT 51
131#define NVS_TARGET_MASK (UINT64_CAST 0x3ff << 51)
132#define NVS_PIOID_SHFT 40
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define NVS_PIOID_MASK (UINT64_CAST 0x3ff << 40)
135#define NVS_WRITEID_SHFT 32
136#define NVS_WRITEID_MASK (UINT64_CAST 0xff << 32)
137#define NVS_ADDRESS_MASK (UINT64_CAST 0xfffffff8)
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define NVS_TYPE_SHFT 0
140#define NVS_TYPE_MASK (UINT64_CAST 0x7)
141#define NVS_ERROR_MASK (UINT64_CAST 0x4)
142#define PIOTYPE_READ 0
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define PIOTYPE_WRITE 1
145#define PIOTYPE_UNDEFINED 2
146#define PIOTYPE_EXCHANGE 3
147#define PIOTYPE_ADDR_ERR 4
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define PIOTYPE_CMD_ERR 5
150#define PIOTYPE_PROT_ERR 6
151#define PIOTYPE_UNKNOWN 7
152#define NAGE_VCH_SHFT 10
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define NAGE_VCH_MASK (UINT64_CAST 3 << 10)
155#define NAGE_CC_SHFT 8
156#define NAGE_CC_MASK (UINT64_CAST 3 << 8)
157#define NAGE_AGE_SHFT 0
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define NAGE_AGE_MASK (UINT64_CAST 0xff)
160#define NAGE_MASK (NAGE_VCH_MASK | NAGE_CC_MASK | NAGE_AGE_MASK)
161#define VCHANNEL_A 0
162#define VCHANNEL_B 1
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#define VCHANNEL_ANY 2
165#define NPP_NULLTO_SHFT 10
166#define NPP_NULLTO_MASK (UINT64_CAST 0x3f << 16)
167#define NPP_MAXBURST_SHFT 0
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#define NPP_MAXBURST_MASK (UINT64_CAST 0x3ff)
170#define NPP_RESET_DFLT_HUB20 ((UINT64_CAST 1 << NPP_NULLTO_SHFT) |   (UINT64_CAST 0x3f0 << NPP_MAXBURST_SHFT))
171#define NPP_RESET_DEFAULTS ((UINT64_CAST 6 << NPP_NULLTO_SHFT) |   (UINT64_CAST 0x3f0 << NPP_MAXBURST_SHFT))
172#define NPE_LINKRESET (UINT64_CAST 1 << 37)
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define NPE_INTERNALERROR (UINT64_CAST 1 << 36)
175#define NPE_BADMESSAGE (UINT64_CAST 1 << 35)
176#define NPE_BADDEST (UINT64_CAST 1 << 34)
177#define NPE_FIFOOVERFLOW (UINT64_CAST 1 << 33)
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#define NPE_CREDITTO_SHFT 28
180#define NPE_CREDITTO_MASK (UINT64_CAST 0xf << 28)
181#define NPE_TAILTO_SHFT 24
182#define NPE_TAILTO_MASK (UINT64_CAST 0xf << 24)
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184#define NPE_RETRYCOUNT_SHFT 16
185#define NPE_RETRYCOUNT_MASK (UINT64_CAST 0xff << 16)
186#define NPE_CBERRCOUNT_SHFT 8
187#define NPE_CBERRCOUNT_MASK (UINT64_CAST 0xff << 8)
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189#define NPE_SNERRCOUNT_SHFT 0
190#define NPE_SNERRCOUNT_MASK (UINT64_CAST 0xff << 0)
191#define NPE_MASK 0x3effffffff
192#define NPE_COUNT_MAX 0xff
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#define NPE_FATAL_ERRORS (NPE_LINKRESET | NPE_INTERNALERROR |   NPE_BADMESSAGE | NPE_BADDEST |   NPE_FIFOOVERFLOW | NPE_CREDITTO_MASK |   NPE_TAILTO_MASK)
195#define NMT_EXIT_PORT_MASK (UINT64_CAST 0xf)
196#define NLT_EXIT_PORT_MASK (UINT64_CAST 0xf)
197#ifndef __ASSEMBLY__
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199typedef union hubni_port_error_u {
200 u64 nipe_reg_value;
201 struct {
202 u64 nipe_rsvd: 26,
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 nipe_lnk_reset: 1,
205 nipe_intl_err: 1,
206 nipe_bad_msg: 1,
207 nipe_bad_dest: 1,
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 nipe_fifo_ovfl: 1,
210 nipe_rsvd1: 1,
211 nipe_credit_to: 4,
212 nipe_tail_to: 4,
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 nipe_retry_cnt: 8,
215 nipe_cb_cnt: 8,
216 nipe_sn_cnt: 8;
217 } nipe_fields_s;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219} hubni_port_error_t;
220#define NI_LLP_RETRY_MAX 0xff
221#define NI_LLP_CB_MAX 0xff
222#define NI_LLP_SN_MAX 0xff
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224#endif
225#endif
226