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