Home | History | Annotate | Download | only in Dsdt
      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 
     15 Scope(_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