1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2018 Microsemi Corporation 4 */ 5 6 #ifndef _MSCC_JR2_ICPU_CFG_H_ 7 #define _MSCC_JR2_ICPU_CFG_H_ 8 9 #include <linux/bitops.h> 10 11 #define ICPU_GPR(x) (0x4 * (x)) 12 #define ICPU_GPR_RSZ 0x4 13 14 #define ICPU_RESET 0x20 15 16 #define ICPU_RESET_CORE_RST_CPU_ONLY BIT(3) 17 #define ICPU_RESET_CORE_RST_PROTECT BIT(2) 18 #define ICPU_RESET_CORE_RST_FORCE BIT(1) 19 #define ICPU_RESET_MEM_RST_FORCE BIT(0) 20 21 #define ICPU_GENERAL_CTRL 0x24 22 23 #define ICPU_GENERAL_CTRL_CPU_BUSIF_SLEEP_DIS BIT(15) 24 #define ICPU_GENERAL_CTRL_CPU_BUSIF_WERR_ENA BIT(14) 25 #define ICPU_GENERAL_CTRL_CPU_8051_IROM_ENA BIT(13) 26 #define ICPU_GENERAL_CTRL_CPU_MIPS_DIS BIT(12) 27 #define ICPU_GENERAL_CTRL_IF_MIIM_SLV_ENA BIT(11) 28 #define ICPU_GENERAL_CTRL_IF_PI_SLV_DONEPOL BIT(10) 29 #define ICPU_GENERAL_CTRL_IF_PI_MST_ENA BIT(9) 30 #define ICPU_GENERAL_CTRL_IF_PI_SLV_ENA BIT(8) 31 #define ICPU_GENERAL_CTRL_IF_SI_OWNER(x) (((x) << 6) & GENMASK(7, 6)) 32 #define ICPU_GENERAL_CTRL_IF_SI_OWNER_M GENMASK(7, 6) 33 #define ICPU_GENERAL_CTRL_IF_SI_OWNER_X(x) (((x) & GENMASK(7, 6)) >> 4) 34 #define ICPU_GENERAL_CTRL_IF_SI1_OWNER(x) (((x) << 4) & GENMASK(5, 4)) 35 #define ICPU_GENERAL_CTRL_IF_SI1_OWNER_M GENMASK(5, 4) 36 #define ICPU_GENERAL_CTRL_IF_SI1_OWNER_X(x) (((x) & GENMASK(5, 4)) >> 4) 37 #define ICPU_GENERAL_CTRL_SSI_MST_CONTENTION BIT(3) 38 #define ICPU_GENERAL_CTRL_CPU_BE_ENA BIT(2) 39 #define ICPU_GENERAL_CTRL_CPU_DIS BIT(1) 40 #define ICPU_GENERAL_CTRL_BOOT_MODE_ENA BIT(0) 41 42 #define ICPU_SPI_MST_CFG 0x3c 43 44 #define ICPU_SPI_MST_CFG_A32B_ENA BIT(11) 45 #define ICPU_SPI_MST_CFG_FAST_READ_ENA BIT(10) 46 #define ICPU_SPI_MST_CFG_CS_DESELECT_TIME(x) (((x) << 5) & GENMASK(9, 5)) 47 #define ICPU_SPI_MST_CFG_CS_DESELECT_TIME_M GENMASK(9, 5) 48 #define ICPU_SPI_MST_CFG_CS_DESELECT_TIME_X(x) (((x) & GENMASK(9, 5)) >> 5) 49 #define ICPU_SPI_MST_CFG_CLK_DIV(x) ((x) & GENMASK(4, 0)) 50 #define ICPU_SPI_MST_CFG_CLK_DIV_M GENMASK(4, 0) 51 52 #define ICPU_SW_MODE 0x50 53 54 #define ICPU_SW_MODE_SW_PIN_CTRL_MODE BIT(13) 55 #define ICPU_SW_MODE_SW_SPI_SCK BIT(12) 56 #define ICPU_SW_MODE_SW_SPI_SCK_OE BIT(11) 57 #define ICPU_SW_MODE_SW_SPI_SDO BIT(10) 58 #define ICPU_SW_MODE_SW_SPI_SDO_OE BIT(9) 59 #define ICPU_SW_MODE_SW_SPI_CS(x) (((x) << 5) & GENMASK(8, 5)) 60 #define ICPU_SW_MODE_SW_SPI_CS_M GENMASK(8, 5) 61 #define ICPU_SW_MODE_SW_SPI_CS_X(x) (((x) & GENMASK(8, 5)) >> 5) 62 #define ICPU_SW_MODE_SW_SPI_CS_OE(x) (((x) << 1) & GENMASK(4, 1)) 63 #define ICPU_SW_MODE_SW_SPI_CS_OE_M GENMASK(4, 1) 64 #define ICPU_SW_MODE_SW_SPI_CS_OE_X(x) (((x) & GENMASK(4, 1)) >> 1) 65 #define ICPU_SW_MODE_SW_SPI_SDI BIT(0) 66 67 #define ICPU_INTR_ENA 0x88 68 69 #define ICPU_DST_INTR_MAP(x) (0x98 + 0x4 * (x)) 70 #define ICPU_DST_INTR_MAP_RSZ 0x4 71 72 #define ICPU_TIMER_TICK_DIV 0x108 73 74 #define ICPU_TIMER_VALUE(x) (0x10c + 0x4 * (x)) 75 #define ICPU_TIMER_VALUE_RSZ 0x4 76 77 #define ICPU_TIMER_CTRL(x) (0x124 + 0x4 * (x)) 78 #define ICPU_TIMER_CTRL_RSZ 0x4 79 80 #define ICPU_TIMER_CTRL_MAX_FREQ_ENA BIT(3) 81 #define ICPU_TIMER_CTRL_ONE_SHOT_ENA BIT(2) 82 #define ICPU_TIMER_CTRL_TIMER_ENA BIT(1) 83 #define ICPU_TIMER_CTRL_FORCE_RELOAD BIT(0) 84 85 #define ICPU_MEMCTRL_CTRL 0x130 86 87 #define ICPU_MEMCTRL_CTRL_PWR_DOWN BIT(3) 88 #define ICPU_MEMCTRL_CTRL_MDSET BIT(2) 89 #define ICPU_MEMCTRL_CTRL_STALL_REF_ENA BIT(1) 90 #define ICPU_MEMCTRL_CTRL_INITIALIZE BIT(0) 91 92 #define ICPU_MEMCTRL_CFG 0x134 93 94 #define ICPU_MEMCTRL_CFG_DDR_512MBYTE_PLUS BIT(16) 95 #define ICPU_MEMCTRL_CFG_DDR_ECC_ERR_ENA BIT(15) 96 #define ICPU_MEMCTRL_CFG_DDR_ECC_COR_ENA BIT(14) 97 #define ICPU_MEMCTRL_CFG_DDR_ECC_ENA BIT(13) 98 #define ICPU_MEMCTRL_CFG_DDR_WIDTH BIT(12) 99 #define ICPU_MEMCTRL_CFG_DDR_MODE BIT(11) 100 #define ICPU_MEMCTRL_CFG_BURST_SIZE BIT(10) 101 #define ICPU_MEMCTRL_CFG_BURST_LEN BIT(9) 102 #define ICPU_MEMCTRL_CFG_BANK_CNT BIT(8) 103 #define ICPU_MEMCTRL_CFG_MSB_ROW_ADDR(x) (((x) << 4) & GENMASK(7, 4)) 104 #define ICPU_MEMCTRL_CFG_MSB_ROW_ADDR_M GENMASK(7, 4) 105 #define ICPU_MEMCTRL_CFG_MSB_ROW_ADDR_X(x) (((x) & GENMASK(7, 4)) >> 4) 106 #define ICPU_MEMCTRL_CFG_MSB_COL_ADDR(x) ((x) & GENMASK(3, 0)) 107 #define ICPU_MEMCTRL_CFG_MSB_COL_ADDR_M GENMASK(3, 0) 108 109 #define ICPU_MEMCTRL_STAT 0x138 110 111 #define ICPU_MEMCTRL_STAT_RDATA_MASKED BIT(5) 112 #define ICPU_MEMCTRL_STAT_RDATA_DUMMY BIT(4) 113 #define ICPU_MEMCTRL_STAT_RDATA_ECC_ERR BIT(3) 114 #define ICPU_MEMCTRL_STAT_RDATA_ECC_COR BIT(2) 115 #define ICPU_MEMCTRL_STAT_PWR_DOWN_ACK BIT(1) 116 #define ICPU_MEMCTRL_STAT_INIT_DONE BIT(0) 117 118 #define ICPU_MEMCTRL_REF_PERIOD 0x13c 119 120 #define ICPU_MEMCTRL_REF_PERIOD_MAX_PEND_REF(x) (((x) << 16) & GENMASK(19, 16)) 121 #define ICPU_MEMCTRL_REF_PERIOD_MAX_PEND_REF_M GENMASK(19, 16) 122 #define ICPU_MEMCTRL_REF_PERIOD_MAX_PEND_REF_X(x) (((x) & GENMASK(19, 16)) >> 16) 123 #define ICPU_MEMCTRL_REF_PERIOD_REF_PERIOD(x) ((x) & GENMASK(15, 0)) 124 #define ICPU_MEMCTRL_REF_PERIOD_REF_PERIOD_M GENMASK(15, 0) 125 126 #define ICPU_MEMCTRL_ZQCAL 0x140 127 128 #define ICPU_MEMCTRL_ZQCAL_ZQCAL_LONG BIT(1) 129 #define ICPU_MEMCTRL_ZQCAL_ZQCAL_SHORT BIT(0) 130 131 #define ICPU_MEMCTRL_TIMING0 0x144 132 133 #define ICPU_MEMCTRL_TIMING0_RD_TO_WR_DLY(x) (((x) << 28) & GENMASK(31, 28)) 134 #define ICPU_MEMCTRL_TIMING0_RD_TO_WR_DLY_M GENMASK(31, 28) 135 #define ICPU_MEMCTRL_TIMING0_RD_TO_WR_DLY_X(x) (((x) & GENMASK(31, 28)) >> 28) 136 #define ICPU_MEMCTRL_TIMING0_WR_CS_CHANGE_DLY(x) (((x) << 24) & GENMASK(27, 24)) 137 #define ICPU_MEMCTRL_TIMING0_WR_CS_CHANGE_DLY_M GENMASK(27, 24) 138 #define ICPU_MEMCTRL_TIMING0_WR_CS_CHANGE_DLY_X(x) (((x) & GENMASK(27, 24)) >> 24) 139 #define ICPU_MEMCTRL_TIMING0_RD_CS_CHANGE_DLY(x) (((x) << 20) & GENMASK(23, 20)) 140 #define ICPU_MEMCTRL_TIMING0_RD_CS_CHANGE_DLY_M GENMASK(23, 20) 141 #define ICPU_MEMCTRL_TIMING0_RD_CS_CHANGE_DLY_X(x) (((x) & GENMASK(23, 20)) >> 20) 142 #define ICPU_MEMCTRL_TIMING0_RAS_TO_PRECH_DLY(x) (((x) << 16) & GENMASK(19, 16)) 143 #define ICPU_MEMCTRL_TIMING0_RAS_TO_PRECH_DLY_M GENMASK(19, 16) 144 #define ICPU_MEMCTRL_TIMING0_RAS_TO_PRECH_DLY_X(x) (((x) & GENMASK(19, 16)) >> 16) 145 #define ICPU_MEMCTRL_TIMING0_WR_TO_PRECH_DLY(x) (((x) << 12) & GENMASK(15, 12)) 146 #define ICPU_MEMCTRL_TIMING0_WR_TO_PRECH_DLY_M GENMASK(15, 12) 147 #define ICPU_MEMCTRL_TIMING0_WR_TO_PRECH_DLY_X(x) (((x) & GENMASK(15, 12)) >> 12) 148 #define ICPU_MEMCTRL_TIMING0_RD_TO_PRECH_DLY(x) (((x) << 8) & GENMASK(11, 8)) 149 #define ICPU_MEMCTRL_TIMING0_RD_TO_PRECH_DLY_M GENMASK(11, 8) 150 #define ICPU_MEMCTRL_TIMING0_RD_TO_PRECH_DLY_X(x) (((x) & GENMASK(11, 8)) >> 8) 151 #define ICPU_MEMCTRL_TIMING0_WR_DATA_XFR_DLY(x) (((x) << 4) & GENMASK(7, 4)) 152 #define ICPU_MEMCTRL_TIMING0_WR_DATA_XFR_DLY_M GENMASK(7, 4) 153 #define ICPU_MEMCTRL_TIMING0_WR_DATA_XFR_DLY_X(x) (((x) & GENMASK(7, 4)) >> 4) 154 #define ICPU_MEMCTRL_TIMING0_RD_DATA_XFR_DLY(x) ((x) & GENMASK(3, 0)) 155 #define ICPU_MEMCTRL_TIMING0_RD_DATA_XFR_DLY_M GENMASK(3, 0) 156 157 #define ICPU_MEMCTRL_TIMING1 0x148 158 159 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_SAME_BANK_DLY(x) (((x) << 24) & GENMASK(31, 24)) 160 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_SAME_BANK_DLY_M GENMASK(31, 24) 161 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_SAME_BANK_DLY_X(x) (((x) & GENMASK(31, 24)) >> 24) 162 #define ICPU_MEMCTRL_TIMING1_BANK8_FAW_DLY(x) (((x) << 16) & GENMASK(23, 16)) 163 #define ICPU_MEMCTRL_TIMING1_BANK8_FAW_DLY_M GENMASK(23, 16) 164 #define ICPU_MEMCTRL_TIMING1_BANK8_FAW_DLY_X(x) (((x) & GENMASK(23, 16)) >> 16) 165 #define ICPU_MEMCTRL_TIMING1_PRECH_TO_RAS_DLY(x) (((x) << 12) & GENMASK(15, 12)) 166 #define ICPU_MEMCTRL_TIMING1_PRECH_TO_RAS_DLY_M GENMASK(15, 12) 167 #define ICPU_MEMCTRL_TIMING1_PRECH_TO_RAS_DLY_X(x) (((x) & GENMASK(15, 12)) >> 12) 168 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_DLY(x) (((x) << 8) & GENMASK(11, 8)) 169 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_DLY_M GENMASK(11, 8) 170 #define ICPU_MEMCTRL_TIMING1_RAS_TO_RAS_DLY_X(x) (((x) & GENMASK(11, 8)) >> 8) 171 #define ICPU_MEMCTRL_TIMING1_RAS_TO_CAS_DLY(x) (((x) << 4) & GENMASK(7, 4)) 172 #define ICPU_MEMCTRL_TIMING1_RAS_TO_CAS_DLY_M GENMASK(7, 4) 173 #define ICPU_MEMCTRL_TIMING1_RAS_TO_CAS_DLY_X(x) (((x) & GENMASK(7, 4)) >> 4) 174 #define ICPU_MEMCTRL_TIMING1_WR_TO_RD_DLY(x) ((x) & GENMASK(3, 0)) 175 #define ICPU_MEMCTRL_TIMING1_WR_TO_RD_DLY_M GENMASK(3, 0) 176 177 #define ICPU_MEMCTRL_TIMING2 0x14c 178 179 #define ICPU_MEMCTRL_TIMING2_PRECH_ALL_DLY(x) (((x) << 28) & GENMASK(31, 28)) 180 #define ICPU_MEMCTRL_TIMING2_PRECH_ALL_DLY_M GENMASK(31, 28) 181 #define ICPU_MEMCTRL_TIMING2_PRECH_ALL_DLY_X(x) (((x) & GENMASK(31, 28)) >> 28) 182 #define ICPU_MEMCTRL_TIMING2_MDSET_DLY(x) (((x) << 24) & GENMASK(27, 24)) 183 #define ICPU_MEMCTRL_TIMING2_MDSET_DLY_M GENMASK(27, 24) 184 #define ICPU_MEMCTRL_TIMING2_MDSET_DLY_X(x) (((x) & GENMASK(27, 24)) >> 24) 185 #define ICPU_MEMCTRL_TIMING2_REF_DLY(x) (((x) << 16) & GENMASK(23, 16)) 186 #define ICPU_MEMCTRL_TIMING2_REF_DLY_M GENMASK(23, 16) 187 #define ICPU_MEMCTRL_TIMING2_REF_DLY_X(x) (((x) & GENMASK(23, 16)) >> 16) 188 #define ICPU_MEMCTRL_TIMING2_INIT_DLY(x) ((x) & GENMASK(15, 0)) 189 #define ICPU_MEMCTRL_TIMING2_INIT_DLY_M GENMASK(15, 0) 190 191 #define ICPU_MEMCTRL_TIMING3 0x150 192 193 #define ICPU_MEMCTRL_TIMING3_RMW_DLY(x) (((x) << 16) & GENMASK(19, 16)) 194 #define ICPU_MEMCTRL_TIMING3_RMW_DLY_M GENMASK(19, 16) 195 #define ICPU_MEMCTRL_TIMING3_RMW_DLY_X(x) (((x) & GENMASK(19, 16)) >> 16) 196 #define ICPU_MEMCTRL_TIMING3_ODT_RD_DLY(x) (((x) << 12) & GENMASK(15, 12)) 197 #define ICPU_MEMCTRL_TIMING3_ODT_RD_DLY_M GENMASK(15, 12) 198 #define ICPU_MEMCTRL_TIMING3_ODT_RD_DLY_X(x) (((x) & GENMASK(15, 12)) >> 12) 199 #define ICPU_MEMCTRL_TIMING3_ODT_WR_DLY(x) (((x) << 8) & GENMASK(11, 8)) 200 #define ICPU_MEMCTRL_TIMING3_ODT_WR_DLY_M GENMASK(11, 8) 201 #define ICPU_MEMCTRL_TIMING3_ODT_WR_DLY_X(x) (((x) & GENMASK(11, 8)) >> 8) 202 #define ICPU_MEMCTRL_TIMING3_LOCAL_ODT_RD_DLY(x) (((x) << 4) & GENMASK(7, 4)) 203 #define ICPU_MEMCTRL_TIMING3_LOCAL_ODT_RD_DLY_M GENMASK(7, 4) 204 #define ICPU_MEMCTRL_TIMING3_LOCAL_ODT_RD_DLY_X(x) (((x) & GENMASK(7, 4)) >> 4) 205 #define ICPU_MEMCTRL_TIMING3_WR_TO_RD_CS_CHANGE_DLY(x) ((x) & GENMASK(3, 0)) 206 #define ICPU_MEMCTRL_TIMING3_WR_TO_RD_CS_CHANGE_DLY_M GENMASK(3, 0) 207 208 #define ICPU_MEMCTRL_TIMING4 0x154 209 210 #define ICPU_MEMCTRL_TIMING4_ZQCAL_INIT_DLY(x) (((x) << 20) & GENMASK(31, 20)) 211 #define ICPU_MEMCTRL_TIMING4_ZQCAL_INIT_DLY_M GENMASK(31, 20) 212 #define ICPU_MEMCTRL_TIMING4_ZQCAL_INIT_DLY_X(x) (((x) & GENMASK(31, 20)) >> 20) 213 #define ICPU_MEMCTRL_TIMING4_ZQCAL_LONG_DLY(x) (((x) << 8) & GENMASK(19, 8)) 214 #define ICPU_MEMCTRL_TIMING4_ZQCAL_LONG_DLY_M GENMASK(19, 8) 215 #define ICPU_MEMCTRL_TIMING4_ZQCAL_LONG_DLY_X(x) (((x) & GENMASK(19, 8)) >> 8) 216 #define ICPU_MEMCTRL_TIMING4_ZQCAL_SHORT_DLY(x) ((x) & GENMASK(7, 0)) 217 #define ICPU_MEMCTRL_TIMING4_ZQCAL_SHORT_DLY_M GENMASK(7, 0) 218 219 #define ICPU_MEMCTRL_MR0_VAL 0x158 220 221 #define ICPU_MEMCTRL_MR1_VAL 0x15c 222 223 #define ICPU_MEMCTRL_MR2_VAL 0x160 224 225 #define ICPU_MEMCTRL_MR3_VAL 0x164 226 227 #define ICPU_MEMCTRL_TERMRES_CTRL 0x168 228 229 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_RD_EXT BIT(11) 230 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_RD_ENA(x) (((x) << 7) & GENMASK(10, 7)) 231 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_RD_ENA_M GENMASK(10, 7) 232 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_RD_ENA_X(x) (((x) & GENMASK(10, 7)) >> 7) 233 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_WR_EXT BIT(6) 234 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_WR_ENA(x) (((x) << 2) & GENMASK(5, 2)) 235 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_WR_ENA_M GENMASK(5, 2) 236 #define ICPU_MEMCTRL_TERMRES_CTRL_ODT_WR_ENA_X(x) (((x) & GENMASK(5, 2)) >> 2) 237 #define ICPU_MEMCTRL_TERMRES_CTRL_LOCAL_ODT_RD_EXT BIT(1) 238 #define ICPU_MEMCTRL_TERMRES_CTRL_LOCAL_ODT_RD_ENA BIT(0) 239 240 #define ICPU_MEMCTRL_DFT 0x16c 241 242 #define ICPU_MEMCTRL_DFT_DDRDFT_LBW BIT(7) 243 #define ICPU_MEMCTRL_DFT_DDRDFT_GATE_ENA BIT(6) 244 #define ICPU_MEMCTRL_DFT_DDRDFT_TERM_ENA BIT(5) 245 #define ICPU_MEMCTRL_DFT_DDRDFT_A10 BIT(4) 246 #define ICPU_MEMCTRL_DFT_DDRDFT_STAT BIT(3) 247 #define ICPU_MEMCTRL_DFT_DDRDFT_MODE(x) (((x) << 1) & GENMASK(2, 1)) 248 #define ICPU_MEMCTRL_DFT_DDRDFT_MODE_M GENMASK(2, 1) 249 #define ICPU_MEMCTRL_DFT_DDRDFT_MODE_X(x) (((x) & GENMASK(2, 1)) >> 1) 250 #define ICPU_MEMCTRL_DFT_DDRDFT_ENA BIT(0) 251 252 #define ICPU_MEMCTRL_DQS_DLY(x) (0x170 + 0x4 * (x)) 253 #define ICPU_MEMCTRL_DQS_DLY_RSZ 0x4 254 255 #define ICPU_MEMCTRL_DQS_DLY_TRAIN_DQ_ENA BIT(11) 256 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM1(x) (((x) << 8) & GENMASK(10, 8)) 257 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM1_M GENMASK(10, 8) 258 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM1_X(x) (((x) & GENMASK(10, 8)) >> 8) 259 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM0(x) (((x) << 5) & GENMASK(7, 5)) 260 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM0_M GENMASK(7, 5) 261 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_TRM0_X(x) (((x) & GENMASK(7, 5)) >> 5) 262 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY(x) ((x) & GENMASK(4, 0)) 263 #define ICPU_MEMCTRL_DQS_DLY_DQS_DLY_M GENMASK(4, 0) 264 265 #define ICPU_MEMCTRL_DQS_AUTO (0x178 + 0x4 * (x)) 266 #define ICPU_MEMCTRL_DQS_AUTO_RSZ 0x4 267 268 #define ICPU_MEMCTRL_DQS_AUTO_DQS_DRIFT(x) (((x) << 6) & GENMASK(7, 6)) 269 #define ICPU_MEMCTRL_DQS_AUTO_DQS_DRIFT_M GENMASK(7, 6) 270 #define ICPU_MEMCTRL_DQS_AUTO_DQS_DRIFT_X(x) (((x) & GENMASK(7, 6)) >> 6) 271 #define ICPU_MEMCTRL_DQS_AUTO_DQS_OVERFLOW BIT(5) 272 #define ICPU_MEMCTRL_DQS_AUTO_DQS_UNDERFLOW BIT(4) 273 #define ICPU_MEMCTRL_DQS_AUTO_DQS_AUTO_SRC BIT(3) 274 #define ICPU_MEMCTRL_DQS_AUTO_DQS_AUTO_UP BIT(2) 275 #define ICPU_MEMCTRL_DQS_AUTO_DQS_AUTO_DOWN BIT(1) 276 #define ICPU_MEMCTRL_DQS_AUTO_DQS_AUTO_ENA BIT(0) 277 278 #define ICPU_MEMPHY_CFG 0x180 279 280 #define ICPU_MEMPHY_CFG_PHY_FLUSH_DIS BIT(10) 281 #define ICPU_MEMPHY_CFG_PHY_RD_ADJ_DIS BIT(9) 282 #define ICPU_MEMPHY_CFG_PHY_DQS_EXT BIT(8) 283 #define ICPU_MEMPHY_CFG_PHY_FIFO_RST BIT(7) 284 #define ICPU_MEMPHY_CFG_PHY_DLL_BL_RST BIT(6) 285 #define ICPU_MEMPHY_CFG_PHY_DLL_CL_RST BIT(5) 286 #define ICPU_MEMPHY_CFG_PHY_ODT_OE BIT(4) 287 #define ICPU_MEMPHY_CFG_PHY_CK_OE BIT(3) 288 #define ICPU_MEMPHY_CFG_PHY_CL_OE BIT(2) 289 #define ICPU_MEMPHY_CFG_PHY_SSTL_ENA BIT(1) 290 #define ICPU_MEMPHY_CFG_PHY_RST BIT(0) 291 292 #define ICPU_MEMPHY_ZCAL 0x1a8 293 294 #define ICPU_MEMPHY_ZCAL_ZCAL_CLK_SEL BIT(9) 295 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG_ODT(x) (((x) << 5) & GENMASK(8, 5)) 296 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG_ODT_M GENMASK(8, 5) 297 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG_ODT_X(x) (((x) & GENMASK(8, 5)) >> 5) 298 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG(x) (((x) << 1) & GENMASK(4, 1)) 299 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG_M GENMASK(4, 1) 300 #define ICPU_MEMPHY_ZCAL_ZCAL_PROG_X(x) (((x) & GENMASK(4, 1)) >> 1) 301 #define ICPU_MEMPHY_ZCAL_ZCAL_ENA BIT(0) 302 // 303 #define ICPU_MEMPHY_ZCAL_STAT 0x1ac 304 305 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_ZCTRL(x) (((x) << 12) & GENMASK(31, 12)) 306 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_ZCTRL_M GENMASK(31, 12) 307 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_ZCTRL_X(x) (((x) & GENMASK(31, 12)) >> 12) 308 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPU(x) (((x) << 8) & GENMASK(9, 8)) 309 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPU_M GENMASK(9, 8) 310 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPU_X(x) (((x) & GENMASK(9, 8)) >> 8) 311 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPD(x) (((x) << 6) & GENMASK(7, 6)) 312 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPD_M GENMASK(7, 6) 313 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_ODTPD_X(x) (((x) & GENMASK(7, 6)) >> 6) 314 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PU(x) (((x) << 4) & GENMASK(5, 4)) 315 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PU_M GENMASK(5, 4) 316 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PU_X(x) (((x) & GENMASK(5, 4)) >> 4) 317 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PD(x) (((x) << 2) & GENMASK(3, 2)) 318 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PD_M GENMASK(3, 2) 319 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_STAT_PD_X(x) (((x) & GENMASK(3, 2)) >> 2) 320 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_ERR BIT(1) 321 #define ICPU_MEMPHY_ZCAL_STAT_ZCAL_DONE BIT(0) 322 323 #endif 324