blob: 881aa1477e29306e94ccb2ddd64e2b8c7445b3a0 [file] [log] [blame]
/** @file
Differentiated System Description Table Fields (DSDT)
Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
Scope(_SB)
{
Device (MDIO)
{
OperationRegion(CLKR, SystemMemory, 0x80000338, 8)
Field(CLKR, DWordAcc, NoLock, Preserve) {
CLKE, 1, // clock enable
, 31,
CLKD, 1, // clode disable
, 31,
}
OperationRegion(RSTR, SystemMemory, 0x80000A38, 8)
Field(RSTR, DWordAcc, NoLock, Preserve) {
RSTE, 1, // reset
, 31,
RSTD, 1, // de-reset
, 31,
}
Name(_HID, "HISI0141")
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0x803c0000 , 0x10000)
})
Method(_RST, 0, Serialized) {
Store (0x1, RSTE)
Sleep (10)
Store (0x1, CLKD)
Sleep (10)
Store (0x1, RSTD)
Sleep (10)
Store (0x1, CLKE)
Sleep (10)
}
}
Device (DSF0)
{
OperationRegion(H3SR, SystemMemory, 0xC0000180, 4)
Field(H3SR, DWordAcc, NoLock, Preserve) {
H3ST, 1,
, 31, //RESERVED
}
OperationRegion(H4SR, SystemMemory, 0xC0000190, 4)
Field(H4SR, DWordAcc, NoLock, Preserve) {
H4ST, 1,
, 31, //RESERVED
}
// DSAF RESET
OperationRegion(DRER, SystemMemory, 0xC0000A00, 8)
Field(DRER, DWordAcc, NoLock, Preserve) {
DRTE, 1,
, 31, //RESERVED
DRTD, 1,
, 31, //RESERVED
}
// NT RESET
OperationRegion(NRER, SystemMemory, 0xC0000A08, 8)
Field(NRER, DWordAcc, NoLock, Preserve) {
NRTE, 1,
, 31, //RESERVED
NRTD, 1,
, 31, //RESERVED
}
// XGE RESET
OperationRegion(XRER, SystemMemory, 0xC0000A10, 8)
Field(XRER, DWordAcc, NoLock, Preserve) {
XRTE, 31,
, 1, //RESERVED
XRTD, 31,
, 1, //RESERVED
}
// GE RESET
OperationRegion(GRTR, SystemMemory, 0xC0000A18, 16)
Field(GRTR, DWordAcc, NoLock, Preserve) {
GR0E, 30,
, 2, //RESERVED
GR0D, 30,
, 2, //RESERVED
GR1E, 18,
, 14, //RESERVED
GR1D, 18,
, 14, //RESERVED
}
// PPE RESET
OperationRegion(PRTR, SystemMemory, 0xC0000A48, 8)
Field(PRTR, DWordAcc, NoLock, Preserve) {
PRTE, 10,
, 22, //RESERVED
PRTD, 10,
, 22, //RESERVED
}
// RCB PPE COM RESET
OperationRegion(RRTR, SystemMemory, 0xC0000A88, 8)
Field(RRTR, DWordAcc, NoLock, Preserve) {
RRTE, 1,
, 31, //RESERVED
RRTD, 1,
, 31, //RESERVED
}
// ROCE
// CPLD LED
// Serdes
OperationRegion(H4LR, SystemMemory, 0xC2288100, 0x1000)
Field(H4LR, DWordAcc, NoLock, Preserve) {
H4L0, 16, // port0
H4R0, 16, //RESERVED
Offset (0x400),
H4L1, 16, // port1
H4R1, 16, //RESERVED
Offset (0x800),
H4L2, 16, // port2
H4R2, 16, //RESERVED
Offset (0xc00),
H4L3, 16, // port3
H4R3, 16, //RESERVED
}
OperationRegion(H3LR, SystemMemory, 0xC2208900, 0x800)
Field(H3LR, DWordAcc, NoLock, Preserve) {
H3L2, 16, // port4
, 16, //RESERVED
Offset (0x400),
H3L3, 16, // port5
, 16, //RESERVED
}
Name (_HID, "HISI00B1")
Name (_CCA, 1) // Cache-coherent controller
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0xc5000000 , 0x890000)
Memory32Fixed (ReadWrite, 0xc7000000 , 0x60000)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive,,,)
{
149,150,151,152,153,154,26,27,155,156,157,158,159,160, //[14] ge fifo err 8 / xge 6
6,7,8,9,16,17,18,19,22,23,24,25, //[12] rcb com 4*3
0,1,2,3,4,5,12,13, //[8] ppe tnl 0-7
128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148, //[21] dsaf event int 3+18
161,162,163,164,
}
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive,,,)
{
384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, //[256] sevice rcb 2*128
400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
}
})
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"mode", "6port-16rss"},
Package () {"buf-size", 4096},
Package () {"desc-num", 1024},
Package () {"interrupt-parent", Package() {\_SB.MBI1}},
}
})
//reset XGE port
//Arg0 : XGE port index in dsaf
//Arg1 : 0 reset, 1 cancle reset
Method(XRST, 2, Serialized) {
ShiftLeft (0x2082082, Arg0, Local0)
Or (Local0, 0x1, Local0)
If (LEqual (Arg1, 0)) {
Store(Local0, XRTE)
} Else {
Store(Local0, XRTD)
}
}
//reset XGE core
//Arg0 : XGE port index in dsaf
//Arg1 : 0 reset, 1 cancle reset
Method(XCRT, 2, Serialized) {
ShiftLeft (0x2080, Arg0, Local0)
If (LEqual (Arg1, 0)) {
Store(Local0, XRTE)
} Else {
Store(Local0, XRTD)
}
}
//reset GE port
//Arg0 : GE port index in dsaf
//Arg1 : 0 reset, 1 cancle reset
Method(GRST, 2, Serialized) {
If (LLessEqual (Arg0, 5)) {
//Service port
ShiftLeft (0x1041041, Arg0, Local0)
ShiftLeft (0x1, Arg0, Local1)
If (LEqual (Arg1, 0)) {
Store(Local1, GR1E)
Store(Local0, GR0E)
} Else {
Store(Local0, GR0D)
Store(Local1, GR1D)
}
}
}
//reset PPE port
//Arg0 : PPE port index in dsaf
//Arg1 : 0 reset, 1 cancle reset
Method(PRST, 2, Serialized) {
ShiftLeft (0x1, Arg0, Local0)
If (LEqual (Arg1, 0)) {
Store(Local0, PRTE)
} Else {
Store(Local0, PRTD)
}
}
// Set Serdes Loopback
//Arg0 : port
//Arg1 : 0 disable, 1 enable
Method(SRLP, 2, Serialized) {
ShiftLeft (Arg1, 10, Local0)
Switch (ToInteger(Arg0))
{
case (0x0){
Store (H4L0, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H4L0)
}
case (0x1){
Store (H4L1, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H4L1)
}
case (0x2){
Store (H4L2, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H4L2)
}
case (0x3){
Store (H4L3, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H4L3)
}
case (0x4){
Store (H3L2, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H3L2)
}
case (0x5){
Store (H3L3, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local0, H3L3)
}
}
}
//Reset
//Arg0 : reset type (1: dsaf; 2: ppe; 3:XGE core; 4:XGE; 5:G3)
//Arg1 : port
//Arg2 : 0 disable, 1 enable
Method(DRST, 3, Serialized)
{
Switch (ToInteger(Arg0))
{
//DSAF reset
case (0x1)
{
Store (Arg2, Local0)
If (LEqual (Local0, 0))
{
Store (0x1, DRTE)
Store (0x1, NRTE)
Sleep (10)
Store (0x1, RRTE)
}
Else
{
Store (0x1, DRTD)
Store (0x1, NRTD)
Sleep (10)
Store (0x1, RRTD)
}
}
//Reset PPE port
case (0x2)
{
Store (Arg1, Local0)
Store (Arg2, Local1)
PRST (Local0, Local1)
}
//Reset XGE core
case (0x3)
{
Store (Arg1, Local0)
Store (Arg2, Local1)
XCRT (Local0, Local1)
}
//Reset XGE port
case (0x4)
{
Store (Arg1, Local0)
Store (Arg2, Local1)
XRST (Local0, Local1)
}
//Reset GE port
case (0x5)
{
Store (Arg1, Local0)
Store (Arg2, Local1)
GRST (Local0, Local1)
}
}
}
// _DSM Device Specific Method
//
// Arg0: UUID Unique function identifier
// Arg1: Integer Revision Level
// Arg2: Integer Function Index
// 0 : Return Supported Functions bit mask
// 1 : Reset Sequence
// Arg3[0] : reset type (1:dsaf; 2:ppe; 3:xge core; 4:xge; 5: ge)
// Arg3[1] : port index in dsaf
// Arg3[2] : 0 reset, 1 cancle reset
// 2 : Set Serdes Loopback
// Arg3[0] : port
// Arg3[1] : 0 disable, 1 enable
// 3 : LED op set
// Arg3[0] : op type
// Arg3[1] : port
// Arg3[2] : para
// 4 : Get port type (GE or XGE)
// Arg3[0] : port index in dsaf
// Return : 0 GE, 1 XGE
// 5 : Get sfp status
// Arg3[0] : port index in dsaf
// Return : 0 no sfp, 1 have sfp
// Arg3: Package Parameters
Method (_DSM, 4, Serialized)
{
If (LEqual(Arg0,ToUUID("1A85AA1A-E293-415E-8E28-8D690A0F820A")))
{
If (LEqual (Arg1, 0x00))
{
Switch (ToInteger(Arg2))
{
case (0x0)
{
Return (Buffer () {0x3F})
}
//Reset Sequence
case (0x1)
{
Store (DeRefOf (Index (Arg3, 0)), Local0)
Store (DeRefOf (Index (Arg3, 1)), Local1)
Store (DeRefOf (Index (Arg3, 2)), Local2)
DRST (Local0, Local1, Local2)
}
//Set Serdes Loopback
case (0x2)
{
Store (DeRefOf (Index (Arg3, 0)), Local0)
Store (DeRefOf (Index (Arg3, 1)), Local1)
SRLP (Local0, Local1)
}
//LED op set
case (0x3)
{
}
// Get port type (GE or XGE)
case (0x4)
{
Store (0, Local1)
Store (DeRefOf (Index (Arg3, 0)), Local0)
If (LLessEqual (Local0, 3))
{
Store (H4ST, Local1)
}
ElseIf (LLessEqual (Local0, 5))
{
Store (H3ST, Local1)
}
Return (Local1)
}
//Get sfp status
case (0x5)
{
}
}
}
}
Return (Buffer() {0x00})
}
Device (PRT0)
{
Name (_ADR, 0x0)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 0},
Package () {"media-type", "fiber"},
}
})
}
Device (PRT1)
{
Name (_ADR, 0x1)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 1},
Package () {"media-type", "fiber"},
}
})
}
Device (PRT4)
{
Name (_ADR, 0x4)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 4},
Package () {"phy-mode", "sgmii"},
Package () {"phy-addr", 0},
Package () {"mdio-node", Package (){\_SB.MDIO}},
Package () {"media-type", "copper"},
}
})
}
Device (PRT5)
{
Name (_ADR, 0x5)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 5},
Package () {"phy-mode", "sgmii"},
Package () {"phy-addr", 1},
Package () {"mdio-node", Package (){\_SB.MDIO}},
Package () {"media-type", "copper"},
}
})
}
}
/*
Device (DSF1)
{
OperationRegion(H3SR, SystemMemory, 0xC0000180, 4)
Field(H3SR, DWordAcc, NoLock, Preserve) {
H3ST, 1,
, 31, //RESERVED
}
// XGE RESET
OperationRegion(XRER, SystemMemory, 0xC0000A10, 8)
Field(XRER, DWordAcc, NoLock, Preserve) {
XRTE, 31,
, 1, //RESERVED
XRTD, 31,
, 1, //RESERVED
}
// GE RESET
OperationRegion(GRTR, SystemMemory, 0xC0000A18, 16)
Field(GRTR, DWordAcc, NoLock, Preserve) {
GR0E, 30,
, 2, //RESERVED
GR0D, 30,
, 2, //RESERVED
GR1E, 18,
, 14, //RESERVED
GR1D, 18,
, 14, //RESERVED
}
// PPE RESET
OperationRegion(PRTR, SystemMemory, 0xC0000A48, 8)
Field(PRTR, DWordAcc, NoLock, Preserve) {
PRTE, 10,
, 22, //RESERVED
PRTD, 10,
, 22, //RESERVED
}
// ROCE
// CPLD LED
// Serdes
OperationRegion(H3LR, SystemMemory, 0xC2208100, 0x4)
Field(H3LR, DWordAcc, NoLock, Preserve) {
H3L0, 16, // debug port0
, 16, //RESERVED
}
Name(_HID, "HISI00B1")
Name (_CCA, 1) // Cache-coherent controller
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0xc2000000 , 0x890000)
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive,,,)
{
14, 15,
}
})
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"mode", "single-port"},
Package () {"buf-size", 4096},
Package () {"desc-num", 1024},
Package () {"interrupt-parent", Package() {\_SB.MBI1}},
}
})
// Set Serdes Loopback
//Arg0 : port
//Arg1 : 0 disable, 1 enable
Method(SRLP, 1, Serialized) {
ShiftLeft (Arg0, 10, Local0)
Store (H3L0, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local1, H3L0)
}
//Reset
//Arg0 : reset type (1: dsaf; 2: ppe; 3:reserved; 4:reserved; 5:G3)
//Arg1 : 0 disable, 1 enable
Method(DRST, 2, Serialized)
{
Switch (ToInteger(Arg0))
{
//DSAF reset
case (0x1)
{
If (LEqual (Arg1, 0)) {
Store (0x100, PRTE)
} Else {
Store (0x100, PRTD)
}
}
//Reset PPE port
case (0x2)
{
If (LEqual (Arg1, 0)) {
Store(0x40, PRTE)
} Else {
Store(0x40, PRTD)
}
}
//Reset GE port
case (0x5)
{
If (LEqual (Arg1, 0)) {
Store(0x15540, GR1E)
Store(0x100, PRTE)
} Else {
Store(0x15540, GR1D)
Store(0x100, PRTD)
}
}
}
}
// _DSM Device Specific Method
//
// Arg0: UUID Unique function identifier
// Arg1: Integer Revision Level
// Arg2: Integer Function Index
// 0 : Return Supported Functions bit mask
// 1 : Reset Sequence
// Arg3[0] : reset type (1:dsaf; 2:ppe; 3:reserved; 4:reserved; 5: ge)
// Arg3[1] : reserved
// Arg3[2] : 0 reset, 1 cancle reset
// 2 : Set Serdes Loopback
// Arg3[0] : reserved
// Arg3[1] : 0 disable, 1 enable
// 3 : LED op set
// Arg3[0] : op type
// Arg3[1] : reserved
// Arg3[2] : para
// 4 : Get port type (GE or XGE)
// Arg3[0] : reserved
// Return : 0 GE, 1 XGE
// 5 : Get sfp status
// Arg3[0] : reserved
// Return : 0 no sfp, 1 have sfp
// Arg3: Package Parameters
Method (_DSM, 4, Serialized)
{
If (LEqual(Arg0,ToUUID("1A85AA1A-E293-415E-8E28-8D690A0F820A")))
{
If (LEqual (Arg1, 0x00))
{
Switch (ToInteger(Arg2))
{
case (0x0)
{
Return (Buffer () {0x3F})
}
//Reset Sequence
case (0x1)
{
Store (DeRefOf (Index (Arg3, 0)), Local0)
Store (DeRefOf (Index (Arg3, 2)), Local2)
DRST (Local0, Local2)
}
//Set Serdes Loopback
case (0x2)
{
Store (DeRefOf (Index (Arg3, 2)), Local0)
SRLP (Local0)
}
//LED op set
case (0x3)
{
}
// Get port type (GE or XGE)
case (0x4)
{
Store (H3ST, Local0)
Return (Local0)
}
//Get sfp status
case (0x5)
{
}
}
}
}
Return (Buffer() {0x00})
}
Device (PRT0)
{
Name (_ADR, 0x0)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 0},
Package () {"phy-mode", "sgmii"},
Package () {"phy-addr", 0},
Package () {"mdio-node", Package (){\_SB.MDIO}},
}
})
}
}
Device (DSF2)
{
OperationRegion(H3SR, SystemMemory, 0xC0000180, 4)
Field(H3SR, DWordAcc, NoLock, Preserve) {
H3ST, 1,
, 31, //RESERVED
}
// XGE RESET
OperationRegion(XRER, SystemMemory, 0xC0000A10, 8)
Field(XRER, DWordAcc, NoLock, Preserve) {
XRTE, 31,
, 1, //RESERVED
XRTD, 31,
, 1, //RESERVED
}
// GE RESET
OperationRegion(GRTR, SystemMemory, 0xC0000A18, 16)
Field(GRTR, DWordAcc, NoLock, Preserve) {
GR0E, 30,
, 2, //RESERVED
GR0D, 30,
, 2, //RESERVED
GR1E, 18,
, 14, //RESERVED
GR1D, 18,
, 14, //RESERVED
}
// PPE RESET
OperationRegion(PRTR, SystemMemory, 0xC0000A48, 8)
Field(PRTR, DWordAcc, NoLock, Preserve) {
PRTE, 10,
, 22, //RESERVED
PRTD, 10,
, 22, //RESERVED
}
// ROCE
// CPLD LED
// Serdes
OperationRegion(H3LR, SystemMemory, 0xC2208500, 0x4)
Field(H3LR, DWordAcc, NoLock, Preserve) {
H3L1, 16, // debug port1
, 16, //RESERVED
}
Name(_HID, "HISI00B1")
Name (_CCA, 1) // Cache-coherent controller
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0xc2100000 , 0x890000)
Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive,,,)
{
20, 21,
}
})
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"mode", "single-port"},
Package () {"buf-size", 4096},
Package () {"desc-num", 1024},
Package () {"interrupt-parent", Package() {\_SB.MBI1}},
}
})
// Set Serdes Loopback
//Arg0 : port
//Arg1 : 0 disable, 1 enable
Method(SRLP, 1, Serialized) {
ShiftLeft (Arg0, 10, Local0)
Store (H3L1, Local1)
And (Local1, 0xfffffbff, Local1)
Or (Local0, Local1, Local0)
Store (Local1, H3L1)
}
//Reset
//Arg0 : reset type (1: dsaf; 2: ppe; 3:reserved; 4:reserved; 5:G3)
//Arg1 : 0 disable, 1 enable
Method(DRST, 2, Serialized)
{
Switch (ToInteger(Arg0))
{
//DSAF reset
case (0x1)
{
If (LEqual (Arg1, 0)) {
Store (0x200, PRTE)
} Else {
Store (0x2200, PRTD)
}
}
//Reset PPE port
case (0x2)
{
If (LEqual (Arg1, 0)) {
Store(0x80, PRTE)
} Else {
Store(0x80, PRTD)
}
}
//Reset GE port
case (0x5)
{
If (LEqual (Arg1, 0)) {
Store(0x2aa80, GR1E)
Store(0x200, PRTE)
} Else {
Store(0x2aa80, GR1D)
Store(0x200, PRTD)
}
}
}
}
// _DSM Device Specific Method
//
// Arg0: UUID Unique function identifier
// Arg1: Integer Revision Level
// Arg2: Integer Function Index
// 0 : Return Supported Functions bit mask
// 1 : Reset sequence
// Arg3[0] : reset type (1:dsaf; 2:ppe; 3:reserved; 4:reserved; 5: ge)
// Arg3[1] : reserved
// Arg3[2] : 0 reset, 1 cancle reset
// 2 : Set Serdes Loopback
// Arg3[0] : reserved
// Arg3[1] : 0 disable, 1 enable
// 3 : LED op set
// Arg3[0] : op type
// Arg3[1] : reserved
// Arg3[2] : para
// 4 : Get port type (GE or XGE)
// Arg3[0] : reserved
// Return : 0 GE, 1 XGE
// 5 : Get sfp status
// Arg3[0] : reserved
// Return : 0 no sfp, 1 have sfp
// Arg3: Package Parameters
Method (_DSM, 4, Serialized)
{
If (LEqual(Arg0,ToUUID("1A85AA1A-E293-415E-8E28-8D690A0F820A")))
{
If (LEqual (Arg1, 0x00))
{
Switch (ToInteger(Arg2))
{
case (0x0)
{
Return (Buffer () {0x3F})
}
//Reset Sequence
case (0x1)
{
Store (DeRefOf (Index (Arg3, 0)), Local0)
Store (DeRefOf (Index (Arg3, 2)), Local2)
DRST (Local0, Local2)
}
//Set Serdes Loopback
case (0x2)
{
Store (DeRefOf (Index (Arg3, 2)), Local0)
SRLP (Local0)
}
//LED op set
case (0x3)
{
}
// Get port type (GE or XGE)
case (0x4)
{
Store (H3ST, Local0)
Return (Local0)
}
//Get sfp status
case (0x5)
{
}
}
}
}
Return (Buffer() {0x00})
}
Device (PRT0)
{
Name (_ADR, 0x0)
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"reg", 0},
Package () {"phy-mode", "sgmii"},
Package () {"phy-addr", 1},
Package () {"mdio-node", Package (){\_SB.MDIO}},
}
})
}
}
*/
Device (ETH5) {
Name(_HID, "HISI00C1")
Name (_CCA, 1) // Cache-coherent controller
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
Package () {"ae-handle", Package (){\_SB.DSF0}},
Package () {"port-idx-in-ae", 5},
}
})
}
Device (ETH4) {
Name(_HID, "HISI00C1")
Name (_CCA, 1) // Cache-coherent controller
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
Package () {"ae-handle", Package (){\_SB.DSF0}},
Package () {"port-idx-in-ae", 4},
}
})
}
Device (ETH0) {
Name(_HID, "HISI00C1")
Name (_CCA, 1) // Cache-coherent controller
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
Package () {"ae-handle", Package (){\_SB.DSF0}},
Package () {"port-idx-in-ae", 0},
}
})
}
Device (ETH1) {
Name(_HID, "HISI00C1")
Name (_CCA, 1) // Cache-coherent controller
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"local-mac-address", Package () { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }}, // 6-bytes
Package () {"ae-handle", Package (){\_SB.DSF0}},
Package () {"port-idx-in-ae", 1},
}
})
}
}