xref: /openbmc/u-boot/board/xilinx/zynq/zynq-cc108/ps7_init_gpl.c (revision eba6589f7e019d8ccb331a84a789b0c4d74f51f6)
1  // SPDX-License-Identifier: GPL-2.0+
2  /*
3   * (c) Copyright 2010-2014 Xilinx, Inc. All rights reserved.
4   */
5  
6  #include <asm/arch/ps7_init_gpl.h>
7  
8  static unsigned long ps7_pll_init_data_3_0[] = {
9  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
10  	EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
11  	EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
12  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
13  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
14  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
15  	EMIT_MASKPOLL(0XF800010C,  0x00000001U),
16  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
17  	EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
18  	EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
19  	EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
20  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
21  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
22  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
23  	EMIT_MASKPOLL(0XF800010C,  0x00000002U),
24  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
25  	EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
26  	EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
27  	EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
28  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
29  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
30  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
31  	EMIT_MASKPOLL(0XF800010C,  0x00000004U),
32  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
33  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
34  	EMIT_EXIT(),
35  
36  };
37  
38  static unsigned long ps7_clock_init_data_3_0[] = {
39  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
40  	EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
41  	EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
42  	EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
43  	EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
44  	EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
45  	EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
46  	EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
47  	EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
48  	EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
49  	EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
50  	EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
51  	EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
52  	EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
53  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
54  	EMIT_EXIT(),
55  
56  };
57  
58  static unsigned long ps7_ddr_init_data_3_0[] = {
59  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
60  	EMIT_MASKWRITE(0XF8006004, 0x0007FFFFU, 0x00001081U),
61  	EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
62  	EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
63  	EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
64  	EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
65  	EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
66  	EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
67  	EMIT_MASKWRITE(0XF8006020, 0x7FDFFFFCU, 0x270872D0U),
68  	EMIT_MASKWRITE(0XF8006024, 0x0FFFFFC3U, 0x00000000U),
69  	EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
70  	EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
71  	EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
72  	EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
73  	EMIT_MASKWRITE(0XF8006038, 0x00000003U, 0x00000000U),
74  	EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
75  	EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
76  	EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
77  	EMIT_MASKWRITE(0XF8006048, 0x0003F03FU, 0x0003C008U),
78  	EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
79  	EMIT_MASKWRITE(0XF8006058, 0x00010000U, 0x00000000U),
80  	EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
81  	EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
82  	EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
83  	EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
84  	EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
85  	EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU, 0x00466111U),
86  	EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU, 0x00032222U),
87  	EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
88  	EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
89  	EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
90  	EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
91  	EMIT_MASKWRITE(0XF80060B4, 0x00000200U, 0x00000200U),
92  	EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
93  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
94  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
95  	EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
96  	EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
97  	EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
98  	EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
99  	EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
100  	EMIT_MASKWRITE(0XF8006118, 0x7FFFFFCFU, 0x40000001U),
101  	EMIT_MASKWRITE(0XF800611C, 0x7FFFFFCFU, 0x40000001U),
102  	EMIT_MASKWRITE(0XF8006120, 0x7FFFFFCFU, 0x40000001U),
103  	EMIT_MASKWRITE(0XF8006124, 0x7FFFFFCFU, 0x40000001U),
104  	EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
105  	EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
106  	EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
107  	EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
108  	EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
109  	EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
110  	EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
111  	EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
112  	EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
113  	EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
114  	EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
115  	EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
116  	EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
117  	EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
118  	EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
119  	EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
120  	EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
121  	EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
122  	EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
123  	EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
124  	EMIT_MASKWRITE(0XF8006190, 0x6FFFFEFEU, 0x00040080U),
125  	EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
126  	EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
127  	EMIT_MASKWRITE(0XF8006208, 0x000703FFU, 0x000003FFU),
128  	EMIT_MASKWRITE(0XF800620C, 0x000703FFU, 0x000003FFU),
129  	EMIT_MASKWRITE(0XF8006210, 0x000703FFU, 0x000003FFU),
130  	EMIT_MASKWRITE(0XF8006214, 0x000703FFU, 0x000003FFU),
131  	EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
132  	EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
133  	EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
134  	EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
135  	EMIT_MASKWRITE(0XF80062A8, 0x00000FF5U, 0x00000000U),
136  	EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
137  	EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
138  	EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
139  	EMIT_MASKPOLL(0XF8000B74,  0x00002000U),
140  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
141  	EMIT_MASKPOLL(0XF8006054,  0x00000007U),
142  	EMIT_EXIT(),
143  
144  };
145  
146  static unsigned long ps7_mio_init_data_3_0[] = {
147  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
148  	EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
149  	EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
150  	EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
151  	EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
152  	EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
153  	EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
154  	EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
155  	EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
156  	EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
157  	EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
158  	EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
159  	EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU, 0x00000260U),
160  	EMIT_MASKWRITE(0XF8000B70, 0x00000001U, 0x00000001U),
161  	EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
162  	EMIT_MASKWRITE(0XF8000B70, 0x07FEFFFFU, 0x00000823U),
163  	EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
164  	EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
165  	EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
166  	EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
167  	EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
168  	EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
169  	EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
170  	EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
171  	EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
172  	EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
173  	EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
174  	EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
175  	EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
176  	EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
177  	EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
178  	EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
179  	EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
180  	EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
181  	EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
182  	EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
183  	EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
184  	EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
185  	EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
186  	EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
187  	EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
188  	EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
189  	EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
190  	EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
191  	EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
192  	EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
193  	EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
194  	EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
195  	EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
196  	EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
197  	EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
198  	EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
199  	EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
200  	EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
201  	EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
202  	EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
203  	EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
204  	EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
205  	EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
206  	EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
207  	EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
208  	EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
209  	EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
210  	EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
211  	EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
212  	EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
213  	EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
214  	EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
215  	EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
216  	EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
217  	EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
218  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
219  	EMIT_EXIT(),
220  
221  };
222  
223  static unsigned long ps7_peripherals_init_data_3_0[] = {
224  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
225  	EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
226  	EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
227  	EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
228  	EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
229  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
230  	EMIT_MASKWRITE(0XE0000034, 0x000000FFU, 0x00000006U),
231  	EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU, 0x0000007CU),
232  	EMIT_MASKWRITE(0XE0000000, 0x000001FFU, 0x00000017U),
233  	EMIT_MASKWRITE(0XE0000004, 0x000003FFU, 0x00000020U),
234  	EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
235  	EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
236  	EMIT_MASKDELAY(0XF8F00200, 1),
237  	EMIT_MASKDELAY(0XF8F00200, 1),
238  	EMIT_MASKDELAY(0XF8F00200, 1),
239  	EMIT_MASKDELAY(0XF8F00200, 1),
240  	EMIT_MASKDELAY(0XF8F00200, 1),
241  	EMIT_MASKDELAY(0XF8F00200, 1),
242  	EMIT_EXIT(),
243  
244  };
245  
246  static unsigned long ps7_post_config_3_0[] = {
247  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
248  	EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
249  	EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
250  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
251  	EMIT_EXIT(),
252  
253  };
254  
255  static unsigned long ps7_pll_init_data_2_0[] = {
256  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
257  	EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
258  	EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
259  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
260  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
261  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
262  	EMIT_MASKPOLL(0XF800010C,  0x00000001U),
263  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
264  	EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
265  	EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
266  	EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
267  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
268  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
269  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
270  	EMIT_MASKPOLL(0XF800010C,  0x00000002U),
271  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
272  	EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
273  	EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
274  	EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
275  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
276  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
277  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
278  	EMIT_MASKPOLL(0XF800010C,  0x00000004U),
279  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
280  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
281  	EMIT_EXIT(),
282  
283  };
284  
285  static unsigned long ps7_clock_init_data_2_0[] = {
286  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
287  	EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
288  	EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
289  	EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
290  	EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
291  	EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
292  	EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
293  	EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
294  	EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
295  	EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
296  	EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
297  	EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
298  	EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
299  	EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
300  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
301  	EMIT_EXIT(),
302  
303  };
304  
305  static unsigned long ps7_ddr_init_data_2_0[] = {
306  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
307  	EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU, 0x00081081U),
308  	EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
309  	EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
310  	EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
311  	EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
312  	EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
313  	EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
314  	EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU, 0x272872D0U),
315  	EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU, 0x0000003CU),
316  	EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
317  	EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
318  	EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
319  	EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
320  	EMIT_MASKWRITE(0XF8006038, 0x00001FC3U, 0x00000000U),
321  	EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
322  	EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
323  	EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
324  	EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU, 0x0003C248U),
325  	EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
326  	EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU, 0x00000101U),
327  	EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
328  	EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
329  	EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
330  	EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
331  	EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
332  	EMIT_MASKWRITE(0XF8006078, 0x03FFFFFFU, 0x00466111U),
333  	EMIT_MASKWRITE(0XF800607C, 0x000FFFFFU, 0x00032222U),
334  	EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU, 0x00008000U),
335  	EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
336  	EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
337  	EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
338  	EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
339  	EMIT_MASKWRITE(0XF80060B4, 0x000007FFU, 0x00000200U),
340  	EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
341  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
342  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
343  	EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
344  	EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
345  	EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
346  	EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
347  	EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
348  	EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU, 0x40000001U),
349  	EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU, 0x40000001U),
350  	EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU, 0x40000001U),
351  	EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU, 0x40000001U),
352  	EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
353  	EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
354  	EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
355  	EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
356  	EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
357  	EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
358  	EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
359  	EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
360  	EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
361  	EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
362  	EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
363  	EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
364  	EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
365  	EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
366  	EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
367  	EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
368  	EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
369  	EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
370  	EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
371  	EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
372  	EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU, 0x10040080U),
373  	EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
374  	EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
375  	EMIT_MASKWRITE(0XF8006208, 0x000F03FFU, 0x000803FFU),
376  	EMIT_MASKWRITE(0XF800620C, 0x000F03FFU, 0x000803FFU),
377  	EMIT_MASKWRITE(0XF8006210, 0x000F03FFU, 0x000803FFU),
378  	EMIT_MASKWRITE(0XF8006214, 0x000F03FFU, 0x000803FFU),
379  	EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
380  	EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
381  	EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
382  	EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
383  	EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U, 0x00000000U),
384  	EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
385  	EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
386  	EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
387  	EMIT_MASKPOLL(0XF8000B74,  0x00002000U),
388  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
389  	EMIT_MASKPOLL(0XF8006054,  0x00000007U),
390  	EMIT_EXIT(),
391  
392  };
393  
394  static unsigned long ps7_mio_init_data_2_0[] = {
395  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
396  	EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
397  	EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
398  	EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
399  	EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
400  	EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
401  	EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
402  	EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
403  	EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
404  	EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
405  	EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
406  	EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
407  	EMIT_MASKWRITE(0XF8000B6C, 0x00007FFFU, 0x00000260U),
408  	EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000021U),
409  	EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
410  	EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU, 0x00000823U),
411  	EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
412  	EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
413  	EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
414  	EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
415  	EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
416  	EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
417  	EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
418  	EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
419  	EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
420  	EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
421  	EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
422  	EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
423  	EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
424  	EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
425  	EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
426  	EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
427  	EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
428  	EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
429  	EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
430  	EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
431  	EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
432  	EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
433  	EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
434  	EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
435  	EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
436  	EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
437  	EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
438  	EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
439  	EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
440  	EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
441  	EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
442  	EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
443  	EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
444  	EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
445  	EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
446  	EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
447  	EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
448  	EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
449  	EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
450  	EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
451  	EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
452  	EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
453  	EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
454  	EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
455  	EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
456  	EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
457  	EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
458  	EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
459  	EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
460  	EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
461  	EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
462  	EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
463  	EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
464  	EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
465  	EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
466  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
467  	EMIT_EXIT(),
468  };
469  
470  static unsigned long ps7_peripherals_init_data_2_0[] = {
471  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
472  	EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
473  	EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
474  	EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
475  	EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
476  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
477  	EMIT_MASKWRITE(0XE0000034, 0x000000FFU, 0x00000006U),
478  	EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU, 0x0000007CU),
479  	EMIT_MASKWRITE(0XE0000000, 0x000001FFU, 0x00000017U),
480  	EMIT_MASKWRITE(0XE0000004, 0x00000FFFU, 0x00000020U),
481  	EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
482  	EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
483  	EMIT_MASKDELAY(0XF8F00200, 1),
484  	EMIT_MASKDELAY(0XF8F00200, 1),
485  	EMIT_MASKDELAY(0XF8F00200, 1),
486  	EMIT_MASKDELAY(0XF8F00200, 1),
487  	EMIT_MASKDELAY(0XF8F00200, 1),
488  	EMIT_MASKDELAY(0XF8F00200, 1),
489  	EMIT_EXIT(),
490  };
491  
492  static unsigned long ps7_post_config_2_0[] = {
493  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
494  	EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
495  	EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
496  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
497  	EMIT_EXIT(),
498  };
499  
500  static unsigned long ps7_pll_init_data_1_0[] = {
501  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
502  	EMIT_MASKWRITE(0XF8000110, 0x003FFFF0U, 0x000FA220U),
503  	EMIT_MASKWRITE(0XF8000100, 0x0007F000U, 0x00028000U),
504  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000010U),
505  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000001U),
506  	EMIT_MASKWRITE(0XF8000100, 0x00000001U, 0x00000000U),
507  	EMIT_MASKPOLL(0XF800010C,  0x00000001U),
508  	EMIT_MASKWRITE(0XF8000100, 0x00000010U, 0x00000000U),
509  	EMIT_MASKWRITE(0XF8000120, 0x1F003F30U, 0x1F000200U),
510  	EMIT_MASKWRITE(0XF8000114, 0x003FFFF0U, 0x0012C220U),
511  	EMIT_MASKWRITE(0XF8000104, 0x0007F000U, 0x00020000U),
512  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000010U),
513  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000001U),
514  	EMIT_MASKWRITE(0XF8000104, 0x00000001U, 0x00000000U),
515  	EMIT_MASKPOLL(0XF800010C,  0x00000002U),
516  	EMIT_MASKWRITE(0XF8000104, 0x00000010U, 0x00000000U),
517  	EMIT_MASKWRITE(0XF8000124, 0xFFF00003U, 0x0C200003U),
518  	EMIT_MASKWRITE(0XF8000118, 0x003FFFF0U, 0x001452C0U),
519  	EMIT_MASKWRITE(0XF8000108, 0x0007F000U, 0x0001E000U),
520  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000010U),
521  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000001U),
522  	EMIT_MASKWRITE(0XF8000108, 0x00000001U, 0x00000000U),
523  	EMIT_MASKPOLL(0XF800010C,  0x00000004U),
524  	EMIT_MASKWRITE(0XF8000108, 0x00000010U, 0x00000000U),
525  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
526  	EMIT_EXIT(),
527  };
528  
529  static unsigned long ps7_clock_init_data_1_0[] = {
530  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
531  	EMIT_MASKWRITE(0XF8000128, 0x03F03F01U, 0x00302301U),
532  	EMIT_MASKWRITE(0XF8000138, 0x00000011U, 0x00000001U),
533  	EMIT_MASKWRITE(0XF8000140, 0x03F03F71U, 0x00100801U),
534  	EMIT_MASKWRITE(0XF800014C, 0x00003F31U, 0x00000501U),
535  	EMIT_MASKWRITE(0XF8000150, 0x00003F33U, 0x00000A02U),
536  	EMIT_MASKWRITE(0XF8000154, 0x00003F33U, 0x00000A01U),
537  	EMIT_MASKWRITE(0XF8000168, 0x00003F31U, 0x00000501U),
538  	EMIT_MASKWRITE(0XF8000170, 0x03F03F30U, 0x00100A00U),
539  	EMIT_MASKWRITE(0XF8000180, 0x03F03F30U, 0x00101400U),
540  	EMIT_MASKWRITE(0XF8000190, 0x03F03F30U, 0x00101400U),
541  	EMIT_MASKWRITE(0XF80001A0, 0x03F03F30U, 0x00101400U),
542  	EMIT_MASKWRITE(0XF80001C4, 0x00000001U, 0x00000001U),
543  	EMIT_MASKWRITE(0XF800012C, 0x01FFCCCDU, 0x01DC084DU),
544  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
545  	EMIT_EXIT(),
546  };
547  
548  static unsigned long ps7_ddr_init_data_1_0[] = {
549  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000080U),
550  	EMIT_MASKWRITE(0XF8006004, 0x1FFFFFFFU, 0x00081081U),
551  	EMIT_MASKWRITE(0XF8006008, 0x03FFFFFFU, 0x03C0780FU),
552  	EMIT_MASKWRITE(0XF800600C, 0x03FFFFFFU, 0x02001001U),
553  	EMIT_MASKWRITE(0XF8006010, 0x03FFFFFFU, 0x00014001U),
554  	EMIT_MASKWRITE(0XF8006014, 0x001FFFFFU, 0x0004159BU),
555  	EMIT_MASKWRITE(0XF8006018, 0xF7FFFFFFU, 0x452460D2U),
556  	EMIT_MASKWRITE(0XF800601C, 0xFFFFFFFFU, 0x720238E5U),
557  	EMIT_MASKWRITE(0XF8006020, 0xFFFFFFFCU, 0x272872D0U),
558  	EMIT_MASKWRITE(0XF8006024, 0x0FFFFFFFU, 0x0000003CU),
559  	EMIT_MASKWRITE(0XF8006028, 0x00003FFFU, 0x00002007U),
560  	EMIT_MASKWRITE(0XF800602C, 0xFFFFFFFFU, 0x00000008U),
561  	EMIT_MASKWRITE(0XF8006030, 0xFFFFFFFFU, 0x00040930U),
562  	EMIT_MASKWRITE(0XF8006034, 0x13FF3FFFU, 0x000116D4U),
563  	EMIT_MASKWRITE(0XF8006038, 0x00001FC3U, 0x00000000U),
564  	EMIT_MASKWRITE(0XF800603C, 0x000FFFFFU, 0x00000777U),
565  	EMIT_MASKWRITE(0XF8006040, 0xFFFFFFFFU, 0xFFF00000U),
566  	EMIT_MASKWRITE(0XF8006044, 0x0FFFFFFFU, 0x0FF66666U),
567  	EMIT_MASKWRITE(0XF8006048, 0x3FFFFFFFU, 0x0003C248U),
568  	EMIT_MASKWRITE(0XF8006050, 0xFF0F8FFFU, 0x77010800U),
569  	EMIT_MASKWRITE(0XF8006058, 0x0001FFFFU, 0x00000101U),
570  	EMIT_MASKWRITE(0XF800605C, 0x0000FFFFU, 0x00005003U),
571  	EMIT_MASKWRITE(0XF8006060, 0x000017FFU, 0x0000003EU),
572  	EMIT_MASKWRITE(0XF8006064, 0x00021FE0U, 0x00020000U),
573  	EMIT_MASKWRITE(0XF8006068, 0x03FFFFFFU, 0x00284141U),
574  	EMIT_MASKWRITE(0XF800606C, 0x0000FFFFU, 0x00001610U),
575  	EMIT_MASKWRITE(0XF80060A0, 0x00FFFFFFU, 0x00008000U),
576  	EMIT_MASKWRITE(0XF80060A4, 0xFFFFFFFFU, 0x10200802U),
577  	EMIT_MASKWRITE(0XF80060A8, 0x0FFFFFFFU, 0x0690CB73U),
578  	EMIT_MASKWRITE(0XF80060AC, 0x000001FFU, 0x000001FEU),
579  	EMIT_MASKWRITE(0XF80060B0, 0x1FFFFFFFU, 0x1CFFFFFFU),
580  	EMIT_MASKWRITE(0XF80060B4, 0x000007FFU, 0x00000200U),
581  	EMIT_MASKWRITE(0XF80060B8, 0x01FFFFFFU, 0x00200066U),
582  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000003U),
583  	EMIT_MASKWRITE(0XF80060C4, 0x00000003U, 0x00000000U),
584  	EMIT_MASKWRITE(0XF80060C8, 0x000000FFU, 0x00000000U),
585  	EMIT_MASKWRITE(0XF80060DC, 0x00000001U, 0x00000000U),
586  	EMIT_MASKWRITE(0XF80060F0, 0x0000FFFFU, 0x00000000U),
587  	EMIT_MASKWRITE(0XF80060F4, 0x0000000FU, 0x00000008U),
588  	EMIT_MASKWRITE(0XF8006114, 0x000000FFU, 0x00000000U),
589  	EMIT_MASKWRITE(0XF8006118, 0x7FFFFFFFU, 0x40000001U),
590  	EMIT_MASKWRITE(0XF800611C, 0x7FFFFFFFU, 0x40000001U),
591  	EMIT_MASKWRITE(0XF8006120, 0x7FFFFFFFU, 0x40000001U),
592  	EMIT_MASKWRITE(0XF8006124, 0x7FFFFFFFU, 0x40000001U),
593  	EMIT_MASKWRITE(0XF800612C, 0x000FFFFFU, 0x0002880BU),
594  	EMIT_MASKWRITE(0XF8006130, 0x000FFFFFU, 0x0002840CU),
595  	EMIT_MASKWRITE(0XF8006134, 0x000FFFFFU, 0x00025804U),
596  	EMIT_MASKWRITE(0XF8006138, 0x000FFFFFU, 0x00026004U),
597  	EMIT_MASKWRITE(0XF8006140, 0x000FFFFFU, 0x00000035U),
598  	EMIT_MASKWRITE(0XF8006144, 0x000FFFFFU, 0x00000035U),
599  	EMIT_MASKWRITE(0XF8006148, 0x000FFFFFU, 0x00000035U),
600  	EMIT_MASKWRITE(0XF800614C, 0x000FFFFFU, 0x00000035U),
601  	EMIT_MASKWRITE(0XF8006154, 0x000FFFFFU, 0x0000008BU),
602  	EMIT_MASKWRITE(0XF8006158, 0x000FFFFFU, 0x0000008CU),
603  	EMIT_MASKWRITE(0XF800615C, 0x000FFFFFU, 0x00000084U),
604  	EMIT_MASKWRITE(0XF8006160, 0x000FFFFFU, 0x00000084U),
605  	EMIT_MASKWRITE(0XF8006168, 0x001FFFFFU, 0x000000F7U),
606  	EMIT_MASKWRITE(0XF800616C, 0x001FFFFFU, 0x000000F6U),
607  	EMIT_MASKWRITE(0XF8006170, 0x001FFFFFU, 0x000000EBU),
608  	EMIT_MASKWRITE(0XF8006174, 0x001FFFFFU, 0x000000EDU),
609  	EMIT_MASKWRITE(0XF800617C, 0x000FFFFFU, 0x000000CBU),
610  	EMIT_MASKWRITE(0XF8006180, 0x000FFFFFU, 0x000000CCU),
611  	EMIT_MASKWRITE(0XF8006184, 0x000FFFFFU, 0x000000C4U),
612  	EMIT_MASKWRITE(0XF8006188, 0x000FFFFFU, 0x000000C4U),
613  	EMIT_MASKWRITE(0XF8006190, 0xFFFFFFFFU, 0x10040080U),
614  	EMIT_MASKWRITE(0XF8006194, 0x000FFFFFU, 0x0001FC82U),
615  	EMIT_MASKWRITE(0XF8006204, 0xFFFFFFFFU, 0x00000000U),
616  	EMIT_MASKWRITE(0XF8006208, 0x000F03FFU, 0x000803FFU),
617  	EMIT_MASKWRITE(0XF800620C, 0x000F03FFU, 0x000803FFU),
618  	EMIT_MASKWRITE(0XF8006210, 0x000F03FFU, 0x000803FFU),
619  	EMIT_MASKWRITE(0XF8006214, 0x000F03FFU, 0x000803FFU),
620  	EMIT_MASKWRITE(0XF8006218, 0x000F03FFU, 0x000003FFU),
621  	EMIT_MASKWRITE(0XF800621C, 0x000F03FFU, 0x000003FFU),
622  	EMIT_MASKWRITE(0XF8006220, 0x000F03FFU, 0x000003FFU),
623  	EMIT_MASKWRITE(0XF8006224, 0x000F03FFU, 0x000003FFU),
624  	EMIT_MASKWRITE(0XF80062A8, 0x00000FF7U, 0x00000000U),
625  	EMIT_MASKWRITE(0XF80062AC, 0xFFFFFFFFU, 0x00000000U),
626  	EMIT_MASKWRITE(0XF80062B0, 0x003FFFFFU, 0x00005125U),
627  	EMIT_MASKWRITE(0XF80062B4, 0x0003FFFFU, 0x000012A8U),
628  	EMIT_MASKPOLL(0XF8000B74,  0x00002000U),
629  	EMIT_MASKWRITE(0XF8006000, 0x0001FFFFU, 0x00000081U),
630  	EMIT_MASKPOLL(0XF8006054,  0x00000007U),
631  	EMIT_EXIT(),
632  };
633  
634  static unsigned long ps7_mio_init_data_1_0[] = {
635  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
636  	EMIT_MASKWRITE(0XF8000B40, 0x00000FFFU, 0x00000600U),
637  	EMIT_MASKWRITE(0XF8000B44, 0x00000FFFU, 0x00000600U),
638  	EMIT_MASKWRITE(0XF8000B48, 0x00000FFFU, 0x00000672U),
639  	EMIT_MASKWRITE(0XF8000B4C, 0x00000FFFU, 0x00000672U),
640  	EMIT_MASKWRITE(0XF8000B50, 0x00000FFFU, 0x00000674U),
641  	EMIT_MASKWRITE(0XF8000B54, 0x00000FFFU, 0x00000674U),
642  	EMIT_MASKWRITE(0XF8000B58, 0x00000FFFU, 0x00000600U),
643  	EMIT_MASKWRITE(0XF8000B5C, 0xFFFFFFFFU, 0x0018C61CU),
644  	EMIT_MASKWRITE(0XF8000B60, 0xFFFFFFFFU, 0x00F9861CU),
645  	EMIT_MASKWRITE(0XF8000B64, 0xFFFFFFFFU, 0x00F9861CU),
646  	EMIT_MASKWRITE(0XF8000B68, 0xFFFFFFFFU, 0x00F9861CU),
647  	EMIT_MASKWRITE(0XF8000B6C, 0x000073FFU, 0x00000260U),
648  	EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000021U),
649  	EMIT_MASKWRITE(0XF8000B70, 0x00000021U, 0x00000020U),
650  	EMIT_MASKWRITE(0XF8000B70, 0x07FFFFFFU, 0x00000823U),
651  	EMIT_MASKWRITE(0XF8000700, 0x00003FFFU, 0x00001600U),
652  	EMIT_MASKWRITE(0XF8000704, 0x00003FFFU, 0x00001602U),
653  	EMIT_MASKWRITE(0XF8000708, 0x00003FFFU, 0x00000602U),
654  	EMIT_MASKWRITE(0XF800070C, 0x00003FFFU, 0x00000602U),
655  	EMIT_MASKWRITE(0XF8000710, 0x00003FFFU, 0x00000602U),
656  	EMIT_MASKWRITE(0XF8000714, 0x00003FFFU, 0x00000602U),
657  	EMIT_MASKWRITE(0XF8000718, 0x00003FFFU, 0x00000602U),
658  	EMIT_MASKWRITE(0XF800071C, 0x00003FFFU, 0x00000600U),
659  	EMIT_MASKWRITE(0XF8000720, 0x00003FFFU, 0x00000602U),
660  	EMIT_MASKWRITE(0XF8000724, 0x00003FFFU, 0x00001600U),
661  	EMIT_MASKWRITE(0XF8000728, 0x00003FFFU, 0x00001680U),
662  	EMIT_MASKWRITE(0XF800072C, 0x00003FFFU, 0x00001680U),
663  	EMIT_MASKWRITE(0XF8000730, 0x00003FFFU, 0x00001680U),
664  	EMIT_MASKWRITE(0XF8000734, 0x00003FFFU, 0x00001680U),
665  	EMIT_MASKWRITE(0XF8000738, 0x00003FFFU, 0x00001680U),
666  	EMIT_MASKWRITE(0XF800073C, 0x00003FFFU, 0x00001680U),
667  	EMIT_MASKWRITE(0XF8000740, 0x00003FFFU, 0x00001202U),
668  	EMIT_MASKWRITE(0XF8000744, 0x00003FFFU, 0x00001202U),
669  	EMIT_MASKWRITE(0XF8000748, 0x00003FFFU, 0x00001202U),
670  	EMIT_MASKWRITE(0XF800074C, 0x00003FFFU, 0x00001202U),
671  	EMIT_MASKWRITE(0XF8000750, 0x00003FFFU, 0x00001202U),
672  	EMIT_MASKWRITE(0XF8000754, 0x00003FFFU, 0x00001202U),
673  	EMIT_MASKWRITE(0XF8000758, 0x00003FFFU, 0x00001203U),
674  	EMIT_MASKWRITE(0XF800075C, 0x00003FFFU, 0x00001203U),
675  	EMIT_MASKWRITE(0XF8000760, 0x00003FFFU, 0x00001203U),
676  	EMIT_MASKWRITE(0XF8000764, 0x00003FFFU, 0x00001203U),
677  	EMIT_MASKWRITE(0XF8000768, 0x00003FFFU, 0x00001203U),
678  	EMIT_MASKWRITE(0XF800076C, 0x00003FFFU, 0x00001203U),
679  	EMIT_MASKWRITE(0XF8000770, 0x00003FFFU, 0x00001204U),
680  	EMIT_MASKWRITE(0XF8000774, 0x00003FFFU, 0x00001205U),
681  	EMIT_MASKWRITE(0XF8000778, 0x00003FFFU, 0x00001204U),
682  	EMIT_MASKWRITE(0XF800077C, 0x00003FFFU, 0x00001205U),
683  	EMIT_MASKWRITE(0XF8000780, 0x00003FFFU, 0x00001204U),
684  	EMIT_MASKWRITE(0XF8000784, 0x00003FFFU, 0x00001204U),
685  	EMIT_MASKWRITE(0XF8000788, 0x00003FFFU, 0x00001204U),
686  	EMIT_MASKWRITE(0XF800078C, 0x00003FFFU, 0x00001204U),
687  	EMIT_MASKWRITE(0XF8000790, 0x00003FFFU, 0x00001205U),
688  	EMIT_MASKWRITE(0XF8000794, 0x00003FFFU, 0x00001204U),
689  	EMIT_MASKWRITE(0XF8000798, 0x00003FFFU, 0x00001204U),
690  	EMIT_MASKWRITE(0XF800079C, 0x00003FFFU, 0x00001204U),
691  	EMIT_MASKWRITE(0XF80007A0, 0x00003FFFU, 0x00001204U),
692  	EMIT_MASKWRITE(0XF80007A4, 0x00003FFFU, 0x00001205U),
693  	EMIT_MASKWRITE(0XF80007A8, 0x00003FFFU, 0x00001204U),
694  	EMIT_MASKWRITE(0XF80007AC, 0x00003FFFU, 0x00001205U),
695  	EMIT_MASKWRITE(0XF80007B0, 0x00003FFFU, 0x00001204U),
696  	EMIT_MASKWRITE(0XF80007B4, 0x00003FFFU, 0x00001204U),
697  	EMIT_MASKWRITE(0XF80007B8, 0x00003FFFU, 0x00001204U),
698  	EMIT_MASKWRITE(0XF80007BC, 0x00003FFFU, 0x00001204U),
699  	EMIT_MASKWRITE(0XF80007C0, 0x00003FFFU, 0x00001205U),
700  	EMIT_MASKWRITE(0XF80007C4, 0x00003FFFU, 0x00001204U),
701  	EMIT_MASKWRITE(0XF80007C8, 0x00003FFFU, 0x00001204U),
702  	EMIT_MASKWRITE(0XF80007CC, 0x00003FFFU, 0x00001204U),
703  	EMIT_MASKWRITE(0XF80007D0, 0x00003FFFU, 0x00001280U),
704  	EMIT_MASKWRITE(0XF80007D4, 0x00003FFFU, 0x00001280U),
705  	EMIT_MASKWRITE(0XF8000834, 0x003F003FU, 0x003A0039U),
706  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
707  	EMIT_EXIT(),
708  };
709  
710  static unsigned long ps7_peripherals_init_data_1_0[] = {
711  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
712  	EMIT_MASKWRITE(0XF8000B48, 0x00000180U, 0x00000180U),
713  	EMIT_MASKWRITE(0XF8000B4C, 0x00000180U, 0x00000180U),
714  	EMIT_MASKWRITE(0XF8000B50, 0x00000180U, 0x00000180U),
715  	EMIT_MASKWRITE(0XF8000B54, 0x00000180U, 0x00000180U),
716  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
717  	EMIT_MASKWRITE(0XE0000034, 0x000000FFU, 0x00000006U),
718  	EMIT_MASKWRITE(0XE0000018, 0x0000FFFFU, 0x0000007CU),
719  	EMIT_MASKWRITE(0XE0000000, 0x000001FFU, 0x00000017U),
720  	EMIT_MASKWRITE(0XE0000004, 0x00000FFFU, 0x00000020U),
721  	EMIT_MASKWRITE(0XE000D000, 0x00080000U, 0x00080000U),
722  	EMIT_MASKWRITE(0XF8007000, 0x20000000U, 0x00000000U),
723  	EMIT_MASKDELAY(0XF8F00200, 1),
724  	EMIT_MASKDELAY(0XF8F00200, 1),
725  	EMIT_MASKDELAY(0XF8F00200, 1),
726  	EMIT_MASKDELAY(0XF8F00200, 1),
727  	EMIT_MASKDELAY(0XF8F00200, 1),
728  	EMIT_MASKDELAY(0XF8F00200, 1),
729  	EMIT_EXIT(),
730  };
731  
732  static unsigned long ps7_post_config_1_0[] = {
733  	EMIT_MASKWRITE(0XF8000008, 0x0000FFFFU, 0x0000DF0DU),
734  	EMIT_MASKWRITE(0XF8000900, 0x0000000FU, 0x0000000FU),
735  	EMIT_MASKWRITE(0XF8000240, 0xFFFFFFFFU, 0x00000000U),
736  	EMIT_MASKWRITE(0XF8000004, 0x0000FFFFU, 0x0000767BU),
737  	EMIT_EXIT(),
738  };
739  
740  int ps7_post_config(void)
741  {
742  	unsigned long si_ver = ps7GetSiliconVersion();
743  	int ret = -1;
744  
745  	if (si_ver == PCW_SILICON_VERSION_1) {
746  		ret = ps7_config(ps7_post_config_1_0);
747  		if (ret != PS7_INIT_SUCCESS)
748  			return ret;
749  	} else if (si_ver == PCW_SILICON_VERSION_2) {
750  		ret = ps7_config(ps7_post_config_2_0);
751  		if (ret != PS7_INIT_SUCCESS)
752  			return ret;
753  	} else {
754  		ret = ps7_config(ps7_post_config_3_0);
755  		if (ret != PS7_INIT_SUCCESS)
756  			return ret;
757  	}
758  	return PS7_INIT_SUCCESS;
759  }
760  
761  int ps7_init(void)
762  {
763  	unsigned long si_ver = ps7GetSiliconVersion();
764  	unsigned long *ps7_mio_init_data;
765  	unsigned long *ps7_pll_init_data;
766  	unsigned long *ps7_clock_init_data;
767  	unsigned long *ps7_ddr_init_data;
768  	unsigned long *ps7_peripherals_init_data;
769  	int ret;
770  
771  	if (si_ver == PCW_SILICON_VERSION_1) {
772  		ps7_mio_init_data = ps7_mio_init_data_1_0;
773  		ps7_pll_init_data = ps7_pll_init_data_1_0;
774  		ps7_clock_init_data = ps7_clock_init_data_1_0;
775  		ps7_ddr_init_data = ps7_ddr_init_data_1_0;
776  		ps7_peripherals_init_data = ps7_peripherals_init_data_1_0;
777  
778  	} else if (si_ver == PCW_SILICON_VERSION_2) {
779  		ps7_mio_init_data = ps7_mio_init_data_2_0;
780  		ps7_pll_init_data = ps7_pll_init_data_2_0;
781  		ps7_clock_init_data = ps7_clock_init_data_2_0;
782  		ps7_ddr_init_data = ps7_ddr_init_data_2_0;
783  		ps7_peripherals_init_data = ps7_peripherals_init_data_2_0;
784  
785  	} else {
786  		ps7_mio_init_data = ps7_mio_init_data_3_0;
787  		ps7_pll_init_data = ps7_pll_init_data_3_0;
788  		ps7_clock_init_data = ps7_clock_init_data_3_0;
789  		ps7_ddr_init_data = ps7_ddr_init_data_3_0;
790  		ps7_peripherals_init_data = ps7_peripherals_init_data_3_0;
791  	}
792  
793  	ret = ps7_config(ps7_mio_init_data);
794  	if (ret != PS7_INIT_SUCCESS)
795  		return ret;
796  
797  	ret = ps7_config(ps7_pll_init_data);
798  	if (ret != PS7_INIT_SUCCESS)
799  		return ret;
800  
801  	ret = ps7_config(ps7_clock_init_data);
802  	if (ret != PS7_INIT_SUCCESS)
803  		return ret;
804  
805  	ret = ps7_config(ps7_ddr_init_data);
806  	if (ret != PS7_INIT_SUCCESS)
807  		return ret;
808  
809  	ret = ps7_config(ps7_peripherals_init_data);
810  	if (ret != PS7_INIT_SUCCESS)
811  		return ret;
812  
813  	return PS7_INIT_SUCCESS;
814  }
815