]> git.sur5r.net Git - u-boot/blob - drivers/ddr/marvell/a38x/ddr3_a38x_mc_static.h
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / drivers / ddr / marvell / a38x / ddr3_a38x_mc_static.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) Marvell International Ltd. and its affiliates
4  */
5
6 #ifndef _DDR3_A38X_MC_STATIC_H
7 #define _DDR3_A38X_MC_STATIC_H
8
9 #include "ddr3_a38x.h"
10
11 #ifdef SUPPORT_STATIC_DUNIT_CONFIG
12
13 #ifdef CONFIG_CUSTOMER_BOARD_SUPPORT
14 static struct reg_data ddr3_customer_800[] = {
15         /* parameters for customer board (based on 800MHZ) */
16         {0x1400,        0x7b00cc30, 0xffffffff},
17         {0x1404,        0x36301820, 0xffffffff},
18         {0x1408,        0x5415baab, 0xffffffff},
19         {0x140c,        0x38411def, 0xffffffff},
20         {0x1410,        0x18300000, 0xffffffff},
21         {0x1414,        0x00000700, 0xffffffff},
22         {0x1424,        0x0060f3ff, 0xffffffff},
23         {0x1428,        0x0011a940, 0xffffffff},
24         {0x142c,        0x28c5134,  0xffffffff},
25         {0x1474,        0x00000000, 0xffffffff},
26         {0x147c,        0x0000d771, 0xffffffff},
27         {0x1494,        0x00030000, 0xffffffff},
28         {0x149c,        0x00000300, 0xffffffff},
29         {0x14a8,        0x00000000, 0xffffffff},
30         {0x14cc,        0xbd09000d, 0xffffffff},
31         {0x1504,        0xfffffff1, 0xffffffff},
32         {0x150c,        0xffffffe5, 0xffffffff},
33         {0x1514,        0x00000000, 0xffffffff},
34         {0x151c,        0x00000000, 0xffffffff},
35         {0x1538,        0x00000b0b, 0xffffffff},
36         {0x153c,        0x00000c0c, 0xffffffff},
37         {0x15d0,        0x00000670, 0xffffffff},
38         {0x15d4,        0x00000046, 0xffffffff},
39         {0x15d8,        0x00000010, 0xffffffff},
40         {0x15dc,        0x00000000, 0xffffffff},
41         {0x15e0,        0x00000023, 0xffffffff},
42         {0x15e4,        0x00203c18, 0xffffffff},
43         {0x15ec,        0xf8000019, 0xffffffff},
44         {0x16a0,        0xcc000006, 0xffffffff},        /* Clock Delay */
45         {0xe4124,       0x08008073, 0xffffffff},        /* AVS BG default */
46         {0, 0, 0}
47 };
48
49 #else /* CONFIG_CUSTOMER_BOARD_SUPPORT */
50
51 struct reg_data ddr3_a38x_933[MV_MAX_DDR3_STATIC_SIZE] = {
52         /* parameters for 933MHZ */
53         {0x1400,        0x7b00ce3a, 0xffffffff},
54         {0x1404,        0x36301820, 0xffffffff},
55         {0x1408,        0x7417eccf, 0xffffffff},
56         {0x140c,        0x3e421f98, 0xffffffff},
57         {0x1410,        0x1a300000, 0xffffffff},
58         {0x1414,        0x00000700, 0xffffffff},
59         {0x1424,        0x0060f3ff, 0xffffffff},
60         {0x1428,        0x0013ca50, 0xffffffff},
61         {0x142c,        0x028c5165, 0xffffffff},
62         {0x1474,        0x00000000, 0xffffffff},
63         {0x147c,        0x0000e871, 0xffffffff},
64         {0x1494,        0x00010000, 0xffffffff},
65         {0x149c,        0x00000001, 0xffffffff},
66         {0x14a8,        0x00000000, 0xffffffff},
67         {0x14cc,        0xbd09000d, 0xffffffff},
68         {0x1504,        0xffffffe1, 0xffffffff},
69         {0x150c,        0xffffffe5, 0xffffffff},
70         {0x1514,        0x00000000, 0xffffffff},
71         {0x151c,        0x00000000, 0xffffffff},
72         {0x1538,        0x00000d0d, 0xffffffff},
73         {0x153c,        0x00000d0d, 0xffffffff},
74         {0x15d0,        0x00000608, 0xffffffff},
75         {0x15d4,        0x00000044, 0xffffffff},
76         {0x15d8,        0x00000020, 0xffffffff},
77         {0x15dc,        0x00000000, 0xffffffff},
78         {0x15e0,        0x00000021, 0xffffffff},
79         {0x15e4,        0x00203c18, 0xffffffff},
80         {0x15ec,        0xf8000019, 0xffffffff},
81         {0x16a0,        0xcc000006, 0xffffffff},        /* Clock Delay */
82         {0xe4124,       0x08008073, 0xffffffff},        /* AVS BG default */
83         {0, 0, 0}
84 };
85
86 static struct reg_data ddr3_a38x_800[] = {
87         /* parameters for 800MHZ */
88         {0x1400,        0x7b00cc30, 0xffffffff},
89         {0x1404,        0x36301820, 0xffffffff},
90         {0x1408,        0x5415baab, 0xffffffff},
91         {0x140c,        0x38411def, 0xffffffff},
92         {0x1410,        0x18300000, 0xffffffff},
93         {0x1414,        0x00000700, 0xffffffff},
94         {0x1424,        0x0060f3ff, 0xffffffff},
95         {0x1428,        0x0011a940, 0xffffffff},
96         {0x142c,        0x28c5134,  0xffffffff},
97         {0x1474,        0x00000000, 0xffffffff},
98         {0x147c,        0x0000d771, 0xffffffff},
99         {0x1494,        0x00030000, 0xffffffff},
100         {0x149c,        0x00000300, 0xffffffff},
101         {0x14a8,        0x00000000, 0xffffffff},
102         {0x14cc,        0xbd09000d, 0xffffffff},
103         {0x1504,        0xfffffff1, 0xffffffff},
104         {0x150c,        0xffffffe5, 0xffffffff},
105         {0x1514,        0x00000000, 0xffffffff},
106         {0x151c,        0x00000000, 0xffffffff},
107         {0x1538,        0x00000b0b, 0xffffffff},
108         {0x153c,        0x00000c0c, 0xffffffff},
109         {0x15d0,        0x00000670, 0xffffffff},
110         {0x15d4,        0x00000046, 0xffffffff},
111         {0x15d8,        0x00000010, 0xffffffff},
112         {0x15dc,        0x00000000, 0xffffffff},
113         {0x15e0,        0x00000023, 0xffffffff},
114         {0x15e4,        0x00203c18, 0xffffffff},
115         {0x15ec,        0xf8000019, 0xffffffff},
116         {0x16a0,        0xcc000006, 0xffffffff},        /* Clock Delay */
117         {0xe4124,       0x08008073, 0xffffffff},        /* AVS BG default */
118         {0,   0, 0}
119 };
120
121 static struct reg_data ddr3_a38x_667[] = {
122         /* parameters for 667MHZ */
123         /* DDR SDRAM Configuration Register */
124         {0x1400,    0x7b00ca28, 0xffffffff},
125         /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */
126         {0x1404,    0x36301820, 0xffffffff},
127         /* DDR SDRAM Timing (Low) Register */
128         {0x1408,    0x43149997, 0xffffffff},
129         /* DDR SDRAM Timing (High) Register */
130         {0x140c,    0x38411bc7, 0xffffffff},
131         /* DDR SDRAM Address Control Register */
132         {0x1410,    0x14330000, 0xffffffff},
133         /* DDR SDRAM Open Pages Control Register */
134         {0x1414,    0x00000700, 0xffffffff},
135         /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */
136         {0x1424,    0x0060f3ff, 0xffffffff},
137         /* Dunit Control High Register */
138         {0x1428,    0x000f8830, 0xffffffff},
139         /* Dunit Control High Register  (2:1 -  bit 29 = '1') */
140         {0x142c,    0x28c50f8,  0xffffffff},
141         {0x147c,    0x0000c671, 0xffffffff},
142         /* DDR SDRAM ODT Control (Low) Register */
143         {0x1494,    0x00030000, 0xffffffff},
144         /* DDR SDRAM ODT Control (High) Register, will be configured at WL */
145         {0x1498,    0x00000000, 0xffffffff},
146         /* DDR Dunit ODT Control Register */
147         {0x149c,    0x00000300, 0xffffffff},
148         {0x14a8,    0x00000000, 0xffffffff}, /*  */
149         {0x14cc,    0xbd09000d, 0xffffffff}, /*  */
150         {0x1474,    0x00000000, 0xffffffff},
151         /* Read Data Sample Delays Register */
152         {0x1538,    0x00000009, 0xffffffff},
153         /* Read Data Ready Delay Register */
154         {0x153c,    0x0000000c, 0xffffffff},
155         {0x1504,    0xfffffff1, 0xffffffff}, /*  */
156         {0x150c,    0xffffffe5, 0xffffffff}, /*  */
157         {0x1514,    0x00000000, 0xffffffff}, /*  */
158         {0x151c,    0x0,        0xffffffff}, /*  */
159         {0x15d0,    0x00000650, 0xffffffff}, /* MR0 */
160         {0x15d4,    0x00000046, 0xffffffff}, /* MR1 */
161         {0x15d8,    0x00000010, 0xffffffff}, /* MR2 */
162         {0x15dc,    0x00000000, 0xffffffff}, /* MR3 */
163         {0x15e0,    0x23,       0xffffffff}, /*  */
164         {0x15e4,    0x00203c18, 0xffffffff}, /* ZQC Configuration Register */
165         {0x15ec,    0xf8000019, 0xffffffff}, /* DDR PHY */
166         {0x16a0,    0xcc000006, 0xffffffff}, /* Clock Delay */
167         {0xe4124,   0x08008073, 0xffffffff}, /* AVS BG default */
168         {0, 0, 0}
169 };
170
171 static struct reg_data ddr3_a38x_533[] = {
172         /* parameters for 533MHZ */
173         /* DDR SDRAM Configuration Register */
174         {0x1400,    0x7b00d040, 0xffffffff},
175         /* Dunit Control Low Register - kw28 bit12 low (disable CLK1) */
176         {0x1404,    0x36301820, 0xffffffff},
177         /* DDR SDRAM Timing (Low) Register */
178         {0x1408,    0x33137772, 0xffffffff},
179         /* DDR SDRAM Timing (High) Register */
180         {0x140c,    0x3841199f, 0xffffffff},
181         /* DDR SDRAM Address Control Register */
182         {0x1410,    0x10330000, 0xffffffff},
183         /* DDR SDRAM Open Pages Control Register */
184         {0x1414,    0x00000700, 0xffffffff},
185         /* Dunit Control High Register (2 :1 - bits 15:12 = 0xd) */
186         {0x1424,    0x0060f3ff, 0xffffffff},
187         /* Dunit Control High Register */
188         {0x1428,    0x000d6720, 0xffffffff},
189         /* Dunit Control High Register  (2:1 -  bit 29 = '1') */
190         {0x142c,    0x028c50c3, 0xffffffff},
191         {0x147c,    0x0000b571, 0xffffffff},
192         /* DDR SDRAM ODT Control (Low) Register */
193         {0x1494,    0x00030000, 0xffffffff},
194         /* DDR SDRAM ODT Control (High) Register, will be configured at WL */
195         {0x1498,    0x00000000, 0xffffffff},
196         /* DDR Dunit ODT Control Register */
197         {0x149c,    0x00000003, 0xffffffff},
198         {0x14a8,    0x00000000, 0xffffffff}, /*  */
199         {0x14cc,    0xbd09000d, 0xffffffff}, /*  */
200         {0x1474,    0x00000000, 0xffffffff},
201         /* Read Data Sample Delays Register */
202         {0x1538,    0x00000707, 0xffffffff},
203         /* Read Data Ready Delay Register */
204         {0x153c,    0x00000707, 0xffffffff},
205         {0x1504,    0xffffffe1, 0xffffffff}, /*  */
206         {0x150c,    0xffffffe5, 0xffffffff}, /*  */
207         {0x1514,    0x00000000, 0xffffffff}, /*  */
208         {0x151c,    0x00000000, 0xffffffff}, /*  */
209         {0x15d0,    0x00000630, 0xffffffff}, /* MR0 */
210         {0x15d4,    0x00000046, 0xffffffff}, /* MR1 */
211         {0x15d8,    0x00000008, 0xffffffff}, /* MR2 */
212         {0x15dc,    0x00000000, 0xffffffff}, /* MR3 */
213         {0x15e0,    0x00000023, 0xffffffff}, /*  */
214         {0x15e4,    0x00203c18, 0xffffffff}, /* ZQC Configuration Register */
215         {0x15ec,    0xf8000019, 0xffffffff}, /* DDR PHY */
216         {0x16a0,    0xcc000006, 0xffffffff}, /* Clock Delay */
217         {0xe4124,   0x08008073, 0xffffffff}, /* AVS BG default */
218         {0, 0, 0}
219 };
220
221 #endif /* CONFIG_CUSTOMER_BOARD_SUPPORT */
222
223 #endif /* SUPPORT_STATIC_DUNIT_CONFIG */
224
225 #endif /* _DDR3_A38X_MC_STATIC_H */