xref: /linux/drivers/net/ethernet/intel/ice/ice_cgu_regs.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2018-2021, Intel Corporation. */
3 
4 #ifndef _ICE_CGU_REGS_H_
5 #define _ICE_CGU_REGS_H_
6 
7 #define NAC_CGU_DWORD9 0x24
8 union nac_cgu_dword9 {
9 	struct {
10 		u32 time_ref_freq_sel : 3;
11 		u32 clk_eref1_en : 1;
12 		u32 clk_eref0_en : 1;
13 		u32 time_ref_en : 1;
14 		u32 time_sync_en : 1;
15 		u32 one_pps_out_en : 1;
16 		u32 clk_ref_synce_en : 1;
17 		u32 clk_synce1_en : 1;
18 		u32 clk_synce0_en : 1;
19 		u32 net_clk_ref1_en : 1;
20 		u32 net_clk_ref0_en : 1;
21 		u32 clk_synce1_amp : 2;
22 		u32 misc6 : 1;
23 		u32 clk_synce0_amp : 2;
24 		u32 one_pps_out_amp : 2;
25 		u32 misc24 : 12;
26 	};
27 	u32 val;
28 };
29 
30 #define NAC_CGU_DWORD16_E825C 0x40
31 union nac_cgu_dword16_e825c {
32 	struct {
33 		u32 synce_remndr : 6;
34 		u32 synce_phlmt_en : 1;
35 		u32 misc13 : 17;
36 		u32 tspll_ck_refclkfreq : 8;
37 	};
38 	u32 val;
39 };
40 
41 #define NAC_CGU_DWORD19 0x4c
42 union nac_cgu_dword19 {
43 	struct {
44 		u32 tspll_fbdiv_intgr : 8;
45 		u32 fdpll_ulck_thr : 5;
46 		u32 misc15 : 3;
47 		u32 tspll_ndivratio : 4;
48 		u32 tspll_iref_ndivratio : 3;
49 		u32 misc19 : 1;
50 		u32 japll_ndivratio : 4;
51 		u32 japll_iref_ndivratio : 3;
52 		u32 misc27 : 1;
53 	};
54 	u32 val;
55 };
56 
57 #define NAC_CGU_DWORD22 0x58
58 union nac_cgu_dword22 {
59 	struct {
60 		u32 fdpll_frac_div_out_nc : 2;
61 		u32 fdpll_lock_int_for : 1;
62 		u32 synce_hdov_int_for : 1;
63 		u32 synce_lock_int_for : 1;
64 		u32 fdpll_phlead_slip_nc : 1;
65 		u32 fdpll_acc1_ovfl_nc : 1;
66 		u32 fdpll_acc2_ovfl_nc : 1;
67 		u32 synce_status_nc : 6;
68 		u32 fdpll_acc1f_ovfl : 1;
69 		u32 misc18 : 1;
70 		u32 fdpllclk_div : 4;
71 		u32 time1588clk_div : 4;
72 		u32 synceclk_div : 4;
73 		u32 synceclk_sel_div2 : 1;
74 		u32 fdpllclk_sel_div2 : 1;
75 		u32 time1588clk_sel_div2 : 1;
76 		u32 misc3 : 1;
77 	};
78 	u32 val;
79 };
80 
81 #define NAC_CGU_DWORD23_E825C 0x5C
82 union nac_cgu_dword23_e825c {
83 	struct {
84 		u32 cgupll_fbdiv_intgr : 10;
85 		u32 ux56pll_fbdiv_intgr : 10;
86 		u32 misc20 : 4;
87 		u32 ts_pll_enable : 1;
88 		u32 time_sync_tspll_align_sel : 1;
89 		u32 ext_synce_sel : 1;
90 		u32 ref1588_ck_div : 4;
91 		u32 time_ref_sel : 1;
92 
93 	};
94 	u32 val;
95 };
96 
97 #define NAC_CGU_DWORD24 0x60
98 union nac_cgu_dword24 {
99 	struct {
100 		u32 tspll_fbdiv_frac : 22;
101 		u32 misc20 : 2;
102 		u32 ts_pll_enable : 1;
103 		u32 time_sync_tspll_align_sel : 1;
104 		u32 ext_synce_sel : 1;
105 		u32 ref1588_ck_div : 4;
106 		u32 time_ref_sel : 1;
107 	};
108 	u32 val;
109 };
110 
111 #define TSPLL_CNTR_BIST_SETTINGS 0x344
112 union tspll_cntr_bist_settings {
113 	struct {
114 		u32 i_irefgen_settling_time_cntr_7_0 : 8;
115 		u32 i_irefgen_settling_time_ro_standby_1_0 : 2;
116 		u32 reserved195 : 5;
117 		u32 i_plllock_sel_0 : 1;
118 		u32 i_plllock_sel_1 : 1;
119 		u32 i_plllock_cnt_6_0 : 7;
120 		u32 i_plllock_cnt_10_7 : 4;
121 		u32 reserved200 : 4;
122 	};
123 	u32 val;
124 };
125 
126 #define TSPLL_RO_BWM_LF 0x370
127 union tspll_ro_bwm_lf {
128 	struct {
129 		u32 bw_freqov_high_cri_7_0 : 8;
130 		u32 bw_freqov_high_cri_9_8 : 2;
131 		u32 biascaldone_cri : 1;
132 		u32 plllock_gain_tran_cri : 1;
133 		u32 plllock_true_lock_cri : 1;
134 		u32 pllunlock_flag_cri : 1;
135 		u32 afcerr_cri : 1;
136 		u32 afcdone_cri : 1;
137 		u32 feedfwrdgain_cal_cri_7_0 : 8;
138 		u32 m2fbdivmod_cri_7_0 : 8;
139 	};
140 	u32 val;
141 };
142 
143 #define TSPLL_RO_LOCK_E825C 0x3f0
144 union tspll_ro_lock_e825c {
145 	struct {
146 		u32 bw_freqov_high_cri_7_0 : 8;
147 		u32 bw_freqov_high_cri_9_8 : 2;
148 		u32 reserved455 : 1;
149 		u32 plllock_gain_tran_cri : 1;
150 		u32 plllock_true_lock_cri : 1;
151 		u32 pllunlock_flag_cri : 1;
152 		u32 afcerr_cri : 1;
153 		u32 afcdone_cri : 1;
154 		u32 feedfwrdgain_cal_cri_7_0 : 8;
155 		u32 reserved462 : 8;
156 	};
157 	u32 val;
158 };
159 
160 #define TSPLL_BW_TDC_E825C 0x31c
161 union tspll_bw_tdc_e825c {
162 	struct {
163 		u32 i_tdc_offset_lock_1_0 : 2;
164 		u32 i_bbthresh1_2_0 : 3;
165 		u32 i_bbthresh2_2_0 : 3;
166 		u32 i_tdcsel_1_0 : 2;
167 		u32 i_tdcovccorr_en_h : 1;
168 		u32 i_divretimeren : 1;
169 		u32 i_bw_ampmeas_window : 1;
170 		u32 i_bw_lowerbound_2_0 : 3;
171 		u32 i_bw_upperbound_2_0 : 3;
172 		u32 i_bw_mode_1_0 : 2;
173 		u32 i_ft_mode_sel_2_0 : 3;
174 		u32 i_bwphase_4_0 : 5;
175 		u32 i_plllock_sel_1_0 : 2;
176 		u32 i_afc_divratio : 1;
177 	};
178 	u32 val;
179 };
180 
181 #endif /* _ICE_CGU_REGS_H_ */
182