⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps7_init.c

📁 自学ZedBoard:使用IP通过ARM PS访问FPGA(源代码)
💻 C
📖 第 1 页 / 共 5 页
字号:
    EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU ,0x00000080U),
    // .. .. FINISH: LOCK DDR
    // .. .. reg_ddrc_t_rfc_nom_x32 = 0x81
    // .. .. ==> 0XF8006004[11:0] = 0x00000081U
    // .. ..     ==> MASK : 0x00000FFFU    VAL : 0x00000081U
    // .. .. reg_ddrc_active_ranks = 0x1
    // .. .. ==> 0XF8006004[13:12] = 0x00000001U
    // .. ..     ==> MASK : 0x00003000U    VAL : 0x00001000U
    // .. .. reg_ddrc_addrmap_cs_bit0 = 0x0
    // .. .. ==> 0XF8006004[18:14] = 0x00000000U
    // .. ..     ==> MASK : 0x0007C000U    VAL : 0x00000000U
    // .. .. reg_ddrc_wr_odt_block = 0x1
    // .. .. ==> 0XF8006004[20:19] = 0x00000001U
    // .. ..     ==> MASK : 0x00180000U    VAL : 0x00080000U
    // .. .. reg_ddrc_diff_rank_rd_2cycle_gap = 0x0
    // .. .. ==> 0XF8006004[21:21] = 0x00000000U
    // .. ..     ==> MASK : 0x00200000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_cs_bit1 = 0x0
    // .. .. ==> 0XF8006004[26:22] = 0x00000000U
    // .. ..     ==> MASK : 0x07C00000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_open_bank = 0x0
    // .. .. ==> 0XF8006004[27:27] = 0x00000000U
    // .. ..     ==> MASK : 0x08000000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_4bank_ram = 0x0
    // .. .. ==> 0XF8006004[28:28] = 0x00000000U
    // .. ..     ==> MASK : 0x10000000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU ,0x00081081U),
    // .. .. reg_ddrc_hpr_min_non_critical_x32 = 0xf
    // .. .. ==> 0XF8006008[10:0] = 0x0000000FU
    // .. ..     ==> MASK : 0x000007FFU    VAL : 0x0000000FU
    // .. .. reg_ddrc_hpr_max_starve_x32 = 0xf
    // .. .. ==> 0XF8006008[21:11] = 0x0000000FU
    // .. ..     ==> MASK : 0x003FF800U    VAL : 0x00007800U
    // .. .. reg_ddrc_hpr_xact_run_length = 0xf
    // .. .. ==> 0XF8006008[25:22] = 0x0000000FU
    // .. ..     ==> MASK : 0x03C00000U    VAL : 0x03C00000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU ,0x03C0780FU),
    // .. .. reg_ddrc_lpr_min_non_critical_x32 = 0x1
    // .. .. ==> 0XF800600C[10:0] = 0x00000001U
    // .. ..     ==> MASK : 0x000007FFU    VAL : 0x00000001U
    // .. .. reg_ddrc_lpr_max_starve_x32 = 0x2
    // .. .. ==> 0XF800600C[21:11] = 0x00000002U
    // .. ..     ==> MASK : 0x003FF800U    VAL : 0x00001000U
    // .. .. reg_ddrc_lpr_xact_run_length = 0x8
    // .. .. ==> 0XF800600C[25:22] = 0x00000008U
    // .. ..     ==> MASK : 0x03C00000U    VAL : 0x02000000U
    // .. .. 
    EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU ,0x02001001U),
    // .. .. reg_ddrc_w_min_non_critical_x32 = 0x1
    // .. .. ==> 0XF8006010[10:0] = 0x00000001U
    // .. ..     ==> MASK : 0x000007FFU    VAL : 0x00000001U
    // .. .. reg_ddrc_w_xact_run_length = 0x8
    // .. .. ==> 0XF8006010[14:11] = 0x00000008U
    // .. ..     ==> MASK : 0x00007800U    VAL : 0x00004000U
    // .. .. reg_ddrc_w_max_starve_x32 = 0x2
    // .. .. ==> 0XF8006010[25:15] = 0x00000002U
    // .. ..     ==> MASK : 0x03FF8000U    VAL : 0x00010000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU ,0x00014001U),
    // .. .. reg_ddrc_t_rc = 0x1b
    // .. .. ==> 0XF8006014[5:0] = 0x0000001BU
    // .. ..     ==> MASK : 0x0000003FU    VAL : 0x0000001BU
    // .. .. reg_ddrc_t_rfc_min = 0x56
    // .. .. ==> 0XF8006014[13:6] = 0x00000056U
    // .. ..     ==> MASK : 0x00003FC0U    VAL : 0x00001580U
    // .. .. reg_ddrc_post_selfref_gap_x32 = 0x10
    // .. .. ==> 0XF8006014[20:14] = 0x00000010U
    // .. ..     ==> MASK : 0x001FC000U    VAL : 0x00040000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU ,0x0004159BU),
    // .. .. reg_ddrc_wr2pre = 0x12
    // .. .. ==> 0XF8006018[4:0] = 0x00000012U
    // .. ..     ==> MASK : 0x0000001FU    VAL : 0x00000012U
    // .. .. reg_ddrc_powerdown_to_x32 = 0x6
    // .. .. ==> 0XF8006018[9:5] = 0x00000006U
    // .. ..     ==> MASK : 0x000003E0U    VAL : 0x000000C0U
    // .. .. reg_ddrc_t_faw = 0x10
    // .. .. ==> 0XF8006018[15:10] = 0x00000010U
    // .. ..     ==> MASK : 0x0000FC00U    VAL : 0x00004000U
    // .. .. reg_ddrc_t_ras_max = 0x24
    // .. .. ==> 0XF8006018[21:16] = 0x00000024U
    // .. ..     ==> MASK : 0x003F0000U    VAL : 0x00240000U
    // .. .. reg_ddrc_t_ras_min = 0x14
    // .. .. ==> 0XF8006018[26:22] = 0x00000014U
    // .. ..     ==> MASK : 0x07C00000U    VAL : 0x05000000U
    // .. .. reg_ddrc_t_cke = 0x4
    // .. .. ==> 0XF8006018[31:28] = 0x00000004U
    // .. ..     ==> MASK : 0xF0000000U    VAL : 0x40000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU ,0x452440D2U),
    // .. .. reg_ddrc_write_latency = 0x5
    // .. .. ==> 0XF800601C[4:0] = 0x00000005U
    // .. ..     ==> MASK : 0x0000001FU    VAL : 0x00000005U
    // .. .. reg_ddrc_rd2wr = 0x7
    // .. .. ==> 0XF800601C[9:5] = 0x00000007U
    // .. ..     ==> MASK : 0x000003E0U    VAL : 0x000000E0U
    // .. .. reg_ddrc_wr2rd = 0xe
    // .. .. ==> 0XF800601C[14:10] = 0x0000000EU
    // .. ..     ==> MASK : 0x00007C00U    VAL : 0x00003800U
    // .. .. reg_ddrc_t_xp = 0x4
    // .. .. ==> 0XF800601C[19:15] = 0x00000004U
    // .. ..     ==> MASK : 0x000F8000U    VAL : 0x00020000U
    // .. .. reg_ddrc_pad_pd = 0x0
    // .. .. ==> 0XF800601C[22:20] = 0x00000000U
    // .. ..     ==> MASK : 0x00700000U    VAL : 0x00000000U
    // .. .. reg_ddrc_rd2pre = 0x4
    // .. .. ==> 0XF800601C[27:23] = 0x00000004U
    // .. ..     ==> MASK : 0x0F800000U    VAL : 0x02000000U
    // .. .. reg_ddrc_t_rcd = 0x7
    // .. .. ==> 0XF800601C[31:28] = 0x00000007U
    // .. ..     ==> MASK : 0xF0000000U    VAL : 0x70000000U
    // .. .. 
    EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU ,0x720238E5U),
    // .. .. reg_ddrc_t_ccd = 0x4
    // .. .. ==> 0XF8006020[4:2] = 0x00000004U
    // .. ..     ==> MASK : 0x0000001CU    VAL : 0x00000010U
    // .. .. reg_ddrc_t_rrd = 0x4
    // .. .. ==> 0XF8006020[7:5] = 0x00000004U
    // .. ..     ==> MASK : 0x000000E0U    VAL : 0x00000080U
    // .. .. reg_ddrc_refresh_margin = 0x2
    // .. .. ==> 0XF8006020[11:8] = 0x00000002U
    // .. ..     ==> MASK : 0x00000F00U    VAL : 0x00000200U
    // .. .. reg_ddrc_t_rp = 0x7
    // .. .. ==> 0XF8006020[15:12] = 0x00000007U
    // .. ..     ==> MASK : 0x0000F000U    VAL : 0x00007000U
    // .. .. reg_ddrc_refresh_to_x32 = 0x8
    // .. .. ==> 0XF8006020[20:16] = 0x00000008U
    // .. ..     ==> MASK : 0x001F0000U    VAL : 0x00080000U
    // .. .. reg_ddrc_sdram = 0x1
    // .. .. ==> 0XF8006020[21:21] = 0x00000001U
    // .. ..     ==> MASK : 0x00200000U    VAL : 0x00200000U
    // .. .. reg_ddrc_mobile = 0x0
    // .. .. ==> 0XF8006020[22:22] = 0x00000000U
    // .. ..     ==> MASK : 0x00400000U    VAL : 0x00000000U
    // .. .. reg_ddrc_clock_stop_en = 0x0
    // .. .. ==> 0XF8006020[23:23] = 0x00000000U
    // .. ..     ==> MASK : 0x00800000U    VAL : 0x00000000U
    // .. .. reg_ddrc_read_latency = 0x7
    // .. .. ==> 0XF8006020[28:24] = 0x00000007U
    // .. ..     ==> MASK : 0x1F000000U    VAL : 0x07000000U
    // .. .. reg_phy_mode_ddr1_ddr2 = 0x1
    // .. .. ==> 0XF8006020[29:29] = 0x00000001U
    // .. ..     ==> MASK : 0x20000000U    VAL : 0x20000000U
    // .. .. reg_ddrc_dis_pad_pd = 0x0
    // .. .. ==> 0XF8006020[30:30] = 0x00000000U
    // .. ..     ==> MASK : 0x40000000U    VAL : 0x00000000U
    // .. .. reg_ddrc_loopback = 0x0
    // .. .. ==> 0XF8006020[31:31] = 0x00000000U
    // .. ..     ==> MASK : 0x80000000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU ,0x27287290U),
    // .. .. reg_ddrc_en_2t_timing_mode = 0x0
    // .. .. ==> 0XF8006024[0:0] = 0x00000000U
    // .. ..     ==> MASK : 0x00000001U    VAL : 0x00000000U
    // .. .. reg_ddrc_prefer_write = 0x0
    // .. .. ==> 0XF8006024[1:1] = 0x00000000U
    // .. ..     ==> MASK : 0x00000002U    VAL : 0x00000000U
    // .. .. reg_ddrc_max_rank_rd = 0xf
    // .. .. ==> 0XF8006024[5:2] = 0x0000000FU
    // .. ..     ==> MASK : 0x0000003CU    VAL : 0x0000003CU
    // .. .. reg_ddrc_mr_wr = 0x0
    // .. .. ==> 0XF8006024[6:6] = 0x00000000U
    // .. ..     ==> MASK : 0x00000040U    VAL : 0x00000000U
    // .. .. reg_ddrc_mr_addr = 0x0
    // .. .. ==> 0XF8006024[8:7] = 0x00000000U
    // .. ..     ==> MASK : 0x00000180U    VAL : 0x00000000U
    // .. .. reg_ddrc_mr_data = 0x0
    // .. .. ==> 0XF8006024[24:9] = 0x00000000U
    // .. ..     ==> MASK : 0x01FFFE00U    VAL : 0x00000000U
    // .. .. ddrc_reg_mr_wr_busy = 0x0
    // .. .. ==> 0XF8006024[25:25] = 0x00000000U
    // .. ..     ==> MASK : 0x02000000U    VAL : 0x00000000U
    // .. .. reg_ddrc_mr_type = 0x0
    // .. .. ==> 0XF8006024[26:26] = 0x00000000U
    // .. ..     ==> MASK : 0x04000000U    VAL : 0x00000000U
    // .. .. reg_ddrc_mr_rdata_valid = 0x0
    // .. .. ==> 0XF8006024[27:27] = 0x00000000U
    // .. ..     ==> MASK : 0x08000000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU ,0x0000003CU),
    // .. .. reg_ddrc_final_wait_x32 = 0x7
    // .. .. ==> 0XF8006028[6:0] = 0x00000007U
    // .. ..     ==> MASK : 0x0000007FU    VAL : 0x00000007U
    // .. .. reg_ddrc_pre_ocd_x32 = 0x0
    // .. .. ==> 0XF8006028[10:7] = 0x00000000U
    // .. ..     ==> MASK : 0x00000780U    VAL : 0x00000000U
    // .. .. reg_ddrc_t_mrd = 0x4
    // .. .. ==> 0XF8006028[13:11] = 0x00000004U
    // .. ..     ==> MASK : 0x00003800U    VAL : 0x00002000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006028, 0x00003FFFU ,0x00002007U),
    // .. .. reg_ddrc_emr2 = 0x8
    // .. .. ==> 0XF800602C[15:0] = 0x00000008U
    // .. ..     ==> MASK : 0x0000FFFFU    VAL : 0x00000008U
    // .. .. reg_ddrc_emr3 = 0x0
    // .. .. ==> 0XF800602C[31:16] = 0x00000000U
    // .. ..     ==> MASK : 0xFFFF0000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU ,0x00000008U),
    // .. .. reg_ddrc_mr = 0x930
    // .. .. ==> 0XF8006030[15:0] = 0x00000930U
    // .. ..     ==> MASK : 0x0000FFFFU    VAL : 0x00000930U
    // .. .. reg_ddrc_emr = 0x4
    // .. .. ==> 0XF8006030[31:16] = 0x00000004U
    // .. ..     ==> MASK : 0xFFFF0000U    VAL : 0x00040000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU ,0x00040930U),
    // .. .. reg_ddrc_burst_rdwr = 0x4
    // .. .. ==> 0XF8006034[3:0] = 0x00000004U
    // .. ..     ==> MASK : 0x0000000FU    VAL : 0x00000004U
    // .. .. reg_ddrc_pre_cke_x1024 = 0x1
    // .. .. ==> 0XF8006034[13:4] = 0x00000001U
    // .. ..     ==> MASK : 0x00003FF0U    VAL : 0x00000010U
    // .. .. reg_ddrc_post_cke_x1024 = 0x1
    // .. .. ==> 0XF8006034[25:16] = 0x00000001U
    // .. ..     ==> MASK : 0x03FF0000U    VAL : 0x00010000U
    // .. .. reg_ddrc_burstchop = 0x0
    // .. .. ==> 0XF8006034[28:28] = 0x00000000U
    // .. ..     ==> MASK : 0x10000000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU ,0x00010014U),
    // .. .. reg_ddrc_force_low_pri_n = 0x0
    // .. .. ==> 0XF8006038[0:0] = 0x00000000U
    // .. ..     ==> MASK : 0x00000001U    VAL : 0x00000000U
    // .. .. reg_ddrc_dis_dq = 0x0
    // .. .. ==> 0XF8006038[1:1] = 0x00000000U
    // .. ..     ==> MASK : 0x00000002U    VAL : 0x00000000U
    // .. .. reg_phy_debug_mode = 0x0
    // .. .. ==> 0XF8006038[6:6] = 0x00000000U
    // .. ..     ==> MASK : 0x00000040U    VAL : 0x00000000U
    // .. .. reg_phy_wr_level_start = 0x0
    // .. .. ==> 0XF8006038[7:7] = 0x00000000U
    // .. ..     ==> MASK : 0x00000080U    VAL : 0x00000000U
    // .. .. reg_phy_rd_level_start = 0x0
    // .. .. ==> 0XF8006038[8:8] = 0x00000000U
    // .. ..     ==> MASK : 0x00000100U    VAL : 0x00000000U
    // .. .. reg_phy_dq0_wait_t = 0x0
    // .. .. ==> 0XF8006038[12:9] = 0x00000000U
    // .. ..     ==> MASK : 0x00001E00U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF8006038, 0x00001FC3U ,0x00000000U),
    // .. .. reg_ddrc_addrmap_bank_b0 = 0x7
    // .. .. ==> 0XF800603C[3:0] = 0x00000007U
    // .. ..     ==> MASK : 0x0000000FU    VAL : 0x00000007U
    // .. .. reg_ddrc_addrmap_bank_b1 = 0x7
    // .. .. ==> 0XF800603C[7:4] = 0x00000007U
    // .. ..     ==> MASK : 0x000000F0U    VAL : 0x00000070U
    // .. .. reg_ddrc_addrmap_bank_b2 = 0x7
    // .. .. ==> 0XF800603C[11:8] = 0x00000007U
    // .. ..     ==> MASK : 0x00000F00U    VAL : 0x00000700U
    // .. .. reg_ddrc_addrmap_col_b5 = 0x0
    // .. .. ==> 0XF800603C[15:12] = 0x00000000U
    // .. ..     ==> MASK : 0x0000F000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b6 = 0x0
    // .. .. ==> 0XF800603C[19:16] = 0x00000000U
    // .. ..     ==> MASK : 0x000F0000U    VAL : 0x00000000U
    // .. .. 
    EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU ,0x00000777U),
    // .. .. reg_ddrc_addrmap_col_b2 = 0x0
    // .. .. ==> 0XF8006040[3:0] = 0x00000000U
    // .. ..     ==> MASK : 0x0000000FU    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b3 = 0x0
    // .. .. ==> 0XF8006040[7:4] = 0x00000000U
    // .. ..     ==> MASK : 0x000000F0U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b4 = 0x0
    // .. .. ==> 0XF8006040[11:8] = 0x00000000U
    // .. ..     ==> MASK : 0x00000F00U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b7 = 0x0
    // .. .. ==> 0XF8006040[15:12] = 0x00000000U
    // .. ..     ==> MASK : 0x0000F000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b8 = 0x0
    // .. .. ==> 0XF8006040[19:16] = 0x00000000U
    // .. ..     ==> MASK : 0x000F0000U    VAL : 0x00000000U
    // .. .. reg_ddrc_addrmap_col_b9 = 0xf
    // .. .. ==> 0XF8006040[23:20] = 0x0000000FU
    // .. ..     ==> MASK : 0x00F00000U    VAL : 0x00F00000U
    // .. .. reg_ddrc_addrmap_col_b10 = 0xf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -