1/** @file
2  Differentiated System Description Table Fields (DSDT)
3
4  Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
5    This program and the accompanying materials
6  are licensed and made available under the terms and conditions of the BSD License
7  which accompanies this distribution.  The full text of the license may be found at
8  http://opensource.org/licenses/bsd-license.php
9
10  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15Scope(_SB)
16{
17  Device (MDIO)
18  {
19    OperationRegion(CLKR, SystemMemory, 0x60000338, 8)
20    Field(CLKR, DWordAcc, NoLock, Preserve) {
21      CLKE, 1,  // clock enable
22      , 31,
23      CLKD, 1,  // clode disable
24      , 31,
25    }
26    OperationRegion(RSTR, SystemMemory, 0x60000A38, 8)
27    Field(RSTR, DWordAcc, NoLock, Preserve) {
28      RSTE, 1,  // reset
29      , 31,
30      RSTD, 1,  // de-reset
31      , 31,
32    }
33
34    Name(_HID, "HISI0141")
35    Name (_CRS, ResourceTemplate (){
36      Memory32Fixed (ReadWrite, 0x603c0000 , 0x10000)
37            })
38
39    Method(_RST, 0, Serialized) {
40      Store (0x1, RSTE)
41      Sleep (10)
42      Store (0x1, CLKD)
43      Sleep (10)
44      Store (0x1, RSTD)
45      Sleep (10)
46      Store (0x1, CLKE)
47      Sleep (10)
48    }
49  }
50
51  Device (DSF0)
52  {
53    OperationRegion(H3SR, SystemMemory, 0xC0000184, 4)
54    Field(H3SR, DWordAcc, NoLock, Preserve) {
55          H3ST, 1,
56          , 31,  //RESERVED
57        }
58    OperationRegion(H4SR, SystemMemory, 0xC0000194, 4)
59    Field(H4SR, DWordAcc, NoLock, Preserve) {
60          H4ST, 1,
61          , 31,  //RESERVED
62        }
63    // DSAF RESET
64    OperationRegion(DRER, SystemMemory, 0xC0000A00, 8)
65    Field(DRER, DWordAcc, NoLock, Preserve) {
66          DRTE, 1,
67          , 31,  //RESERVED
68          DRTD, 1,
69          , 31,  //RESERVED
70        }
71    // NT RESET
72    OperationRegion(NRER, SystemMemory, 0xC0000A08, 8)
73    Field(NRER, DWordAcc, NoLock, Preserve) {
74          NRTE, 1,
75          , 31,  //RESERVED
76          NRTD, 1,
77          , 31,  //RESERVED
78        }
79    // XGE RESET
80    OperationRegion(XRER, SystemMemory, 0xC0000A10, 8)
81    Field(XRER, DWordAcc, NoLock, Preserve) {
82          XRTE, 31,
83          , 1,    //RESERVED
84          XRTD, 31,
85          , 1,    //RESERVED
86        }
87
88    // GE RESET
89    OperationRegion(GRTR, SystemMemory, 0xC0000A18, 16)
90    Field(GRTR, DWordAcc, NoLock, Preserve) {
91          GR0E, 30,
92          , 2,    //RESERVED
93          GR0D, 30,
94          , 2,    //RESERVED
95          GR1E, 18,
96          , 14,  //RESERVED
97          GR1D, 18,
98          , 14,  //RESERVED
99        }
100    // PPE RESET
101    OperationRegion(PRTR, SystemMemory, 0xC0000A48, 8)
102    Field(PRTR, DWordAcc, NoLock, Preserve) {
103          PRTE, 10,
104          , 22,  //RESERVED
105          PRTD, 10,
106          , 22,  //RESERVED
107        }
108
109    // RCB PPE COM RESET
110    OperationRegion(RRTR, SystemMemory, 0xC0000A88, 8)
111    Field(RRTR, DWordAcc, NoLock, Preserve) {
112          RRTE, 1,
113          , 31,  //RESERVED
114          RRTD, 1,
115          , 31,  //RESERVED
116        }
117
118    // DSAF Channel RESET
119    OperationRegion(DCRR, SystemMemory, 0xC0000AA8, 8)
120    Field(DCRR, DWordAcc, NoLock, Preserve) {
121          DCRE, 1,
122          , 31,  //RESERVED
123          DCRD, 1,
124          , 31,  //RESERVED
125        }
126
127    // RoCE RESET
128    OperationRegion(RKRR, SystemMemory, 0xC0000A50, 8)
129    Field(RKRR, DWordAcc, NoLock, Preserve) {
130          RKRE, 1,
131          , 31,  //RESERVED
132          RKRD, 1,
133          , 31,  //RESERVED
134        }
135
136    // RoCE Clock enable/disable
137    OperationRegion(RKCR, SystemMemory, 0xC0000328, 8)
138    Field(RKCR, DWordAcc, NoLock, Preserve) {
139          RCLE, 1,
140          , 31,  //RESERVED
141          RCLD, 1,
142          , 31,  //RESERVED
143        }
144
145    // Hilink access sel cfg reg
146    OperationRegion(HSER, SystemMemory, 0xC2240008, 0x4)
147    Field(HSER, DWordAcc, NoLock, Preserve) {
148          HSEL, 2,  // hilink_access_sel & hilink_access_wr_pul
149          , 30,    // RESERVED
150        }
151
152    // Serdes
153    OperationRegion(H4LR, SystemMemory, 0xC2208100, 0x1000)
154    Field(H4LR, DWordAcc, NoLock, Preserve) {
155          H4L0, 16,    // port0
156          , 16,    //RESERVED
157          Offset (0x400),
158          H4L1, 16,    // port1
159          , 16,    //RESERVED
160          Offset (0x800),
161          H4L2, 16,    // port2
162          , 16,    //RESERVED
163          Offset (0xc00),
164          H4L3, 16,    // port3
165          , 16,    //RESERVED
166        }
167    OperationRegion(H3LR, SystemMemory, 0xC2208900, 0x800)
168    Field(H3LR, DWordAcc, NoLock, Preserve) {
169          H3L2, 16,    // port4
170          , 16,    //RESERVED
171          Offset (0x400),
172          H3L3, 16,    // port5
173          , 16,    //RESERVED
174        }
175                Name (_HID, "HISI00B2")
176                Name (_CCA, 1) // Cache-coherent controller
177                Name (_CRS, ResourceTemplate (){
178                        Memory32Fixed (ReadWrite, 0xc5000000 , 0x890000)
179                        Memory32Fixed (ReadWrite, 0xc7000000 , 0x60000)
180      Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0, "\\_SB.MBI3")
181        {
182          576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
183          589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
184        }
185      Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0, "\\_SB.MBI3")
186        {
187          960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975,
188          976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
189          992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007,
190          1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023,
191          1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
192          1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
193          1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
194          1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
195          1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
196          1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
197          1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135,
198          1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
199        }
200      Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0, "\\_SB.MBI3")
201        {
202          1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167,
203          1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183,
204          1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
205          1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
206          1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231,
207          1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
208          1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263,
209          1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
210          1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
211          1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
212          1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
213          1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
214        }
215                })
216                Name (_DSD, Package () {
217                        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
218      Package () {
219        Package () {"mode", "6port-16rss"},
220        Package () {"buf-size", 4096},
221        Package () {"desc-num", 1024},
222        Package () {"interrupt-parent", Package() {\_SB.MBI3}},
223                        }
224                })
225
226    //reset XGE port
227    //Arg0 : XGE port index in dsaf
228    //Arg1 : 0 reset, 1 cancle reset
229    Method(XRST, 2, Serialized) {
230      ShiftLeft (0x2082082, Arg0, Local0)
231      Or (Local0, 0x1, Local0)
232
233      If (LEqual (Arg1, 0)) {
234        Store(Local0, XRTE)
235      } Else  {
236        Store(Local0, XRTD)
237      }
238    }
239
240    //reset XGE core
241    //Arg0 : XGE port index in dsaf
242    //Arg1 : 0 reset, 1 cancle reset
243    Method(XCRT, 2, Serialized) {
244      ShiftLeft (0x2080, Arg0, Local0)
245
246      If (LEqual (Arg1, 0)) {
247        Store(Local0, XRTE)
248      } Else  {
249        Store(Local0, XRTD)
250      }
251    }
252
253    //reset GE port
254    //Arg0 : GE port index in dsaf
255    //Arg1 : 0 reset, 1 cancle reset
256    Method(GRST, 2, Serialized) {
257      If (LLessEqual (Arg0, 5)) {
258        //Service port
259        ShiftLeft (0x2082082, Arg0, Local0)
260        ShiftLeft (0x1, Arg0, Local1)
261
262        If (LEqual (Arg1, 0)) {
263          Store(Local1, GR1E)
264          Store(Local0, GR0E)
265        } Else  {
266          Store(Local0, GR0D)
267          Store(Local1, GR1D)
268        }
269      }
270    }
271
272    //reset PPE port
273    //Arg0 : PPE port index in dsaf
274    //Arg1 : 0 reset, 1 cancle reset
275    Method(PRST, 2, Serialized) {
276      ShiftLeft (0x1, Arg0, Local0)
277      If (LEqual (Arg1, 0)) {
278        Store(Local0, PRTE)
279      } Else  {
280        Store(Local0, PRTD)
281      }
282    }
283
284    //reset DSAF channels
285    //Arg0 : mask
286    //Arg1 : 0 reset, 1 de-reset
287    Method(DCRT, 2, Serialized) {
288      If (LEqual (Arg1, 0)) {
289        Store(Arg0, DCRE)
290      } Else  {
291        Store(Arg0, DCRD)
292      }
293    }
294
295    //reset RoCE
296    //Arg0 : 0 reset, 1 de-reset
297    Method(RRST, 1, Serialized) {
298      If (LEqual (Arg0, 0)) {
299        Store(0x1, RKRE)
300      } Else  {
301        Store(0x1, RCLD)
302        Store(0x1, RKRD)
303        sleep(20)
304        Store(0x1, RCLE)
305      }
306    }
307
308    // Set Serdes Loopback
309    //Arg0 : port
310    //Arg1 : 0 disable, 1 enable
311    Method(SRLP, 2, Serialized) {
312      ShiftLeft (Arg1, 10, Local0)
313      Switch (ToInteger(Arg0))
314      {
315        case (0x0){
316          Store (0, HSEL)
317          Store (H4L0, Local1)
318          And (Local1, 0xfffffbff, Local1)
319          Or (Local0, Local1, Local0)
320          Store (Local0, H4L0)
321        }
322        case (0x1){
323          Store (0, HSEL)
324          Store (H4L1, Local1)
325          And (Local1, 0xfffffbff, Local1)
326          Or (Local0, Local1, Local0)
327          Store (Local0, H4L1)
328        }
329        case (0x2){
330          Store (0, HSEL)
331          Store (H4L2, Local1)
332          And (Local1, 0xfffffbff, Local1)
333          Or (Local0, Local1, Local0)
334          Store (Local0, H4L2)
335        }
336        case (0x3){
337          Store (0, HSEL)
338          Store (H4L3, Local1)
339          And (Local1, 0xfffffbff, Local1)
340          Or (Local0, Local1, Local0)
341          Store (Local0, H4L3)
342        }
343        case (0x4){
344          Store (3, HSEL)
345          Store (H3L2, Local1)
346          And (Local1, 0xfffffbff, Local1)
347          Or (Local0, Local1, Local0)
348          Store (Local0, H3L2)
349        }
350        case (0x5){
351          Store (3, HSEL)
352          Store (H3L3, Local1)
353          And (Local1, 0xfffffbff, Local1)
354          Or (Local0, Local1, Local0)
355          Store (Local0, H3L3)
356        }
357      }
358    }
359
360    //Reset
361    //Arg0 : reset type (1: dsaf; 2: ppe; 3:xge core; 4:xge; 5:ge; 6:dchan; 7:roce)
362    //Arg1 : port
363    //Arg2 : 0 disable, 1 enable
364    Method(DRST, 3, Serialized)
365    {
366      Switch (ToInteger(Arg0))
367      {
368        //DSAF reset
369        case (0x1)
370        {
371          Store (Arg2, Local0)
372          If (LEqual (Local0, 0))
373          {
374            Store (0x1, DRTE)
375            Store (0x1, NRTE)
376            Sleep (10)
377            Store (0x1, RRTE)
378          }
379          Else
380          {
381            Store (0x1, DRTD)
382            Store (0x1, NRTD)
383            Sleep (10)
384            Store (0x1, RRTD)
385          }
386        }
387        //Reset PPE port
388        case (0x2)
389        {
390          Store (Arg1, Local0)
391          Store (Arg2, Local1)
392          PRST (Local0, Local1)
393        }
394
395        //Reset XGE core
396        case (0x3)
397        {
398          Store (Arg1, Local0)
399          Store (Arg2, Local1)
400          XCRT (Local0, Local1)
401        }
402        //Reset XGE port
403        case (0x4)
404        {
405          Store (Arg1, Local0)
406          Store (Arg2, Local1)
407          XRST (Local0, Local1)
408        }
409
410        //Reset GE port
411        case (0x5)
412        {
413          Store (Arg1, Local0)
414          Store (Arg2, Local1)
415          GRST (Local0, Local1)
416        }
417
418        //Reset DSAF Channels
419        case (0x6)
420        {
421          Store (Arg1, Local0)
422          Store (Arg2, Local1)
423          DCRT (Local0, Local1)
424        }
425
426        //Reset RoCE
427        case (0x7)
428        {
429          // Discarding Arg1 as it is always 0
430          Store (Arg2, Local0)
431          RRST (Local0)
432        }
433      }
434    }
435
436    // _DSM Device Specific Method
437    //
438    // Arg0: UUID Unique function identifier
439    // Arg1: Integer Revision Level
440    // Arg2: Integer Function Index
441    //   0 : Return Supported Functions bit mask
442    //   1 : Reset Sequence
443    //    Arg3[0] : reset type (1:dsaf; 2:ppe; 3:xge core; 4:xge; 5:ge; 6:dchan; 7:roce)
444    //    Arg3[1] : port index in dsaf
445    //    Arg3[2] : 0 reset, 1 cancle reset
446    //   2 : Set Serdes Loopback
447    //    Arg3[0] : port
448    //    Arg3[1] : 0 disable, 1 enable
449    //   3 : LED op set
450    //    Arg3[0] : op type
451    //    Arg3[1] : port
452    //    Arg3[2] : para
453    //   4 : Get port type (GE or XGE)
454    //    Arg3[0] : port index in dsaf
455    //    Return : 0 GE, 1 XGE
456    //   5 : Get sfp status
457    //    Arg3[0] : port index in dsaf
458    //    Return : 0 no sfp, 1 have sfp
459    // Arg3: Package Parameters
460    Method (_DSM, 4, Serialized)
461    {
462      If (LEqual(Arg0,ToUUID("1A85AA1A-E293-415E-8E28-8D690A0F820A")))
463      {
464        If (LEqual (Arg1, 0x00))
465        {
466          Switch (ToInteger(Arg2))
467          {
468            case (0x0)
469            {
470              Return (Buffer () {0x3F})
471            }
472
473            //Reset Sequence
474            case (0x1)
475            {
476              Store (DeRefOf (Index (Arg3, 0)), Local0)
477              Store (DeRefOf (Index (Arg3, 1)), Local1)
478              Store (DeRefOf (Index (Arg3, 2)), Local2)
479              DRST (Local0, Local1, Local2)
480            }
481
482            //Set Serdes Loopback
483            case (0x2)
484            {
485              Store (DeRefOf (Index (Arg3, 0)), Local0)
486              Store (DeRefOf (Index (Arg3, 1)), Local1)
487              SRLP (Local0, Local1)
488            }
489
490            //LED op set
491            case (0x3)
492            {
493
494            }
495
496            // Get port type (GE or XGE)
497            case (0x4)
498            {
499              Store (0, Local1)
500              Store (DeRefOf (Index (Arg3, 0)), Local0)
501              If (LLessEqual (Local0, 3))
502              {
503                // mac0: Hilink4 Lane0
504                // mac1: Hilink4 Lane1
505                // mac2: Hilink4 Lane2
506                // mac3: Hilink4 Lane3
507                Store (H4ST, Local1)
508              }
509              ElseIf (LLessEqual (Local0, 5))
510              {
511                // mac4: Hilink3 Lane2
512                // mac5: Hilink3 Lane3
513                Store (H3ST, Local1)
514              }
515
516              Return (Local1)
517            }
518
519            //Get sfp status
520            case (0x5)
521            {
522
523            }
524          }
525        }
526      }
527      Return (Buffer() {0x00})
528    }
529    Device (PRT0)
530    {
531      Name (_ADR, 0x0)
532      Name (_DSD, Package () {
533                        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
534            Package () {
535                Package () {"reg", 0},
536                Package () {"media-type", "fiber"},
537                        }
538                })
539    }
540    Device (PRT1)
541    {
542      Name (_ADR, 0x1)
543      Name (_DSD, Package () {
544                        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
545            Package () {
546                Package () {"reg", 1},
547                Package () {"media-type", "fiber"},
548                        }
549                })
550    }
551    Device (PRT4)
552    {
553      Name (_ADR, 0x4)
554      Name (_DSD, Package () {
555                        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
556            Package () {
557                Package () {"reg", 4},
558                                Package () {"phy-mode", "sgmii"},
559                Package () {"phy-addr", 0},
560                Package () {"mdio-node", Package (){\_SB.MDIO}},
561                Package () {"media-type", "copper"},
562                        }
563                })
564    }
565    Device (PRT5)
566    {
567      Name (_ADR, 0x5)
568      Name (_DSD, Package () {
569                        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
570            Package () {
571                Package () {"reg", 5},
572                                Package () {"phy-mode", "sgmii"},
573                Package () {"phy-addr", 1},
574                Package () {"mdio-node", Package (){\_SB.MDIO}},
575                Package () {"media-type", "copper"},
576                        }
577                })
578    }
579  }
580  Device (ETH4) {
581    Name(_HID, "HISI00C2")
582    Name (_CCA, 1) // Cache-coherent controller
583    Name (_DSD, Package () {
584      ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
585      Package () {
586        Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
587        Package () {"ae-handle", Package (){\_SB.DSF0}},
588        Package () {"port-idx-in-ae", 4},
589      }
590    })
591  }
592  Device (ETH5) {
593    Name(_HID, "HISI00C2")
594    Name (_CCA, 1) // Cache-coherent controller
595    Name (_DSD, Package () {
596      ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
597      Package () {
598        Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
599        Package () {"ae-handle", Package (){\_SB.DSF0}},
600        Package () {"port-idx-in-ae", 5},
601      }
602    })
603  }
604  Device (ETH0) {
605    Name(_HID, "HISI00C2")
606    Name (_CCA, 1) // Cache-coherent controller
607    Name (_DSD, Package () {
608      ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
609      Package () {
610        Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
611        Package () {"ae-handle", Package (){\_SB.DSF0}},
612        Package () {"port-idx-in-ae", 0},
613      }
614    })
615  }
616  Device (ETH1) {
617    Name(_HID, "HISI00C2")
618    Name (_CCA, 1) // Cache-coherent controller
619    Name (_DSD, Package () {
620      ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
621      Package () {
622        Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
623        Package () {"ae-handle", Package (){\_SB.DSF0}},
624        Package () {"port-idx-in-ae", 1},
625      }
626    })
627  }
628  Device (ROCE) {
629    Name(_HID, "HISI00D1")
630    Name (_CCA, 1) // Cache-coherent controller
631    Name (_DSD, Package () {
632      ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
633      Package () {
634        Package () {"eth-handle", Package () {\_SB.ETH0, \_SB.ETH1, 0, 0, \_SB.ETH4, \_SB.ETH5}},
635        Package () {"dsaf-handle", Package (){\_SB.DSF0}},
636        Package () {"node-guid", Package () { 0x00, 0x9A, 0xCD, 0x00, 0x00, 0x01, 0x02, 0x03 }}, // 8-bytes
637        Package () {"interrupt-names", Package() {"hns-roce-comp-0",
638                                                  "hns-roce-comp-1",
639                                                  "hns-roce-comp-2",
640                                                  "hns-roce-comp-3",
641                                                  "hns-roce-comp-4",
642                                                  "hns-roce-comp-5",
643                                                  "hns-roce-comp-6",
644                                                  "hns-roce-comp-7",
645                                                  "hns-roce-comp-8",
646                                                  "hns-roce-comp-9",
647                                                  "hns-roce-comp-10",
648                                                  "hns-roce-comp-11",
649                                                  "hns-roce-comp-12",
650                                                  "hns-roce-comp-13",
651                                                  "hns-roce-comp-14",
652                                                  "hns-roce-comp-15",
653                                                  "hns-roce-comp-16",
654                                                  "hns-roce-comp-17",
655                                                  "hns-roce-comp-18",
656                                                  "hns-roce-comp-19",
657                                                  "hns-roce-comp-20",
658                                                  "hns-roce-comp-21",
659                                                  "hns-roce-comp-22",
660                                                  "hns-roce-comp-23",
661                                                  "hns-roce-comp-24",
662                                                  "hns-roce-comp-25",
663                                                  "hns-roce-comp-26",
664                                                  "hns-roce-comp-27",
665                                                  "hns-roce-comp-28",
666                                                  "hns-roce-comp-29",
667                                                  "hns-roce-comp-30",
668                                                  "hns-roce-comp-31",
669                                                  "hns-roce-async",
670                                                  "hns-roce-common"}},
671      }
672    })
673    Name (_CRS, ResourceTemplate (){
674      Memory32Fixed (ReadWrite, 0xc4000000 , 0x100000)
675      Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, 0, "\\_SB.MBI7")
676        {
677          722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
678          734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745,
679          746, 747, 748, 749, 750, 751, 752, 753, 785, 754,
680        }
681   })
682    Name (_PRS, ResourceTemplate (){
683      Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive,,,)
684        {
685          722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
686          734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745,
687          746, 747, 748, 749, 750, 751, 752, 753, 785, 754,
688        }
689   })
690 }
691}
692