1*b111ab5aSJacob Keller /* SPDX-License-Identifier: GPL-2.0 */ 2*b111ab5aSJacob Keller /* Copyright (C) 2018-2021, Intel Corporation. */ 3*b111ab5aSJacob Keller 4*b111ab5aSJacob Keller #ifndef _ICE_CGU_REGS_H_ 5*b111ab5aSJacob Keller #define _ICE_CGU_REGS_H_ 6*b111ab5aSJacob Keller 7*b111ab5aSJacob Keller #define NAC_CGU_DWORD9 0x24 8*b111ab5aSJacob Keller union nac_cgu_dword9 { 9*b111ab5aSJacob Keller struct { 10*b111ab5aSJacob Keller u32 time_ref_freq_sel : 3; 11*b111ab5aSJacob Keller u32 clk_eref1_en : 1; 12*b111ab5aSJacob Keller u32 clk_eref0_en : 1; 13*b111ab5aSJacob Keller u32 time_ref_en : 1; 14*b111ab5aSJacob Keller u32 time_sync_en : 1; 15*b111ab5aSJacob Keller u32 one_pps_out_en : 1; 16*b111ab5aSJacob Keller u32 clk_ref_synce_en : 1; 17*b111ab5aSJacob Keller u32 clk_synce1_en : 1; 18*b111ab5aSJacob Keller u32 clk_synce0_en : 1; 19*b111ab5aSJacob Keller u32 net_clk_ref1_en : 1; 20*b111ab5aSJacob Keller u32 net_clk_ref0_en : 1; 21*b111ab5aSJacob Keller u32 clk_synce1_amp : 2; 22*b111ab5aSJacob Keller u32 misc6 : 1; 23*b111ab5aSJacob Keller u32 clk_synce0_amp : 2; 24*b111ab5aSJacob Keller u32 one_pps_out_amp : 2; 25*b111ab5aSJacob Keller u32 misc24 : 12; 26*b111ab5aSJacob Keller } field; 27*b111ab5aSJacob Keller u32 val; 28*b111ab5aSJacob Keller }; 29*b111ab5aSJacob Keller 30*b111ab5aSJacob Keller #define NAC_CGU_DWORD19 0x4c 31*b111ab5aSJacob Keller union nac_cgu_dword19 { 32*b111ab5aSJacob Keller struct { 33*b111ab5aSJacob Keller u32 tspll_fbdiv_intgr : 8; 34*b111ab5aSJacob Keller u32 fdpll_ulck_thr : 5; 35*b111ab5aSJacob Keller u32 misc15 : 3; 36*b111ab5aSJacob Keller u32 tspll_ndivratio : 4; 37*b111ab5aSJacob Keller u32 tspll_iref_ndivratio : 3; 38*b111ab5aSJacob Keller u32 misc19 : 1; 39*b111ab5aSJacob Keller u32 japll_ndivratio : 4; 40*b111ab5aSJacob Keller u32 japll_iref_ndivratio : 3; 41*b111ab5aSJacob Keller u32 misc27 : 1; 42*b111ab5aSJacob Keller } field; 43*b111ab5aSJacob Keller u32 val; 44*b111ab5aSJacob Keller }; 45*b111ab5aSJacob Keller 46*b111ab5aSJacob Keller #define NAC_CGU_DWORD22 0x58 47*b111ab5aSJacob Keller union nac_cgu_dword22 { 48*b111ab5aSJacob Keller struct { 49*b111ab5aSJacob Keller u32 fdpll_frac_div_out_nc : 2; 50*b111ab5aSJacob Keller u32 fdpll_lock_int_for : 1; 51*b111ab5aSJacob Keller u32 synce_hdov_int_for : 1; 52*b111ab5aSJacob Keller u32 synce_lock_int_for : 1; 53*b111ab5aSJacob Keller u32 fdpll_phlead_slip_nc : 1; 54*b111ab5aSJacob Keller u32 fdpll_acc1_ovfl_nc : 1; 55*b111ab5aSJacob Keller u32 fdpll_acc2_ovfl_nc : 1; 56*b111ab5aSJacob Keller u32 synce_status_nc : 6; 57*b111ab5aSJacob Keller u32 fdpll_acc1f_ovfl : 1; 58*b111ab5aSJacob Keller u32 misc18 : 1; 59*b111ab5aSJacob Keller u32 fdpllclk_div : 4; 60*b111ab5aSJacob Keller u32 time1588clk_div : 4; 61*b111ab5aSJacob Keller u32 synceclk_div : 4; 62*b111ab5aSJacob Keller u32 synceclk_sel_div2 : 1; 63*b111ab5aSJacob Keller u32 fdpllclk_sel_div2 : 1; 64*b111ab5aSJacob Keller u32 time1588clk_sel_div2 : 1; 65*b111ab5aSJacob Keller u32 misc3 : 1; 66*b111ab5aSJacob Keller } field; 67*b111ab5aSJacob Keller u32 val; 68*b111ab5aSJacob Keller }; 69*b111ab5aSJacob Keller 70*b111ab5aSJacob Keller #define NAC_CGU_DWORD24 0x60 71*b111ab5aSJacob Keller union nac_cgu_dword24 { 72*b111ab5aSJacob Keller struct { 73*b111ab5aSJacob Keller u32 tspll_fbdiv_frac : 22; 74*b111ab5aSJacob Keller u32 misc20 : 2; 75*b111ab5aSJacob Keller u32 ts_pll_enable : 1; 76*b111ab5aSJacob Keller u32 time_sync_tspll_align_sel : 1; 77*b111ab5aSJacob Keller u32 ext_synce_sel : 1; 78*b111ab5aSJacob Keller u32 ref1588_ck_div : 4; 79*b111ab5aSJacob Keller u32 time_ref_sel : 1; 80*b111ab5aSJacob Keller } field; 81*b111ab5aSJacob Keller u32 val; 82*b111ab5aSJacob Keller }; 83*b111ab5aSJacob Keller 84*b111ab5aSJacob Keller #define TSPLL_CNTR_BIST_SETTINGS 0x344 85*b111ab5aSJacob Keller union tspll_cntr_bist_settings { 86*b111ab5aSJacob Keller struct { 87*b111ab5aSJacob Keller u32 i_irefgen_settling_time_cntr_7_0 : 8; 88*b111ab5aSJacob Keller u32 i_irefgen_settling_time_ro_standby_1_0 : 2; 89*b111ab5aSJacob Keller u32 reserved195 : 5; 90*b111ab5aSJacob Keller u32 i_plllock_sel_0 : 1; 91*b111ab5aSJacob Keller u32 i_plllock_sel_1 : 1; 92*b111ab5aSJacob Keller u32 i_plllock_cnt_6_0 : 7; 93*b111ab5aSJacob Keller u32 i_plllock_cnt_10_7 : 4; 94*b111ab5aSJacob Keller u32 reserved200 : 4; 95*b111ab5aSJacob Keller } field; 96*b111ab5aSJacob Keller u32 val; 97*b111ab5aSJacob Keller }; 98*b111ab5aSJacob Keller 99*b111ab5aSJacob Keller #define TSPLL_RO_BWM_LF 0x370 100*b111ab5aSJacob Keller union tspll_ro_bwm_lf { 101*b111ab5aSJacob Keller struct { 102*b111ab5aSJacob Keller u32 bw_freqov_high_cri_7_0 : 8; 103*b111ab5aSJacob Keller u32 bw_freqov_high_cri_9_8 : 2; 104*b111ab5aSJacob Keller u32 biascaldone_cri : 1; 105*b111ab5aSJacob Keller u32 plllock_gain_tran_cri : 1; 106*b111ab5aSJacob Keller u32 plllock_true_lock_cri : 1; 107*b111ab5aSJacob Keller u32 pllunlock_flag_cri : 1; 108*b111ab5aSJacob Keller u32 afcerr_cri : 1; 109*b111ab5aSJacob Keller u32 afcdone_cri : 1; 110*b111ab5aSJacob Keller u32 feedfwrdgain_cal_cri_7_0 : 8; 111*b111ab5aSJacob Keller u32 m2fbdivmod_cri_7_0 : 8; 112*b111ab5aSJacob Keller } field; 113*b111ab5aSJacob Keller u32 val; 114*b111ab5aSJacob Keller }; 115*b111ab5aSJacob Keller 116*b111ab5aSJacob Keller #endif /* _ICE_CGU_REGS_H_ */ 117