Commit 128b1aaf8d0bd7bd9340cdf13fc9204c4995e774
1 parent
4c530d1979
Exists in
smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga
and in
4 other branches
MLK-21068 board: imx8mm_evk: update the lpddr4 timing config
Update the lpddr4 timing config to align with the ddr tool Signed-off-by: Jacky Bai <ping.bai@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit a1433dec3a03a6c944b61600e7b317e2a83f2981)
Showing 1 changed file with 288 additions and 414 deletions Side-by-side Diff
board/freescale/imx8mm_evk/lpddr4_timing.c
Changes suppressed. Click to show
1 | 1 | /* |
2 | - * Copyright 2018 NXP | |
2 | + * Copyright 2018-2019 NXP | |
3 | 3 | * |
4 | - * SPDX-License-Identifier: GPL-2.0+ | |
4 | + * SPDX-License-Identifier: GPL-2.0+ | |
5 | + * | |
6 | + * Generated code from MX8M_DDR_tool | |
5 | 7 | */ |
8 | + | |
6 | 9 | #include <linux/kernel.h> |
7 | -#include <common.h> | |
8 | -#include <asm/arch/ddr.h> | |
9 | -#include <asm/arch/lpddr4_define.h> | |
10 | 10 | #include <asm/arch/imx8m_ddr.h> |
11 | 11 | |
12 | -struct dram_cfg_param lpddr4_ddrc_cfg[] = { | |
13 | - /* Start to config, default 3200mbps */ | |
14 | - { DDRC_DBG1(0), 0x00000001 }, | |
15 | - { DDRC_PWRCTL(0), 0x00000001 }, | |
16 | - { DDRC_MSTR(0), 0xa1080020 }, | |
17 | - { DDRC_RFSHTMG(0), 0x005b00d2 }, | |
18 | - { DDRC_INIT0(0), 0xC003061B }, | |
19 | - { DDRC_INIT1(0), 0x009D0000 }, | |
20 | - { DDRC_INIT3(0), 0x00D4002D }, | |
21 | - { DDRC_INIT4(0), (LPDDR4_MR3 << 16) | 0x0000 }, | |
22 | - { DDRC_INIT6(0), 0x0066004a }, | |
23 | - { DDRC_INIT7(0), 0x0006004a }, | |
12 | +struct dram_cfg_param ddr_ddrc_cfg[] = { | |
13 | + /* Initialize DDRC registers */ | |
14 | + { 0x3d400304, 0x1 }, | |
15 | + { 0x3d400030, 0x1 }, | |
16 | + { 0x3d400000, 0xa1080020 }, | |
17 | + { 0x3d400020, 0x223 }, | |
18 | + { 0x3d400024, 0x16e3600 }, | |
19 | + { 0x3d400064, 0x5b00d2 }, | |
20 | + { 0x3d4000d0, 0xc00305ba }, | |
21 | + { 0x3d4000d4, 0x940000 }, | |
22 | + { 0x3d4000dc, 0xd4002d }, | |
23 | + { 0x3d4000e0, 0x310000 }, | |
24 | + { 0x3d4000e8, 0x66004d }, | |
25 | + { 0x3d4000ec, 0x16004d }, | |
26 | + { 0x3d400100, 0x191e1920 }, | |
27 | + { 0x3d400104, 0x60630 }, | |
28 | + { 0x3d40010c, 0xb0b000 }, | |
29 | + { 0x3d400110, 0xe04080e }, | |
30 | + { 0x3d400114, 0x2040c0c }, | |
31 | + { 0x3d400118, 0x1010007 }, | |
32 | + { 0x3d40011c, 0x401 }, | |
33 | + { 0x3d400130, 0x20600 }, | |
34 | + { 0x3d400134, 0xc100002 }, | |
35 | + { 0x3d400138, 0xd8 }, | |
36 | + { 0x3d400144, 0x96004b }, | |
37 | + { 0x3d400180, 0x2ee0017 }, | |
38 | + { 0x3d400184, 0x2605b8e }, | |
39 | + { 0x3d400188, 0x0 }, | |
40 | + { 0x3d400190, 0x497820a }, | |
41 | + { 0x3d400194, 0x80303 }, | |
42 | + { 0x3d4001b4, 0x170a }, | |
43 | + { 0x3d4001a0, 0xe0400018 }, | |
44 | + { 0x3d4001a4, 0xdf00e4 }, | |
45 | + { 0x3d4001a8, 0x80000000 }, | |
46 | + { 0x3d4001b0, 0x11 }, | |
47 | + { 0x3d4001c0, 0x1 }, | |
48 | + { 0x3d4001c4, 0x0 }, | |
49 | + { 0x3d4000f4, 0xc99 }, | |
50 | + { 0x3d400108, 0x70e1617 }, | |
51 | + { 0x3d400200, 0x1f }, | |
52 | + { 0x3d40020c, 0x0 }, | |
53 | + { 0x3d400210, 0x1f1f }, | |
54 | + { 0x3d400204, 0x80808 }, | |
55 | + { 0x3d400214, 0x7070707 }, | |
56 | + { 0x3d400218, 0x7070707 }, | |
24 | 57 | |
25 | - { DDRC_DRAMTMG0(0), 0x1A201B22 }, | |
26 | - { DDRC_DRAMTMG1(0), 0x00060633 }, | |
27 | - { DDRC_DRAMTMG3(0), 0x00C0C000 }, | |
28 | - { DDRC_DRAMTMG4(0), 0x0F04080F }, | |
29 | - { DDRC_DRAMTMG5(0), 0x02040C0C }, | |
30 | - { DDRC_DRAMTMG6(0), 0x01010007 }, | |
31 | - { DDRC_DRAMTMG7(0), 0x00000401 }, | |
32 | - { DDRC_DRAMTMG12(0), 0x00020600 }, | |
33 | - { DDRC_DRAMTMG13(0), 0x0C100002 }, | |
34 | - { DDRC_DRAMTMG14(0), 0x000000E6 }, | |
35 | - { DDRC_DRAMTMG17(0), 0x00A00050 }, | |
36 | - | |
37 | - { DDRC_ZQCTL0(0), 0x03200018 }, | |
38 | - { DDRC_ZQCTL1(0), 0x028061A8 }, | |
39 | - { DDRC_ZQCTL2(0), 0x00000000 }, | |
40 | - | |
41 | - { DDRC_DFITMG0(0), 0x0497820A }, | |
42 | - { DDRC_DFITMG2(0), 0x0000170A }, | |
43 | - { DDRC_DRAMTMG2(0), 0x070E171a }, | |
44 | - { DDRC_DBICTL(0), 0x00000001 }, | |
45 | - | |
46 | - { DDRC_DFITMG1(0), 0x00080303 }, | |
47 | - { DDRC_DFIUPD0(0), 0xE0400018 }, | |
48 | - { DDRC_DFIUPD1(0), 0x00DF00E4 }, | |
49 | - { DDRC_DFIUPD2(0), 0x80000000 }, | |
50 | - { DDRC_DFIMISC(0), 0x00000011 }, | |
51 | - | |
52 | - { DDRC_DFIPHYMSTR(0), 0x00000000 }, | |
53 | - { DDRC_RANKCTL(0), 0x00000c99 }, | |
54 | - | |
55 | - /* address mapping */ | |
56 | - { DDRC_ADDRMAP0(0), 0x0000001f }, | |
57 | - { DDRC_ADDRMAP1(0), 0x00080808 }, | |
58 | - { DDRC_ADDRMAP2(0), 0x00000000 }, | |
59 | - { DDRC_ADDRMAP3(0), 0x00000000 }, | |
60 | - { DDRC_ADDRMAP4(0), 0x00001f1f }, | |
61 | - { DDRC_ADDRMAP5(0), 0x07070707 }, | |
62 | - { DDRC_ADDRMAP6(0), 0x07070707 }, | |
63 | - { DDRC_ADDRMAP7(0), 0x00000f0f }, | |
64 | - | |
65 | 58 | /* performance setting */ |
66 | - { DDRC_SCHED(0), 0x29001701 }, | |
67 | - { DDRC_SCHED1(0), 0x0000002c }, | |
68 | - { DDRC_PERFHPR1(0), 0x04000030 }, | |
69 | - { DDRC_PERFLPR1(0), 0x900093e7 }, | |
70 | - { DDRC_PERFWR1(0), 0x20005574 }, | |
71 | - { DDRC_PCCFG(0), 0x00000111 }, | |
72 | - { DDRC_PCFGW_0(0), 0x000072ff }, | |
73 | - { DDRC_PCFGQOS0_0(0), 0x02100e07 }, | |
74 | - { DDRC_PCFGQOS1_0(0), 0x00620096 }, | |
75 | - { DDRC_PCFGWQOS0_0(0), 0x01100e07 }, | |
76 | - { DDRC_PCFGWQOS1_0(0), 0x00c8012c }, | |
59 | + { 0x3d400250, 0x29001701 }, | |
60 | + { 0x3d400254, 0x2c }, | |
61 | + { 0x3d40025c, 0x4000030 }, | |
62 | + { 0x3d400264, 0x900093e7 }, | |
63 | + { 0x3d40026c, 0x2005574 }, | |
64 | + { 0x3d400400, 0x111 }, | |
65 | + { 0x3d400408, 0x72ff }, | |
66 | + { 0x3d400494, 0x2100e07 }, | |
67 | + { 0x3d400498, 0x620096 }, | |
68 | + { 0x3d40049c, 0x1100e07 }, | |
69 | + { 0x3d4004a0, 0xc8012c }, | |
77 | 70 | |
78 | - /* frequency P1&P2 */ | |
79 | - /* Frequency 1: 400mbps */ | |
80 | - { DDRC_FREQ1_DRAMTMG0(0), 0x0d0b010c }, | |
81 | - { DDRC_FREQ1_DRAMTMG1(0), 0x00030410 }, | |
82 | - { DDRC_FREQ1_DRAMTMG2(0), 0x0203090c }, | |
83 | - { DDRC_FREQ1_DRAMTMG3(0), 0x00505006 }, | |
84 | - { DDRC_FREQ1_DRAMTMG4(0), 0x05040305 }, | |
85 | - { DDRC_FREQ1_DRAMTMG5(0), 0x0d0e0504 }, | |
86 | - { DDRC_FREQ1_DRAMTMG6(0), 0x0a060004 }, | |
87 | - { DDRC_FREQ1_DRAMTMG7(0), 0x0000090e }, | |
88 | - { DDRC_FREQ1_DRAMTMG14(0), 0x00000032 }, | |
89 | - { DDRC_FREQ1_DRAMTMG15(0), 0x00000000 }, | |
90 | - { DDRC_FREQ1_DRAMTMG17(0), 0x0036001b }, | |
91 | - { DDRC_FREQ1_DERATEINT(0), 0x7e9fbeb1 }, | |
92 | - { DDRC_FREQ1_DFITMG0(0), 0x03818200 }, | |
93 | - { DDRC_FREQ1_DFITMG2(0), 0x00000000 }, | |
94 | - { DDRC_FREQ1_RFSHTMG(0), 0x000C001c }, | |
95 | - { DDRC_FREQ1_INIT3(0), 0x00840000 }, | |
96 | - { DDRC_FREQ1_INIT4(0), 0x00310000 }, | |
97 | - { DDRC_FREQ1_INIT6(0), 0x0066004a }, | |
98 | - { DDRC_FREQ1_INIT7(0), 0x0006004a }, | |
71 | + /* P1: 400mts */ | |
72 | + { 0x3d402020, 0x21 }, | |
73 | + { 0x3d402024, 0x30d400 }, | |
74 | + { 0x3d402050, 0x20d040 }, | |
75 | + { 0x3d402064, 0xc001c }, | |
76 | + { 0x3d4020dc, 0x840000 }, | |
77 | + { 0x3d4020e0, 0x310000 }, | |
78 | + { 0x3d4020e8, 0x66004d }, | |
79 | + { 0x3d4020ec, 0x16004d }, | |
80 | + { 0x3d402100, 0xa040305 }, | |
81 | + { 0x3d402104, 0x30407 }, | |
82 | + { 0x3d402108, 0x203060b }, | |
83 | + { 0x3d40210c, 0x505000 }, | |
84 | + { 0x3d402110, 0x2040202 }, | |
85 | + { 0x3d402114, 0x2030202 }, | |
86 | + { 0x3d402118, 0x1010004 }, | |
87 | + { 0x3d40211c, 0x301 }, | |
88 | + { 0x3d402130, 0x20300 }, | |
89 | + { 0x3d402134, 0xa100002 }, | |
90 | + { 0x3d402138, 0x1d }, | |
91 | + { 0x3d402144, 0x14000a }, | |
92 | + { 0x3d402180, 0x640004 }, | |
93 | + { 0x3d402190, 0x3818200 }, | |
94 | + { 0x3d402194, 0x80303 }, | |
95 | + { 0x3d4021b4, 0x100 }, | |
99 | 96 | |
100 | - /* Frequency 2: 100mbps */ | |
101 | - { DDRC_FREQ2_DRAMTMG0(0), 0x0d0b010c }, | |
102 | - { DDRC_FREQ2_DRAMTMG1(0), 0x00030410 }, | |
103 | - { DDRC_FREQ2_DRAMTMG2(0), 0x0203090c }, | |
104 | - { DDRC_FREQ2_DRAMTMG3(0), 0x00505006 }, | |
105 | - { DDRC_FREQ2_DRAMTMG4(0), 0x05040305 }, | |
106 | - { DDRC_FREQ2_DRAMTMG5(0), 0x0d0e0504 }, | |
107 | - { DDRC_FREQ2_DRAMTMG6(0), 0x0a060004 }, | |
108 | - { DDRC_FREQ2_DRAMTMG7(0), 0x0000090e }, | |
109 | - { DDRC_FREQ2_DRAMTMG14(0), 0x00000032 }, | |
110 | - { DDRC_FREQ2_DRAMTMG17(0), 0x0036001b }, | |
111 | - { DDRC_FREQ2_DERATEINT(0), 0x7e9fbeb1 }, | |
112 | - { DDRC_FREQ2_DFITMG0(0), 0x03818200 }, | |
113 | - { DDRC_FREQ2_DFITMG2(0), 0x00000000 }, | |
114 | - { DDRC_FREQ2_RFSHTMG(0), 0x0003800c }, | |
115 | - { DDRC_FREQ2_RFSHTMG(0), 0x00030007 }, | |
116 | - { DDRC_FREQ2_INIT3(0), 0x00840000 }, | |
117 | - { DDRC_FREQ2_INIT4(0), 0x00310008 }, | |
118 | - { DDRC_FREQ2_INIT4(0), (LPDDR4_MR3 << 16) | 0x0000 }, | |
119 | - { DDRC_FREQ2_INIT6(0), 0x0066004a }, | |
120 | - { DDRC_FREQ2_INIT7(0), 0x0006004a }, | |
97 | + /* p2: 100mts */ | |
98 | + { 0x3d403020, 0x21 }, | |
99 | + { 0x3d403024, 0xc3500 }, | |
100 | + { 0x3d403050, 0x20d040 }, | |
101 | + { 0x3d403064, 0x30007 }, | |
102 | + { 0x3d4030dc, 0x840000 }, | |
103 | + { 0x3d4030e0, 0x310000 }, | |
104 | + { 0x3d4030e8, 0x66004d }, | |
105 | + { 0x3d4030ec, 0x16004d }, | |
106 | + { 0x3d403100, 0xa010102 }, | |
107 | + { 0x3d403104, 0x30404 }, | |
108 | + { 0x3d403108, 0x203060b }, | |
109 | + { 0x3d40310c, 0x505000 }, | |
110 | + { 0x3d403110, 0x2040202 }, | |
111 | + { 0x3d403114, 0x2030202 }, | |
112 | + { 0x3d403118, 0x1010004 }, | |
113 | + { 0x3d40311c, 0x301 }, | |
114 | + { 0x3d403130, 0x20300 }, | |
115 | + { 0x3d403134, 0xa100002 }, | |
116 | + { 0x3d403138, 0x8 }, | |
117 | + { 0x3d403144, 0x50003 }, | |
118 | + { 0x3d403180, 0x190004 }, | |
119 | + { 0x3d403190, 0x3818200 }, | |
120 | + { 0x3d403194, 0x80303 }, | |
121 | + { 0x3d4031b4, 0x100 }, | |
121 | 122 | |
122 | - /* boot start point */ | |
123 | - { DDRC_MSTR2(0), 0x2 }, //DDRC_MSTR2 | |
123 | + /* default boot point */ | |
124 | + { 0x3d400028, 0x0 }, | |
124 | 125 | }; |
125 | 126 | |
126 | 127 | /* PHY Initialize Configuration */ |
127 | -struct dram_cfg_param lpddr4_ddrphy_cfg[] = { | |
128 | +struct dram_cfg_param ddr_ddrphy_cfg[] = { | |
129 | + { 0x100a0, 0x0 }, | |
130 | + { 0x100a1, 0x1 }, | |
131 | + { 0x100a2, 0x2 }, | |
132 | + { 0x100a3, 0x3 }, | |
133 | + { 0x100a4, 0x4 }, | |
134 | + { 0x100a5, 0x5 }, | |
135 | + { 0x100a6, 0x6 }, | |
136 | + { 0x100a7, 0x7 }, | |
137 | + { 0x110a0, 0x0 }, | |
138 | + { 0x110a1, 0x1 }, | |
139 | + { 0x110a2, 0x3 }, | |
140 | + { 0x110a3, 0x4 }, | |
141 | + { 0x110a4, 0x5 }, | |
142 | + { 0x110a5, 0x2 }, | |
143 | + { 0x110a6, 0x7 }, | |
144 | + { 0x110a7, 0x6 }, | |
145 | + { 0x120a0, 0x0 }, | |
146 | + { 0x120a1, 0x1 }, | |
147 | + { 0x120a2, 0x3 }, | |
148 | + { 0x120a3, 0x2 }, | |
149 | + { 0x120a4, 0x5 }, | |
150 | + { 0x120a5, 0x4 }, | |
151 | + { 0x120a6, 0x7 }, | |
152 | + { 0x120a7, 0x6 }, | |
153 | + { 0x130a0, 0x0 }, | |
154 | + { 0x130a1, 0x1 }, | |
155 | + { 0x130a2, 0x2 }, | |
156 | + { 0x130a3, 0x3 }, | |
157 | + { 0x130a4, 0x4 }, | |
158 | + { 0x130a5, 0x5 }, | |
159 | + { 0x130a6, 0x6 }, | |
160 | + { 0x130a7, 0x7 }, | |
128 | 161 | { 0x1005f, 0x1ff }, |
129 | 162 | { 0x1015f, 0x1ff }, |
130 | 163 | { 0x1105f, 0x1ff }, |
... | ... | @@ -133,7 +166,6 @@ |
133 | 166 | { 0x1215f, 0x1ff }, |
134 | 167 | { 0x1305f, 0x1ff }, |
135 | 168 | { 0x1315f, 0x1ff }, |
136 | - | |
137 | 169 | { 0x11005f, 0x1ff }, |
138 | 170 | { 0x11015f, 0x1ff }, |
139 | 171 | { 0x11105f, 0x1ff }, |
... | ... | @@ -142,7 +174,6 @@ |
142 | 174 | { 0x11215f, 0x1ff }, |
143 | 175 | { 0x11305f, 0x1ff }, |
144 | 176 | { 0x11315f, 0x1ff }, |
145 | - | |
146 | 177 | { 0x21005f, 0x1ff }, |
147 | 178 | { 0x21015f, 0x1ff }, |
148 | 179 | { 0x21105f, 0x1ff }, |
... | ... | @@ -151,7 +182,6 @@ |
151 | 182 | { 0x21215f, 0x1ff }, |
152 | 183 | { 0x21305f, 0x1ff }, |
153 | 184 | { 0x21315f, 0x1ff }, |
154 | - | |
155 | 185 | { 0x55, 0x1ff }, |
156 | 186 | { 0x1055, 0x1ff }, |
157 | 187 | { 0x2055, 0x1ff }, |
158 | 188 | |
159 | 189 | |
160 | 190 | |
161 | 191 | |
162 | 192 | |
163 | 193 | |
164 | 194 | |
... | ... | @@ -162,32 +192,24 @@ |
162 | 192 | { 0x7055, 0x1ff }, |
163 | 193 | { 0x8055, 0x1ff }, |
164 | 194 | { 0x9055, 0x1ff }, |
165 | - | |
166 | 195 | { 0x200c5, 0x19 }, |
167 | 196 | { 0x1200c5, 0x7 }, |
168 | 197 | { 0x2200c5, 0x7 }, |
169 | - | |
170 | 198 | { 0x2002e, 0x2 }, |
171 | 199 | { 0x12002e, 0x2 }, |
172 | 200 | { 0x22002e, 0x2 }, |
173 | - | |
174 | 201 | { 0x90204, 0x0 }, |
175 | 202 | { 0x190204, 0x0 }, |
176 | 203 | { 0x290204, 0x0 }, |
177 | - | |
178 | - { 0x20024, 0xab }, | |
204 | + { 0x20024, 0x1ab }, | |
179 | 205 | { 0x2003a, 0x0 }, |
180 | - | |
181 | - { 0x120024, 0xab }, | |
206 | + { 0x120024, 0x1ab }, | |
182 | 207 | { 0x2003a, 0x0 }, |
183 | - | |
184 | - { 0x220024, 0xab }, | |
208 | + { 0x220024, 0x1ab }, | |
185 | 209 | { 0x2003a, 0x0 }, |
186 | - | |
187 | 210 | { 0x20056, 0x3 }, |
188 | 211 | { 0x120056, 0xa }, |
189 | 212 | { 0x220056, 0xa }, |
190 | - | |
191 | 213 | { 0x1004d, 0xe00 }, |
192 | 214 | { 0x1014d, 0xe00 }, |
193 | 215 | { 0x1104d, 0xe00 }, |
... | ... | @@ -196,7 +218,6 @@ |
196 | 218 | { 0x1214d, 0xe00 }, |
197 | 219 | { 0x1304d, 0xe00 }, |
198 | 220 | { 0x1314d, 0xe00 }, |
199 | - | |
200 | 221 | { 0x11004d, 0xe00 }, |
201 | 222 | { 0x11014d, 0xe00 }, |
202 | 223 | { 0x11104d, 0xe00 }, |
... | ... | @@ -205,7 +226,6 @@ |
205 | 226 | { 0x11214d, 0xe00 }, |
206 | 227 | { 0x11304d, 0xe00 }, |
207 | 228 | { 0x11314d, 0xe00 }, |
208 | - | |
209 | 229 | { 0x21004d, 0xe00 }, |
210 | 230 | { 0x21014d, 0xe00 }, |
211 | 231 | { 0x21104d, 0xe00 }, |
... | ... | @@ -214,34 +234,30 @@ |
214 | 234 | { 0x21214d, 0xe00 }, |
215 | 235 | { 0x21304d, 0xe00 }, |
216 | 236 | { 0x21314d, 0xe00 }, |
217 | - | |
218 | - { 0x10049, 0xfbe }, | |
219 | - { 0x10149, 0xfbe }, | |
220 | - { 0x11049, 0xfbe }, | |
221 | - { 0x11149, 0xfbe }, | |
222 | - { 0x12049, 0xfbe }, | |
223 | - { 0x12149, 0xfbe }, | |
224 | - { 0x13049, 0xfbe }, | |
225 | - { 0x13149, 0xfbe }, | |
226 | - | |
227 | - { 0x110049, 0xfbe }, | |
228 | - { 0x110149, 0xfbe }, | |
229 | - { 0x111049, 0xfbe }, | |
230 | - { 0x111149, 0xfbe }, | |
231 | - { 0x112049, 0xfbe }, | |
232 | - { 0x112149, 0xfbe }, | |
233 | - { 0x113049, 0xfbe }, | |
234 | - { 0x113149, 0xfbe }, | |
235 | - | |
236 | - { 0x210049, 0xfbe }, | |
237 | - { 0x210149, 0xfbe }, | |
238 | - { 0x211049, 0xfbe }, | |
239 | - { 0x211149, 0xfbe }, | |
240 | - { 0x212049, 0xfbe }, | |
241 | - { 0x212149, 0xfbe }, | |
242 | - { 0x213049, 0xfbe }, | |
243 | - { 0x213149, 0xfbe }, | |
244 | - | |
237 | + { 0x10049, 0xeba }, | |
238 | + { 0x10149, 0xeba }, | |
239 | + { 0x11049, 0xeba }, | |
240 | + { 0x11149, 0xeba }, | |
241 | + { 0x12049, 0xeba }, | |
242 | + { 0x12149, 0xeba }, | |
243 | + { 0x13049, 0xeba }, | |
244 | + { 0x13149, 0xeba }, | |
245 | + { 0x110049, 0xeba }, | |
246 | + { 0x110149, 0xeba }, | |
247 | + { 0x111049, 0xeba }, | |
248 | + { 0x111149, 0xeba }, | |
249 | + { 0x112049, 0xeba }, | |
250 | + { 0x112149, 0xeba }, | |
251 | + { 0x113049, 0xeba }, | |
252 | + { 0x113149, 0xeba }, | |
253 | + { 0x210049, 0xeba }, | |
254 | + { 0x210149, 0xeba }, | |
255 | + { 0x211049, 0xeba }, | |
256 | + { 0x211149, 0xeba }, | |
257 | + { 0x212049, 0xeba }, | |
258 | + { 0x212149, 0xeba }, | |
259 | + { 0x213049, 0xeba }, | |
260 | + { 0x213149, 0xeba }, | |
245 | 261 | { 0x43, 0x63 }, |
246 | 262 | { 0x1043, 0x63 }, |
247 | 263 | { 0x2043, 0x63 }, |
... | ... | @@ -252,7 +268,6 @@ |
252 | 268 | { 0x7043, 0x63 }, |
253 | 269 | { 0x8043, 0x63 }, |
254 | 270 | { 0x9043, 0x63 }, |
255 | - | |
256 | 271 | { 0x20018, 0x3 }, |
257 | 272 | { 0x20075, 0x4 }, |
258 | 273 | { 0x20050, 0x0 }, |
... | ... | @@ -260,8 +275,7 @@ |
260 | 275 | { 0x120008, 0x64 }, |
261 | 276 | { 0x220008, 0x19 }, |
262 | 277 | { 0x20088, 0x9 }, |
263 | - | |
264 | - { 0x200b2, 0x1d4 }, | |
278 | + { 0x200b2, 0xdc }, | |
265 | 279 | { 0x10043, 0x5a1 }, |
266 | 280 | { 0x10143, 0x5a1 }, |
267 | 281 | { 0x11043, 0x5a1 }, |
... | ... | @@ -270,7 +284,6 @@ |
270 | 284 | { 0x12143, 0x5a1 }, |
271 | 285 | { 0x13043, 0x5a1 }, |
272 | 286 | { 0x13143, 0x5a1 }, |
273 | - | |
274 | 287 | { 0x1200b2, 0xdc }, |
275 | 288 | { 0x110043, 0x5a1 }, |
276 | 289 | { 0x110143, 0x5a1 }, |
... | ... | @@ -280,7 +293,6 @@ |
280 | 293 | { 0x112143, 0x5a1 }, |
281 | 294 | { 0x113043, 0x5a1 }, |
282 | 295 | { 0x113143, 0x5a1 }, |
283 | - | |
284 | 296 | { 0x2200b2, 0xdc }, |
285 | 297 | { 0x210043, 0x5a1 }, |
286 | 298 | { 0x210143, 0x5a1 }, |
287 | 299 | |
288 | 300 | |
... | ... | @@ -290,15 +302,12 @@ |
290 | 302 | { 0x212143, 0x5a1 }, |
291 | 303 | { 0x213043, 0x5a1 }, |
292 | 304 | { 0x213143, 0x5a1 }, |
293 | - | |
294 | 305 | { 0x200fa, 0x1 }, |
295 | 306 | { 0x1200fa, 0x1 }, |
296 | 307 | { 0x2200fa, 0x1 }, |
297 | - | |
298 | 308 | { 0x20019, 0x1 }, |
299 | 309 | { 0x120019, 0x1 }, |
300 | 310 | { 0x220019, 0x1 }, |
301 | - | |
302 | 311 | { 0x200f0, 0x660 }, |
303 | 312 | { 0x200f1, 0x0 }, |
304 | 313 | { 0x200f2, 0x4444 }, |
305 | 314 | |
306 | 315 | |
307 | 316 | |
308 | 317 | |
309 | 318 | |
... | ... | @@ -307,21 +316,20 @@ |
307 | 316 | { 0x200f5, 0x0 }, |
308 | 317 | { 0x200f6, 0x0 }, |
309 | 318 | { 0x200f7, 0xf000 }, |
310 | - | |
311 | 319 | { 0x20025, 0x0 }, |
312 | - { 0x2002d, LPDDR4_PHY_DMIPinPresent }, | |
313 | - { 0x12002d, LPDDR4_PHY_DMIPinPresent }, | |
314 | - { 0x22002d, LPDDR4_PHY_DMIPinPresent }, | |
320 | + { 0x2002d, 0x0 }, | |
321 | + { 0x12002d, 0x0 }, | |
322 | + { 0x22002d, 0x0 }, | |
315 | 323 | { 0x200c7, 0x21 }, |
316 | - { 0x200ca, 0x24 }, | |
317 | 324 | { 0x1200c7, 0x21 }, |
318 | - { 0x1200ca, 0x24 }, | |
319 | 325 | { 0x2200c7, 0x21 }, |
326 | + { 0x200ca, 0x24 }, | |
327 | + { 0x1200ca, 0x24 }, | |
320 | 328 | { 0x2200ca, 0x24 }, |
321 | 329 | }; |
322 | 330 | |
323 | 331 | /* ddr phy trained csr */ |
324 | -struct dram_cfg_param lpddr4_ddrphy_trained_csr[] = { | |
332 | +struct dram_cfg_param ddr_ddrphy_trained_csr[] = { | |
325 | 333 | { 0x200b2, 0x0 }, |
326 | 334 | { 0x1200b2, 0x0 }, |
327 | 335 | { 0x2200b2, 0x0 }, |
328 | 336 | |
329 | 337 | |
330 | 338 | |
331 | 339 | |
332 | 340 | |
333 | 341 | |
334 | 342 | |
335 | 343 | |
336 | 344 | |
337 | 345 | |
338 | 346 | |
339 | 347 | |
340 | 348 | |
341 | 349 | |
342 | 350 | |
343 | 351 | |
344 | 352 | |
345 | 353 | |
346 | 354 | |
347 | 355 | |
348 | 356 | |
349 | 357 | |
350 | 358 | |
351 | 359 | |
352 | 360 | |
353 | 361 | |
354 | 362 | |
355 | 363 | |
356 | 364 | |
357 | 365 | |
358 | 366 | |
359 | 367 | |
360 | 368 | |
361 | 369 | |
362 | 370 | |
363 | 371 | |
364 | 372 | |
365 | 373 | |
366 | 374 | |
367 | 375 | |
368 | 376 | |
369 | 377 | |
370 | 378 | |
371 | 379 | |
372 | 380 | |
373 | 381 | |
374 | 382 | |
375 | 383 | |
376 | 384 | |
377 | 385 | |
378 | 386 | |
379 | 387 | |
380 | 388 | |
381 | 389 | |
382 | 390 | |
383 | 391 | |
384 | 392 | |
385 | 393 | |
386 | 394 | |
387 | 395 | |
388 | 396 | |
389 | 397 | |
390 | 398 | |
391 | 399 | |
392 | 400 | |
393 | 401 | |
394 | 402 | |
395 | 403 | |
... | ... | @@ -1042,309 +1050,170 @@ |
1042 | 1050 | { 0x13730, 0x0 }, |
1043 | 1051 | { 0x13830, 0x0 }, |
1044 | 1052 | }; |
1045 | - | |
1046 | 1053 | /* P0 message block paremeter for training firmware */ |
1047 | -struct dram_cfg_param lpddr4_fsp0_cfg[] = { | |
1054 | +struct dram_cfg_param ddr_fsp0_cfg[] = { | |
1048 | 1055 | { 0xd0000, 0x0 }, |
1049 | - { 0x54000, 0x0 }, | |
1050 | - { 0x54001, 0x0 }, | |
1051 | - { 0x54002, 0x0 }, | |
1052 | 1056 | { 0x54003, 0xbb8 }, |
1053 | 1057 | { 0x54004, 0x2 }, |
1054 | - { 0x54005, ((LPDDR4_PHY_RON << 8) | LPDDR4_PHY_RTT) },//PHY Ron/Rtt | |
1055 | - { 0x54006, LPDDR4_PHY_VREF_VALUE }, | |
1056 | - { 0x54007, 0x0 }, | |
1058 | + { 0x54005, 0x2228 }, | |
1059 | + { 0x54006, 0x11 }, | |
1057 | 1060 | { 0x54008, 0x131f }, |
1058 | 1061 | { 0x54009, 0xc8 }, |
1059 | - { 0x5400a, 0x0 }, | |
1060 | 1062 | { 0x5400b, 0x2 }, |
1061 | - { 0x5400c, 0x0 }, | |
1062 | - { 0x5400d, 0x0 }, | |
1063 | - { 0x5400e, 0x0 }, | |
1064 | - { 0x5400f, 0x0 }, | |
1065 | - { 0x54010, 0x0 }, | |
1066 | - { 0x54011, 0x0 }, | |
1067 | - { 0x54012, (LPDDR4_CS << 8) | (0x110 & 0xff) }, | |
1068 | - { 0x54013, 0x0 }, | |
1069 | - { 0x54014, 0x0 }, | |
1070 | - { 0x54015, 0x0 }, | |
1071 | - { 0x54016, 0x0 }, | |
1072 | - { 0x54017, 0x0 }, | |
1073 | - { 0x54018, 0x0 }, | |
1063 | + { 0x5400d, 0x100 }, | |
1064 | + { 0x54012, 0x110 }, | |
1074 | 1065 | { 0x54019, 0x2dd4 }, |
1075 | - { 0x5401a, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1066 | + { 0x5401a, 0x31 }, | |
1076 | 1067 | { 0x5401b, 0x4d66 }, |
1077 | - { 0x5401c, 0x4d08 }, | |
1078 | - { 0x5401d, 0x0 }, | |
1079 | - { 0x5401e, LPDDR4_MR22_RANK0/*0x16*/ }, | |
1068 | + { 0x5401c, 0x4d00 }, | |
1069 | + { 0x5401e, 0x16 }, | |
1080 | 1070 | { 0x5401f, 0x2dd4 }, |
1081 | - { 0x54020, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1071 | + { 0x54020, 0x31 }, | |
1082 | 1072 | { 0x54021, 0x4d66 }, |
1083 | - { 0x54022, 0x4d08 }, | |
1084 | - { 0x54023, 0x0 }, | |
1085 | - { 0x54024, LPDDR4_MR22_RANK1/*0x16*/ }, | |
1086 | - { 0x54025, 0x0 }, | |
1087 | - { 0x54026, 0x0 }, | |
1088 | - { 0x54027, 0x0 }, | |
1089 | - { 0x54028, 0x0 }, | |
1090 | - { 0x54029, 0x0 }, | |
1091 | - { 0x5402a, 0x0 }, | |
1073 | + { 0x54022, 0x4d00 }, | |
1074 | + { 0x54024, 0x16 }, | |
1092 | 1075 | { 0x5402b, 0x1000 }, |
1093 | - { 0x5402c, LPDDR4_CS }, | |
1094 | - { 0x5402d, 0x0 }, | |
1095 | - { 0x5402e, 0x0 }, | |
1096 | - { 0x5402f, 0x0 }, | |
1097 | - { 0x54030, 0x0 }, | |
1098 | - { 0x54031, 0x0 }, | |
1076 | + { 0x5402c, 0x1 }, | |
1099 | 1077 | { 0x54032, 0xd400 }, |
1100 | - { 0x54033, (LPDDR4_MR3 << 8) | (0x312d & 0xff) }, | |
1078 | + { 0x54033, 0x312d }, | |
1101 | 1079 | { 0x54034, 0x6600 }, |
1102 | - { 0x54035, 0x84d }, | |
1080 | + { 0x54035, 0x4d }, | |
1103 | 1081 | { 0x54036, 0x4d }, |
1104 | - { 0x54037, (LPDDR4_MR22_RANK0 << 8)/*0x1600*/ }, | |
1082 | + { 0x54037, 0x1600 }, | |
1105 | 1083 | { 0x54038, 0xd400 }, |
1106 | - { 0x54039, (LPDDR4_MR3 << 8) | (0x312d & 0xff) }, | |
1084 | + { 0x54039, 0x312d }, | |
1107 | 1085 | { 0x5403a, 0x6600 }, |
1108 | - { 0x5403b, 0x84d }, | |
1086 | + { 0x5403b, 0x4d }, | |
1109 | 1087 | { 0x5403c, 0x4d }, |
1110 | - { 0x5403d, (LPDDR4_MR22_RANK1 << 8)/*0x1600*/ }, | |
1111 | - { 0x5403e, 0x0 }, | |
1112 | - { 0x5403f, 0x0 }, | |
1113 | - { 0x54040, 0x0 }, | |
1114 | - { 0x54041, 0x0 }, | |
1115 | - { 0x54042, 0x0 }, | |
1116 | - { 0x54043, 0x0 }, | |
1117 | - { 0x54044, 0x0 }, | |
1088 | + { 0x5403d, 0x1600 }, | |
1118 | 1089 | { 0xd0000, 0x1 }, |
1119 | 1090 | }; |
1120 | 1091 | |
1092 | + | |
1121 | 1093 | /* P1 message block paremeter for training firmware */ |
1122 | -struct dram_cfg_param lpddr4_fsp1_cfg[] = { | |
1094 | +struct dram_cfg_param ddr_fsp1_cfg[] = { | |
1123 | 1095 | { 0xd0000, 0x0 }, |
1124 | - { 0x54000, 0x0 }, | |
1125 | - { 0x54001, 0x0 }, | |
1126 | 1096 | { 0x54002, 0x101 }, |
1127 | 1097 | { 0x54003, 0x190 }, |
1128 | 1098 | { 0x54004, 0x2 }, |
1129 | - { 0x54005, ((LPDDR4_PHY_RON << 8) | LPDDR4_PHY_RTT) },//PHY Ron/Rtt | |
1130 | - { 0x54006, LPDDR4_PHY_VREF_VALUE }, | |
1131 | - { 0x54007, 0x0 }, | |
1099 | + { 0x54005, 0x2228 }, | |
1100 | + { 0x54006, 0x11 }, | |
1132 | 1101 | { 0x54008, 0x121f }, |
1133 | 1102 | { 0x54009, 0xc8 }, |
1134 | - { 0x5400a, 0x0 }, | |
1135 | 1103 | { 0x5400b, 0x2 }, |
1136 | - { 0x5400c, 0x0 }, | |
1137 | - { 0x5400d, 0x0 }, | |
1138 | - { 0x5400e, 0x0 }, | |
1139 | - { 0x5400f, 0x0 }, | |
1140 | - { 0x54010, 0x0 }, | |
1141 | - { 0x54011, 0x0 }, | |
1142 | - { 0x54012, (LPDDR4_CS << 8) | (0x110 & 0xff) }, | |
1143 | - { 0x54013, 0x0 }, | |
1144 | - { 0x54014, 0x0 }, | |
1145 | - { 0x54015, 0x0 }, | |
1146 | - { 0x54016, 0x0 }, | |
1147 | - { 0x54017, 0x0 }, | |
1148 | - { 0x54018, 0x0 }, | |
1104 | + { 0x5400d, 0x100 }, | |
1105 | + { 0x54012, 0x110 }, | |
1149 | 1106 | { 0x54019, 0x84 }, |
1150 | - { 0x5401a, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1107 | + { 0x5401a, 0x31 }, | |
1151 | 1108 | { 0x5401b, 0x4d66 }, |
1152 | - { 0x5401c, 0x4d08 }, | |
1153 | - { 0x5401d, 0x0 }, | |
1154 | - { 0x5401e, LPDDR4_MR22_RANK0/*0x16*/ }, | |
1109 | + { 0x5401c, 0x4d00 }, | |
1110 | + { 0x5401e, 0x16 }, | |
1155 | 1111 | { 0x5401f, 0x84 }, |
1156 | - { 0x54020, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1112 | + { 0x54020, 0x31 }, | |
1157 | 1113 | { 0x54021, 0x4d66 }, |
1158 | - { 0x54022, 0x4d08 }, | |
1159 | - { 0x54023, 0x0 }, | |
1160 | - { 0x54024, LPDDR4_MR22_RANK1/*0x16*/ }, | |
1161 | - { 0x54025, 0x0 }, | |
1162 | - { 0x54026, 0x0 }, | |
1163 | - { 0x54027, 0x0 }, | |
1164 | - { 0x54028, 0x0 }, | |
1165 | - { 0x54029, 0x0 }, | |
1166 | - { 0x5402a, 0x0 }, | |
1114 | + { 0x54022, 0x4d00 }, | |
1115 | + { 0x54024, 0x16 }, | |
1167 | 1116 | { 0x5402b, 0x1000 }, |
1168 | - { 0x5402c, LPDDR4_CS }, | |
1169 | - { 0x5402d, 0x0 }, | |
1170 | - { 0x5402e, 0x0 }, | |
1171 | - { 0x5402f, 0x0 }, | |
1172 | - { 0x54030, 0x0 }, | |
1173 | - { 0x54031, 0x0 }, | |
1117 | + { 0x5402c, 0x1 }, | |
1174 | 1118 | { 0x54032, 0x8400 }, |
1175 | - { 0x54033, (LPDDR4_MR3 << 8) | (0x3100 & 0xff) }, | |
1119 | + { 0x54033, 0x3100 }, | |
1176 | 1120 | { 0x54034, 0x6600 }, |
1177 | - { 0x54035, 0x84d }, | |
1121 | + { 0x54035, 0x4d }, | |
1178 | 1122 | { 0x54036, 0x4d }, |
1179 | - { 0x54037, (LPDDR4_MR22_RANK0 << 8)/*0x1600*/ }, | |
1123 | + { 0x54037, 0x1600 }, | |
1180 | 1124 | { 0x54038, 0x8400 }, |
1181 | - { 0x54039, (LPDDR4_MR3 << 8) | (0x3100 & 0xff) }, | |
1125 | + { 0x54039, 0x3100 }, | |
1182 | 1126 | { 0x5403a, 0x6600 }, |
1183 | - { 0x5403b, 0x84d }, | |
1127 | + { 0x5403b, 0x4d }, | |
1184 | 1128 | { 0x5403c, 0x4d }, |
1185 | - { 0x5403d, (LPDDR4_MR22_RANK1 << 8)/*0x1600*/ }, | |
1186 | - { 0x5403e, 0x0 }, | |
1187 | - { 0x5403f, 0x0 }, | |
1188 | - { 0x54040, 0x0 }, | |
1189 | - { 0x54041, 0x0 }, | |
1190 | - { 0x54042, 0x0 }, | |
1191 | - { 0x54043, 0x0 }, | |
1192 | - { 0x54044, 0x0 }, | |
1129 | + { 0x5403d, 0x1600 }, | |
1193 | 1130 | { 0xd0000, 0x1 }, |
1194 | 1131 | }; |
1195 | 1132 | |
1196 | -/* P1 message block paremeter for training firmware */ | |
1197 | -struct dram_cfg_param lpddr4_fsp2_cfg[] = { | |
1133 | + | |
1134 | +/* P2 message block paremeter for training firmware */ | |
1135 | +struct dram_cfg_param ddr_fsp2_cfg[] = { | |
1198 | 1136 | { 0xd0000, 0x0 }, |
1199 | - { 0x54000, 0x0 }, | |
1200 | - { 0x54001, 0x0 }, | |
1201 | 1137 | { 0x54002, 0x102 }, |
1202 | 1138 | { 0x54003, 0x64 }, |
1203 | 1139 | { 0x54004, 0x2 }, |
1204 | - { 0x54005, ((LPDDR4_PHY_RON << 8) | LPDDR4_PHY_RTT) },//PHY Ron/Rtt | |
1205 | - { 0x54006, LPDDR4_PHY_VREF_VALUE }, | |
1206 | - { 0x54007, 0x0 }, | |
1140 | + { 0x54005, 0x2228 }, | |
1141 | + { 0x54006, 0x11 }, | |
1207 | 1142 | { 0x54008, 0x121f }, |
1208 | 1143 | { 0x54009, 0xc8 }, |
1209 | - { 0x5400a, 0x0 }, | |
1210 | 1144 | { 0x5400b, 0x2 }, |
1211 | - { 0x5400c, 0x0 }, | |
1212 | - { 0x5400d, 0x0 }, | |
1213 | - { 0x5400e, 0x0 }, | |
1214 | - { 0x5400f, 0x0 }, | |
1215 | - { 0x54010, 0x0 }, | |
1216 | - { 0x54011, 0x0 }, | |
1217 | - { 0x54012, (LPDDR4_CS << 8) | (0x110 & 0xff) }, | |
1218 | - { 0x54013, 0x0 }, | |
1219 | - { 0x54014, 0x0 }, | |
1220 | - { 0x54015, 0x0 }, | |
1221 | - { 0x54016, 0x0 }, | |
1222 | - { 0x54017, 0x0 }, | |
1223 | - { 0x54018, 0x0 }, | |
1145 | + { 0x5400d, 0x100 }, | |
1146 | + { 0x54012, 0x110 }, | |
1224 | 1147 | { 0x54019, 0x84 }, |
1225 | - { 0x5401a, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1148 | + { 0x5401a, 0x31 }, | |
1226 | 1149 | { 0x5401b, 0x4d66 }, |
1227 | - { 0x5401c, 0x4d08 }, | |
1228 | - { 0x5401d, 0x0 }, | |
1229 | - { 0x5401e, LPDDR4_MR22_RANK0/*0x16*/ }, | |
1150 | + { 0x5401c, 0x4d00 }, | |
1151 | + { 0x5401e, 0x16 }, | |
1230 | 1152 | { 0x5401f, 0x84 }, |
1231 | - { 0x54020, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1153 | + { 0x54020, 0x31 }, | |
1232 | 1154 | { 0x54021, 0x4d66 }, |
1233 | - { 0x54022, 0x4d08 }, | |
1234 | - { 0x54023, 0x0 }, | |
1235 | - { 0x54024, LPDDR4_MR22_RANK1/*0x16*/ }, | |
1236 | - { 0x54025, 0x0 }, | |
1237 | - { 0x54026, 0x0 }, | |
1238 | - { 0x54027, 0x0 }, | |
1239 | - { 0x54028, 0x0 }, | |
1240 | - { 0x54029, 0x0 }, | |
1241 | - { 0x5402a, 0x0 }, | |
1155 | + { 0x54022, 0x4d00 }, | |
1156 | + { 0x54024, 0x16 }, | |
1242 | 1157 | { 0x5402b, 0x1000 }, |
1243 | - { 0x5402c, LPDDR4_CS }, | |
1244 | - { 0x5402d, 0x0 }, | |
1245 | - { 0x5402e, 0x0 }, | |
1246 | - { 0x5402f, 0x0 }, | |
1247 | - { 0x54030, 0x0 }, | |
1248 | - { 0x54031, 0x0 }, | |
1158 | + { 0x5402c, 0x1 }, | |
1249 | 1159 | { 0x54032, 0x8400 }, |
1250 | - { 0x54033, (LPDDR4_MR3 << 8) | (0x3100&0xff) }, | |
1160 | + { 0x54033, 0x3100 }, | |
1251 | 1161 | { 0x54034, 0x6600 }, |
1252 | - { 0x54035, 0x84d }, | |
1162 | + { 0x54035, 0x4d }, | |
1253 | 1163 | { 0x54036, 0x4d }, |
1254 | - { 0x54037, (LPDDR4_MR22_RANK0 << 8)/*0x1600*/ }, | |
1164 | + { 0x54037, 0x1600 }, | |
1255 | 1165 | { 0x54038, 0x8400 }, |
1256 | - { 0x54039, (LPDDR4_MR3 << 8) | (0x3100 & 0xff) }, | |
1166 | + { 0x54039, 0x3100 }, | |
1257 | 1167 | { 0x5403a, 0x6600 }, |
1258 | - { 0x5403b, 0x84d }, | |
1168 | + { 0x5403b, 0x4d }, | |
1259 | 1169 | { 0x5403c, 0x4d }, |
1260 | - { 0x5403d, (LPDDR4_MR22_RANK1 << 8)/*0x1600*/ }, | |
1261 | - { 0x5403e, 0x0 }, | |
1262 | - { 0x5403f, 0x0 }, | |
1263 | - { 0x54040, 0x0 }, | |
1264 | - { 0x54041, 0x0 }, | |
1265 | - { 0x54042, 0x0 }, | |
1266 | - { 0x54043, 0x0 }, | |
1267 | - { 0x54044, 0x0 }, | |
1170 | + { 0x5403d, 0x1600 }, | |
1268 | 1171 | { 0xd0000, 0x1 }, |
1269 | 1172 | }; |
1270 | 1173 | |
1174 | + | |
1271 | 1175 | /* P0 2D message block paremeter for training firmware */ |
1272 | -struct dram_cfg_param lpddr4_fsp0_2d_cfg[] = { | |
1176 | +struct dram_cfg_param ddr_fsp0_2d_cfg[] = { | |
1273 | 1177 | { 0xd0000, 0x0 }, |
1274 | - { 0x54000, 0x0 }, | |
1275 | - { 0x54001, 0x0 }, | |
1276 | - { 0x54002, 0x0 }, | |
1277 | 1178 | { 0x54003, 0xbb8 }, |
1278 | 1179 | { 0x54004, 0x2 }, |
1279 | - { 0x54005, ((LPDDR4_PHY_RON << 8) | LPDDR4_PHY_RTT) },//PHY Ron/Rtt | |
1280 | - { 0x54006, LPDDR4_PHY_VREF_VALUE }, | |
1281 | - { 0x54007, 0x0 }, | |
1180 | + { 0x54005, 0x2228 }, | |
1181 | + { 0x54006, 0x11 }, | |
1282 | 1182 | { 0x54008, 0x61 }, |
1283 | 1183 | { 0x54009, 0xc8 }, |
1284 | - { 0x5400a, 0x0 }, | |
1285 | 1184 | { 0x5400b, 0x2 }, |
1286 | - { 0x5400c, 0x0 }, | |
1287 | - { 0x5400d, 0x0 }, | |
1288 | - { 0x5400e, 0x0 }, | |
1289 | 1185 | { 0x5400f, 0x100 }, |
1290 | 1186 | { 0x54010, 0x1f7f }, |
1291 | - { 0x54011, 0x0 }, | |
1292 | - { 0x54012, (LPDDR4_CS << 8) | (0x110 & 0xff) }, | |
1293 | - { 0x54013, 0x0 }, | |
1294 | - { 0x54014, 0x0 }, | |
1295 | - { 0x54015, 0x0 }, | |
1296 | - { 0x54016, 0x0 }, | |
1297 | - { 0x54017, 0x0 }, | |
1298 | - { 0x54018, 0x0 }, | |
1187 | + { 0x54012, 0x110 }, | |
1299 | 1188 | { 0x54019, 0x2dd4 }, |
1300 | - { 0x5401a, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1189 | + { 0x5401a, 0x31 }, | |
1301 | 1190 | { 0x5401b, 0x4d66 }, |
1302 | - { 0x5401c, 0x4d08 }, | |
1303 | - { 0x5401d, 0x0 }, | |
1304 | - { 0x5401e, LPDDR4_MR22_RANK0/*0x16*/ }, | |
1191 | + { 0x5401c, 0x4d00 }, | |
1192 | + { 0x5401e, 0x16 }, | |
1305 | 1193 | { 0x5401f, 0x2dd4 }, |
1306 | - { 0x54020, (0x31 & 0xff00) | LPDDR4_MR3 }, | |
1194 | + { 0x54020, 0x31 }, | |
1307 | 1195 | { 0x54021, 0x4d66 }, |
1308 | - { 0x54022, 0x4d08 }, | |
1309 | - { 0x54023, 0x0 }, | |
1310 | - { 0x54024, LPDDR4_MR22_RANK1/*0x16*/ }, | |
1311 | - { 0x54025, 0x0 }, | |
1312 | - { 0x54026, 0x0 }, | |
1313 | - { 0x54027, 0x0 }, | |
1314 | - { 0x54028, 0x0 }, | |
1315 | - { 0x54029, 0x0 }, | |
1316 | - { 0x5402a, 0x0 }, | |
1196 | + { 0x54022, 0x4d00 }, | |
1197 | + { 0x54024, 0x16 }, | |
1317 | 1198 | { 0x5402b, 0x1000 }, |
1318 | - { 0x5402c, LPDDR4_CS }, | |
1319 | - { 0x5402d, 0x0 }, | |
1320 | - { 0x5402e, 0x0 }, | |
1321 | - { 0x5402f, 0x0 }, | |
1322 | - { 0x54030, 0x0 }, | |
1323 | - { 0x54031, 0x0 }, | |
1199 | + { 0x5402c, 0x1 }, | |
1324 | 1200 | { 0x54032, 0xd400 }, |
1325 | - { 0x54033, (LPDDR4_MR3 << 8) | (0x312d & 0xff) }, | |
1201 | + { 0x54033, 0x312d }, | |
1326 | 1202 | { 0x54034, 0x6600 }, |
1327 | - { 0x54035, 0x84d }, | |
1203 | + { 0x54035, 0x4d }, | |
1328 | 1204 | { 0x54036, 0x4d }, |
1329 | - { 0x54037, (LPDDR4_MR22_RANK0 << 8)/*0x1600*/ }, | |
1205 | + { 0x54037, 0x1600 }, | |
1330 | 1206 | { 0x54038, 0xd400 }, |
1331 | - { 0x54039, (LPDDR4_MR3 << 8) | (0x312d & 0xff) }, | |
1207 | + { 0x54039, 0x312d }, | |
1332 | 1208 | { 0x5403a, 0x6600 }, |
1333 | - { 0x5403b, 0x84d }, | |
1209 | + { 0x5403b, 0x4d }, | |
1334 | 1210 | { 0x5403c, 0x4d }, |
1335 | - { 0x5403d, (LPDDR4_MR22_RANK1 << 8)/*0x1600*/ }, | |
1336 | - { 0x5403e, 0x0 }, | |
1337 | - { 0x5403f, 0x0 }, | |
1338 | - { 0x54040, 0x0 }, | |
1339 | - { 0x54041, 0x0 }, | |
1340 | - { 0x54042, 0x0 }, | |
1341 | - { 0x54043, 0x0 }, | |
1342 | - { 0x54044, 0x0 }, | |
1211 | + { 0x5403d, 0x1600 }, | |
1343 | 1212 | { 0xd0000, 0x1 }, |
1344 | 1213 | }; |
1345 | 1214 | |
1346 | 1215 | /* DRAM PHY init engine image */ |
1347 | -struct dram_cfg_param lpddr4_phy_pie[] = { | |
1216 | +struct dram_cfg_param ddr_phy_pie[] = { | |
1348 | 1217 | { 0xd0000, 0x0 }, |
1349 | 1218 | { 0x90000, 0x10 }, |
1350 | 1219 | { 0x90001, 0x400 }, |
... | ... | @@ -1855,6 +1724,10 @@ |
1855 | 1724 | { 0x90013, 0x6152 }, |
1856 | 1725 | { 0x20010, 0x5a }, |
1857 | 1726 | { 0x20011, 0x3 }, |
1727 | + { 0x120010, 0x5a }, | |
1728 | + { 0x120011, 0x3 }, | |
1729 | + { 0x220010, 0x5a }, | |
1730 | + { 0x220011, 0x3 }, | |
1858 | 1731 | { 0x40080, 0xe0 }, |
1859 | 1732 | { 0x40081, 0x12 }, |
1860 | 1733 | { 0x40082, 0xe0 }, |
1861 | 1734 | |
1862 | 1735 | |
1863 | 1736 | |
1864 | 1737 | |
1865 | 1738 | |
1866 | 1739 | |
1867 | 1740 | |
1868 | 1741 | |
1869 | 1742 | |
... | ... | @@ -1932,51 +1805,52 @@ |
1932 | 1805 | { 0x138b4, 0x1 }, |
1933 | 1806 | { 0x2003a, 0x2 }, |
1934 | 1807 | { 0xc0080, 0x2 }, |
1935 | - { 0xd0000, 0x1 }, | |
1808 | + { 0xd0000, 0x1 } | |
1936 | 1809 | }; |
1937 | 1810 | |
1938 | -struct dram_fsp_msg lpddr4_dram_fsp_msg[] = { | |
1811 | +struct dram_fsp_msg ddr_dram_fsp_msg[] = { | |
1939 | 1812 | { |
1940 | 1813 | /* P0 3000mts 1D */ |
1941 | 1814 | .drate = 3000, |
1942 | 1815 | .fw_type = FW_1D_IMAGE, |
1943 | - .fsp_cfg = lpddr4_fsp0_cfg, | |
1944 | - .fsp_cfg_num = ARRAY_SIZE(lpddr4_fsp0_cfg), | |
1816 | + .fsp_cfg = ddr_fsp0_cfg, | |
1817 | + .fsp_cfg_num = ARRAY_SIZE(ddr_fsp0_cfg), | |
1945 | 1818 | }, |
1946 | 1819 | { |
1947 | - /* P0 3000mts 2D */ | |
1948 | - .drate = 3000, | |
1949 | - .fw_type = FW_2D_IMAGE, | |
1950 | - .fsp_cfg = lpddr4_fsp0_2d_cfg, | |
1951 | - .fsp_cfg_num = ARRAY_SIZE(lpddr4_fsp0_2d_cfg), | |
1952 | - }, | |
1953 | - { | |
1954 | 1820 | /* P1 400mts 1D */ |
1955 | 1821 | .drate = 400, |
1956 | 1822 | .fw_type = FW_1D_IMAGE, |
1957 | - .fsp_cfg = lpddr4_fsp1_cfg, | |
1958 | - .fsp_cfg_num = ARRAY_SIZE(lpddr4_fsp1_cfg), | |
1823 | + .fsp_cfg = ddr_fsp1_cfg, | |
1824 | + .fsp_cfg_num = ARRAY_SIZE(ddr_fsp1_cfg), | |
1959 | 1825 | }, |
1960 | 1826 | { |
1961 | - /* P1 100mts 1D */ | |
1827 | + /* P2 100mts 1D */ | |
1962 | 1828 | .drate = 100, |
1963 | 1829 | .fw_type = FW_1D_IMAGE, |
1964 | - .fsp_cfg = lpddr4_fsp2_cfg, | |
1965 | - .fsp_cfg_num = ARRAY_SIZE(lpddr4_fsp2_cfg), | |
1830 | + .fsp_cfg = ddr_fsp2_cfg, | |
1831 | + .fsp_cfg_num = ARRAY_SIZE(ddr_fsp2_cfg), | |
1966 | 1832 | }, |
1833 | + { | |
1834 | + /* P0 3000mts 2D */ | |
1835 | + .drate = 3000, | |
1836 | + .fw_type = FW_2D_IMAGE, | |
1837 | + .fsp_cfg = ddr_fsp0_2d_cfg, | |
1838 | + .fsp_cfg_num = ARRAY_SIZE(ddr_fsp0_2d_cfg), | |
1839 | + }, | |
1967 | 1840 | }; |
1968 | 1841 | |
1969 | -/* lpddr4 timing config params on EVK board */ | |
1842 | +/* ddr timing config params */ | |
1970 | 1843 | struct dram_timing_info dram_timing = { |
1971 | - .ddrc_cfg = lpddr4_ddrc_cfg, | |
1972 | - .ddrc_cfg_num = ARRAY_SIZE(lpddr4_ddrc_cfg), | |
1973 | - .ddrphy_cfg = lpddr4_ddrphy_cfg, | |
1974 | - .ddrphy_cfg_num = ARRAY_SIZE(lpddr4_ddrphy_cfg), | |
1975 | - .fsp_msg = lpddr4_dram_fsp_msg, | |
1976 | - .fsp_msg_num = ARRAY_SIZE(lpddr4_dram_fsp_msg), | |
1977 | - .ddrphy_trained_csr = lpddr4_ddrphy_trained_csr, | |
1978 | - .ddrphy_trained_csr_num = ARRAY_SIZE(lpddr4_ddrphy_trained_csr), | |
1979 | - .ddrphy_pie = lpddr4_phy_pie, | |
1980 | - .ddrphy_pie_num = ARRAY_SIZE(lpddr4_phy_pie), | |
1844 | + .ddrc_cfg = ddr_ddrc_cfg, | |
1845 | + .ddrc_cfg_num = ARRAY_SIZE(ddr_ddrc_cfg), | |
1846 | + .ddrphy_cfg = ddr_ddrphy_cfg, | |
1847 | + .ddrphy_cfg_num = ARRAY_SIZE(ddr_ddrphy_cfg), | |
1848 | + .fsp_msg = ddr_dram_fsp_msg, | |
1849 | + .fsp_msg_num = ARRAY_SIZE(ddr_dram_fsp_msg), | |
1850 | + .ddrphy_trained_csr = ddr_ddrphy_trained_csr, | |
1851 | + .ddrphy_trained_csr_num = ARRAY_SIZE(ddr_ddrphy_trained_csr), | |
1852 | + .ddrphy_pie = ddr_phy_pie, | |
1853 | + .ddrphy_pie_num = ARRAY_SIZE(ddr_phy_pie), | |
1854 | + .fsp_table = { 3000, 400, 100, }, | |
1981 | 1855 | }; |