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