1*c887d480SLey Foon Tan /* 2*c887d480SLey Foon Tan * Copyright (C) 2015-2017 Intel Corporation <www.intel.com> 3*c887d480SLey Foon Tan * 4*c887d480SLey Foon Tan * SPDX-License-Identifier: GPL-2.0 5*c887d480SLey Foon Tan */ 6*c887d480SLey Foon Tan 7*c887d480SLey Foon Tan #ifndef _SOCFPGA_SDRAM_ARRIA10_H_ 8*c887d480SLey Foon Tan #define _SOCFPGA_SDRAM_ARRIA10_H_ 9*c887d480SLey Foon Tan 10*c887d480SLey Foon Tan #ifndef __ASSEMBLY__ 11*c887d480SLey Foon Tan 12*c887d480SLey Foon Tan struct socfpga_ecc_hmc { 13*c887d480SLey Foon Tan u32 ip_rev_id; 14*c887d480SLey Foon Tan u32 _pad_0x4_0x7; 15*c887d480SLey Foon Tan u32 ddrioctrl; 16*c887d480SLey Foon Tan u32 ddrcalstat; 17*c887d480SLey Foon Tan u32 mpr_0beat1; 18*c887d480SLey Foon Tan u32 mpr_1beat1; 19*c887d480SLey Foon Tan u32 mpr_2beat1; 20*c887d480SLey Foon Tan u32 mpr_3beat1; 21*c887d480SLey Foon Tan u32 mpr_4beat1; 22*c887d480SLey Foon Tan u32 mpr_5beat1; 23*c887d480SLey Foon Tan u32 mpr_6beat1; 24*c887d480SLey Foon Tan u32 mpr_7beat1; 25*c887d480SLey Foon Tan u32 mpr_8beat1; 26*c887d480SLey Foon Tan u32 mpr_0beat2; 27*c887d480SLey Foon Tan u32 mpr_1beat2; 28*c887d480SLey Foon Tan u32 mpr_2beat2; 29*c887d480SLey Foon Tan u32 mpr_3beat2; 30*c887d480SLey Foon Tan u32 mpr_4beat2; 31*c887d480SLey Foon Tan u32 mpr_5beat2; 32*c887d480SLey Foon Tan u32 mpr_6beat2; 33*c887d480SLey Foon Tan u32 mpr_7beat2; 34*c887d480SLey Foon Tan u32 mpr_8beat2; 35*c887d480SLey Foon Tan u32 _pad_0x58_0x5f[2]; 36*c887d480SLey Foon Tan u32 auto_precharge; 37*c887d480SLey Foon Tan u32 _pad_0x64_0xff[39]; 38*c887d480SLey Foon Tan u32 eccctrl; 39*c887d480SLey Foon Tan u32 eccctrl2; 40*c887d480SLey Foon Tan u32 _pad_0x108_0x10f[2]; 41*c887d480SLey Foon Tan u32 errinten; 42*c887d480SLey Foon Tan u32 errintens; 43*c887d480SLey Foon Tan u32 errintenr; 44*c887d480SLey Foon Tan u32 intmode; 45*c887d480SLey Foon Tan u32 intstat; 46*c887d480SLey Foon Tan u32 diaginttest; 47*c887d480SLey Foon Tan u32 modstat; 48*c887d480SLey Foon Tan u32 derraddra; 49*c887d480SLey Foon Tan u32 serraddra; 50*c887d480SLey Foon Tan u32 _pad_0x134_0x137; 51*c887d480SLey Foon Tan u32 autowb_corraddr; 52*c887d480SLey Foon Tan u32 serrcntreg; 53*c887d480SLey Foon Tan u32 autowb_drop_cntreg; 54*c887d480SLey Foon Tan u32 _pad_0x144_0x147; 55*c887d480SLey Foon Tan u32 ecc_reg2wreccdatabus; 56*c887d480SLey Foon Tan u32 ecc_rdeccdata2regbus; 57*c887d480SLey Foon Tan u32 ecc_reg2rdeccdatabus; 58*c887d480SLey Foon Tan u32 _pad_0x154_0x15f[3]; 59*c887d480SLey Foon Tan u32 ecc_diagon; 60*c887d480SLey Foon Tan u32 ecc_decstat; 61*c887d480SLey Foon Tan u32 _pad_0x168_0x16f[2]; 62*c887d480SLey Foon Tan u32 ecc_errgenaddr_0; 63*c887d480SLey Foon Tan u32 ecc_errgenaddr_1; 64*c887d480SLey Foon Tan u32 ecc_errgenaddr_2; 65*c887d480SLey Foon Tan u32 ecc_errgenaddr_3; 66*c887d480SLey Foon Tan }; 67*c887d480SLey Foon Tan 68*c887d480SLey Foon Tan struct socfpga_noc_ddr_scheduler { 69*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_id_coreid; 70*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_id_revisionid; 71*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_ddrconf; 72*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_ddrtiming; 73*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_ddrmode; 74*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_readlatency; 75*c887d480SLey Foon Tan u32 _pad_0x20_0x34[8]; 76*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_activate; 77*c887d480SLey Foon Tan u32 ddr_t_main_scheduler_devtodev; 78*c887d480SLey Foon Tan }; 79*c887d480SLey Foon Tan 80*c887d480SLey Foon Tan /* 81*c887d480SLey Foon Tan * OCRAM firewall 82*c887d480SLey Foon Tan */ 83*c887d480SLey Foon Tan struct socfpga_noc_fw_ocram { 84*c887d480SLey Foon Tan u32 enable; 85*c887d480SLey Foon Tan u32 enable_set; 86*c887d480SLey Foon Tan u32 enable_clear; 87*c887d480SLey Foon Tan u32 region0; 88*c887d480SLey Foon Tan u32 region1; 89*c887d480SLey Foon Tan u32 region2; 90*c887d480SLey Foon Tan u32 region3; 91*c887d480SLey Foon Tan u32 region4; 92*c887d480SLey Foon Tan u32 region5; 93*c887d480SLey Foon Tan }; 94*c887d480SLey Foon Tan 95*c887d480SLey Foon Tan /* for master such as MPU and FPGA */ 96*c887d480SLey Foon Tan struct socfpga_noc_fw_ddr_mpu_fpga2sdram { 97*c887d480SLey Foon Tan u32 enable; 98*c887d480SLey Foon Tan u32 enable_set; 99*c887d480SLey Foon Tan u32 enable_clear; 100*c887d480SLey Foon Tan u32 _pad_0xc_0xf; 101*c887d480SLey Foon Tan u32 mpuregion0addr; 102*c887d480SLey Foon Tan u32 mpuregion1addr; 103*c887d480SLey Foon Tan u32 mpuregion2addr; 104*c887d480SLey Foon Tan u32 mpuregion3addr; 105*c887d480SLey Foon Tan u32 fpga2sdram0region0addr; 106*c887d480SLey Foon Tan u32 fpga2sdram0region1addr; 107*c887d480SLey Foon Tan u32 fpga2sdram0region2addr; 108*c887d480SLey Foon Tan u32 fpga2sdram0region3addr; 109*c887d480SLey Foon Tan u32 fpga2sdram1region0addr; 110*c887d480SLey Foon Tan u32 fpga2sdram1region1addr; 111*c887d480SLey Foon Tan u32 fpga2sdram1region2addr; 112*c887d480SLey Foon Tan u32 fpga2sdram1region3addr; 113*c887d480SLey Foon Tan u32 fpga2sdram2region0addr; 114*c887d480SLey Foon Tan u32 fpga2sdram2region1addr; 115*c887d480SLey Foon Tan u32 fpga2sdram2region2addr; 116*c887d480SLey Foon Tan u32 fpga2sdram2region3addr; 117*c887d480SLey Foon Tan }; 118*c887d480SLey Foon Tan 119*c887d480SLey Foon Tan /* for L3 master */ 120*c887d480SLey Foon Tan struct socfpga_noc_fw_ddr_l3 { 121*c887d480SLey Foon Tan u32 enable; 122*c887d480SLey Foon Tan u32 enable_set; 123*c887d480SLey Foon Tan u32 enable_clear; 124*c887d480SLey Foon Tan u32 hpsregion0addr; 125*c887d480SLey Foon Tan u32 hpsregion1addr; 126*c887d480SLey Foon Tan u32 hpsregion2addr; 127*c887d480SLey Foon Tan u32 hpsregion3addr; 128*c887d480SLey Foon Tan u32 hpsregion4addr; 129*c887d480SLey Foon Tan u32 hpsregion5addr; 130*c887d480SLey Foon Tan u32 hpsregion6addr; 131*c887d480SLey Foon Tan u32 hpsregion7addr; 132*c887d480SLey Foon Tan }; 133*c887d480SLey Foon Tan 134*c887d480SLey Foon Tan struct socfpga_io48_mmr { 135*c887d480SLey Foon Tan u32 dbgcfg0; 136*c887d480SLey Foon Tan u32 dbgcfg1; 137*c887d480SLey Foon Tan u32 dbgcfg2; 138*c887d480SLey Foon Tan u32 dbgcfg3; 139*c887d480SLey Foon Tan u32 dbgcfg4; 140*c887d480SLey Foon Tan u32 dbgcfg5; 141*c887d480SLey Foon Tan u32 dbgcfg6; 142*c887d480SLey Foon Tan u32 reserve0; 143*c887d480SLey Foon Tan u32 reserve1; 144*c887d480SLey Foon Tan u32 reserve2; 145*c887d480SLey Foon Tan u32 ctrlcfg0; 146*c887d480SLey Foon Tan u32 ctrlcfg1; 147*c887d480SLey Foon Tan u32 ctrlcfg2; 148*c887d480SLey Foon Tan u32 ctrlcfg3; 149*c887d480SLey Foon Tan u32 ctrlcfg4; 150*c887d480SLey Foon Tan u32 ctrlcfg5; 151*c887d480SLey Foon Tan u32 ctrlcfg6; 152*c887d480SLey Foon Tan u32 ctrlcfg7; 153*c887d480SLey Foon Tan u32 ctrlcfg8; 154*c887d480SLey Foon Tan u32 ctrlcfg9; 155*c887d480SLey Foon Tan u32 dramtiming0; 156*c887d480SLey Foon Tan u32 dramodt0; 157*c887d480SLey Foon Tan u32 dramodt1; 158*c887d480SLey Foon Tan u32 sbcfg0; 159*c887d480SLey Foon Tan u32 sbcfg1; 160*c887d480SLey Foon Tan u32 sbcfg2; 161*c887d480SLey Foon Tan u32 sbcfg3; 162*c887d480SLey Foon Tan u32 sbcfg4; 163*c887d480SLey Foon Tan u32 sbcfg5; 164*c887d480SLey Foon Tan u32 sbcfg6; 165*c887d480SLey Foon Tan u32 sbcfg7; 166*c887d480SLey Foon Tan u32 caltiming0; 167*c887d480SLey Foon Tan u32 caltiming1; 168*c887d480SLey Foon Tan u32 caltiming2; 169*c887d480SLey Foon Tan u32 caltiming3; 170*c887d480SLey Foon Tan u32 caltiming4; 171*c887d480SLey Foon Tan u32 caltiming5; 172*c887d480SLey Foon Tan u32 caltiming6; 173*c887d480SLey Foon Tan u32 caltiming7; 174*c887d480SLey Foon Tan u32 caltiming8; 175*c887d480SLey Foon Tan u32 caltiming9; 176*c887d480SLey Foon Tan u32 caltiming10; 177*c887d480SLey Foon Tan u32 dramaddrw; 178*c887d480SLey Foon Tan u32 sideband0; 179*c887d480SLey Foon Tan u32 sideband1; 180*c887d480SLey Foon Tan u32 sideband2; 181*c887d480SLey Foon Tan u32 sideband3; 182*c887d480SLey Foon Tan u32 sideband4; 183*c887d480SLey Foon Tan u32 sideband5; 184*c887d480SLey Foon Tan u32 sideband6; 185*c887d480SLey Foon Tan u32 sideband7; 186*c887d480SLey Foon Tan u32 sideband8; 187*c887d480SLey Foon Tan u32 sideband9; 188*c887d480SLey Foon Tan u32 sideband10; 189*c887d480SLey Foon Tan u32 sideband11; 190*c887d480SLey Foon Tan u32 sideband12; 191*c887d480SLey Foon Tan u32 sideband13; 192*c887d480SLey Foon Tan u32 sideband14; 193*c887d480SLey Foon Tan u32 sideband15; 194*c887d480SLey Foon Tan u32 dramsts; 195*c887d480SLey Foon Tan u32 dbgdone; 196*c887d480SLey Foon Tan u32 dbgsignals; 197*c887d480SLey Foon Tan u32 dbgreset; 198*c887d480SLey Foon Tan u32 dbgmatch; 199*c887d480SLey Foon Tan u32 counter0mask; 200*c887d480SLey Foon Tan u32 counter1mask; 201*c887d480SLey Foon Tan u32 counter0match; 202*c887d480SLey Foon Tan u32 counter1match; 203*c887d480SLey Foon Tan u32 niosreserve0; 204*c887d480SLey Foon Tan u32 niosreserve1; 205*c887d480SLey Foon Tan u32 niosreserve2; 206*c887d480SLey Foon Tan }; 207*c887d480SLey Foon Tan #endif /*__ASSEMBLY__*/ 208*c887d480SLey Foon Tan 209*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB2_BURST_LENGTH_MASK 0x1F000000 210*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB2_BURST_LENGTH_SHIFT 24 211*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB1_BURST_LENGTH_MASK 0x00F80000 212*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB1_BURST_LENGTH_SHIFT 19 213*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB0_BURST_LENGTH_MASK 0x0007C000 214*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DB0_BURST_LENGTH_SHIFT 14 215*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_CTRL_BURST_LENGTH_MASK 0x00003E00 216*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_CTRL_BURST_LENGTH_SHIFT 9 217*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_AC_POS_MASK 0x00000180 218*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_AC_POS_SHIFT 7 219*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DIMM_TYPE_MASK 0x00000070 220*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_DIM_TYPE_SHIFT 4 221*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_MEM_TYPE_MASK 0x0000000F 222*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG0_MEM_TYPE_SHIFT 0 223*c887d480SLey Foon Tan 224*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC3_ENABLE_DM BIT(30) 225*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC2_ENABLE_DM BIT(29) 226*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC1_ENABLE_DM BIT(28) 227*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC0_ENABLE_DM BIT(27) 228*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_CTRL_ENABLE_DM BIT(26) 229*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DQSTRK_EN BIT(25) 230*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_STARVE_LIMIT_MASK 0x01F80000 231*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_STARVE_LIMIT_SHIFT 19 232*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_REORDER_READ BIT(18) 233*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC3_REORDER_RDATA BIT(17) 234*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC2_REORDER_RDATA BIT(16) 235*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC1_REORDER_RDATA BIT(15) 236*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC0_REORDER_RDATA BIT(14) 237*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_CTRL_REORDER_RDATA BIT(13) 238*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_REORDER_DATA BIT(12) 239*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC3_ENABLE_ECC BIT(11) 240*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC2_ENABLE_ECC BIT(10) 241*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC1_ENABLE_ECC BIT(9) 242*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC0_ENABLE_ECC BIT(8) 243*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_CTRL_ENABLE_ECC BIT(7) 244*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_ADDR_ORDER_MASK 0x00000060 245*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_ADDR_ORDER_SHIFT 5 246*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC3_BURST_LENGTH_MASK 0x0000001F 247*c887d480SLey Foon Tan #define IO48_MMR_CTRLCFG1_DBC3_BURST_LENGTH_SHIFT 0 248*c887d480SLey Foon Tan 249*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_DIFF_BG_MASK 0x3F000000 250*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_DIFF_BG_SHIFT 24 251*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_DIFF_BANK_MASK 0x00FC0000 252*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_DIFF_BANK_SHIFT 18 253*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_MASK 0x0003F000 254*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_ACT_SHIFT 12 255*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_PCH_MASK 0x00000FC0 256*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_PCH_SHIFT 6 257*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_RDWR_MASK 0x0000003F 258*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING0_CFG_ACT_TO_RDWR_SHIFT 0 259*c887d480SLey Foon Tan 260*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_WR_DIFF_CHIP_MASK 0x3F000000 261*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_WR_DIFF_CHIP_SHIFT 24 262*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_WR_MASK 0x00FC0000 263*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_WR_SHIFT 18 264*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_DB_MASK 0x0003F000 265*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_DB_SHIFT 12 266*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_DC_MASK 0x00000FC0 267*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_DC_SHIFT 6 268*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_MASK 0x0000003F 269*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING1_CFG_RD_TO_RD_SHIFT 0 270*c887d480SLey Foon Tan 271*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_WR_TO_WR_DIFF_CHIP_MASK 0x3F000000 272*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_WR_TO_WR_DIFF_CHIP_SHIFT 24 273*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_WR_TO_WR_MASK 0x00FC0000 274*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_WR_TO_WR_SHIFT 18 275*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_AP_VALID_MASK 0x0003F000 276*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_AP_VALID_SHIFT 12 277*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_PCH_MASK 0x00000FC0 278*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_PCH_SHIFT 6 279*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_WR_DIFF_BG_MASK 0x0000003F 280*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING2_CFG_RD_TO_WR_DIFF_BG_SHIFT 0 281*c887d480SLey Foon Tan 282*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_PCH_MASK 0x3F000000 283*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_PCH_SHIFT 24 284*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_DIFF_BG_MASK 0x00FC0000 285*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_DIFF_BG_SHIFT 18 286*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_DIFF_CHIP_MASK 0x0003F000 287*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_DIFF_CHIP_SHIFT 12 288*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_MASK 0x00000FC0 289*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_RD_SHIFT 6 290*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_WR_DIFF_BG_MASK 0x0000003F 291*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING3_CFG_WR_TO_WR_DIFF_BG_SHIFT 0 292*c887d480SLey Foon Tan 293*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PDN_TO_VALID_MASK 0xFC000000 294*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PDN_TO_VALID_SHIFT 26 295*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_ARF_TO_VALID_MASK 0x03FC0000 296*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_ARF_TO_VALID_SHIFT 18 297*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PCH_ALL_TO_VALID_MASK 0x0003F000 298*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PCH_ALL_TO_VALID_SHIFT 12 299*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PCH_TO_VALID_MASK 0x00000FC0 300*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_PCH_TO_VALID_SHIFT 6 301*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_WR_AP_TO_VALID_MASK 0x0000003F 302*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING4_CFG_WR_AP_TO_VALID_SHIFT 0 303*c887d480SLey Foon Tan 304*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING9_CFG_WR_4_ACT_TO_ACT_MASK 0x000000FF 305*c887d480SLey Foon Tan #define IO48_MMR_CALTIMING9_CFG_WR_4_ACT_TO_ACT_SHIFT 0 306*c887d480SLey Foon Tan 307*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_CS_ADDR_WIDTH_MASK 0x00070000 308*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_CS_ADDR_WIDTH_SHIFT 16 309*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_BANK_GROUP_ADDR_WIDTH_MASK 0x0000C000 310*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_BANK_GROUP_ADDR_WIDTH_SHIFT 14 311*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_BANK_ADDR_WIDTH_MASK 0x00003C00 312*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_BANK_ADDR_WIDTH_SHIFT 10 313*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_ROW_ADDR_WIDTH_MASK 0x000003E0 314*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_ROW_ADDR_WIDTH_SHIFT 5 315*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_COL_ADDR_WIDTH_MASK 0x0000001F 316*c887d480SLey Foon Tan #define IO48_MMR_DRAMADDRW_CFG_COL_ADDR_WIDTH_SHIFT 0 317*c887d480SLey Foon Tan 318*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_DDRIOCTRL_IO_SIZE_MSK 0x00000003 319*c887d480SLey Foon Tan 320*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_INTSTAT_SERRPENA_SET_MSK BIT(0) 321*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_INTSTAT_DERRPENA_SET_MSK BIT(1) 322*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ERRINTEN_SERRINTEN_SET_MSK BIT(0) 323*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ERRINTEN_DERRINTEN_SET_MSK BIT(1) 324*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_INTMOD_INTONCMP_SET_MSK BIT(16) 325*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ECCCTL_AWB_CNT_RST_SET_MSK BIT(16) 326*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ECCCTL_CNT_RST_SET_MSK BIT(8) 327*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ECCCTL_ECC_EN_SET_MSK BIT(0) 328*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ECCCTL2_RMW_EN_SET_MSK BIT(8) 329*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_ECCCTL2_AWB_EN_SET_MSK BIT(0) 330*c887d480SLey Foon Tan 331*c887d480SLey Foon Tan #define ALT_ECC_HMC_OCP_SERRCNTREG_VALUE 8 332*c887d480SLey Foon Tan 333*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_ACTTOACT_LSB 0 334*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_RDTOMISS_LSB 6 335*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_WRTOMISS_LSB 12 336*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_BURSTLEN_LSB 18 337*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_RDTOWR_LSB 21 338*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_WRTORD_LSB 26 339*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRTIMING_BWRATIO_LSB 31 340*c887d480SLey Foon Tan 341*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRMOD_AUTOPRECHARGE_LSB 0 342*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DDRMOD_BWRATIOEXTENDED_LSB 1 343*c887d480SLey Foon Tan 344*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_ACTIVATE_RRD_LSB 0 345*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_ACTIVATE_FAW_LSB 4 346*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_ACTIVATE_FAWBANK_LSB 10 347*c887d480SLey Foon Tan 348*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DEVTODEV_BUSRDTORD_LSB 0 349*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DEVTODEV_BUSRDTOWR_LSB 2 350*c887d480SLey Foon Tan #define ALT_NOC_MPU_DDR_T_SCHED_DEVTODEV_BUSWRTORD_LSB 4 351*c887d480SLey Foon Tan 352*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_END_ADDR_LSB 16 353*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_ADDR_MASK 0xFFFF 354*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG0EN_SET_MSK BIT(0) 355*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG1EN_SET_MSK BIT(1) 356*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG2EN_SET_MSK BIT(2) 357*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG3EN_SET_MSK BIT(3) 358*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG4EN_SET_MSK BIT(4) 359*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG5EN_SET_MSK BIT(5) 360*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG6EN_SET_MSK BIT(6) 361*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_HPSREG7EN_SET_MSK BIT(7) 362*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_MPUREG0EN_SET_MSK BIT(0) 363*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_MPUREG1EN_SET_MSK BIT(1) 364*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_MPUREG2EN_SET_MSK BIT(2) 365*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_MPUREG3EN_SET_MSK BIT(3) 366*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR0REG0EN_SET_MSK BIT(4) 367*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR0REG1EN_SET_MSK BIT(5) 368*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR0REG2EN_SET_MSK BIT(6) 369*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR0REG3EN_SET_MSK BIT(7) 370*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR1REG0EN_SET_MSK BIT(8) 371*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR1REG1EN_SET_MSK BIT(9) 372*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR1REG2EN_SET_MSK BIT(10) 373*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR1REG3EN_SET_MSK BIT(11) 374*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR2REG0EN_SET_MSK BIT(12) 375*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR2REG1EN_SET_MSK BIT(13) 376*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR2REG2EN_SET_MSK BIT(14) 377*c887d480SLey Foon Tan #define ALT_NOC_FW_DDR_SCR_EN_F2SDR2REG3EN_SET_MSK BIT(15) 378*c887d480SLey Foon Tan 379*c887d480SLey Foon Tan #define ALT_IO48_DRAMTIME_MEM_READ_LATENCY_MASK 0x0000003F 380*c887d480SLey Foon Tan #endif /* _SOCFPGA_SDRAM_ARRIA10_H_ */ 381