1*4b8b8d74SJaiprakash Singh #ifndef __ODY_CSRS_NCB_H__
2*4b8b8d74SJaiprakash Singh #define __ODY_CSRS_NCB_H__
3*4b8b8d74SJaiprakash Singh /* This file is auto-generated. Do not edit */
4*4b8b8d74SJaiprakash Singh
5*4b8b8d74SJaiprakash Singh /***********************license start***********************************
6*4b8b8d74SJaiprakash Singh * Copyright (C) 2021-2026 Marvell.
7*4b8b8d74SJaiprakash Singh * SPDX-License-Identifier: BSD-3-Clause
8*4b8b8d74SJaiprakash Singh * https://spdx.org/licenses
9*4b8b8d74SJaiprakash Singh ***********************license end**************************************/
10*4b8b8d74SJaiprakash Singh
11*4b8b8d74SJaiprakash Singh
12*4b8b8d74SJaiprakash Singh /**
13*4b8b8d74SJaiprakash Singh * @file
14*4b8b8d74SJaiprakash Singh *
15*4b8b8d74SJaiprakash Singh * Configuration and status register (CSR) address and type definitions for
16*4b8b8d74SJaiprakash Singh * NCB.
17*4b8b8d74SJaiprakash Singh *
18*4b8b8d74SJaiprakash Singh * This file is auto generated. Do not edit.
19*4b8b8d74SJaiprakash Singh *
20*4b8b8d74SJaiprakash Singh */
21*4b8b8d74SJaiprakash Singh
22*4b8b8d74SJaiprakash Singh /**
23*4b8b8d74SJaiprakash Singh * Enumeration ncb_bar_e
24*4b8b8d74SJaiprakash Singh *
25*4b8b8d74SJaiprakash Singh * NCB Base Address Register Enumeration
26*4b8b8d74SJaiprakash Singh * Enumerates the base address registers.
27*4b8b8d74SJaiprakash Singh */
28*4b8b8d74SJaiprakash Singh #define ODY_NCB_BAR_E_NCBX_PF_BAR0(a) (0x87e140000000ll + 0x1000000ll * (a))
29*4b8b8d74SJaiprakash Singh #define ODY_NCB_BAR_E_NCBX_PF_BAR0_SIZE 0x100000ull
30*4b8b8d74SJaiprakash Singh
31*4b8b8d74SJaiprakash Singh /**
32*4b8b8d74SJaiprakash Singh * Enumeration ncb_psb_event_e
33*4b8b8d74SJaiprakash Singh *
34*4b8b8d74SJaiprakash Singh * NCB Power Serial Bus Event Enumeration
35*4b8b8d74SJaiprakash Singh * Enumerates the event numbers for IOB slaves, which correspond to index {b} of
36*4b8b8d74SJaiprakash Singh * PSBS_SYS()_EVENT()_CFG.
37*4b8b8d74SJaiprakash Singh */
38*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID0 (2)
39*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID1 (6)
40*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID10 (0x2a)
41*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID11 (0x2e)
42*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID12 (0x32)
43*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID13 (0x36)
44*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID14 (0x3a)
45*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID15 (0x3e)
46*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID2 (0xa)
47*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID3 (0xe)
48*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID4 (0x12)
49*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID5 (0x16)
50*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID6 (0x1a)
51*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID7 (0x1e)
52*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID8 (0x22)
53*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_DAT_ARBID9 (0x26)
54*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID0 (0)
55*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID1 (4)
56*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID10 (0x28)
57*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID11 (0x2c)
58*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID12 (0x30)
59*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID13 (0x34)
60*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID14 (0x38)
61*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID15 (0x3c)
62*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID2 (8)
63*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID3 (0xc)
64*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID4 (0x10)
65*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID5 (0x14)
66*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID6 (0x18)
67*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID7 (0x1c)
68*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID8 (0x20)
69*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_READ_REQ_ARBID9 (0x24)
70*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID0 (3)
71*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID1 (7)
72*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID10 (0x2b)
73*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID11 (0x2f)
74*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID12 (0x33)
75*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID13 (0x37)
76*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID14 (0x3b)
77*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID15 (0x3f)
78*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID2 (0xb)
79*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID3 (0xf)
80*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID4 (0x13)
81*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID5 (0x17)
82*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID6 (0x1b)
83*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID7 (0x1f)
84*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID8 (0x23)
85*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_DAT_ARBID9 (0x27)
86*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID0 (1)
87*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID1 (5)
88*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID10 (0x29)
89*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID11 (0x2d)
90*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID12 (0x31)
91*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID13 (0x35)
92*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID14 (0x39)
93*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID15 (0x3d)
94*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID2 (9)
95*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID3 (0xd)
96*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID4 (0x11)
97*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID5 (0x15)
98*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID6 (0x19)
99*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID7 (0x1d)
100*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID8 (0x21)
101*4b8b8d74SJaiprakash Singh #define ODY_NCB_PSB_EVENT_E_NCB_WRITE_REQ_ARBID9 (0x25)
102*4b8b8d74SJaiprakash Singh
103*4b8b8d74SJaiprakash Singh /**
104*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_arb#_crds
105*4b8b8d74SJaiprakash Singh *
106*4b8b8d74SJaiprakash Singh * NREQ Priority Register
107*4b8b8d74SJaiprakash Singh */
108*4b8b8d74SJaiprakash Singh union ody_ncbx_arbx_crds {
109*4b8b8d74SJaiprakash Singh uint64_t u;
110*4b8b8d74SJaiprakash Singh struct ody_ncbx_arbx_crds_s {
111*4b8b8d74SJaiprakash Singh uint64_t min : 10;
112*4b8b8d74SJaiprakash Singh uint64_t max : 10;
113*4b8b8d74SJaiprakash Singh uint64_t rsv_rdstid : 1;
114*4b8b8d74SJaiprakash Singh uint64_t reserved_21_63 : 43;
115*4b8b8d74SJaiprakash Singh } s;
116*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_arbx_crds_s cn; */
117*4b8b8d74SJaiprakash Singh };
118*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_arbx_crds ody_ncbx_arbx_crds_t;
119*4b8b8d74SJaiprakash Singh
120*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBX_CRDS(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_NCBX_ARBX_CRDS(uint64_t a,uint64_t b)121*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBX_CRDS(uint64_t a, uint64_t b)
122*4b8b8d74SJaiprakash Singh {
123*4b8b8d74SJaiprakash Singh if (((a == 0) || ((a >= 2) && (a <= 5))) && (b <= 15))
124*4b8b8d74SJaiprakash Singh return 0x87e1400f0000ll + 0x1000000ll * ((a) & 0x7) + 8ll * ((b) & 0xf);
125*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_ARBX_CRDS", 2, a, b, 0, 0, 0, 0);
126*4b8b8d74SJaiprakash Singh }
127*4b8b8d74SJaiprakash Singh
128*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_ARBX_CRDS(a, b) ody_ncbx_arbx_crds_t
129*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_ARBX_CRDS(a, b) CSR_TYPE_RSL
130*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_ARBX_CRDS(a, b) "NCBX_ARBX_CRDS"
131*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_ARBX_CRDS(a, b) 0x0 /* PF_BAR0 */
132*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_ARBX_CRDS(a, b) (a)
133*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_ARBX_CRDS(a, b) (a), (b), -1, -1
134*4b8b8d74SJaiprakash Singh
135*4b8b8d74SJaiprakash Singh /**
136*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_arb_iut_dis
137*4b8b8d74SJaiprakash Singh *
138*4b8b8d74SJaiprakash Singh * NCBO ARBID IUT Disable Register
139*4b8b8d74SJaiprakash Singh * This register enables the uTLB for transactions through each ARBID.
140*4b8b8d74SJaiprakash Singh */
141*4b8b8d74SJaiprakash Singh union ody_ncbx_arb_iut_dis {
142*4b8b8d74SJaiprakash Singh uint64_t u;
143*4b8b8d74SJaiprakash Singh struct ody_ncbx_arb_iut_dis_s {
144*4b8b8d74SJaiprakash Singh uint64_t dis : 16;
145*4b8b8d74SJaiprakash Singh uint64_t reserved_16_63 : 48;
146*4b8b8d74SJaiprakash Singh } s;
147*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_arb_iut_dis_s cn; */
148*4b8b8d74SJaiprakash Singh };
149*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_arb_iut_dis ody_ncbx_arb_iut_dis_t;
150*4b8b8d74SJaiprakash Singh
151*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARB_IUT_DIS(uint64_t a) __attribute__ ((pure, always_inline));
ODY_NCBX_ARB_IUT_DIS(uint64_t a)152*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARB_IUT_DIS(uint64_t a)
153*4b8b8d74SJaiprakash Singh {
154*4b8b8d74SJaiprakash Singh if ((a == 0) || ((a >= 2) && (a <= 5)))
155*4b8b8d74SJaiprakash Singh return 0x87e140008080ll + 0x1000000ll * ((a) & 0x7);
156*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_ARB_IUT_DIS", 1, a, 0, 0, 0, 0, 0);
157*4b8b8d74SJaiprakash Singh }
158*4b8b8d74SJaiprakash Singh
159*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_ARB_IUT_DIS(a) ody_ncbx_arb_iut_dis_t
160*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_ARB_IUT_DIS(a) CSR_TYPE_RSL
161*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_ARB_IUT_DIS(a) "NCBX_ARB_IUT_DIS"
162*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_ARB_IUT_DIS(a) 0x0 /* PF_BAR0 */
163*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_ARB_IUT_DIS(a) (a)
164*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_ARB_IUT_DIS(a) (a), -1, -1, -1
165*4b8b8d74SJaiprakash Singh
166*4b8b8d74SJaiprakash Singh /**
167*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_arbid#_ctl
168*4b8b8d74SJaiprakash Singh *
169*4b8b8d74SJaiprakash Singh * NCB ARBID Control Registers
170*4b8b8d74SJaiprakash Singh * This register set properties for each of the flat ARBIDs.
171*4b8b8d74SJaiprakash Singh */
172*4b8b8d74SJaiprakash Singh union ody_ncbx_arbidx_ctl {
173*4b8b8d74SJaiprakash Singh uint64_t u;
174*4b8b8d74SJaiprakash Singh struct ody_ncbx_arbidx_ctl_s {
175*4b8b8d74SJaiprakash Singh uint64_t ld_ld_ord : 1;
176*4b8b8d74SJaiprakash Singh uint64_t st_st_ord : 1;
177*4b8b8d74SJaiprakash Singh uint64_t st_ld_ord : 1;
178*4b8b8d74SJaiprakash Singh uint64_t ro_dis : 1;
179*4b8b8d74SJaiprakash Singh uint64_t pr_iova_dis : 1;
180*4b8b8d74SJaiprakash Singh uint64_t prefetch_dis : 1;
181*4b8b8d74SJaiprakash Singh uint64_t crppr_ena : 2;
182*4b8b8d74SJaiprakash Singh uint64_t sow_dis : 1;
183*4b8b8d74SJaiprakash Singh uint64_t fast_ord : 1;
184*4b8b8d74SJaiprakash Singh uint64_t reserved_10_63 : 54;
185*4b8b8d74SJaiprakash Singh } s;
186*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_arbidx_ctl_s cn; */
187*4b8b8d74SJaiprakash Singh };
188*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_arbidx_ctl ody_ncbx_arbidx_ctl_t;
189*4b8b8d74SJaiprakash Singh
190*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBIDX_CTL(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_NCBX_ARBIDX_CTL(uint64_t a,uint64_t b)191*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBIDX_CTL(uint64_t a, uint64_t b)
192*4b8b8d74SJaiprakash Singh {
193*4b8b8d74SJaiprakash Singh if (((a == 0) || ((a >= 2) && (a <= 5))) && (b <= 15))
194*4b8b8d74SJaiprakash Singh return 0x87e140006100ll + 0x1000000ll * ((a) & 0x7) + 8ll * ((b) & 0xf);
195*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_ARBIDX_CTL", 2, a, b, 0, 0, 0, 0);
196*4b8b8d74SJaiprakash Singh }
197*4b8b8d74SJaiprakash Singh
198*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_ARBIDX_CTL(a, b) ody_ncbx_arbidx_ctl_t
199*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_ARBIDX_CTL(a, b) CSR_TYPE_RSL
200*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_ARBIDX_CTL(a, b) "NCBX_ARBIDX_CTL"
201*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_ARBIDX_CTL(a, b) 0x0 /* PF_BAR0 */
202*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_ARBIDX_CTL(a, b) (a)
203*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_ARBIDX_CTL(a, b) (a), (b), -1, -1
204*4b8b8d74SJaiprakash Singh
205*4b8b8d74SJaiprakash Singh /**
206*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_arbid#_rr_ctl
207*4b8b8d74SJaiprakash Singh *
208*4b8b8d74SJaiprakash Singh * NCB Round Robin Control Registers
209*4b8b8d74SJaiprakash Singh */
210*4b8b8d74SJaiprakash Singh union ody_ncbx_arbidx_rr_ctl {
211*4b8b8d74SJaiprakash Singh uint64_t u;
212*4b8b8d74SJaiprakash Singh struct ody_ncbx_arbidx_rr_ctl_s {
213*4b8b8d74SJaiprakash Singh uint64_t weight : 4;
214*4b8b8d74SJaiprakash Singh uint64_t reserved_4_63 : 60;
215*4b8b8d74SJaiprakash Singh } s;
216*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_arbidx_rr_ctl_s cn; */
217*4b8b8d74SJaiprakash Singh };
218*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_arbidx_rr_ctl ody_ncbx_arbidx_rr_ctl_t;
219*4b8b8d74SJaiprakash Singh
220*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBIDX_RR_CTL(uint64_t a, uint64_t b) __attribute__ ((pure, always_inline));
ODY_NCBX_ARBIDX_RR_CTL(uint64_t a,uint64_t b)221*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_ARBIDX_RR_CTL(uint64_t a, uint64_t b)
222*4b8b8d74SJaiprakash Singh {
223*4b8b8d74SJaiprakash Singh if (((a == 0) || ((a >= 2) && (a <= 5))) && (b <= 15))
224*4b8b8d74SJaiprakash Singh return 0x87e1400f7000ll + 0x1000000ll * ((a) & 0x7) + 8ll * ((b) & 0xf);
225*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_ARBIDX_RR_CTL", 2, a, b, 0, 0, 0, 0);
226*4b8b8d74SJaiprakash Singh }
227*4b8b8d74SJaiprakash Singh
228*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_ARBIDX_RR_CTL(a, b) ody_ncbx_arbidx_rr_ctl_t
229*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_ARBIDX_RR_CTL(a, b) CSR_TYPE_RSL
230*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_ARBIDX_RR_CTL(a, b) "NCBX_ARBIDX_RR_CTL"
231*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_ARBIDX_RR_CTL(a, b) 0x0 /* PF_BAR0 */
232*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_ARBIDX_RR_CTL(a, b) (a)
233*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_ARBIDX_RR_CTL(a, b) (a), (b), -1, -1
234*4b8b8d74SJaiprakash Singh
235*4b8b8d74SJaiprakash Singh /**
236*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_ctl
237*4b8b8d74SJaiprakash Singh *
238*4b8b8d74SJaiprakash Singh * NCB Control Registers
239*4b8b8d74SJaiprakash Singh */
240*4b8b8d74SJaiprakash Singh union ody_ncbx_ctl {
241*4b8b8d74SJaiprakash Singh uint64_t u;
242*4b8b8d74SJaiprakash Singh struct ody_ncbx_ctl_s {
243*4b8b8d74SJaiprakash Singh uint64_t cal : 1;
244*4b8b8d74SJaiprakash Singh uint64_t dis : 1;
245*4b8b8d74SJaiprakash Singh uint64_t reserved_2_63 : 62;
246*4b8b8d74SJaiprakash Singh } s;
247*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_ctl_s cn; */
248*4b8b8d74SJaiprakash Singh };
249*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_ctl ody_ncbx_ctl_t;
250*4b8b8d74SJaiprakash Singh
251*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_CTL(uint64_t a) __attribute__ ((pure, always_inline));
ODY_NCBX_CTL(uint64_t a)252*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_CTL(uint64_t a)
253*4b8b8d74SJaiprakash Singh {
254*4b8b8d74SJaiprakash Singh if ((a == 0) || ((a >= 2) && (a <= 5)))
255*4b8b8d74SJaiprakash Singh return 0x87e1400f6000ll + 0x1000000ll * ((a) & 0x7);
256*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_CTL", 1, a, 0, 0, 0, 0, 0);
257*4b8b8d74SJaiprakash Singh }
258*4b8b8d74SJaiprakash Singh
259*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_CTL(a) ody_ncbx_ctl_t
260*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_CTL(a) CSR_TYPE_RSL
261*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_CTL(a) "NCBX_CTL"
262*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_CTL(a) 0x0 /* PF_BAR0 */
263*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_CTL(a) (a)
264*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_CTL(a) (a), -1, -1, -1
265*4b8b8d74SJaiprakash Singh
266*4b8b8d74SJaiprakash Singh /**
267*4b8b8d74SJaiprakash Singh * Register (RSL) ncb#_ready
268*4b8b8d74SJaiprakash Singh *
269*4b8b8d74SJaiprakash Singh * NCB READY Registers
270*4b8b8d74SJaiprakash Singh */
271*4b8b8d74SJaiprakash Singh union ody_ncbx_ready {
272*4b8b8d74SJaiprakash Singh uint64_t u;
273*4b8b8d74SJaiprakash Singh struct ody_ncbx_ready_s {
274*4b8b8d74SJaiprakash Singh uint64_t ncbo_ready : 16;
275*4b8b8d74SJaiprakash Singh uint64_t reserved_16_63 : 48;
276*4b8b8d74SJaiprakash Singh } s;
277*4b8b8d74SJaiprakash Singh /* struct ody_ncbx_ready_s cn; */
278*4b8b8d74SJaiprakash Singh };
279*4b8b8d74SJaiprakash Singh typedef union ody_ncbx_ready ody_ncbx_ready_t;
280*4b8b8d74SJaiprakash Singh
281*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_READY(uint64_t a) __attribute__ ((pure, always_inline));
ODY_NCBX_READY(uint64_t a)282*4b8b8d74SJaiprakash Singh static inline uint64_t ODY_NCBX_READY(uint64_t a)
283*4b8b8d74SJaiprakash Singh {
284*4b8b8d74SJaiprakash Singh if ((a == 0) || ((a >= 2) && (a <= 5)))
285*4b8b8d74SJaiprakash Singh return 0x87e140008100ll + 0x1000000ll * ((a) & 0x7);
286*4b8b8d74SJaiprakash Singh __ody_csr_fatal("NCBX_READY", 1, a, 0, 0, 0, 0, 0);
287*4b8b8d74SJaiprakash Singh }
288*4b8b8d74SJaiprakash Singh
289*4b8b8d74SJaiprakash Singh #define typedef_ODY_NCBX_READY(a) ody_ncbx_ready_t
290*4b8b8d74SJaiprakash Singh #define bustype_ODY_NCBX_READY(a) CSR_TYPE_RSL
291*4b8b8d74SJaiprakash Singh #define basename_ODY_NCBX_READY(a) "NCBX_READY"
292*4b8b8d74SJaiprakash Singh #define device_bar_ODY_NCBX_READY(a) 0x0 /* PF_BAR0 */
293*4b8b8d74SJaiprakash Singh #define busnum_ODY_NCBX_READY(a) (a)
294*4b8b8d74SJaiprakash Singh #define arguments_ODY_NCBX_READY(a) (a), -1, -1, -1
295*4b8b8d74SJaiprakash Singh
296*4b8b8d74SJaiprakash Singh #endif /* __ODY_CSRS_NCB_H__ */
297