1
2 #ifndef AST_DRAM_TABLES_H
3 #define AST_DRAM_TABLES_H
4
5
6 struct ast_dramstruct {
7 u16 index;
8 u32 data;
9 };
10
11 static const struct ast_dramstruct ast2000_dram_table_data[] = {
12 { 0x0108, 0x00000000 },
13 { 0x0120, 0x00004a21 },
14 { 0xFF00, 0x00000043 },
15 { 0x0000, 0xFFFFFFFF },
16 { 0x0004, 0x00000089 },
17 { 0x0008, 0x22331353 },
18 { 0x000C, 0x0d07000b },
19 { 0x0010, 0x11113333 },
20 { 0x0020, 0x00110350 },
21 { 0x0028, 0x1e0828f0 },
22 { 0x0024, 0x00000001 },
23 { 0x001C, 0x00000000 },
24 { 0x0014, 0x00000003 },
25 { 0xFF00, 0x00000043 },
26 { 0x0018, 0x00000131 },
27 { 0x0014, 0x00000001 },
28 { 0xFF00, 0x00000043 },
29 { 0x0018, 0x00000031 },
30 { 0x0014, 0x00000001 },
31 { 0xFF00, 0x00000043 },
32 { 0x0028, 0x1e0828f1 },
33 { 0x0024, 0x00000003 },
34 { 0x002C, 0x1f0f28fb },
35 { 0x0030, 0xFFFFFE01 },
36 { 0xFFFF, 0xFFFFFFFF }
37 };
38
39 static const struct ast_dramstruct ast1100_dram_table_data[] = {
40 { 0x2000, 0x1688a8a8 },
41 { 0x2020, 0x000041f0 },
42 { 0xFF00, 0x00000043 },
43 { 0x0000, 0xfc600309 },
44 { 0x006C, 0x00909090 },
45 { 0x0064, 0x00050000 },
46 { 0x0004, 0x00000585 },
47 { 0x0008, 0x0011030f },
48 { 0x0010, 0x22201724 },
49 { 0x0018, 0x1e29011a },
50 { 0x0020, 0x00c82222 },
51 { 0x0014, 0x01001523 },
52 { 0x001C, 0x1024010d },
53 { 0x0024, 0x00cb2522 },
54 { 0x0038, 0xffffff82 },
55 { 0x003C, 0x00000000 },
56 { 0x0040, 0x00000000 },
57 { 0x0044, 0x00000000 },
58 { 0x0048, 0x00000000 },
59 { 0x004C, 0x00000000 },
60 { 0x0050, 0x00000000 },
61 { 0x0054, 0x00000000 },
62 { 0x0058, 0x00000000 },
63 { 0x005C, 0x00000000 },
64 { 0x0060, 0x032aa02a },
65 { 0x0064, 0x002d3000 },
66 { 0x0068, 0x00000000 },
67 { 0x0070, 0x00000000 },
68 { 0x0074, 0x00000000 },
69 { 0x0078, 0x00000000 },
70 { 0x007C, 0x00000000 },
71 { 0x0034, 0x00000001 },
72 { 0xFF00, 0x00000043 },
73 { 0x002C, 0x00000732 },
74 { 0x0030, 0x00000040 },
75 { 0x0028, 0x00000005 },
76 { 0x0028, 0x00000007 },
77 { 0x0028, 0x00000003 },
78 { 0x0028, 0x00000001 },
79 { 0x000C, 0x00005a08 },
80 { 0x002C, 0x00000632 },
81 { 0x0028, 0x00000001 },
82 { 0x0030, 0x000003c0 },
83 { 0x0028, 0x00000003 },
84 { 0x0030, 0x00000040 },
85 { 0x0028, 0x00000003 },
86 { 0x000C, 0x00005a21 },
87 { 0x0034, 0x00007c03 },
88 { 0x0120, 0x00004c41 },
89 { 0xffff, 0xffffffff },
90 };
91
92 static const struct ast_dramstruct ast2100_dram_table_data[] = {
93 { 0x2000, 0x1688a8a8 },
94 { 0x2020, 0x00004120 },
95 { 0xFF00, 0x00000043 },
96 { 0x0000, 0xfc600309 },
97 { 0x006C, 0x00909090 },
98 { 0x0064, 0x00070000 },
99 { 0x0004, 0x00000489 },
100 { 0x0008, 0x0011030f },
101 { 0x0010, 0x32302926 },
102 { 0x0018, 0x274c0122 },
103 { 0x0020, 0x00ce2222 },
104 { 0x0014, 0x01001523 },
105 { 0x001C, 0x1024010d },
106 { 0x0024, 0x00cb2522 },
107 { 0x0038, 0xffffff82 },
108 { 0x003C, 0x00000000 },
109 { 0x0040, 0x00000000 },
110 { 0x0044, 0x00000000 },
111 { 0x0048, 0x00000000 },
112 { 0x004C, 0x00000000 },
113 { 0x0050, 0x00000000 },
114 { 0x0054, 0x00000000 },
115 { 0x0058, 0x00000000 },
116 { 0x005C, 0x00000000 },
117 { 0x0060, 0x0f2aa02a },
118 { 0x0064, 0x003f3005 },
119 { 0x0068, 0x02020202 },
120 { 0x0070, 0x00000000 },
121 { 0x0074, 0x00000000 },
122 { 0x0078, 0x00000000 },
123 { 0x007C, 0x00000000 },
124 { 0x0034, 0x00000001 },
125 { 0xFF00, 0x00000043 },
126 { 0x002C, 0x00000942 },
127 { 0x0030, 0x00000040 },
128 { 0x0028, 0x00000005 },
129 { 0x0028, 0x00000007 },
130 { 0x0028, 0x00000003 },
131 { 0x0028, 0x00000001 },
132 { 0x000C, 0x00005a08 },
133 { 0x002C, 0x00000842 },
134 { 0x0028, 0x00000001 },
135 { 0x0030, 0x000003c0 },
136 { 0x0028, 0x00000003 },
137 { 0x0030, 0x00000040 },
138 { 0x0028, 0x00000003 },
139 { 0x000C, 0x00005a21 },
140 { 0x0034, 0x00007c03 },
141 { 0x0120, 0x00005061 },
142 { 0xffff, 0xffffffff },
143 };
144
145
146
147
148 #define REGTBL_NUM 17
149 #define REGIDX_010 0
150 #define REGIDX_014 1
151 #define REGIDX_018 2
152 #define REGIDX_020 3
153 #define REGIDX_024 4
154 #define REGIDX_02C 5
155 #define REGIDX_030 6
156 #define REGIDX_214 7
157 #define REGIDX_2E0 8
158 #define REGIDX_2E4 9
159 #define REGIDX_2E8 10
160 #define REGIDX_2EC 11
161 #define REGIDX_2F0 12
162 #define REGIDX_2F4 13
163 #define REGIDX_2F8 14
164 #define REGIDX_RFC 15
165 #define REGIDX_PLL 16
166
167 static const u32 ast2500_ddr3_1600_timing_table[REGTBL_NUM] = {
168 0x64604D38,
169 0x29690599,
170 0x00000300,
171 0x00000000,
172 0x00000000,
173 0x02181E70,
174 0x00000040,
175 0x00000024,
176 0x02001300,
177 0x0E0000A0,
178 0x000E001B,
179 0x35B8C105,
180 0x08090408,
181 0x9B000800,
182 0x0E400A00,
183 0x9971452F,
184 0x000071C1
185 };
186
187 static const u32 ast2500_ddr4_1600_timing_table[REGTBL_NUM] = {
188 0x63604E37,
189 0xE97AFA99,
190 0x00019000,
191 0x08000000,
192 0x00000400,
193 0x00000410,
194 0x00000101,
195 0x00000024,
196 0x03002900,
197 0x0E0000A0,
198 0x000E001C,
199 0x35B8C106,
200 0x08080607,
201 0x9B000900,
202 0x0E400A00,
203 0x99714545,
204 0x000071C1
205 };
206
207 #endif