]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/ZC702_hw_platform/ps7_init.tcl
Remove obsolete MPU demos.
[freertos] / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / ZC702_hw_platform / ps7_init.tcl
1 proc ps7_pll_init_data_3_0 {} {
2     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
3     mask_write 0XF8000110 0x003FFFF0 0x000FA220
4     mask_write 0XF8000100 0x0007F000 0x00028000
5     mask_write 0XF8000100 0x00000010 0x00000010
6     mask_write 0XF8000100 0x00000001 0x00000001
7     mask_write 0XF8000100 0x00000001 0x00000000
8     mask_poll 0XF800010C 0x00000001
9     mask_write 0XF8000100 0x00000010 0x00000000
10     mask_write 0XF8000120 0x1F003F30 0x1F000200
11     mask_write 0XF8000114 0x003FFFF0 0x0012C220
12     mask_write 0XF8000104 0x0007F000 0x00020000
13     mask_write 0XF8000104 0x00000010 0x00000010
14     mask_write 0XF8000104 0x00000001 0x00000001
15     mask_write 0XF8000104 0x00000001 0x00000000
16     mask_poll 0XF800010C 0x00000002
17     mask_write 0XF8000104 0x00000010 0x00000000
18     mask_write 0XF8000124 0xFFF00003 0x0C200003
19     mask_write 0XF8000118 0x003FFFF0 0x001452C0
20     mask_write 0XF8000108 0x0007F000 0x0001E000
21     mask_write 0XF8000108 0x00000010 0x00000010
22     mask_write 0XF8000108 0x00000001 0x00000001
23     mask_write 0XF8000108 0x00000001 0x00000000
24     mask_poll 0XF800010C 0x00000004
25     mask_write 0XF8000108 0x00000010 0x00000000
26     mask_write 0XF8000004 0x0000FFFF 0x0000767B
27 }
28 proc ps7_clock_init_data_3_0 {} {
29     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
30     mask_write 0XF8000128 0x03F03F01 0x00302301
31     mask_write 0XF8000138 0x00000011 0x00000001
32     mask_write 0XF8000140 0x03F03F71 0x00500801
33     mask_write 0XF800014C 0x00003F31 0x00000501
34     mask_write 0XF8000150 0x00003F33 0x00001401
35     mask_write 0XF8000154 0x00003F33 0x00001402
36     mask_write 0XF800015C 0x03F03F33 0x00300E01
37     mask_write 0XF8000160 0x007F007F 0x00000000
38     mask_write 0XF8000168 0x00003F31 0x00000501
39     mask_write 0XF8000170 0x03F03F30 0x00101400
40     mask_write 0XF8000180 0x03F03F30 0x00101400
41     mask_write 0XF8000190 0x03F03F30 0x00101400
42     mask_write 0XF80001A0 0x03F03F30 0x00101400
43     mask_write 0XF80001C4 0x00000001 0x00000001
44     mask_write 0XF800012C 0x01FFCCCD 0x01ED044D
45     mask_write 0XF8000004 0x0000FFFF 0x0000767B
46 }
47 proc ps7_ddr_init_data_3_0 {} {
48     mask_write 0XF8006000 0x0001FFFF 0x00000080
49     mask_write 0XF8006004 0x0007FFFF 0x00001081
50     mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
51     mask_write 0XF800600C 0x03FFFFFF 0x02001001
52     mask_write 0XF8006010 0x03FFFFFF 0x00014001
53     mask_write 0XF8006014 0x001FFFFF 0x0004159B
54     mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
55     mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
56     mask_write 0XF8006020 0x7FDFFFFC 0x27087290
57     mask_write 0XF8006024 0x0FFFFFC3 0x00000000
58     mask_write 0XF8006028 0x00003FFF 0x00002007
59     mask_write 0XF800602C 0xFFFFFFFF 0x00000008
60     mask_write 0XF8006030 0xFFFFFFFF 0x00040930
61     mask_write 0XF8006034 0x13FF3FFF 0x00011054
62     mask_write 0XF8006038 0x00000003 0x00000000
63     mask_write 0XF800603C 0x000FFFFF 0x00000777
64     mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
65     mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
66     mask_write 0XF8006048 0x0003F000 0x0003C000
67     mask_write 0XF8006050 0xFF0F8FFF 0x77010800
68     mask_write 0XF8006058 0x00010000 0x00000000
69     mask_write 0XF800605C 0x0000FFFF 0x00005003
70     mask_write 0XF8006060 0x000017FF 0x0000003E
71     mask_write 0XF8006064 0x00021FE0 0x00020000
72     mask_write 0XF8006068 0x03FFFFFF 0x00284141
73     mask_write 0XF800606C 0x0000FFFF 0x00001610
74     mask_write 0XF8006078 0x03FFFFFF 0x00466111
75     mask_write 0XF800607C 0x000FFFFF 0x00032222
76     mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
77     mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
78     mask_write 0XF80060AC 0x000001FF 0x000001FE
79     mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
80     mask_write 0XF80060B4 0x00000200 0x00000200
81     mask_write 0XF80060B8 0x01FFFFFF 0x00200066
82     mask_write 0XF80060C4 0x00000003 0x00000003
83     mask_write 0XF80060C4 0x00000003 0x00000000
84     mask_write 0XF80060C8 0x000000FF 0x00000000
85     mask_write 0XF80060DC 0x00000001 0x00000000
86     mask_write 0XF80060F0 0x0000FFFF 0x00000000
87     mask_write 0XF80060F4 0x0000000F 0x00000008
88     mask_write 0XF8006114 0x000000FF 0x00000000
89     mask_write 0XF8006118 0x7FFFFFCF 0x40000001
90     mask_write 0XF800611C 0x7FFFFFCF 0x40000001
91     mask_write 0XF8006120 0x7FFFFFCF 0x40000001
92     mask_write 0XF8006124 0x7FFFFFCF 0x40000001
93     mask_write 0XF800612C 0x000FFFFF 0x0003C81D
94     mask_write 0XF8006130 0x000FFFFF 0x00036012
95     mask_write 0XF8006134 0x000FFFFF 0x0003780C
96     mask_write 0XF8006138 0x000FFFFF 0x0003B821
97     mask_write 0XF8006140 0x000FFFFF 0x00000035
98     mask_write 0XF8006144 0x000FFFFF 0x00000035
99     mask_write 0XF8006148 0x000FFFFF 0x00000035
100     mask_write 0XF800614C 0x000FFFFF 0x00000035
101     mask_write 0XF8006154 0x000FFFFF 0x0000009D
102     mask_write 0XF8006158 0x000FFFFF 0x00000092
103     mask_write 0XF800615C 0x000FFFFF 0x0000008C
104     mask_write 0XF8006160 0x000FFFFF 0x000000A1
105     mask_write 0XF8006168 0x001FFFFF 0x00000147
106     mask_write 0XF800616C 0x001FFFFF 0x0000012D
107     mask_write 0XF8006170 0x001FFFFF 0x00000133
108     mask_write 0XF8006174 0x001FFFFF 0x00000143
109     mask_write 0XF800617C 0x000FFFFF 0x000000DD
110     mask_write 0XF8006180 0x000FFFFF 0x000000D2
111     mask_write 0XF8006184 0x000FFFFF 0x000000CC
112     mask_write 0XF8006188 0x000FFFFF 0x000000E1
113     mask_write 0XF8006190 0x6FFFFEFE 0x00040080
114     mask_write 0XF8006194 0x000FFFFF 0x0001FC82
115     mask_write 0XF8006204 0xFFFFFFFF 0x00000000
116     mask_write 0XF8006208 0x000703FF 0x000003FF
117     mask_write 0XF800620C 0x000703FF 0x000003FF
118     mask_write 0XF8006210 0x000703FF 0x000003FF
119     mask_write 0XF8006214 0x000703FF 0x000003FF
120     mask_write 0XF8006218 0x000F03FF 0x000003FF
121     mask_write 0XF800621C 0x000F03FF 0x000003FF
122     mask_write 0XF8006220 0x000F03FF 0x000003FF
123     mask_write 0XF8006224 0x000F03FF 0x000003FF
124     mask_write 0XF80062A8 0x00000FF5 0x00000000
125     mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
126     mask_write 0XF80062B0 0x003FFFFF 0x00005125
127     mask_write 0XF80062B4 0x0003FFFF 0x000012A8
128     mask_poll 0XF8000B74 0x00002000
129     mask_write 0XF8006000 0x0001FFFF 0x00000081
130     mask_poll 0XF8006054 0x00000007
131 }
132 proc ps7_mio_init_data_3_0 {} {
133     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
134     mask_write 0XF8000B00 0x00000071 0x00000001
135     mask_write 0XF8000B40 0x00000FFF 0x00000600
136     mask_write 0XF8000B44 0x00000FFF 0x00000600
137     mask_write 0XF8000B48 0x00000FFF 0x00000672
138     mask_write 0XF8000B4C 0x00000FFF 0x00000672
139     mask_write 0XF8000B50 0x00000FFF 0x00000674
140     mask_write 0XF8000B54 0x00000FFF 0x00000674
141     mask_write 0XF8000B58 0x00000FFF 0x00000600
142     mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
143     mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
144     mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
145     mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
146     mask_write 0XF8000B6C 0x00007FFF 0x00000E09
147     mask_write 0XF8000B70 0x00000001 0x00000001
148     mask_write 0XF8000B70 0x00000021 0x00000020
149     mask_write 0XF8000B70 0x07FEFFFF 0x00000823
150     mask_write 0XF8000700 0x00003F01 0x00001201
151     mask_write 0XF8000704 0x00003FFF 0x00001202
152     mask_write 0XF8000708 0x00003FFF 0x00000202
153     mask_write 0XF800070C 0x00003FFF 0x00000202
154     mask_write 0XF8000710 0x00003FFF 0x00000202
155     mask_write 0XF8000714 0x00003FFF 0x00000202
156     mask_write 0XF8000718 0x00003FFF 0x00000202
157     mask_write 0XF800071C 0x00003FFF 0x00000200
158     mask_write 0XF8000720 0x00003FFF 0x00000202
159     mask_write 0XF8000724 0x00003FFF 0x00001200
160     mask_write 0XF8000728 0x00003FFF 0x00001200
161     mask_write 0XF800072C 0x00003FFF 0x00001200
162     mask_write 0XF8000730 0x00003FFF 0x00001200
163     mask_write 0XF8000734 0x00003FFF 0x00001200
164     mask_write 0XF8000738 0x00003FFF 0x00001200
165     mask_write 0XF800073C 0x00003F01 0x00001201
166     mask_write 0XF8000740 0x00003FFF 0x00002802
167     mask_write 0XF8000744 0x00003FFF 0x00002802
168     mask_write 0XF8000748 0x00003FFF 0x00002802
169     mask_write 0XF800074C 0x00003FFF 0x00002802
170     mask_write 0XF8000750 0x00003FFF 0x00002802
171     mask_write 0XF8000754 0x00003FFF 0x00002802
172     mask_write 0XF8000758 0x00003FFF 0x00000803
173     mask_write 0XF800075C 0x00003FFF 0x00000803
174     mask_write 0XF8000760 0x00003FFF 0x00000803
175     mask_write 0XF8000764 0x00003FFF 0x00000803
176     mask_write 0XF8000768 0x00003FFF 0x00000803
177     mask_write 0XF800076C 0x00003FFF 0x00000803
178     mask_write 0XF8000770 0x00003FFF 0x00000204
179     mask_write 0XF8000774 0x00003FFF 0x00000205
180     mask_write 0XF8000778 0x00003FFF 0x00000204
181     mask_write 0XF800077C 0x00003FFF 0x00000205
182     mask_write 0XF8000780 0x00003FFF 0x00000204
183     mask_write 0XF8000784 0x00003FFF 0x00000204
184     mask_write 0XF8000788 0x00003FFF 0x00000204
185     mask_write 0XF800078C 0x00003FFF 0x00000204
186     mask_write 0XF8000790 0x00003FFF 0x00000205
187     mask_write 0XF8000794 0x00003FFF 0x00000204
188     mask_write 0XF8000798 0x00003FFF 0x00000204
189     mask_write 0XF800079C 0x00003FFF 0x00000204
190     mask_write 0XF80007A0 0x00003FFF 0x00000280
191     mask_write 0XF80007A4 0x00003FFF 0x00000280
192     mask_write 0XF80007A8 0x00003FFF 0x00000280
193     mask_write 0XF80007AC 0x00003FFF 0x00000280
194     mask_write 0XF80007B0 0x00003FFF 0x00000280
195     mask_write 0XF80007B4 0x00003FFF 0x00000280
196     mask_write 0XF80007B8 0x00003FFF 0x00001221
197     mask_write 0XF80007BC 0x00003FFF 0x00001220
198     mask_write 0XF80007C0 0x00003FFF 0x000002E0
199     mask_write 0XF80007C4 0x00003FFF 0x000002E1
200     mask_write 0XF80007C8 0x00003FFF 0x00001240
201     mask_write 0XF80007CC 0x00003FFF 0x00001240
202     mask_write 0XF80007D0 0x00003FFF 0x00000280
203     mask_write 0XF80007D4 0x00003FFF 0x00000280
204     mask_write 0XF8000830 0x003F003F 0x0000000F
205     mask_write 0XF8000004 0x0000FFFF 0x0000767B
206 }
207 proc ps7_peripherals_init_data_3_0 {} {
208     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
209     mask_write 0XF8000B48 0x00000180 0x00000180
210     mask_write 0XF8000B4C 0x00000180 0x00000180
211     mask_write 0XF8000B50 0x00000180 0x00000180
212     mask_write 0XF8000B54 0x00000180 0x00000180
213     mask_write 0XF8000004 0x0000FFFF 0x0000767B
214     mask_write 0XE0001034 0x000000FF 0x00000006
215     mask_write 0XE0001018 0x0000FFFF 0x0000003E
216     mask_write 0XE0001000 0x000001FF 0x00000017
217     mask_write 0XE0001004 0x000003FF 0x00000020
218     mask_write 0XE000D000 0x00080000 0x00080000
219     mask_write 0XF8007000 0x20000000 0x00000000
220     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
221     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
222     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
223     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
224     mask_delay 0XF8F00200 1
225     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
226     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
227     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
228     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
229     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0000
230     mask_delay 0XF8F00200 1
231     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
232     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
233     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
234     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
235     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF0000
236     mask_delay 0XF8F00200 1
237     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
238 }
239 proc ps7_post_config_3_0 {} {
240     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
241     mask_write 0XF8000900 0x0000000F 0x0000000F
242     mask_write 0XF8000240 0xFFFFFFFF 0x00000000
243     mask_write 0XF8000004 0x0000FFFF 0x0000767B
244 }
245 proc ps7_debug_3_0 {} {
246     mask_write 0XF8898FB0 0xFFFFFFFF 0xC5ACCE55
247     mask_write 0XF8899FB0 0xFFFFFFFF 0xC5ACCE55
248     mask_write 0XF8809FB0 0xFFFFFFFF 0xC5ACCE55
249 }
250 proc ps7_pll_init_data_2_0 {} {
251     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
252     mask_write 0XF8000110 0x003FFFF0 0x000FA220
253     mask_write 0XF8000100 0x0007F000 0x00028000
254     mask_write 0XF8000100 0x00000010 0x00000010
255     mask_write 0XF8000100 0x00000001 0x00000001
256     mask_write 0XF8000100 0x00000001 0x00000000
257     mask_poll 0XF800010C 0x00000001
258     mask_write 0XF8000100 0x00000010 0x00000000
259     mask_write 0XF8000120 0x1F003F30 0x1F000200
260     mask_write 0XF8000114 0x003FFFF0 0x0012C220
261     mask_write 0XF8000104 0x0007F000 0x00020000
262     mask_write 0XF8000104 0x00000010 0x00000010
263     mask_write 0XF8000104 0x00000001 0x00000001
264     mask_write 0XF8000104 0x00000001 0x00000000
265     mask_poll 0XF800010C 0x00000002
266     mask_write 0XF8000104 0x00000010 0x00000000
267     mask_write 0XF8000124 0xFFF00003 0x0C200003
268     mask_write 0XF8000118 0x003FFFF0 0x001452C0
269     mask_write 0XF8000108 0x0007F000 0x0001E000
270     mask_write 0XF8000108 0x00000010 0x00000010
271     mask_write 0XF8000108 0x00000001 0x00000001
272     mask_write 0XF8000108 0x00000001 0x00000000
273     mask_poll 0XF800010C 0x00000004
274     mask_write 0XF8000108 0x00000010 0x00000000
275     mask_write 0XF8000004 0x0000FFFF 0x0000767B
276 }
277 proc ps7_clock_init_data_2_0 {} {
278     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
279     mask_write 0XF8000128 0x03F03F01 0x00302301
280     mask_write 0XF8000138 0x00000011 0x00000001
281     mask_write 0XF8000140 0x03F03F71 0x00500801
282     mask_write 0XF800014C 0x00003F31 0x00000501
283     mask_write 0XF8000150 0x00003F33 0x00001401
284     mask_write 0XF8000154 0x00003F33 0x00001402
285     mask_write 0XF800015C 0x03F03F33 0x00300E01
286     mask_write 0XF8000160 0x007F007F 0x00000000
287     mask_write 0XF8000168 0x00003F31 0x00000501
288     mask_write 0XF8000170 0x03F03F30 0x00101400
289     mask_write 0XF8000180 0x03F03F30 0x00101400
290     mask_write 0XF8000190 0x03F03F30 0x00101400
291     mask_write 0XF80001A0 0x03F03F30 0x00101400
292     mask_write 0XF80001C4 0x00000001 0x00000001
293     mask_write 0XF800012C 0x01FFCCCD 0x01ED044D
294     mask_write 0XF8000004 0x0000FFFF 0x0000767B
295 }
296 proc ps7_ddr_init_data_2_0 {} {
297     mask_write 0XF8006000 0x0001FFFF 0x00000080
298     mask_write 0XF8006004 0x1FFFFFFF 0x00081081
299     mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
300     mask_write 0XF800600C 0x03FFFFFF 0x02001001
301     mask_write 0XF8006010 0x03FFFFFF 0x00014001
302     mask_write 0XF8006014 0x001FFFFF 0x0004159B
303     mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
304     mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
305     mask_write 0XF8006020 0xFFFFFFFC 0x27287290
306     mask_write 0XF8006024 0x0FFFFFFF 0x0000003C
307     mask_write 0XF8006028 0x00003FFF 0x00002007
308     mask_write 0XF800602C 0xFFFFFFFF 0x00000008
309     mask_write 0XF8006030 0xFFFFFFFF 0x00040930
310     mask_write 0XF8006034 0x13FF3FFF 0x00011054
311     mask_write 0XF8006038 0x00001FC3 0x00000000
312     mask_write 0XF800603C 0x000FFFFF 0x00000777
313     mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
314     mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
315     mask_write 0XF8006048 0x3FFFFFFF 0x0003C248
316     mask_write 0XF8006050 0xFF0F8FFF 0x77010800
317     mask_write 0XF8006058 0x0001FFFF 0x00000101
318     mask_write 0XF800605C 0x0000FFFF 0x00005003
319     mask_write 0XF8006060 0x000017FF 0x0000003E
320     mask_write 0XF8006064 0x00021FE0 0x00020000
321     mask_write 0XF8006068 0x03FFFFFF 0x00284141
322     mask_write 0XF800606C 0x0000FFFF 0x00001610
323     mask_write 0XF8006078 0x03FFFFFF 0x00466111
324     mask_write 0XF800607C 0x000FFFFF 0x00032222
325     mask_write 0XF80060A0 0x00FFFFFF 0x00008000
326     mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
327     mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
328     mask_write 0XF80060AC 0x000001FF 0x000001FE
329     mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
330     mask_write 0XF80060B4 0x000007FF 0x00000200
331     mask_write 0XF80060B8 0x01FFFFFF 0x00200066
332     mask_write 0XF80060C4 0x00000003 0x00000003
333     mask_write 0XF80060C4 0x00000003 0x00000000
334     mask_write 0XF80060C8 0x000000FF 0x00000000
335     mask_write 0XF80060DC 0x00000001 0x00000000
336     mask_write 0XF80060F0 0x0000FFFF 0x00000000
337     mask_write 0XF80060F4 0x0000000F 0x00000008
338     mask_write 0XF8006114 0x000000FF 0x00000000
339     mask_write 0XF8006118 0x7FFFFFFF 0x40000001
340     mask_write 0XF800611C 0x7FFFFFFF 0x40000001
341     mask_write 0XF8006120 0x7FFFFFFF 0x40000001
342     mask_write 0XF8006124 0x7FFFFFFF 0x40000001
343     mask_write 0XF800612C 0x000FFFFF 0x0003C81D
344     mask_write 0XF8006130 0x000FFFFF 0x00036012
345     mask_write 0XF8006134 0x000FFFFF 0x0003780C
346     mask_write 0XF8006138 0x000FFFFF 0x0003B821
347     mask_write 0XF8006140 0x000FFFFF 0x00000035
348     mask_write 0XF8006144 0x000FFFFF 0x00000035
349     mask_write 0XF8006148 0x000FFFFF 0x00000035
350     mask_write 0XF800614C 0x000FFFFF 0x00000035
351     mask_write 0XF8006154 0x000FFFFF 0x0000009D
352     mask_write 0XF8006158 0x000FFFFF 0x00000092
353     mask_write 0XF800615C 0x000FFFFF 0x0000008C
354     mask_write 0XF8006160 0x000FFFFF 0x000000A1
355     mask_write 0XF8006168 0x001FFFFF 0x00000147
356     mask_write 0XF800616C 0x001FFFFF 0x0000012D
357     mask_write 0XF8006170 0x001FFFFF 0x00000133
358     mask_write 0XF8006174 0x001FFFFF 0x00000143
359     mask_write 0XF800617C 0x000FFFFF 0x000000DD
360     mask_write 0XF8006180 0x000FFFFF 0x000000D2
361     mask_write 0XF8006184 0x000FFFFF 0x000000CC
362     mask_write 0XF8006188 0x000FFFFF 0x000000E1
363     mask_write 0XF8006190 0xFFFFFFFF 0x10040080
364     mask_write 0XF8006194 0x000FFFFF 0x0001FC82
365     mask_write 0XF8006204 0xFFFFFFFF 0x00000000
366     mask_write 0XF8006208 0x000F03FF 0x000803FF
367     mask_write 0XF800620C 0x000F03FF 0x000803FF
368     mask_write 0XF8006210 0x000F03FF 0x000803FF
369     mask_write 0XF8006214 0x000F03FF 0x000803FF
370     mask_write 0XF8006218 0x000F03FF 0x000003FF
371     mask_write 0XF800621C 0x000F03FF 0x000003FF
372     mask_write 0XF8006220 0x000F03FF 0x000003FF
373     mask_write 0XF8006224 0x000F03FF 0x000003FF
374     mask_write 0XF80062A8 0x00000FF7 0x00000000
375     mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
376     mask_write 0XF80062B0 0x003FFFFF 0x00005125
377     mask_write 0XF80062B4 0x0003FFFF 0x000012A8
378     mask_poll 0XF8000B74 0x00002000
379     mask_write 0XF8006000 0x0001FFFF 0x00000081
380     mask_poll 0XF8006054 0x00000007
381 }
382 proc ps7_mio_init_data_2_0 {} {
383     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
384     mask_write 0XF8000B00 0x00000303 0x00000001
385     mask_write 0XF8000B40 0x00000FFF 0x00000600
386     mask_write 0XF8000B44 0x00000FFF 0x00000600
387     mask_write 0XF8000B48 0x00000FFF 0x00000672
388     mask_write 0XF8000B4C 0x00000FFF 0x00000672
389     mask_write 0XF8000B50 0x00000FFF 0x00000674
390     mask_write 0XF8000B54 0x00000FFF 0x00000674
391     mask_write 0XF8000B58 0x00000FFF 0x00000600
392     mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
393     mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
394     mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
395     mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
396     mask_write 0XF8000B6C 0x00007FFF 0x00000E09
397     mask_write 0XF8000B70 0x00000021 0x00000021
398     mask_write 0XF8000B70 0x00000021 0x00000020
399     mask_write 0XF8000B70 0x07FFFFFF 0x00000823
400     mask_write 0XF8000700 0x00003F01 0x00001201
401     mask_write 0XF8000704 0x00003FFF 0x00001202
402     mask_write 0XF8000708 0x00003FFF 0x00000202
403     mask_write 0XF800070C 0x00003FFF 0x00000202
404     mask_write 0XF8000710 0x00003FFF 0x00000202
405     mask_write 0XF8000714 0x00003FFF 0x00000202
406     mask_write 0XF8000718 0x00003FFF 0x00000202
407     mask_write 0XF800071C 0x00003FFF 0x00000200
408     mask_write 0XF8000720 0x00003FFF 0x00000202
409     mask_write 0XF8000724 0x00003FFF 0x00001200
410     mask_write 0XF8000728 0x00003FFF 0x00001200
411     mask_write 0XF800072C 0x00003FFF 0x00001200
412     mask_write 0XF8000730 0x00003FFF 0x00001200
413     mask_write 0XF8000734 0x00003FFF 0x00001200
414     mask_write 0XF8000738 0x00003FFF 0x00001200
415     mask_write 0XF800073C 0x00003F01 0x00001201
416     mask_write 0XF8000740 0x00003FFF 0x00002802
417     mask_write 0XF8000744 0x00003FFF 0x00002802
418     mask_write 0XF8000748 0x00003FFF 0x00002802
419     mask_write 0XF800074C 0x00003FFF 0x00002802
420     mask_write 0XF8000750 0x00003FFF 0x00002802
421     mask_write 0XF8000754 0x00003FFF 0x00002802
422     mask_write 0XF8000758 0x00003FFF 0x00000803
423     mask_write 0XF800075C 0x00003FFF 0x00000803
424     mask_write 0XF8000760 0x00003FFF 0x00000803
425     mask_write 0XF8000764 0x00003FFF 0x00000803
426     mask_write 0XF8000768 0x00003FFF 0x00000803
427     mask_write 0XF800076C 0x00003FFF 0x00000803
428     mask_write 0XF8000770 0x00003FFF 0x00000204
429     mask_write 0XF8000774 0x00003FFF 0x00000205
430     mask_write 0XF8000778 0x00003FFF 0x00000204
431     mask_write 0XF800077C 0x00003FFF 0x00000205
432     mask_write 0XF8000780 0x00003FFF 0x00000204
433     mask_write 0XF8000784 0x00003FFF 0x00000204
434     mask_write 0XF8000788 0x00003FFF 0x00000204
435     mask_write 0XF800078C 0x00003FFF 0x00000204
436     mask_write 0XF8000790 0x00003FFF 0x00000205
437     mask_write 0XF8000794 0x00003FFF 0x00000204
438     mask_write 0XF8000798 0x00003FFF 0x00000204
439     mask_write 0XF800079C 0x00003FFF 0x00000204
440     mask_write 0XF80007A0 0x00003FFF 0x00000280
441     mask_write 0XF80007A4 0x00003FFF 0x00000280
442     mask_write 0XF80007A8 0x00003FFF 0x00000280
443     mask_write 0XF80007AC 0x00003FFF 0x00000280
444     mask_write 0XF80007B0 0x00003FFF 0x00000280
445     mask_write 0XF80007B4 0x00003FFF 0x00000280
446     mask_write 0XF80007B8 0x00003FFF 0x00001221
447     mask_write 0XF80007BC 0x00003FFF 0x00001220
448     mask_write 0XF80007C0 0x00003FFF 0x000002E0
449     mask_write 0XF80007C4 0x00003FFF 0x000002E1
450     mask_write 0XF80007C8 0x00003FFF 0x00001240
451     mask_write 0XF80007CC 0x00003FFF 0x00001240
452     mask_write 0XF80007D0 0x00003FFF 0x00000280
453     mask_write 0XF80007D4 0x00003FFF 0x00000280
454     mask_write 0XF8000830 0x003F003F 0x0000000F
455     mask_write 0XF8000004 0x0000FFFF 0x0000767B
456 }
457 proc ps7_peripherals_init_data_2_0 {} {
458     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
459     mask_write 0XF8000B48 0x00000180 0x00000180
460     mask_write 0XF8000B4C 0x00000180 0x00000180
461     mask_write 0XF8000B50 0x00000180 0x00000180
462     mask_write 0XF8000B54 0x00000180 0x00000180
463     mask_write 0XF8000004 0x0000FFFF 0x0000767B
464     mask_write 0XE0001034 0x000000FF 0x00000006
465     mask_write 0XE0001018 0x0000FFFF 0x0000003E
466     mask_write 0XE0001000 0x000001FF 0x00000017
467     mask_write 0XE0001004 0x00000FFF 0x00000020
468     mask_write 0XE000D000 0x00080000 0x00080000
469     mask_write 0XF8007000 0x20000000 0x00000000
470     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
471     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
472     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
473     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
474     mask_delay 0XF8F00200 1
475     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
476     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
477     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
478     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
479     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0000
480     mask_delay 0XF8F00200 1
481     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
482     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
483     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
484     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
485     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF0000
486     mask_delay 0XF8F00200 1
487     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
488 }
489 proc ps7_post_config_2_0 {} {
490     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
491     mask_write 0XF8000900 0x0000000F 0x0000000F
492     mask_write 0XF8000240 0xFFFFFFFF 0x00000000
493     mask_write 0XF8000004 0x0000FFFF 0x0000767B
494 }
495 proc ps7_debug_2_0 {} {
496     mask_write 0XF8898FB0 0xFFFFFFFF 0xC5ACCE55
497     mask_write 0XF8899FB0 0xFFFFFFFF 0xC5ACCE55
498     mask_write 0XF8809FB0 0xFFFFFFFF 0xC5ACCE55
499 }
500 proc ps7_pll_init_data_1_0 {} {
501     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
502     mask_write 0XF8000110 0x003FFFF0 0x000FA220
503     mask_write 0XF8000100 0x0007F000 0x00028000
504     mask_write 0XF8000100 0x00000010 0x00000010
505     mask_write 0XF8000100 0x00000001 0x00000001
506     mask_write 0XF8000100 0x00000001 0x00000000
507     mask_poll 0XF800010C 0x00000001
508     mask_write 0XF8000100 0x00000010 0x00000000
509     mask_write 0XF8000120 0x1F003F30 0x1F000200
510     mask_write 0XF8000114 0x003FFFF0 0x0012C220
511     mask_write 0XF8000104 0x0007F000 0x00020000
512     mask_write 0XF8000104 0x00000010 0x00000010
513     mask_write 0XF8000104 0x00000001 0x00000001
514     mask_write 0XF8000104 0x00000001 0x00000000
515     mask_poll 0XF800010C 0x00000002
516     mask_write 0XF8000104 0x00000010 0x00000000
517     mask_write 0XF8000124 0xFFF00003 0x0C200003
518     mask_write 0XF8000118 0x003FFFF0 0x001452C0
519     mask_write 0XF8000108 0x0007F000 0x0001E000
520     mask_write 0XF8000108 0x00000010 0x00000010
521     mask_write 0XF8000108 0x00000001 0x00000001
522     mask_write 0XF8000108 0x00000001 0x00000000
523     mask_poll 0XF800010C 0x00000004
524     mask_write 0XF8000108 0x00000010 0x00000000
525     mask_write 0XF8000004 0x0000FFFF 0x0000767B
526 }
527 proc ps7_clock_init_data_1_0 {} {
528     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
529     mask_write 0XF8000128 0x03F03F01 0x00302301
530     mask_write 0XF8000138 0x00000011 0x00000001
531     mask_write 0XF8000140 0x03F03F71 0x00500801
532     mask_write 0XF800014C 0x00003F31 0x00000501
533     mask_write 0XF8000150 0x00003F33 0x00001401
534     mask_write 0XF8000154 0x00003F33 0x00001402
535     mask_write 0XF800015C 0x03F03F33 0x00300E01
536     mask_write 0XF8000160 0x007F007F 0x00000000
537     mask_write 0XF8000168 0x00003F31 0x00000501
538     mask_write 0XF8000170 0x03F03F30 0x00101400
539     mask_write 0XF8000180 0x03F03F30 0x00101400
540     mask_write 0XF8000190 0x03F03F30 0x00101400
541     mask_write 0XF80001A0 0x03F03F30 0x00101400
542     mask_write 0XF80001C4 0x00000001 0x00000001
543     mask_write 0XF800012C 0x01FFCCCD 0x01ED044D
544     mask_write 0XF8000004 0x0000FFFF 0x0000767B
545 }
546 proc ps7_ddr_init_data_1_0 {} {
547     mask_write 0XF8006000 0x0001FFFF 0x00000080
548     mask_write 0XF8006004 0x1FFFFFFF 0x00081081
549     mask_write 0XF8006008 0x03FFFFFF 0x03C0780F
550     mask_write 0XF800600C 0x03FFFFFF 0x02001001
551     mask_write 0XF8006010 0x03FFFFFF 0x00014001
552     mask_write 0XF8006014 0x001FFFFF 0x0004159B
553     mask_write 0XF8006018 0xF7FFFFFF 0x452440D2
554     mask_write 0XF800601C 0xFFFFFFFF 0x720238E5
555     mask_write 0XF8006020 0xFFFFFFFC 0x27287290
556     mask_write 0XF8006024 0x0FFFFFFF 0x0000003C
557     mask_write 0XF8006028 0x00003FFF 0x00002007
558     mask_write 0XF800602C 0xFFFFFFFF 0x00000008
559     mask_write 0XF8006030 0xFFFFFFFF 0x00040930
560     mask_write 0XF8006034 0x13FF3FFF 0x00011054
561     mask_write 0XF8006038 0x00001FC3 0x00000000
562     mask_write 0XF800603C 0x000FFFFF 0x00000777
563     mask_write 0XF8006040 0xFFFFFFFF 0xFFF00000
564     mask_write 0XF8006044 0x0FFFFFFF 0x0F666666
565     mask_write 0XF8006048 0x3FFFFFFF 0x0003C248
566     mask_write 0XF8006050 0xFF0F8FFF 0x77010800
567     mask_write 0XF8006058 0x0001FFFF 0x00000101
568     mask_write 0XF800605C 0x0000FFFF 0x00005003
569     mask_write 0XF8006060 0x000017FF 0x0000003E
570     mask_write 0XF8006064 0x00021FE0 0x00020000
571     mask_write 0XF8006068 0x03FFFFFF 0x00284141
572     mask_write 0XF800606C 0x0000FFFF 0x00001610
573     mask_write 0XF80060A0 0x00FFFFFF 0x00008000
574     mask_write 0XF80060A4 0xFFFFFFFF 0x10200802
575     mask_write 0XF80060A8 0x0FFFFFFF 0x0690CB73
576     mask_write 0XF80060AC 0x000001FF 0x000001FE
577     mask_write 0XF80060B0 0x1FFFFFFF 0x1CFFFFFF
578     mask_write 0XF80060B4 0x000007FF 0x00000200
579     mask_write 0XF80060B8 0x01FFFFFF 0x00200066
580     mask_write 0XF80060C4 0x00000003 0x00000003
581     mask_write 0XF80060C4 0x00000003 0x00000000
582     mask_write 0XF80060C8 0x000000FF 0x00000000
583     mask_write 0XF80060DC 0x00000001 0x00000000
584     mask_write 0XF80060F0 0x0000FFFF 0x00000000
585     mask_write 0XF80060F4 0x0000000F 0x00000008
586     mask_write 0XF8006114 0x000000FF 0x00000000
587     mask_write 0XF8006118 0x7FFFFFFF 0x40000001
588     mask_write 0XF800611C 0x7FFFFFFF 0x40000001
589     mask_write 0XF8006120 0x7FFFFFFF 0x40000001
590     mask_write 0XF8006124 0x7FFFFFFF 0x40000001
591     mask_write 0XF800612C 0x000FFFFF 0x0003C81D
592     mask_write 0XF8006130 0x000FFFFF 0x00036012
593     mask_write 0XF8006134 0x000FFFFF 0x0003780C
594     mask_write 0XF8006138 0x000FFFFF 0x0003B821
595     mask_write 0XF8006140 0x000FFFFF 0x00000035
596     mask_write 0XF8006144 0x000FFFFF 0x00000035
597     mask_write 0XF8006148 0x000FFFFF 0x00000035
598     mask_write 0XF800614C 0x000FFFFF 0x00000035
599     mask_write 0XF8006154 0x000FFFFF 0x0000009D
600     mask_write 0XF8006158 0x000FFFFF 0x00000092
601     mask_write 0XF800615C 0x000FFFFF 0x0000008C
602     mask_write 0XF8006160 0x000FFFFF 0x000000A1
603     mask_write 0XF8006168 0x001FFFFF 0x00000147
604     mask_write 0XF800616C 0x001FFFFF 0x0000012D
605     mask_write 0XF8006170 0x001FFFFF 0x00000133
606     mask_write 0XF8006174 0x001FFFFF 0x00000143
607     mask_write 0XF800617C 0x000FFFFF 0x000000DD
608     mask_write 0XF8006180 0x000FFFFF 0x000000D2
609     mask_write 0XF8006184 0x000FFFFF 0x000000CC
610     mask_write 0XF8006188 0x000FFFFF 0x000000E1
611     mask_write 0XF8006190 0xFFFFFFFF 0x10040080
612     mask_write 0XF8006194 0x000FFFFF 0x0001FC82
613     mask_write 0XF8006204 0xFFFFFFFF 0x00000000
614     mask_write 0XF8006208 0x000F03FF 0x000803FF
615     mask_write 0XF800620C 0x000F03FF 0x000803FF
616     mask_write 0XF8006210 0x000F03FF 0x000803FF
617     mask_write 0XF8006214 0x000F03FF 0x000803FF
618     mask_write 0XF8006218 0x000F03FF 0x000003FF
619     mask_write 0XF800621C 0x000F03FF 0x000003FF
620     mask_write 0XF8006220 0x000F03FF 0x000003FF
621     mask_write 0XF8006224 0x000F03FF 0x000003FF
622     mask_write 0XF80062A8 0x00000FF7 0x00000000
623     mask_write 0XF80062AC 0xFFFFFFFF 0x00000000
624     mask_write 0XF80062B0 0x003FFFFF 0x00005125
625     mask_write 0XF80062B4 0x0003FFFF 0x000012A8
626     mask_poll 0XF8000B74 0x00002000
627     mask_write 0XF8006000 0x0001FFFF 0x00000081
628     mask_poll 0XF8006054 0x00000007
629 }
630 proc ps7_mio_init_data_1_0 {} {
631     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
632     mask_write 0XF8000B00 0x00000303 0x00000001
633     mask_write 0XF8000B40 0x00000FFF 0x00000600
634     mask_write 0XF8000B44 0x00000FFF 0x00000600
635     mask_write 0XF8000B48 0x00000FFF 0x00000672
636     mask_write 0XF8000B4C 0x00000FFF 0x00000672
637     mask_write 0XF8000B50 0x00000FFF 0x00000674
638     mask_write 0XF8000B54 0x00000FFF 0x00000674
639     mask_write 0XF8000B58 0x00000FFF 0x00000600
640     mask_write 0XF8000B5C 0xFFFFFFFF 0x0018C61C
641     mask_write 0XF8000B60 0xFFFFFFFF 0x00F9861C
642     mask_write 0XF8000B64 0xFFFFFFFF 0x00F9861C
643     mask_write 0XF8000B68 0xFFFFFFFF 0x00F9861C
644     mask_write 0XF8000B6C 0x000073FF 0x00000209
645     mask_write 0XF8000B70 0x00000021 0x00000021
646     mask_write 0XF8000B70 0x00000021 0x00000020
647     mask_write 0XF8000B70 0x07FFFFFF 0x00000823
648     mask_write 0XF8000700 0x00003F01 0x00001201
649     mask_write 0XF8000704 0x00003FFF 0x00001202
650     mask_write 0XF8000708 0x00003FFF 0x00000202
651     mask_write 0XF800070C 0x00003FFF 0x00000202
652     mask_write 0XF8000710 0x00003FFF 0x00000202
653     mask_write 0XF8000714 0x00003FFF 0x00000202
654     mask_write 0XF8000718 0x00003FFF 0x00000202
655     mask_write 0XF800071C 0x00003FFF 0x00000200
656     mask_write 0XF8000720 0x00003FFF 0x00000202
657     mask_write 0XF8000724 0x00003FFF 0x00001200
658     mask_write 0XF8000728 0x00003FFF 0x00001200
659     mask_write 0XF800072C 0x00003FFF 0x00001200
660     mask_write 0XF8000730 0x00003FFF 0x00001200
661     mask_write 0XF8000734 0x00003FFF 0x00001200
662     mask_write 0XF8000738 0x00003FFF 0x00001200
663     mask_write 0XF800073C 0x00003F01 0x00001201
664     mask_write 0XF8000740 0x00003FFF 0x00002802
665     mask_write 0XF8000744 0x00003FFF 0x00002802
666     mask_write 0XF8000748 0x00003FFF 0x00002802
667     mask_write 0XF800074C 0x00003FFF 0x00002802
668     mask_write 0XF8000750 0x00003FFF 0x00002802
669     mask_write 0XF8000754 0x00003FFF 0x00002802
670     mask_write 0XF8000758 0x00003FFF 0x00000803
671     mask_write 0XF800075C 0x00003FFF 0x00000803
672     mask_write 0XF8000760 0x00003FFF 0x00000803
673     mask_write 0XF8000764 0x00003FFF 0x00000803
674     mask_write 0XF8000768 0x00003FFF 0x00000803
675     mask_write 0XF800076C 0x00003FFF 0x00000803
676     mask_write 0XF8000770 0x00003FFF 0x00000204
677     mask_write 0XF8000774 0x00003FFF 0x00000205
678     mask_write 0XF8000778 0x00003FFF 0x00000204
679     mask_write 0XF800077C 0x00003FFF 0x00000205
680     mask_write 0XF8000780 0x00003FFF 0x00000204
681     mask_write 0XF8000784 0x00003FFF 0x00000204
682     mask_write 0XF8000788 0x00003FFF 0x00000204
683     mask_write 0XF800078C 0x00003FFF 0x00000204
684     mask_write 0XF8000790 0x00003FFF 0x00000205
685     mask_write 0XF8000794 0x00003FFF 0x00000204
686     mask_write 0XF8000798 0x00003FFF 0x00000204
687     mask_write 0XF800079C 0x00003FFF 0x00000204
688     mask_write 0XF80007A0 0x00003FFF 0x00000280
689     mask_write 0XF80007A4 0x00003FFF 0x00000280
690     mask_write 0XF80007A8 0x00003FFF 0x00000280
691     mask_write 0XF80007AC 0x00003FFF 0x00000280
692     mask_write 0XF80007B0 0x00003FFF 0x00000280
693     mask_write 0XF80007B4 0x00003FFF 0x00000280
694     mask_write 0XF80007B8 0x00003FFF 0x00001221
695     mask_write 0XF80007BC 0x00003FFF 0x00001220
696     mask_write 0XF80007C0 0x00003FFF 0x000002E0
697     mask_write 0XF80007C4 0x00003FFF 0x000002E1
698     mask_write 0XF80007C8 0x00003FFF 0x00001240
699     mask_write 0XF80007CC 0x00003FFF 0x00001240
700     mask_write 0XF80007D0 0x00003FFF 0x00000280
701     mask_write 0XF80007D4 0x00003FFF 0x00000280
702     mask_write 0XF8000830 0x003F003F 0x0000000F
703     mask_write 0XF8000004 0x0000FFFF 0x0000767B
704 }
705 proc ps7_peripherals_init_data_1_0 {} {
706     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
707     mask_write 0XF8000B48 0x00000180 0x00000180
708     mask_write 0XF8000B4C 0x00000180 0x00000180
709     mask_write 0XF8000B50 0x00000180 0x00000180
710     mask_write 0XF8000B54 0x00000180 0x00000180
711     mask_write 0XF8000004 0x0000FFFF 0x0000767B
712     mask_write 0XE0001034 0x000000FF 0x00000006
713     mask_write 0XE0001018 0x0000FFFF 0x0000003E
714     mask_write 0XE0001000 0x000001FF 0x00000017
715     mask_write 0XE0001004 0x00000FFF 0x00000020
716     mask_write 0XE000D000 0x00080000 0x00080000
717     mask_write 0XF8007000 0x20000000 0x00000000
718     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
719     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
720     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
721     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0000
722     mask_delay 0XF8F00200 1
723     mask_write 0XE000A000 0xFFFFFFFF 0xFF7F0080
724     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
725     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
726     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
727     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0000
728     mask_delay 0XF8F00200 1
729     mask_write 0XE000A000 0xFFFFFFFF 0xF7FF0800
730     mask_write 0XE000A204 0xFFFFFFFF 0x00002880
731     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
732     mask_write 0XE000A208 0xFFFFFFFF 0x00002880
733     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF0000
734     mask_delay 0XF8F00200 1
735     mask_write 0XE000A000 0xFFFFFFFF 0xDFFF2000
736 }
737 proc ps7_post_config_1_0 {} {
738     mask_write 0XF8000008 0x0000FFFF 0x0000DF0D
739     mask_write 0XF8000900 0x0000000F 0x0000000F
740     mask_write 0XF8000240 0xFFFFFFFF 0x00000000
741     mask_write 0XF8000004 0x0000FFFF 0x0000767B
742 }
743 proc ps7_debug_1_0 {} {
744     mask_write 0XF8898FB0 0xFFFFFFFF 0xC5ACCE55
745     mask_write 0XF8899FB0 0xFFFFFFFF 0xC5ACCE55
746     mask_write 0XF8809FB0 0xFFFFFFFF 0xC5ACCE55
747 }
748 set PCW_SILICON_VER_1_0 "0x0"\r
749 set PCW_SILICON_VER_2_0 "0x1"\r
750 set PCW_SILICON_VER_3_0 "0x2"\r
751 set APU_FREQ  666666666
752 \r
753 \r
754 \r
755 proc mask_poll { addr mask } {\r
756     set count 1\r
757     set curval "0x[string range [mrd $addr] end-8 end]"\r
758     set maskedval [expr {$curval & $mask}]\r
759     while { $maskedval == 0 } {\r
760         set curval "0x[string range [mrd $addr] end-8 end]"\r
761         set maskedval [expr {$curval & $mask}]\r
762         set count [ expr { $count + 1 } ]\r
763         if { $count == 100000000 } {\r
764           puts "Timeout Reached. Mask poll failed at ADDRESS: $addr MASK: $mask"\r
765           break\r
766         }\r
767     }\r
768 }\r
769 \r
770 \r
771 \r
772 proc mask_delay { addr val } {\r
773     set delay  [ get_number_of_cycles_for_delay $val ]\r
774     perf_reset_and_start_timer\r
775     set curval "0x[string range [mrd $addr] end-8 end]"\r
776     set maskedval [expr {$curval < $delay}]\r
777     while { $maskedval == 1 } {\r
778         set curval "0x[string range [mrd $addr] end-8 end]"\r
779         set maskedval [expr {$curval < $delay}]\r
780     }\r
781     perf_reset_clock \r
782 }\r
783 \r
784 proc ps_version { } {\r
785     set si_ver "0x[string range [mrd 0xF8007080] end-8 end]"\r
786     set mask_sil_ver "0x[expr {$si_ver >> 28}]"\r
787     return $mask_sil_ver;\r
788 }\r
789 \r
790 proc ps7_post_config {} {\r
791     variable PCW_SILICON_VER_1_0\r
792     variable PCW_SILICON_VER_2_0\r
793     variable PCW_SILICON_VER_3_0\r
794     set sil_ver [ps_version]\r
795 \r
796     if { $sil_ver == $PCW_SILICON_VER_1_0} {\r
797         ps7_post_config_1_0   \r
798     } elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {\r
799         ps7_post_config_2_0   \r
800     } else {\r
801         ps7_post_config_3_0   \r
802     }\r
803 }\r
804 \r
805 proc ps7_debug {} {\r
806     variable PCW_SILICON_VER_1_0\r
807     variable PCW_SILICON_VER_2_0\r
808     variable PCW_SILICON_VER_3_0\r
809     set sil_ver [ps_version]\r
810 \r
811     if { $sil_ver == $PCW_SILICON_VER_1_0} {\r
812         ps7_debug_1_0   \r
813     } elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {\r
814         ps7_debug_2_0   \r
815     } else {\r
816         ps7_debug_3_0   \r
817     }\r
818 }\r
819 \r
820 proc ps7_init {} {\r
821     variable PCW_SILICON_VER_1_0\r
822     variable PCW_SILICON_VER_2_0\r
823     variable PCW_SILICON_VER_3_0\r
824     set sil_ver [ps_version]\r
825 \r
826     if { $sil_ver == $PCW_SILICON_VER_1_0} {\r
827             ps7_mio_init_data_1_0\r
828             ps7_pll_init_data_1_0\r
829             ps7_clock_init_data_1_0\r
830             ps7_ddr_init_data_1_0\r
831             ps7_peripherals_init_data_1_0\r
832             #puts "PCW Silicon Version : 1.0"\r
833     } elseif { $sil_ver == $PCW_SILICON_VER_2_0 } {\r
834             ps7_mio_init_data_2_0\r
835             ps7_pll_init_data_2_0\r
836             ps7_clock_init_data_2_0\r
837             ps7_ddr_init_data_2_0\r
838             ps7_peripherals_init_data_2_0\r
839             #puts "PCW Silicon Version : 2.0"\r
840     } else {\r
841             ps7_mio_init_data_3_0\r
842             ps7_pll_init_data_3_0\r
843             ps7_clock_init_data_3_0\r
844             ps7_ddr_init_data_3_0\r
845             ps7_peripherals_init_data_3_0\r
846             #puts "PCW Silicon Version : 3.0"\r
847     }\r
848 }\r
849 \r
850 \r
851 # For delay calculation using global timer \r
852 \r
853 # start timer \r
854  proc perf_start_clock { } {\r
855 \r
856     #writing SCU_GLOBAL_TIMER_CONTROL register\r
857 \r
858     mask_write 0xF8F00208 0x00000109 0x00000009\r
859 }\r
860 \r
861 # stop timer and reset timer count regs \r
862  proc perf_reset_clock { } {\r
863         perf_disable_clock\r
864     mask_write 0xF8F00200 0xFFFFFFFF 0x00000000\r
865     mask_write 0xF8F00204 0xFFFFFFFF 0x00000000\r
866 }\r
867 \r
868 # Compute mask for given delay in miliseconds\r
869 proc get_number_of_cycles_for_delay { delay } {\r
870 \r
871   # GTC is always clocked at 1/2 of the CPU frequency (CPU_3x2x)\r
872   variable APU_FREQ\r
873   return [ expr ($delay * $APU_FREQ /(2 * 1000))]\r
874 }\r
875 \r
876 \r
877 # stop timer \r
878 proc perf_disable_clock {} {\r
879     mask_write 0xF8F00208 0xFFFFFFFF 0x00000000 \r
880 }\r
881 \r
882 proc perf_reset_and_start_timer {} {\r
883             perf_reset_clock \r
884             perf_start_clock \r
885 }\r
886 \r
887 \r