1*b35ce0c4SPankaj Gupta /* 2*b35ce0c4SPankaj Gupta * Copyright 2021 NXP 3*b35ce0c4SPankaj Gupta * SPDX-License-Identifier: BSD-3-Clause 4*b35ce0c4SPankaj Gupta * 5*b35ce0c4SPankaj Gupta */ 6*b35ce0c4SPankaj Gupta 7*b35ce0c4SPankaj Gupta #ifndef CSR_H 8*b35ce0c4SPankaj Gupta #define CSR_H 9*b35ce0c4SPankaj Gupta 10*b35ce0c4SPankaj Gupta #define t_anib 0 11*b35ce0c4SPankaj Gupta #define t_dbyte 0x10000 12*b35ce0c4SPankaj Gupta #define t_master 0x20000 13*b35ce0c4SPankaj Gupta #define t_acsm 0x40000 14*b35ce0c4SPankaj Gupta #define t_initeng 0x90000 15*b35ce0c4SPankaj Gupta #define t_drtub 0xc0000 16*b35ce0c4SPankaj Gupta #define t_apbonly 0xd0000 17*b35ce0c4SPankaj Gupta #define csr_dbyte_misc_mode_addr 0x00 18*b35ce0c4SPankaj Gupta #define csr_micro_cont_mux_sel_addr 0x00 19*b35ce0c4SPankaj Gupta #define csr_uct_shadow_regs 0x04 20*b35ce0c4SPankaj Gupta #define csr_cal_uclk_info_addr 0x08 21*b35ce0c4SPankaj Gupta #define csr_seq0bdly0_addr 0x0b 22*b35ce0c4SPankaj Gupta #define csr_seq0bdly1_addr 0x0c 23*b35ce0c4SPankaj Gupta #define csr_seq0bdly2_addr 0x0d 24*b35ce0c4SPankaj Gupta #define csr_seq0bdly3_addr 0x0e 25*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag0_addr 0x0c 26*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag1_addr 0x0d 27*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag2_addr 0x0e 28*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag3_addr 0x0f 29*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag4_addr 0x10 30*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag5_addr 0x11 31*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag6_addr 0x12 32*b35ce0c4SPankaj Gupta #define csr_seq0bdisable_flag7_addr 0x13 33*b35ce0c4SPankaj Gupta #define csr_dfi_mode_addr 0x18 34*b35ce0c4SPankaj Gupta #define csr_tristate_mode_ca_addr 0x19 35*b35ce0c4SPankaj Gupta #define csr_dfiphyupd_addr 0x21 36*b35ce0c4SPankaj Gupta #define csr_dqs_preamble_control_addr 0x24 37*b35ce0c4SPankaj Gupta #define csr_master_x4config_addr 0x25 38*b35ce0c4SPankaj Gupta #define csr_enable_cs_multicast_addr 0x27 39*b35ce0c4SPankaj Gupta #define csr_acx4_anib_dis_addr 0x2c 40*b35ce0c4SPankaj Gupta #define csr_dmipin_present_addr 0x2d 41*b35ce0c4SPankaj Gupta #define csr_ard_ptr_init_val_addr 0x2e 42*b35ce0c4SPankaj Gupta #define csr_dct_write_prot 0x31 43*b35ce0c4SPankaj Gupta #define csr_uct_write_only_shadow 0x32 44*b35ce0c4SPankaj Gupta #define csr_uct_write_prot 0x33 45*b35ce0c4SPankaj Gupta #define csr_uct_dat_write_only_shadow 0x34 46*b35ce0c4SPankaj Gupta #define csr_dbyte_dll_mode_cntrl_addr 0x3a 47*b35ce0c4SPankaj Gupta #define csr_atx_impedance_addr 0x43 48*b35ce0c4SPankaj Gupta #define csr_dq_dqs_rcv_cntrl_addr 0x43 49*b35ce0c4SPankaj Gupta #define csr_cal_offsets_addr 0x45 50*b35ce0c4SPankaj Gupta #define csr_tx_impedance_ctrl1_addr 0x49 51*b35ce0c4SPankaj Gupta #define csr_dq_dqs_rcv_cntrl1_addr 0x4a 52*b35ce0c4SPankaj Gupta #define csr_tx_odt_drv_stren_addr 0x4d 53*b35ce0c4SPankaj Gupta #define csr_cal_drv_str0_addr 0x50 54*b35ce0c4SPankaj Gupta #define csr_atx_slew_rate_addr 0x55 55*b35ce0c4SPankaj Gupta #define csr_proc_odt_time_ctl_addr 0x56 56*b35ce0c4SPankaj Gupta #define csr_mem_alert_control_addr 0x5b 57*b35ce0c4SPankaj Gupta #define csr_mem_alert_control2_addr 0x5c 58*b35ce0c4SPankaj Gupta #define csr_tx_slew_rate_addr 0x5f 59*b35ce0c4SPankaj Gupta #define csr_mem_reset_l_addr 0x60 60*b35ce0c4SPankaj Gupta #define csr_dfi_camode_addr 0x75 61*b35ce0c4SPankaj Gupta #define csr_dll_gain_ctl_addr 0x7c 62*b35ce0c4SPankaj Gupta #define csr_dll_lockparam_addr 0x7d 63*b35ce0c4SPankaj Gupta #define csr_ucclk_hclk_enables_addr 0x80 64*b35ce0c4SPankaj Gupta #define csr_acsm_playback0x0_addr 0x80 65*b35ce0c4SPankaj Gupta #define csr_acsm_playback1x0_addr 0x81 66*b35ce0c4SPankaj Gupta #define csr_cal_rate_addr 0x88 67*b35ce0c4SPankaj Gupta #define csr_cal_zap_addr 0x89 68*b35ce0c4SPankaj Gupta #define csr_cal_misc2_addr 0x98 69*b35ce0c4SPankaj Gupta #define csr_micro_reset_addr 0x99 70*b35ce0c4SPankaj Gupta #define csr_dfi_rd_data_cs_dest_map_addr 0xb0 71*b35ce0c4SPankaj Gupta #define csr_vref_in_global_addr 0xb2 72*b35ce0c4SPankaj Gupta #define csr_dfi_wr_data_cs_dest_map_addr 0xb4 73*b35ce0c4SPankaj Gupta #define csr_pll_pwr_dn_addr 0xc3 74*b35ce0c4SPankaj Gupta #define csr_pll_ctrl2_addr 0xc5 75*b35ce0c4SPankaj Gupta #define csr_pll_ctrl1_addr 0xc7 76*b35ce0c4SPankaj Gupta #define csr_pll_test_mode_addr 0xca 77*b35ce0c4SPankaj Gupta #define csr_pll_ctrl4_addr 0xcc 78*b35ce0c4SPankaj Gupta #define csr_dfi_freq_xlat0_addr 0xf0 79*b35ce0c4SPankaj Gupta #define csr_acsm_ctrl0_addr 0xf0 80*b35ce0c4SPankaj Gupta #define csr_dfi_freq_ratio_addr 0xfa 81*b35ce0c4SPankaj Gupta #define csr_acsm_ctrl13_addr 0xfd 82*b35ce0c4SPankaj Gupta #define csr_tx_pre_drv_mode_lsb 8 83*b35ce0c4SPankaj Gupta #define csr_tx_pre_n_lsb 4 84*b35ce0c4SPankaj Gupta #define csr_tx_pre_p_lsb 0 85*b35ce0c4SPankaj Gupta #define csr_atx_pre_drv_mode_lsb 8 86*b35ce0c4SPankaj Gupta #define csr_atx_pre_n_lsb 4 87*b35ce0c4SPankaj Gupta #define csr_atx_pre_p_lsb 0 88*b35ce0c4SPankaj Gupta #define csr_wdqsextension_lsb 8 89*b35ce0c4SPankaj Gupta #define csr_lp4sttc_pre_bridge_rx_en_lsb 7 90*b35ce0c4SPankaj Gupta #define csr_lp4postamble_ext_lsb 6 91*b35ce0c4SPankaj Gupta #define csr_lp4tgl_two_tck_tx_dqs_pre_lsb 5 92*b35ce0c4SPankaj Gupta #define csr_position_dfe_init_lsb 2 93*b35ce0c4SPankaj Gupta #define csr_two_tck_tx_dqs_pre_lsb 1 94*b35ce0c4SPankaj Gupta #define csr_two_tck_rx_dqs_pre_lsb 0 95*b35ce0c4SPankaj Gupta #define csr_dll_rx_preamble_mode_lsb 1 96*b35ce0c4SPankaj Gupta #define csr_odtstren_n_lsb 6 97*b35ce0c4SPankaj Gupta #define csr_drv_stren_fsdq_n_lsb 6 98*b35ce0c4SPankaj Gupta #define csr_drv_stren_fsdq_p_lsb 0 99*b35ce0c4SPankaj Gupta #define csr_adrv_stren_n_lsb 5 100*b35ce0c4SPankaj Gupta #define csr_adrv_stren_p_lsb 0 101*b35ce0c4SPankaj Gupta #define csr_cal_drv_str_pu50_lsb 4 102*b35ce0c4SPankaj Gupta #define csr_cal_once_lsb 5 103*b35ce0c4SPankaj Gupta #define csr_cal_interval_lsb 0 104*b35ce0c4SPankaj Gupta #define csr_cal_run_lsb 4 105*b35ce0c4SPankaj Gupta #define csr_global_vref_in_dac_lsb 3 106*b35ce0c4SPankaj Gupta #define csr_gain_curr_adj_lsb 7 107*b35ce0c4SPankaj Gupta #define csr_major_mode_dbyte_lsb 4 108*b35ce0c4SPankaj Gupta #define csr_dfe_ctrl_lsb 2 109*b35ce0c4SPankaj Gupta #define csr_ext_vref_range_lsb 1 110*b35ce0c4SPankaj Gupta #define csr_sel_analog_vref_lsb 0 111*b35ce0c4SPankaj Gupta #define csr_malertsync_bypass_lsb 0 112*b35ce0c4SPankaj Gupta #define csr_ck_dis_val_lsb 2 113*b35ce0c4SPankaj Gupta #define csr_ddr2tmode_lsb 1 114*b35ce0c4SPankaj Gupta #define csr_dis_dyn_adr_tri_lsb 0 115*b35ce0c4SPankaj Gupta #define csr_dbyte_disable_lsb 2 116*b35ce0c4SPankaj Gupta #define csr_power_down_rcvr_lsb 0 117*b35ce0c4SPankaj Gupta #define csr_power_down_rcvr_dqs_lsb 9 118*b35ce0c4SPankaj Gupta #define csr_rx_pad_standby_en_lsb 10 119*b35ce0c4SPankaj Gupta #define csr_rx_pad_standby_en_mask 0x400 120*b35ce0c4SPankaj Gupta #define csr_x4tg_lsb 0 121*b35ce0c4SPankaj Gupta #define csr_reset_to_micro_mask 0x8 122*b35ce0c4SPankaj Gupta #define csr_protect_mem_reset_mask 0x2 123*b35ce0c4SPankaj Gupta #define csr_stall_to_micro_mask 0x1 124*b35ce0c4SPankaj Gupta #define uct_write_prot_shadow_mask 0x1 125*b35ce0c4SPankaj Gupta #define csr_acsm_par_mode_mask 0x4000 126*b35ce0c4SPankaj Gupta #define csr_acsm_cke_enb_lsb 0 127*b35ce0c4SPankaj Gupta #define csr_dfiphyupd_threshold_lsb 8 128*b35ce0c4SPankaj Gupta #define csr_dfiphyupd_threshold_msb 11 129*b35ce0c4SPankaj Gupta #define csr_dfiphyupd_threshold_mask 0xf00 130*b35ce0c4SPankaj Gupta #define csr_dfi_rd_destm0_lsb 0 131*b35ce0c4SPankaj Gupta #define csr_dfi_rd_destm1_lsb 2 132*b35ce0c4SPankaj Gupta #define csr_dfi_rd_destm2_lsb 4 133*b35ce0c4SPankaj Gupta #define csr_dfi_rd_destm3_lsb 6 134*b35ce0c4SPankaj Gupta #define csr_dfi_wr_destm0_lsb 0 135*b35ce0c4SPankaj Gupta #define csr_dfi_wr_destm1_lsb 2 136*b35ce0c4SPankaj Gupta #define csr_dfi_wr_destm2_lsb 4 137*b35ce0c4SPankaj Gupta #define csr_dfi_wr_destm3_lsb 6 138*b35ce0c4SPankaj Gupta #define csr_acsm_2t_mode_mask 0x40 139*b35ce0c4SPankaj Gupta #define csr_cal_misc2_err_dis 13 140*b35ce0c4SPankaj Gupta #define csr_cal_offset_pdc_lsb 6 141*b35ce0c4SPankaj Gupta #define csr_cal_offset_pdc_msb 9 142*b35ce0c4SPankaj Gupta #define csr_cal_offset_pdc_mask 0xe0 143*b35ce0c4SPankaj Gupta #define csr_cal_drv_pdth_mask 0x3c0 144*b35ce0c4SPankaj Gupta 145*b35ce0c4SPankaj Gupta 146*b35ce0c4SPankaj Gupta struct impedance_mapping { 147*b35ce0c4SPankaj Gupta int ohm; 148*b35ce0c4SPankaj Gupta int code; 149*b35ce0c4SPankaj Gupta }; 150*b35ce0c4SPankaj Gupta 151*b35ce0c4SPankaj Gupta #endif 152