0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include "tegra30-asus-nexus7-grouper-memory-timings.dtsi"
0004
0005 / {
0006 /*
0007 * Tilapia's memory timings are pretty much the same as the Grouper's
0008 * ones. There are few minor tunings made for a higher clock rates,
0009 * these differentiating timings are overridden here for Tilapia.
0010 */
0011
0012 memory-controller@7000f400 {
0013 emc-timings-0 {
0014 timing-667000000 {
0015 clock-frequency = <667000000>;
0016
0017 nvidia,emc-auto-cal-interval = <0x001fffff>;
0018 nvidia,emc-mode-1 = <0x80100002>;
0019 nvidia,emc-mode-2 = <0x80200018>;
0020 nvidia,emc-mode-reset = <0x80000b71>;
0021 nvidia,emc-zcal-cnt-long = <0x00000040>;
0022 nvidia,emc-cfg-periodic-qrst;
0023
0024 nvidia,emc-configuration = <
0025 0x0000001f /* EMC_RC */
0026 0x00000069 /* EMC_RFC */
0027 0x00000017 /* EMC_RAS */
0028 0x00000007 /* EMC_RP */
0029 0x00000005 /* EMC_R2W */
0030 0x0000000c /* EMC_W2R */
0031 0x00000003 /* EMC_R2P */
0032 0x00000011 /* EMC_W2P */
0033 0x00000007 /* EMC_RD_RCD */
0034 0x00000007 /* EMC_WR_RCD */
0035 0x00000002 /* EMC_RRD */
0036 0x00000001 /* EMC_REXT */
0037 0x00000000 /* EMC_WEXT */
0038 0x00000007 /* EMC_WDV */
0039 0x0000000b /* EMC_QUSE */
0040 0x00000009 /* EMC_QRST */
0041 0x0000000b /* EMC_QSAFE */
0042 0x00000011 /* EMC_RDV */
0043 0x00001412 /* EMC_REFRESH */
0044 0x00000000 /* EMC_BURST_REFRESH_NUM */
0045 0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
0046 0x00000002 /* EMC_PDEX2WR */
0047 0x0000000e /* EMC_PDEX2RD */
0048 0x00000001 /* EMC_PCHG2PDEN */
0049 0x00000000 /* EMC_ACT2PDEN */
0050 0x0000000c /* EMC_AR2PDEN */
0051 0x00000016 /* EMC_RW2PDEN */
0052 0x00000072 /* EMC_TXSR */
0053 0x00000200 /* EMC_TXSRDLL */
0054 0x00000005 /* EMC_TCKE */
0055 0x00000015 /* EMC_TFAW */
0056 0x00000000 /* EMC_TRPAB */
0057 0x00000006 /* EMC_TCLKSTABLE */
0058 0x00000007 /* EMC_TCLKSTOP */
0059 0x00001453 /* EMC_TREFBW */
0060 0x0000000c /* EMC_QUSE_EXTRA */
0061 0x00000004 /* EMC_FBIO_CFG6 */
0062 0x00000000 /* EMC_ODT_WRITE */
0063 0x00000000 /* EMC_ODT_READ */
0064 0x00005088 /* EMC_FBIO_CFG5 */
0065 0xf00b0191 /* EMC_CFG_DIG_DLL */
0066 0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
0067 0x00000008 /* EMC_DLL_XFORM_DQS0 */
0068 0x00000008 /* EMC_DLL_XFORM_DQS1 */
0069 0x00000008 /* EMC_DLL_XFORM_DQS2 */
0070 0x00000008 /* EMC_DLL_XFORM_DQS3 */
0071 0x0000000a /* EMC_DLL_XFORM_DQS4 */
0072 0x0000000a /* EMC_DLL_XFORM_DQS5 */
0073 0x0000000a /* EMC_DLL_XFORM_DQS6 */
0074 0x0000000a /* EMC_DLL_XFORM_DQS7 */
0075 0x00000000 /* EMC_DLL_XFORM_QUSE0 */
0076 0x00000000 /* EMC_DLL_XFORM_QUSE1 */
0077 0x00000000 /* EMC_DLL_XFORM_QUSE2 */
0078 0x00000000 /* EMC_DLL_XFORM_QUSE3 */
0079 0x00000000 /* EMC_DLL_XFORM_QUSE4 */
0080 0x00000000 /* EMC_DLL_XFORM_QUSE5 */
0081 0x00000000 /* EMC_DLL_XFORM_QUSE6 */
0082 0x00000000 /* EMC_DLL_XFORM_QUSE7 */
0083 0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
0084 0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
0085 0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
0086 0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
0087 0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
0088 0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
0089 0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
0090 0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
0091 0x0000000c /* EMC_DLL_XFORM_DQ0 */
0092 0x0000000c /* EMC_DLL_XFORM_DQ1 */
0093 0x0000000c /* EMC_DLL_XFORM_DQ2 */
0094 0x0000000c /* EMC_DLL_XFORM_DQ3 */
0095 0x000002a0 /* EMC_XM2CMDPADCTRL */
0096 0x0800013d /* EMC_XM2DQSPADCTRL2 */
0097 0x22220000 /* EMC_XM2DQPADCTRL2 */
0098 0x77fff884 /* EMC_XM2CLKPADCTRL */
0099 0x01f1f501 /* EMC_XM2COMPPADCTRL */
0100 0x07077404 /* EMC_XM2VTTGENPADCTRL */
0101 0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
0102 0x080001e8 /* EMC_XM2QUSEPADCTRL */
0103 0x08000021 /* EMC_XM2DQSPADCTRL3 */
0104 0x00000802 /* EMC_CTT_TERM_CTRL */
0105 0x00020000 /* EMC_ZCAL_INTERVAL */
0106 0x00000100 /* EMC_ZCAL_WAIT_CNT */
0107 0x0156000c /* EMC_MRS_WAIT_CNT */
0108 0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
0109 0x00000000 /* EMC_CTT */
0110 0x00000000 /* EMC_CTT_DURATION */
0111 0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
0112 0xe8000000 /* EMC_FBIO_SPARE */
0113 0xff00ff49 /* EMC_CFG_RSV */
0114 >;
0115 };
0116 };
0117
0118 emc-timings-1 {
0119 timing-333500000 {
0120 clock-frequency = <333500000>;
0121
0122 nvidia,emc-auto-cal-interval = <0x001fffff>;
0123 nvidia,emc-mode-1 = <0x80100002>;
0124 nvidia,emc-mode-2 = <0x80200000>;
0125 nvidia,emc-mode-reset = <0x80000321>;
0126 nvidia,emc-zcal-cnt-long = <0x00000040>;
0127
0128 nvidia,emc-configuration = <
0129 0x0000000f /* EMC_RC */
0130 0x00000034 /* EMC_RFC */
0131 0x0000000a /* EMC_RAS */
0132 0x00000003 /* EMC_RP */
0133 0x00000003 /* EMC_R2W */
0134 0x00000008 /* EMC_W2R */
0135 0x00000002 /* EMC_R2P */
0136 0x00000009 /* EMC_W2P */
0137 0x00000003 /* EMC_RD_RCD */
0138 0x00000003 /* EMC_WR_RCD */
0139 0x00000002 /* EMC_RRD */
0140 0x00000001 /* EMC_REXT */
0141 0x00000000 /* EMC_WEXT */
0142 0x00000004 /* EMC_WDV */
0143 0x00000006 /* EMC_QUSE */
0144 0x00000004 /* EMC_QRST */
0145 0x0000000a /* EMC_QSAFE */
0146 0x0000000c /* EMC_RDV */
0147 0x000009e9 /* EMC_REFRESH */
0148 0x00000000 /* EMC_BURST_REFRESH_NUM */
0149 0x0000027a /* EMC_PRE_REFRESH_REQ_CNT */
0150 0x00000001 /* EMC_PDEX2WR */
0151 0x00000008 /* EMC_PDEX2RD */
0152 0x00000001 /* EMC_PCHG2PDEN */
0153 0x00000000 /* EMC_ACT2PDEN */
0154 0x00000007 /* EMC_AR2PDEN */
0155 0x0000000e /* EMC_RW2PDEN */
0156 0x00000039 /* EMC_TXSR */
0157 0x00000200 /* EMC_TXSRDLL */
0158 0x00000004 /* EMC_TCKE */
0159 0x0000000a /* EMC_TFAW */
0160 0x00000000 /* EMC_TRPAB */
0161 0x00000004 /* EMC_TCLKSTABLE */
0162 0x00000005 /* EMC_TCLKSTOP */
0163 0x00000a2a /* EMC_TREFBW */
0164 0x00000000 /* EMC_QUSE_EXTRA */
0165 0x00000004 /* EMC_FBIO_CFG6 */
0166 0x00000000 /* EMC_ODT_WRITE */
0167 0x00000000 /* EMC_ODT_READ */
0168 0x00007088 /* EMC_FBIO_CFG5 */
0169 0x002600a4 /* EMC_CFG_DIG_DLL */
0170 0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
0171 0x0003c000 /* EMC_DLL_XFORM_DQS0 */
0172 0x0003c000 /* EMC_DLL_XFORM_DQS1 */
0173 0x0003c000 /* EMC_DLL_XFORM_DQS2 */
0174 0x0003c000 /* EMC_DLL_XFORM_DQS3 */
0175 0x00014000 /* EMC_DLL_XFORM_DQS4 */
0176 0x00014000 /* EMC_DLL_XFORM_DQS5 */
0177 0x00014000 /* EMC_DLL_XFORM_DQS6 */
0178 0x00014000 /* EMC_DLL_XFORM_DQS7 */
0179 0x00000000 /* EMC_DLL_XFORM_QUSE0 */
0180 0x00000000 /* EMC_DLL_XFORM_QUSE1 */
0181 0x00000000 /* EMC_DLL_XFORM_QUSE2 */
0182 0x00000000 /* EMC_DLL_XFORM_QUSE3 */
0183 0x00000000 /* EMC_DLL_XFORM_QUSE4 */
0184 0x00000000 /* EMC_DLL_XFORM_QUSE5 */
0185 0x00000000 /* EMC_DLL_XFORM_QUSE6 */
0186 0x00000000 /* EMC_DLL_XFORM_QUSE7 */
0187 0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
0188 0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
0189 0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
0190 0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
0191 0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
0192 0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
0193 0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
0194 0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
0195 0x00048000 /* EMC_DLL_XFORM_DQ0 */
0196 0x00048000 /* EMC_DLL_XFORM_DQ1 */
0197 0x00048000 /* EMC_DLL_XFORM_DQ2 */
0198 0x00048000 /* EMC_DLL_XFORM_DQ3 */
0199 0x000002a0 /* EMC_XM2CMDPADCTRL */
0200 0x0800013d /* EMC_XM2DQSPADCTRL2 */
0201 0x00000000 /* EMC_XM2DQPADCTRL2 */
0202 0x77fff884 /* EMC_XM2CLKPADCTRL */
0203 0x01f1f508 /* EMC_XM2COMPPADCTRL */
0204 0x05057404 /* EMC_XM2VTTGENPADCTRL */
0205 0x54000007 /* EMC_XM2VTTGENPADCTRL2 */
0206 0x080001e8 /* EMC_XM2QUSEPADCTRL */
0207 0x08000021 /* EMC_XM2DQSPADCTRL3 */
0208 0x00000802 /* EMC_CTT_TERM_CTRL */
0209 0x00020000 /* EMC_ZCAL_INTERVAL */
0210 0x00000100 /* EMC_ZCAL_WAIT_CNT */
0211 0x018b000c /* EMC_MRS_WAIT_CNT */
0212 0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
0213 0x00000000 /* EMC_CTT */
0214 0x00000000 /* EMC_CTT_DURATION */
0215 0x800014d4 /* EMC_DYN_SELF_REF_CONTROL */
0216 0xe8000000 /* EMC_FBIO_SPARE */
0217 0xff00ff89 /* EMC_CFG_RSV */
0218 >;
0219 };
0220
0221 timing-667000000 {
0222 clock-frequency = <667000000>;
0223
0224 nvidia,emc-auto-cal-interval = <0x001fffff>;
0225 nvidia,emc-mode-1 = <0x80100002>;
0226 nvidia,emc-mode-2 = <0x80200018>;
0227 nvidia,emc-mode-reset = <0x80000b71>;
0228 nvidia,emc-zcal-cnt-long = <0x00000040>;
0229 nvidia,emc-cfg-periodic-qrst;
0230
0231 nvidia,emc-configuration = <
0232 0x00000020 /* EMC_RC */
0233 0x0000006a /* EMC_RFC */
0234 0x00000017 /* EMC_RAS */
0235 0x00000007 /* EMC_RP */
0236 0x00000005 /* EMC_R2W */
0237 0x0000000c /* EMC_W2R */
0238 0x00000003 /* EMC_R2P */
0239 0x00000011 /* EMC_W2P */
0240 0x00000007 /* EMC_RD_RCD */
0241 0x00000007 /* EMC_WR_RCD */
0242 0x00000002 /* EMC_RRD */
0243 0x00000001 /* EMC_REXT */
0244 0x00000000 /* EMC_WEXT */
0245 0x00000007 /* EMC_WDV */
0246 0x0000000a /* EMC_QUSE */
0247 0x00000009 /* EMC_QRST */
0248 0x0000000b /* EMC_QSAFE */
0249 0x00000011 /* EMC_RDV */
0250 0x00001412 /* EMC_REFRESH */
0251 0x00000000 /* EMC_BURST_REFRESH_NUM */
0252 0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
0253 0x00000002 /* EMC_PDEX2WR */
0254 0x0000000e /* EMC_PDEX2RD */
0255 0x00000001 /* EMC_PCHG2PDEN */
0256 0x00000000 /* EMC_ACT2PDEN */
0257 0x0000000c /* EMC_AR2PDEN */
0258 0x00000016 /* EMC_RW2PDEN */
0259 0x00000072 /* EMC_TXSR */
0260 0x00000200 /* EMC_TXSRDLL */
0261 0x00000005 /* EMC_TCKE */
0262 0x00000015 /* EMC_TFAW */
0263 0x00000000 /* EMC_TRPAB */
0264 0x00000006 /* EMC_TCLKSTABLE */
0265 0x00000007 /* EMC_TCLKSTOP */
0266 0x00001453 /* EMC_TREFBW */
0267 0x0000000b /* EMC_QUSE_EXTRA */
0268 0x00000006 /* EMC_FBIO_CFG6 */
0269 0x00000000 /* EMC_ODT_WRITE */
0270 0x00000000 /* EMC_ODT_READ */
0271 0x00005088 /* EMC_FBIO_CFG5 */
0272 0xf00b0191 /* EMC_CFG_DIG_DLL */
0273 0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
0274 0x00000008 /* EMC_DLL_XFORM_DQS0 */
0275 0x00000008 /* EMC_DLL_XFORM_DQS1 */
0276 0x00000008 /* EMC_DLL_XFORM_DQS2 */
0277 0x00000008 /* EMC_DLL_XFORM_DQS3 */
0278 0x0000000a /* EMC_DLL_XFORM_DQS4 */
0279 0x0000000a /* EMC_DLL_XFORM_DQS5 */
0280 0x0000000a /* EMC_DLL_XFORM_DQS6 */
0281 0x0000000a /* EMC_DLL_XFORM_DQS7 */
0282 0x00018000 /* EMC_DLL_XFORM_QUSE0 */
0283 0x00018000 /* EMC_DLL_XFORM_QUSE1 */
0284 0x00018000 /* EMC_DLL_XFORM_QUSE2 */
0285 0x00018000 /* EMC_DLL_XFORM_QUSE3 */
0286 0x00000000 /* EMC_DLL_XFORM_QUSE4 */
0287 0x00000000 /* EMC_DLL_XFORM_QUSE5 */
0288 0x00000000 /* EMC_DLL_XFORM_QUSE6 */
0289 0x00000000 /* EMC_DLL_XFORM_QUSE7 */
0290 0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
0291 0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
0292 0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
0293 0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
0294 0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
0295 0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
0296 0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
0297 0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
0298 0x0000000a /* EMC_DLL_XFORM_DQ0 */
0299 0x0000000a /* EMC_DLL_XFORM_DQ1 */
0300 0x0000000a /* EMC_DLL_XFORM_DQ2 */
0301 0x0000000a /* EMC_DLL_XFORM_DQ3 */
0302 0x000002a0 /* EMC_XM2CMDPADCTRL */
0303 0x0800013d /* EMC_XM2DQSPADCTRL2 */
0304 0x22220000 /* EMC_XM2DQPADCTRL2 */
0305 0x77fff884 /* EMC_XM2CLKPADCTRL */
0306 0x01f1f501 /* EMC_XM2COMPPADCTRL */
0307 0x07077404 /* EMC_XM2VTTGENPADCTRL */
0308 0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
0309 0x080001e8 /* EMC_XM2QUSEPADCTRL */
0310 0x0c000021 /* EMC_XM2DQSPADCTRL3 */
0311 0x00000802 /* EMC_CTT_TERM_CTRL */
0312 0x00020000 /* EMC_ZCAL_INTERVAL */
0313 0x00000100 /* EMC_ZCAL_WAIT_CNT */
0314 0x0155000c /* EMC_MRS_WAIT_CNT */
0315 0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
0316 0x00000000 /* EMC_CTT */
0317 0x00000000 /* EMC_CTT_DURATION */
0318 0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
0319 0xe8000000 /* EMC_FBIO_SPARE */
0320 0xff00ff49 /* EMC_CFG_RSV */
0321 >;
0322 };
0323 };
0324 };
0325 };